SPRUJ79 November 2024 F29H850TU , F29H859TU-Q1
Table 9-9 lists the memory-mapped registers for the FLASH_CMD_REGS_FLC2 registers. All register offset addresses not listed in Table 9-9 should be considered as reserved locations and the register contents should not be modified.
| Offset | Acronym | Register Name |
|---|---|---|
| 1D0h | CMDWEPROTA | Command Write Erase Protect A Register |
| 1D4h | CMDWEPROTB | Command Write Erase Protect B Register |
| 210h | CMDWEPROTNM | Command Write Erase Protect Non-Main Register |
| 3D0h | STATCMD | Command Status Register |
Complex bit access types are encoded to fit into small table cells. Table 9-10 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 | |
CMDWEPROTA is shown in Figure 9-10 and described in Table 9-11.
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 9-11 and described in Table 9-12.
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 3 cases for how these protect bits are applied:
1. Single-bank system:
In the case where only a single flash bank is present,
the first 32 sectors are protected via the CMDWEPROTA register. Thus, the
protection give by the bits in CMDWEPROTB begin with sector 32.
2. Multi-bank system, Bank 0:
When multiple flash banks are present, 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.
3. Multi-bank system, 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.
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 9-12 and described in Table 9-13.
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 9-13 and described in Table 9-14.
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 |