SPRUJF2A March 2026 – March 2026 AM13E23019
Table 10-18 lists the memory-mapped registers for the NVMNW_REGS registers. All register offset addresses not listed in Table 10-18 should be considered as reserved locations and the register contents should not be modified.
| Offset | Acronym | Register Name | Section |
|---|---|---|---|
| 1020h | IIDX | Interrupt Index Register | Go |
| 1028h | IMASK | Interrupt Mask Register | Go |
| 1030h | RIS | Raw Interrupt Status Register | Go |
| 1038h | MIS | Masked Interrupt Status Register | Go |
| 1040h | ISET | Interrupt Set Register | Go |
| 1048h | ICLR | Interrupt Clear Register | Go |
| 1100h | CMDEXEC | Command Execute Register | Go |
| 1104h | CMDTYPE | Command Type Register | Go |
| 1108h | CMDCTL | Command Control Register | Go |
| 1120h | CMDADDR | Command Address Register | Go |
| 1124h | CMDBYTEN | Command Program Byte Enable Register | Go |
| 112Ch | CMDDATAINDEX | Command Data Index Register | Go |
| 1130h | CMDDATA0 | Command Data Register 0 | Go |
| 1134h | CMDDATA1 | Command Data Register 1 | Go |
| 1138h | CMDDATA2 | Command Data Register 2 | Go |
| 113Ch | CMDDATA3 | Command Data Register Bits 127:96 | Go |
| 1140h | CMDDATA4 | Command Data Register 4 | Go |
| 1144h | CMDDATA5 | Command Data Register 5 | Go |
| 1148h | CMDDATA6 | Command Data Register 6 | Go |
| 114Ch | CMDDATA7 | Command Data Register 7 | Go |
| 1150h | CMDDATA8 | Command Data Register 8 | Go |
| 1154h | CMDDATA9 | Command Data Register 9 | Go |
| 1158h | CMDDATA10 | Command Data Register 10 | Go |
| 115Ch | CMDDATA11 | Command Data Register 11 | Go |
| 1160h | CMDDATA12 | Command Data Register 12 | Go |
| 1164h | CMDDATA13 | Command Data Register 13 | Go |
| 1168h | CMDDATA14 | Command Data Register 14 | Go |
| 116Ch | CMDDATA15 | Command Data Register 15 | Go |
| 11B0h | CMDDATAECC0 | Command Data Register ECC 0 | Go |
| 11B4h | CMDDATAECC1 | Command Data Register ECC 1 | Go |
| 11B8h | CMDDATAECC2 | Command Data Register ECC 2 | Go |
| 11BCh | CMDDATAECC3 | Command Data Register ECC 3 | Go |
| 11D0h | CMDWEPROTA | Command Write Erase Protect A Register | Go |
| 11D4h | CMDWEPROTB | Command Write Erase Protect B Register | Go |
| 1210h | CMDWEPROTNM | Command Write Erase Protect Non-Main Register | Go |
| 13D0h | STATCMD | Command Status Register | Go |
| 13D8h | STATPCNT | Pulse Count Status Register | Go |
Complex bit access types are encoded to fit into small table cells. Table 10-19 shows the codes that are used for access types in this section.
| Access Type | Code | Description |
|---|---|---|
| Read Type | ||
| R | R | Read |
| Write Type | ||
| W | W | Write |
| Reset or Default Value | ||
| -n | Value after reset or the default value | |
IIDX is shown in Figure 10-9 and described in Table 10-20.
Return to the Summary Table.
Interrupt Index Register:
The IIDX register provides the highest priority enabled interrupt index.
PSD compliant register.
Note that it is not recommended to use this register if the system clock is
running at a slower clock frequency than the flash wrapper clock. If this is the
case, then reading this register may fail to update the RIS register correctly.
The MIS register can be read directly, and a write to ICLR can be used to
clear interrupts when this clock relationship is present.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | STAT | ||||||
| R-0h | R-0h | ||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-1 | RESERVED | R | 0h | Reserved |
| 0 | STAT | R | 0h | Indicates which interrupt has fired. 0x0 means no event pending. The priority order is fixed. On each read, only one interrupt is indicated. On a read, the current interrupt (highest priority) is automatically cleared by the hardware and the corresponding interrupt flags in the RIS and MIS are cleared as well. After a read from the CPU (not from the debug interface), the register must be updated with the next highest priority interrupt.
0h (R/W) = No Interrupt Pending 1h (R/W) = DONE Interrupt Pending |
IMASK is shown in Figure 10-10 and described in Table 10-21.
Return to the Summary Table.
Interrupt Mask Register: The IMASK register holds the current interrupt mask settings. Masked interrupts are read in the MIS register. PSD compliant register.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | DONE | ||||||
| R-0h | R/W-0h | ||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-1 | RESERVED | R | 0h | Reserved |
| 0 | DONE | R/W | 0h | Interrupt mask for DONE:
0: Interrupt is disabled in MIS register
1: Interrupt is enabled in MIS register
0h (R/W) = Interrupt is masked out 1h (R/W) = Interrupt will request an interrupt service routine and corresponding bit in [IPSTANDARD.MIS] will be set |
RIS is shown in Figure 10-11 and described in Table 10-22.
Return to the Summary Table.
Raw Interrupt Status Register: The RIS register reflects all pending interrupts, regardless of masking. The RIS register allows the user to implement a poll scheme. A flag set in this register can be cleared by writing a 1 to the ICLR register bit even if the corresponding IMASK bit is not enabled. A flag can be set by software by writing a 1 to the ISET register. Reading the IIDX register will also clear the corresponding bit in RIS. PSD compliant register.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | DONE | ||||||
| R-0h | R-0h | ||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-1 | RESERVED | R | 0h | Reserved |
| 0 | DONE | R | 0h | Flash wrapper operation completed. This interrupt bit is set by firmware or the corresponding bit in the ISET register. It is cleared by the corresponding bit in in the ICLR register or reading the IIDX register when this interrupt is the highest priority. 0h (R/W) = Interrupt did not occur 1h (R/W) = Interrupt occurred |
MIS is shown in Figure 10-12 and described in Table 10-23.
Return to the Summary Table.
Masked Interrupt Status Register:
The MIS register is a bit-wise AND of the contents of the IMASK and RIS
registers. This is kept mainly for ARM compatibility, and has limited use since
the highest priority interrupt index is returned through the IIDX register.
PSD
compliant register.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | DONE | ||||||
| R-0h | R-0h | ||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-1 | RESERVED | R | 0h | Reserved |
| 0 | DONE | R | 0h | Flash wrapper operation completed. This masked interrupt bit reflects the bitwise AND of the corresponding RIS and IMASK bits. 0h (R/W) = Masked interrupt did not occur 1h (R/W) = Masked interrupt occurred |
ISET is shown in Figure 10-13 and described in Table 10-24.
Return to the Summary Table.
Interrupt Set Register: The ISET register allows software to write a 1 to set corresponding interrupt. Safety: This meets a safety requirement to allow software diagnostics to trigger interrupts. PSD compliant register.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| W-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| W-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| W-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | DONE | ||||||
| W-0h | W-0h | ||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-1 | RESERVED | W | 0h | Reserved |
| 0 | DONE | W | 0h | 0: No effect
1: Set the DONE interrupt in the RIS register
0h (R/W) = Writing a 0 has no effect 1h (R/W) = Set [IPSTANDARD.RIS] bit |
ICLR is shown in Figure 10-14 and described in Table 10-25.
Return to the Summary Table.
Interrupt Clear Register. The ICLR register allows allows software to write a 1 to clear corresponding interrupt. PSD compliant register.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| W-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| W-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| W-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | DONE | ||||||
| W-0h | W-0h | ||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-1 | RESERVED | W | 0h | Reserved |
| 0 | DONE | W | 0h | 0: No effect
1: Clear the DONE interrupt in the RIS register
0h (R/W) = Writing a 0 has no effect 1h (R/W) = Clear [IPSTANDARD.RIS] bit |
CMDEXEC is shown in Figure 10-15 and described in Table 10-26.
Return to the Summary Table.
Command Execute Register:
Initiates execution of the command specified in the CMDTYPE register.
This register is blocked for writes after being written to 1 and prior to
STATCMD.DONE being set by the flash wrapper hardware.
flash wrapper hardware clears this register after the processing of the command
has completed.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||||||||||
| R-0h | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | VAL | ||||||||||||||
| R-0h | R/W-0h | ||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-1 | RESERVED | R | 0h | Reserved |
| 0 | VAL | R/W | 0h | Command Execute value
Initiates execution of the command specified in the CMDTYPE register.
0h (R/W) = Command will not execute or is not executing in flash wrapper 1h (R/W) = Command will execute or is executing in flash wrapper |
CMDTYPE is shown in Figure 10-16 and described in Table 10-27.
Return to the Summary Table.
Command Type Register
This register specifies the type of command to be executed by the flash wrapper
hardware.
This register is blocked for writes after CMDEXEC is written to a 1 and
prior to STATCMD.DONE being set by the hardware to indicate that
command execution has completed.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | SIZE | RESERVED | COMMAND | ||||
| R-0h | R/W-0h | R-0h | R/W-0h | ||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-7 | RESERVED | R | 0h | Reserved |
| 6-4 | SIZE | R/W | 0h | Command size
0h (R/W) = Operate on 1 flash word 1h (R/W) = Operate on 2 flash words 2h (R/W) = Operate on 4 flash words 3h (R/W) = Operate on 8 flash words 4h (R/W) = Operate on a flash sector 5h (R/W) = Operate on an entire flash bank |
| 3 | RESERVED | R | 0h | Reserved |
| 2-0 | COMMAND | R/W | 0h | Command type
0h (R/W) = No Operation 1h (R/W) = Program 2h (R/W) = Erase 3h (R/W) = ReadVerify - Perform a standalone ReadVerify operation. 4h (R/W) = Mode Change - Perform a mode change only, no other operation. 5h (R/W) = Clear Status - Clear status bits in FW_SMSTAT only. 6h (R/W) = Blank Verify - Check whether a flash word is in the erased state. This command may only be used with CMDTYPE.SIZE = ONEWORD |
CMDCTL is shown in Figure 10-17 and described in Table 10-28.
Return to the Summary Table.
Command Control Register This register configures specific capabilities of the state machine for related to the execution of a command. This register is blocked for writes after CMDEXEC is written to a 1 and prior to STATCMD.DONE being set by the hardware to indicate that command execution has completed.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | DATAVEREN | SSERASEDIS | ERASEMASKDIS | PROGMASKDIS | ECCGENOVR | ADDRXLATEOVR | |
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| POSTVEREN | PREVEREN | RESERVED | REGIONSEL | RESERVED | |||
| R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | BANKSEL | MODESEL | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-22 | RESERVED | R | 0h | Reserved |
| 21 | DATAVEREN | R/W | 0h | Enable invalid data verify. This checks for 0->1 transitions in the memory when a program operation is initiated. If such a transition is found, the program will fail with an error without executing the program. 0h (R/W) = Disable 1h (R/W) = Enable |
| 20 | SSERASEDIS | R/W | 0h | Disable Stair-Step Erase. If set, the default VHV trim voltage setting will be used
for all erase pulses.
By default, this bit is reset, meaning that the VHV voltage will be stepped during
successive erase pulses. The step count, step voltage, begin and end voltages
are all hard-wired.
0h (R/W) = Enable 1h (R/W) = Disable |
| 19 | ERASEMASKDIS | R/W | 0h | Disable use of erase mask for erase Bit masking will not be used during erase verify. If one or more sectors fail the verify either before (prever) or after (postver) the operation, then all specified flash sectors will receive subsequent erase pulse. 0h (R/W) = Enable 1h (R/W) = Disable |
| 18 | PROGMASKDIS | R/W | 0h | Disable use of program mask for programming. Bit masking will not be used during program verify. If one or more bits fail the verify either before (prever) or after (postver) the operation, then all specified flash entries will receive subsequent program pulse. 0h (R/W) = Enable 1h (R/W) = Disable |
| 17 | ECCGENOVR | R/W | 0h | Override hardware generation of ECC data for program. Use data written to
CMDDATAECC*.
0h (R/W) = Do not override 1h (R/W) = Override |
| 16 | ADDRXLATEOVR | R/W | 0h | Override hardware address translation of address in CMDADDR from a
system address to a bank address and bank ID. Use data written to
CMDADDR directly as the bank address. Use the value written to
CMDCTL.BANKSEL directly as the bank ID. Use the value written to
CMDCTL.REGIONSEL directly as the region ID.
0h (R/W) = Do not override 1h (R/W) = Override |
| 15 | POSTVEREN | R/W | 1h | Enable verify after program or erase
0h (R/W) = Disable 1h (R/W) = Enable |
| 14 | PREVEREN | R/W | 1h | Enable verify before program or erase. For program, bits already programmed
to the requested value will be masked. For erase, sectors already erased will be
masked.
0h (R/W) = Disable 1h (R/W) = Enable |
| 13 | RESERVED | R | 0h | Reserved |
| 12-9 | REGIONSEL | R/W | 0h | Bank Region A specific region ID can be written to this field to indicate to which region an operation is to be applied if CMDCTL.ADDRXLATEOVR is set. 1h (R/W) = Main Region 2h (R/W) = Non-Main Region 4h (R/W) = Trim Region 8h (R/W) = Engr Region |
| 8-5 | RESERVED | R/W | 0h | |
| 4 | BANKSEL | R/W | 0h | Bank Select A specific Bank ID can be written to this field to indicate to which bank an operation is to be applied if CMDCTL.ADDRXLATEOVR is set. 1h (R/W) = Bank 0 2h (R/W) = Bank 1 4h (R/W) = Bank 2 8h (R/W) = Bank 3 10h (R/W) = Bank 4 |
| 3-0 | MODESEL | R/W | 0h | Mode This field is only used for the Mode Change command type. Otherwise, bank and pump modes are set automaticlly through the NW hardware. 0h = Read Mode 2h = Read Margin 0 Mode 4h = Read Margin 1 Mode 6h = Read Margin 0B Mode 7h = Read Margin 1B Mode 9h = Program Verify Mode Ah = Program Single Word Bh = Erase Verify Mode Ch = Erase Sector Eh = Program Multiple Word Fh = Erase Bank |
CMDADDR is shown in Figure 10-18 and described in Table 10-29.
Return to the Summary Table.
Command Address Register:
This register forms the target address of a command. The use cases are as
follows:
1) For single-word program, this address indicates the flash bank word to be
programmed.
2) For multi-word program, this address indicates the first flash bank address
for the program. The address will be incremented for further words.
3) For sector erase, this address indicates the sector to be erased.
4) For bank erase, the address indicates the bank to be erased.
Note the address written to this register will be submitted for translation to the
flash wrapper address translation interface, and the translated address
will be used to access the bank. However, if the
CMDCTL.ADDRXLATEOVR bit is set, then the address written to this register will
be used directly as the bank address.
This register is blocked for writes after a 1 is written to the CMDEXEC
register and prior to STATCMD.DONE being set by the flash wrapper
hardware.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| VAL | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | VAL | R/W | 0h | Address value
0h = Minimum value of [VAL] FFFFFFFFh = Maximum value of [VAL] |
CMDBYTEN is shown in Figure 10-19 and described in Table 10-30.
Return to the Summary Table.
Command Program Byte Enable Register:
This register forms a per-byte enable for programming data. For data bytes to
be programmed, a 1 must be written to the corresponding bit in this register.
Normally, all bits are written to 1, allowing program of full flash words.
However, leaving some bits 0 allows programming of 8-bit, 16-bit, 32-bit
or 64-bit portions of a flash word.
During verify, data bytes read from the flash will not be checked if the
corresponding CMDBYTEN bit is 0.
ECC data bytes are protected by the 1-2 MSB bits in this register, depending on
the presence of ECC and the flash word data width.
This register is blocked for writes after a 1 is written to the CMDEXEC
register and prior to STATCMD.DONE being set by the flash wrapper
hardware.
This register is written to all 0 after the completion of all flash wrapper commands.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | RESERVED | VAL | |||||||||||||||||||||||||||||
| R-0h | R/W-0h | R/W-0h | |||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-18 | RESERVED | R | 0h | Reserved |
| 17-8 | RESERVED | R/W | 0h | |
| 7-0 | VAL | R/W | 0h | Command Byte Enable value.
A 1-bit per flash word byte value is placed in this register.
0h = Minimum value of [VAL] 0003FFFFh = Maximum value of [VAL] |
CMDDATAINDEX is shown in Figure 10-20 and described in Table 10-31.
Return to the Summary Table.
Command Program Data Index Register:
When multiple data registers are available for multi-word program, this register
can be written with an index which points to one of the data registers. When
a write to CMDDATA* is done, the data will be written to the physical
data register indexed by the value in this register.
Up to 8 data registers can be present, so this register can be written with 0x0
to 0x7. If less than 8 data registers are present, successive MSB bits of this
register are ignored when indexing the CMDDATA* registers.
This register is blocked for writes after a 1 is written to the CMDEXEC
register and prior to STATCMD.DONE being set by the flash wrapper
hardware.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | VAL | ||||||||||||||||||||||||||||||
| R-0h | R/W-0h | ||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-3 | RESERVED | R | 0h | Reserved |
| 2-0 | VAL | R/W | 0h | Data register index
0h = Minimum value of [VAL] 7h = Maximum value of [VAL] |
CMDDATA0 is shown in Figure 10-21 and described in Table 10-32.
Return to the Summary Table.
Command Data Register 0
This register forms the data for a command.
For DATAWIDTH == 128: This register represents bits 31:0 of flash word data register 0.
For DATAWIDTH == 64: This register represents bits 31:0 of flash word data register 0.
This register is blocked for writes after a 1 is written to the CMDEXEC
register and prior to STATCMD.DONE being set by the flash wrapper
hardware.
This register is used to aggregate masking for bits that do not
require additional program pulses during program operations, and will be
written to all 1 after the completion of all flash wrapper commands.
Use cases for the CMDDATA* registers are as follows:
1) Program - These registers contain the data to be programmed.
2) Erase - These registers are not used.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| VAL | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | VAL | R/W | FFFFFFFFh | A 32-bit data value is placed in this field.
0h = Minimum value of [VAL] FFFFFFFFh = Maximum value of [VAL] |
CMDDATA1 is shown in Figure 10-22 and described in Table 10-33.
Return to the Summary Table.
Command Data Register 1
This register forms the data for a command.
For DATAWIDTH == 128: This register represents bits 63:32 of flash word data register 0.
For DATAWIDTH == 64: This register represents bits 63:32 of flash word data register 0.
This register is blocked for writes after a 1 is written to the CMDEXEC
register and prior to CMDSTAT.DONE being set by the flash wrapper
hardware.
This register is used to aggregate masking for bits that do not
require additional program pulses during program operations, and will be
written to all 1 after the completion of all flash wrapper commands.
Use cases for the CMDDATA* registers are as follows:
1) Program - These registers contain the data to be programmed.
2) Erase - These registers are not used.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| VAL | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | VAL | R/W | FFFFFFFFh | A 32-bit data value is placed in this field.
0h = Minimum value of [VAL] FFFFFFFFh = Maximum value of [VAL] |
CMDDATA2 is shown in Figure 10-23 and described in Table 10-34.
Return to the Summary Table.
Command Data Register 2
This register forms the data for a command.
For DATAWIDTH == 128: This register represents bits 95:64 of flash word data register 0.
For DATAWIDTH == 64: This register represents bits 31:0 of flash word data register 1.
This register is blocked for writes after a 1 is written to the CMDEXEC
register and prior to STATCMD.DONE being set by the flash wrapper
hardware.
This register is used to aggregate masking for bits that do not
require additional program pulses during program operations, and will be
written to all 1 after the completion of all flash wrapper commands.
Use cases for the CMDDATA* registers are as follows:
1) Program - These registers contain the data to be programmed.
2) Erase - These registers are not used.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| VAL | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | VAL | R/W | FFFFFFFFh | A 32-bit data value is placed in this field.
0h = Minimum value of [VAL] FFFFFFFFh = Maximum value of [VAL] |
CMDDATA3 is shown in Figure 10-24 and described in Table 10-35.
Return to the Summary Table.
Command Data Register 3
This register forms the data for a command.
For DATAWIDTH == 128: This register represents bits 127:96 of flash word data register 0.
For DATAWIDTH == 64: This register represents bits 63:32 of flash word data register 1.
This register is blocked for writes after a 1 is written to the CMDEXEC
register and prior to STATCMD.DONE being set by the flash wrapper
hardware.
This register is used to aggregate masking for bits that do not
require additional program pulses during program operations, and will be
written to all 1 after the completion of all flash wrapper commands.
Use cases for the CMDDATA* registers are as follows:
1) Program - These registers contain the data to be programmed.
2) Erase - These registers are not used.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| VAL | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | VAL | R/W | FFFFFFFFh | A 32-bit data value is placed in this field.
0h = Minimum value of [VAL] FFFFFFFFh = Maximum value of [VAL] |
CMDDATA4 is shown in Figure 10-25 and described in Table 10-36.
Return to the Summary Table.
Command Data Register 4
This register forms the data for a command.
For DATAWIDTH == 128: This register represents bits 31:0 of flash word data register 1.
For DATAWIDTH == 64: This register represents bits 31:0 of flash word data register 2.
This register is blocked for writes after a 1 is written to the CMDEXEC
register and prior to STATCMD.DONE being set by the flash wrapper
hardware.
This register is used to aggregate masking for bits that do not
require additional program pulses during program operations, and will be
written to all 1 after the completion of all flash wrapper commands.
Use cases for the CMDDATA* registers are as follows:
1) Program - These registers contain the data to be programmed.
2) Erase - These registers are not used.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| VAL | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | VAL | R/W | FFFFFFFFh | A 32-bit data value is placed in this field.
T
0h = Minimum value of [VAL] FFFFFFFFh = Maximum value of [VAL] |
CMDDATA5 is shown in Figure 10-26 and described in Table 10-37.
Return to the Summary Table.
Command Data Register 5
This register forms the data for a command.
For DATAWIDTH == 128: This register represents bits 63:32 of flash word data register 1.
For DATAWIDTH == 64: This register represents bits 63:32 of flash word data register 2.
This register is blocked for writes after a 1 is written to the CMDEXEC
register and prior to STATCMD.DONE being set by the flash wrapper
hardware.
This register is used to aggregate masking for bits that do not
require additional program pulses during program operations, and will be
written to all 1 after the completion of all flash wrapper commands.
Use cases for the CMDDATA* registers are as follows:
1) Program - These registers contain the data to be programmed.
2) Erase - These registers are not used.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| VAL | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | VAL | R/W | FFFFFFFFh | A 32-bit data value is placed in this field.
0h = Minimum value of [VAL] FFFFFFFFh = Maximum value of [VAL] |
CMDDATA6 is shown in Figure 10-27 and described in Table 10-38.
Return to the Summary Table.
Command Data Register 6
This register forms the data for a command.
For DATAWIDTH == 128: This register represents bits 95:64 of flash word data register 1.
For DATAWIDTH == 64: This register represents bits 31:0 of flash word data register 3.
This register is blocked for writes after a 1 is written to the CMDEXEC
register and prior to STATCMD.DONE being set by the flash wrapper
hardware.
This register is used to aggregate masking for bits that do not
require additional program pulses during program operations, and will be
written to all 1 after the completion of all flash wrapper commands.
Use cases for the CMDDATA* registers are as follows:
1) Program - These registers contain the data to be programmed.
2) Erase - These registers are not used.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| VAL | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | VAL | R/W | FFFFFFFFh | A 32-bit data value is placed in this field.
0h = Minimum value of [VAL] FFFFFFFFh = Maximum value of [VAL] |
CMDDATA7 is shown in Figure 10-28 and described in Table 10-39.
Return to the Summary Table.
Command Data Register 7
This register forms the data for a command.
For DATAWIDTH == 128: This register represents bits 127:96 of flash word data register 1.
For DATAWIDTH == 64: This register represents bits 63:32 of flash word data register 3.
This register is blocked for writes after a 1 is written to the CMDEXEC
register and prior to STATCMD.DONE being set by the flash wrapper
hardware.
This register is used to aggregate masking for bits that do not
require additional program pulses during program operations, and will be
written to all 1 after the completion of all flash wrapper commands.
Use cases for the CMDDATA* registers are as follows:
1) Program - These registers contain the data to be programmed.
2) Erase - These registers are not used.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| VAL | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | VAL | R/W | FFFFFFFFh | A 32-bit data value is placed in this field.
0h = Minimum value of [VAL] FFFFFFFFh = Maximum value of [VAL] |
CMDDATA8 is shown in Figure 10-29 and described in Table 10-40.
Return to the Summary Table.
Command Data Register 8
This register forms the data for a command.
For DATAWIDTH == 128: This register represents bits 31:0 of flash word data register 2.
For DATAWIDTH == 64: This register represents bits 31:0 of flash word data register 4.
This register is blocked for writes after a 1 is written to the CMDEXEC
register and prior to STATCMD.DONE being set by the flash wrapper
hardware.
This register is used to aggregate masking for bits that do not
require additional program pulses during program operations, and will be
written to all 1 after the completion of all flash wrapper commands.
Use cases for the CMDDATA* registers are as follows:
1) Program - These registers contain the data to be programmed.
2) Erase - These registers are not used.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| VAL | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | VAL | R/W | FFFFFFFFh | A 32-bit data value is placed in this field.
0h = Minimum value of [VAL] FFFFFFFFh = Maximum value of [VAL] |
CMDDATA9 is shown in Figure 10-30 and described in Table 10-41.
Return to the Summary Table.
Command Data Register 9
This register forms the data for a command.
For DATAWIDTH == 128: This register represents bits 63:32 of flash word data register 2.
For DATAWIDTH == 64: This register represents bits 63:32 of flash word data register 4.
This register is blocked for writes after a 1 is written to the CMDEXEC
register and prior to STATCMD.DONE being set by the flash wrapper
hardware.
This register is used to aggregate masking for bits that do not
require additional program pulses during program operations, and will be
written to all 1 after the completion of all flash wrapper commands.
Use cases for the CMDDATA* registers are as follows:
1) Program - These registers contain the data to be programmed.
2) Erase - These registers are not used.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| VAL | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | VAL | R/W | FFFFFFFFh | A 32-bit data value is placed in this field.
0h = Minimum value of [VAL] FFFFFFFFh = Maximum value of [VAL] |
CMDDATA10 is shown in Figure 10-31 and described in Table 10-42.
Return to the Summary Table.
Command Data Register 10
This register forms the data for a command.
For DATAWIDTH == 128: This register represents bits 95:64 of flash word data register 2.
For DATAWIDTH == 64: This register represents bits 31:0 of flash word data register 5.
This register is blocked for writes after a 1 is written to the CMDEXEC
register and prior to STATCMD.DONE being set by the flash wrapper
hardware.
This register is used to aggregate masking for bits that do not
require additional program pulses during program operations, and will be
written to all 1 after the completion of all flash wrapper commands.
Use cases for the CMDDATA* registers are as follows:
1) Program - These registers contain the data to be programmed.
2) Erase - These registers are not used.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| VAL | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | VAL | R/W | FFFFFFFFh | A 32-bit data value is placed in this field.
0h = Minimum value of [VAL] FFFFFFFFh = Maximum value of [VAL] |
CMDDATA11 is shown in Figure 10-32 and described in Table 10-43.
Return to the Summary Table.
Command Data Register 11
This register forms the data for a command.
For DATAWIDTH == 128: This register represents bits 127:96 of flash word data register 2.
For DATAWIDTH == 64: This register represents bits 63:32 of flash word data register 5.
This register is blocked for writes after a 1 is written to the CMDEXEC
register and prior to STATCMD.DONE being set by the flash wrapper
hardware.
This register is used to aggregate masking for bits that do not
require additional program pulses during program operations, and will be
written to all 1 after the completion of all flash wrapper commands.
Use cases for the CMDDATA* registers are as follows:
1) Program - These registers contain the data to be programmed.
2) Erase - These registers are not used.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| VAL | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | VAL | R/W | FFFFFFFFh | A 32-bit data value is placed in this field.
0h = Minimum value of [VAL] FFFFFFFFh = Maximum value of [VAL] |
CMDDATA12 is shown in Figure 10-33 and described in Table 10-44.
Return to the Summary Table.
Command Data Register 12
This register forms the data for a command.
For DATAWIDTH == 128: This register represents bits 31:0 of flash word data register 3.
For DATAWIDTH == 64: This register represents bits 31:0 of flash word data register 6.
This register is blocked for writes after a 1 is written to the CMDEXEC
register and prior to STATCMD.DONE being set by the flash wrapper
hardware.
This register is used to aggregate masking for bits that do not
require additional program pulses during program operations, and will be
written to all 1 after the completion of all flash wrapper commands.
Use cases for the CMDDATA* registers are as follows:
1) Program - These registers contain the data to be programmed.
2) Erase - These registers are not used.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| VAL | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | VAL | R/W | FFFFFFFFh | A 32-bit data value is placed in this field.
0h = Minimum value of [VAL] FFFFFFFFh = Maximum value of [VAL] |
CMDDATA13 is shown in Figure 10-34 and described in Table 10-45.
Return to the Summary Table.
Command Data Register 13
This register forms the data for a command.
For DATAWIDTH == 128: This register represents bits 63:32 of flash word data register 3.
For DATAWIDTH == 64: This register represents bits 63:32 of flash word data register 6.
This register is blocked for writes after a 1 is written to the CMDEXEC
register and prior to STATCMD.DONE being set by the flash wrapper
hardware.
This register is used to aggregate masking for bits that do not
require additional program pulses during program operations, and will be
written to all 1 after the completion of all flash wrapper commands.
Use cases for the CMDDATA* registers are as follows:
1) Program - These registers contain the data to be programmed.
2) Erase - These registers are not used.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| VAL | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | VAL | R/W | FFFFFFFFh | A 32-bit data value is placed in this field.
0h = Minimum value of [VAL] FFFFFFFFh = Maximum value of [VAL] |
CMDDATA14 is shown in Figure 10-35 and described in Table 10-46.
Return to the Summary Table.
Command Data Register 14
This register forms the data for a command.
For DATAWIDTH == 128: This register represents bits 95:64 of flash word data register 3.
For DATAWIDTH == 64: This register represents bits 31:0 of flash word data register 7.
This register is blocked for writes after a 1 is written to the CMDEXEC
register and prior to STATCMD.DONE being set by the flash wrapper
hardware.
This register is used to aggregate masking for bits that do not
require additional program pulses during program operations, and will be
written to all 1 after the completion of all flash wrapper commands.
Use cases for the CMDDATA* registers are as follows:
1) Program - These registers contain the data to be programmed.
2) Erase - These registers are not used.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| VAL | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | VAL | R/W | FFFFFFFFh | A 32-bit data value is placed in this field.
0h = Minimum value of [VAL] FFFFFFFFh = Maximum value of [VAL] |
CMDDATA15 is shown in Figure 10-36 and described in Table 10-47.
Return to the Summary Table.
Command Data Register 15
This register forms the data for a command.
For DATAWIDTH == 128: This register represents bits 127:96 of flash word data register 3.
For DATAWIDTH == 64: This register represents bits 63:32 of flash word data register 7.
This register is blocked for writes after a 1 is written to the CMDEXEC
register and prior to STATCMD.DONE being set by the flash wrapper
hardware.
This register is used to aggregate masking for bits that do not
require additional program pulses during program operations, and will be
written to all 1 after the completion of all flash wrapper commands.
Use cases for the CMDDATA* registers are as follows:
1) Program - These registers contain the data to be programmed.
2) Erase - These registers are not used.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| VAL | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | VAL | R/W | FFFFFFFFh | A 32-bit data value is placed in this field.
0h = Minimum value of [VAL] FFFFFFFFh = Maximum value of [VAL] |
CMDDATAECC0 is shown in Figure 10-37 and described in Table 10-48.
Return to the Summary Table.
Command Data Register 0
This register forms the ECC portion of the data for a command. This ECC data
in this register covers flash data register 0.
The hardware ECC generation in flash wrapper can be overridden and ECC data
developed elsewhere can be used. ECC data is placed in this register.
This register is blocked for writes after a 1 is written to the CMDEXEC
register and prior to STATCMD.DONE being set by the flash wrapper
hardware.
Use cases for the CMDDATA* registers are as follows:
1) Program - These registers contain the data to be programmed.
2) Erase - These registers are not used.
This register is used to aggregate masking for bits that do not
require additional program pulses during program operations, and will be
written to all 1 after the completion of all flash wrapper commands.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | VAL1 | VAL0 | |||||||||||||||||||||||||||||
| R-0h | R/W-0h | R/W-0h | |||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | Reserved |
| 15-8 | VAL1 | R/W | FFh | ECC data for bits 127:64 of the data is placed here.
0h = Minimum value FFh = Maximum value |
| 7-0 | VAL0 | R/W | FFh | ECC data for bits 63:0 of the data is placed here.
0h = Minimum value FFh = Maximum value |
CMDDATAECC1 is shown in Figure 10-38 and described in Table 10-49.
Return to the Summary Table.
Command Data Register 1
This register forms the ECC portion of the data for a command. This ECC data
in this register covers flash data register 0.
The hardware ECC generation in flash wrapper can be overridden and ECC data
developed elsewhere can be used. ECC data is placed in this register.
This register is blocked for writes after a 1 is written to the CMDEXEC
register and prior to STATCMD.DONE being set by the flash wrapper
hardware.
Use cases for the CMDDATA* registers are as follows:
1) Program - These registers contain the data to be programmed.
2) Erase - These registers are not used.
This register is used to aggregate masking for bits that do not
require additional program pulses during program operations, and will be
written to all 1 after the completion of all flash wrapper commands.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | VAL1 | VAL0 | |||||||||||||||||||||||||||||
| R-0h | R/W-0h | R/W-0h | |||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | Reserved |
| 15-8 | VAL1 | R/W | FFh | ECC data for bits 127:64 of the data is placed here.
0h = Minimum value FFh = Maximum value |
| 7-0 | VAL0 | R/W | FFh | ECC data for bits 63:0 of the data is placed here.
0h = Minimum value FFh = Maximum value |
CMDDATAECC2 is shown in Figure 10-39 and described in Table 10-50.
Return to the Summary Table.
Command Data Register 2
This register forms the ECC portion of the data for a command. This ECC data
in this register covers flash data register 2.
The hardware ECC generation in flash wrapper can be overridden and ECC data
developed elsewhere can be used. ECC data is placed in this register.
This register is blocked for writes after a 1 is written to the CMDEXEC
register and prior to STATCMD.DONE being set by the flash wrapper
hardware.
Use cases for the CMDDATA* registers are as follows:
1) Program - These registers contain the data to be programmed.
2) Erase - These registers are not used.
This register is used to aggregate masking for bits that do not
require additional program pulses during program operations, and will be
written to all 1 after the completion of all flash wrapper commands.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | VAL1 | VAL0 | |||||||||||||||||||||||||||||
| R-0h | R/W-0h | R/W-0h | |||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | Reserved |
| 15-8 | VAL1 | R/W | FFh | ECC data for bits 127:64 of the data is placed here.
0h = Minimum value FFh = Maximum value |
| 7-0 | VAL0 | R/W | FFh | ECC data for bits 63:0 of the data is placed here.
0h = Minimum value FFh = Maximum value |
CMDDATAECC3 is shown in Figure 10-40 and described in Table 10-51.
Return to the Summary Table.
Command Data Register 3
This register forms the ECC portion of the data for a command. This ECC data
in this register covers flash data register 3.
The hardware ECC generation in flash wrapper can be overridden and ECC data
developed elsewhere can be used. ECC data is placed in this register.
This register is blocked for writes after a 1 is written to the CMDEXEC
register and prior to STATCMD.DONE being set by the flash wrapper
hardware.
Use cases for the CMDDATA* registers are as follows:
1) Program - These registers contain the data to be programmed.
2) Erase - These registers are not used.
This register is used to aggregate masking for bits that do not
require additional program pulses during program operations, and will be
written to all 1 after the completion of all flash wrapper commands.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | VAL1 | VAL0 | |||||||||||||||||||||||||||||
| R-0h | R/W-0h | R/W-0h | |||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | Reserved |
| 15-8 | VAL1 | R/W | FFh | ECC data for bits 127:64 of the data is placed here.
0h = Minimum value FFh = Maximum value |
| 7-0 | VAL0 | R/W | FFh | ECC data for bits 63:0 of the data is placed here.
0h = Minimum value FFh = Maximum value |
CMDWEPROTA is shown in Figure 10-41 and described in Table 10-52.
Return to the Summary Table.
Command WriteErase Protect A Register
This register allows the first 32 sectors of the main region to be protected from
program or erase, with 1 bit protecting each sector. If the main region size is smaller than 32
sectors, then this register provides protection for the whole region.
This register is blocked for writes after a 1 is written to the CMDEXEC
register and prior to STATCMD.DONE being set by the flash wrapper
hardware.
In addition, this register is used to aggregate masking for sectors that do not
require additional erase pulses during bank erase operations, and will be
written to all 1 after the completion of all flash wrapper commands.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| VAL | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | VAL | R/W | FFFFFFFFh | Each bit protects 1 sector.
bit [0]: When 1, sector 0 of the flash memory will be protected from program
and erase.
bit [1]: When 1, sector 1 of the flash memory will be protected from program
and erase.
:
:
bit [31]: When 1, sector 31 of the flash memory will be protected from program
and erase.
0h = Minimum value of [VAL] FFFFFFFFh = Maximum value of [VAL] |
CMDWEPROTB is shown in Figure 10-42 and described in Table 10-53.
Return to the Summary Table.
Command WriteErase Protect B Register
This register allows main region sectors to be protected from program and
erase. Each bit corresponds to a group of 8 sectors.
There are multiple cases for how these protect bits are applied:
1. Single-bank system, CMDWEPROTA register present:
The first 32 sectors are protected via the CMDWEPROTA register. Thus, the
protection given by the bits in CMDWEPROTB begin with sector 32.
2. Single-bank system, CMDWEPROTA register not present:
The protection given by the bits in CMDWEPROTB begin with sector 0.
3. Multi-bank system, CMDWEPROTA register present - Bank 0:
The first 32 sectors of bank 0 are protected via the CMDWEPROTA register.
Thus, only bits 4 and above of CMDWEPROTB would be applicable to bank 0.
The protection of bit 4 and above would begin at sector 32. Bits 3:0
of WEPROTB are ignored for bank 0.
4. Multi-bank system, CMDWEPROTA register present, Banks 1-N:
For banks other than bank 0 in a multi-bank system, CMDWEPROTA has
no effect, so the bits in CMDWEPROTB will protect these banks starting
from sector 0.
5. Multi-bank system, CMDWEPROTA register not present:
The bits in CMDWEPROTB will protect any of the banks starting from sector 0.
This register is blocked for writes after a 1 is written to the CMDEXEC
register and prior to STATCMD.DONE being set by the flash wrapper
hardware.
In addition, this register is used to aggregate masking for sectors that do not
require additional erase pulses during bank erase operations, and will be
written to all 1 after the completion of all flash wrapper commands.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| VAL | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | VAL | R/W | FFFFFFFFh | Each bit protects a group of 8 sectors. When a bit is 1, the associated 8 sectors
in the flash will be protected from program and erase. A maximum of 256
sectors can be protected with this register.
0h = Minimum value of [VAL] FFFFFFFFh = Maximum value of [VAL] |
CMDWEPROTNM is shown in Figure 10-43 and described in Table 10-54.
Return to the Summary Table.
Command WriteErase Protect Non-Main
Register
This register allows non-main region region sectors to be protected
from program and erase. Each bit corresponds to 1 sector.
This register is blocked for writes after a 1 is written to the CMDEXEC
register and prior to STATCMD.DONE being set by the flash wrapper
hardware.
In addition, this register is used to aggregate masking for sectors that do not
require additional erase pulses during bank erase operations, and will be
written to all 1 after the completion of all flash wrapper commands.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| VAL | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | VAL | R/W | FFFFFFFFh | Each bit protects 1 sector.
bit [0]: When 1, sector 0 of the non-main region will be protected from program
and erase.
bit [1]: When 1, sector 1 of the non-main region will be protected from program
and erase.
:
:
bit [31]: When 1, sector 31 of the non-main will be protected from program
and erase.
0h = Minimum value of [VAL] FFFFFFFFh = Maximum value of [VAL] |
STATCMD is shown in Figure 10-44 and described in Table 10-55.
Return to the Summary Table.
Command Status Register This register contains status regarding completion and errors of command execution.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | FAILMISC | RESERVED | FAILINVDATA | ||||
| R-0h | R-0h | R-0h | R-0h | ||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| FAILMODE | FAILILLADDR | FAILVERIFY | FAILWEPROT | RESERVED | CMDINPROGRESS | CMDPASS | CMDDONE |
| R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-13 | RESERVED | R | 0h | Reserved |
| 12 | FAILMISC | R | 0h | Command failed due to error other than write/erase protect violation or verify
error. This is an extra bit in case a new failure mechanism is added which
requires a status bit.
0h = No Fail 1h = Fail |
| 11-9 | RESERVED | R | 0h | Reserved |
| 8 | FAILINVDATA | R | 0h | Program command failed because an attempt was made to program a stored
0 value to a 1.
0h = No Fail 1h = Fail |
| 7 | FAILMODE | R | 0h | Command failed because a bank has been set to a mode other than READ.
Program and Erase commands cannot be initiated unless all banks are in READ
mode.
0h = No Fail 1h = Fail |
| 6 | FAILILLADDR | R | 0h | Command failed due to the use of an illegal address
0h = No Fail 1h = Fail |
| 5 | FAILVERIFY | R | 0h | Command failed due to verify error
0h = No Fail 1h = Fail |
| 4 | FAILWEPROT | R | 0h | Command failed due to Write/Erase Protect Sector Violation
0h = No Fail 1h = Fail |
| 3 | RESERVED | R | 0h | Reserved |
| 2 | CMDINPROGRESS | R | 0h | Command In Progress
0h = Complete 1h = In Progress |
| 1 | CMDPASS | R | 0h | Command Pass - valid when CMD_DONE field is 1
0h = Fail 1h = Pass |
| 0 | CMDDONE | R | 0h | Command Done
0h = Not Done 1h = Done |
STATPCNT is shown in Figure 10-45 and described in Table 10-56.
Return to the Summary Table.
Current Pulse Count Register: Read only register giving read access to the state machine current pulse count value for program/erase operations.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | PULSECNT | ||||||||||||||||||||||||||||||
| R-0h | R-0h | ||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-12 | RESERVED | R | 0h | Reserved |
| 11-0 | PULSECNT | R | 0h | Current Pulse Counter Value
0h = Minimum value FFFh = Maximum value |