UG-1262
Rev. B | Page 200 of 312
WRITE ADDRESS REGISTER
Address: 0x4001800C, Reset: 0x00000000, Name: KH_ADDR
This register writes the byte address of any byte of a 64-bit, dual-word flash location to be targeted by a write command. All writes target
64-bit, dual-word elements in the flash array. User code can mask byte data to emulate byte, half word, or word writes. Flash IP
specifications warn against writing to any location more than twice between erasures. When writing a location more than once, be aware
that ECC metadata cannot be updated appropriately. Use code to disable ECC for the relevant region of flash. Writing any address above
the valid range of flash memory saturates the address to prevent aliasing. Take care to target valid flash address locations.
Table 227. Bit Descriptions for KH_ADDR
Bits Bit
Name Settings
Description
Reset
Access
[31:19] Reserved
Reserved.
0x0 R
[18:3]
VALUE
Address to Be Written on a Write Command.
0x0
R/W
[2:0] Reserved
Reserved.
0x0
R
WRITE LOWER DATA REGISTER
Address: 0x40018010, Reset: 0xFFFFFFFF, Name: KH_DATA0
This register contains the lower half of 64-bit dual-word data to be written to flash.
Table 228. Bit Descriptions for KH_DATA0
Bits Bit
Name
Settings
Description
Reset
Access
[31:0]
VALUE
Lower Half of 64-Bit Dual-Word Data to Be Written on a Write Command.
0xFFFFFFFF
R/W
WRITE UPPER DATA REGISTER
Address: 0x40018014, Reset: 0xFFFFFFFF, Name: KH_DATA1
This register contains the upper half of 64-bit dual-word data to be written to flash.
Table 229. Bit Descriptions for KH_DATA1
Bits Bit
Name Settings Description
Reset
Access
[31:0] VALUE
Upper Half of 64-Bit Dual-Word Data to Be Written on a Write Command. If DMA is
enabled, this register acts as a FIFO. Writes to this register push the old data to the
lower half of 64-bit data (KH_DATA0). When this register is written twice in DMA
mode, the FIFO becomes full and a flash write command is automatically
executed.
0xFFFFFFFF R/W
LOWER PAGE ADDRESS REGISTER
Address: 0x40018018, Reset: 0x00000000, Name: PAGE_ADDR0
Write a byte address to this register to select the page in which that byte exists.
The selected page can be used for an erase page command (selecting which page to erase) or for a sign command (selecting the start page
for a block on which a signature is calculated). For commands using both the PAGE_ADDR0 register and PAGE_ADDR1 register,
ensure that PAGE_ADDR0 is always less than or equal to PAGE_ADDR1, or else the command is denied.
Writing any address above the valid range of flash memory saturates the address register to prevent aliasing in the flash memory space.
Table 230. Bit Descriptions for PAGE_ADDR0
Bits Bit
Name Settings
Description
Reset
Access
[31:19] Reserved
Reserved.
0x0 R
[18:10]
VALUE
Lower Address Bits of the Page Address.
0x0
R/W
[9:0] Reserved
Reserved.
0x0
R