29.5.2 SEFC Flash Command Register
This register can only be written if the FKEY field is written to 0x5A.
| Name: | EEFC_FCR |
| Offset: | 0x04 |
| Reset: | – |
| Property: | Write-only |
| Bit | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | |
| FKEY[7:0] | |||||||||
| Access | W | W | W | W | W | W | W | W | |
| Reset | – | – | – | – | – | – | – | – | |
| Bit | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | |
| FARG[15:8] | |||||||||
| Access | W | W | W | W | W | W | W | W | |
| Reset | – | – | – | – | – | – | – | – | |
| Bit | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | |
| FARG[7:0] | |||||||||
| Access | W | W | W | W | W | W | W | W | |
| Reset | – | – | – | – | – | – | – | – | |
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
| FCMD[7:0] | |||||||||
| Access | W | W | W | W | W | W | W | W | |
| Reset | – | – | – | – | – | – | – | – | |
Bits 31:24 – FKEY[7:0] Flash Writing Protection Key
| Value | Name | Description |
|---|---|---|
| 0x5A | PASSWD |
The 0x5A value enables the command defined by the bits in the register. If the field is written with a different value, the write is not performed and no action is started. |
Bits 23:8 – FARG[15:0] Flash Command Argument
| GETD, GLB, GGPB, STUI, SPUI, GCALB, STUS, SPUS, SUSP, RES | Commands requiring no argument | FARG is meaningless, must be written with 0 |
| ES | Erase sector command | FARG must be written with any page number within the sector to be erased |
| EPA | Erase pages command | FARG[2:0] defines the number of pages
to be erased The start page number divided by 8 must be written in FARG[15:3]. FARG[2:0] = 0: Reserved, FARG[2:0] = 1: Eight pages to be erased. FARG[15:3] = Page_Number/8, FARG[2:0] = 2: Sixteen pages to be erased. FARG[15:4] = Page_Number/16 FARG[3] = 0 FARG[2:0] = 3: Thirty-two pages to be erased. FARG[15:5] = Page_Number/32 FARG[4:3] = 0 FARG[2:0] = 4: Sixty-four pages to be erased. FARG[15:6] = Page_Number/64 FARG[5:3] = 0 FARG[2:0] > 4: Reserved. See Table 29-3. |
| EUS | Erase User Signature command | The start page number divided by 8 must
be written in FARG[15:3]. FARG[2:0] = 0: Reserved |
| WP, WPL, WUS | Programming commands | FARG must be written with the page number to be programmed |
| SLB, CLB | Lock bit commands | FARG defines the page number to be locked or unlocked |
| SGPB, CGPB | GPNVM commands | FARG defines the GPNVM number to be programmed |
| SCK | Send cryptographic key to AES engine command | FARG[15]: Reserved FARG[14]: ‘0’ if AES is selected, ‘1’ if AESB is selected FARG[13]: Reserved FARG[12] defines the protection level attribute forwarded to the key bus during cryptographic key transfer. 0=User, 1=Privileged FARG[11:10]: Reserved FARG[9:8] defines the cryptographic key length to be transferred: 1 (128 bits), 2 (192 bits) or 3 (256 bits). FARG[7:5] defines the 4-Kbyte user signature block number where the cryptographic key is to be retrieved, from 0 to 7 FARG[4:0] defines the 128-bit flash word address offset in the first page of the user signature block where the cryptographic key is to be retrieved |
Bits 7:0 – FCMD[7:0] Flash Command
| Value | Name | Description |
|---|---|---|
| 0x00 | GETD | Get Flash descriptor |
| 0x01 | WP | Write page |
| 0x02 | WPL | Write page and lock |
| 0x07 | EPA | Erase pages (8, 16, 32, 64) |
| 0x08 | SLB | Set lock bit |
| 0x09 | CLB | Clear lock bit |
| 0x0A | GLB | Get lock bit |
| 0x0B | SGPB | Set GPNVM bit |
| 0x0C | CGPB | Clear GPNVM bit |
| 0x0D | GGPB | Get GPNVM bit |
| 0x0E | STUI | Start read unique identifier |
| 0x0F | SPUI | Stop read unique identifier |
| 0x10 | GCALB | Get CALIB bit |
| 0x11 | ES | Erase sector |
| 0x12 | WUS | Write user signature |
| 0x13 | EUS | Erase user signature |
| 0x14 | STUS | Start read user signature |
| 0x15 | SPUS | Stop read user signature |
| 0x17 | SUSP | Suspend |
| 0x18 | RES | Resume |
| 0x19 | SCK | Send cryptographic key |
