Header Field
The following table provides the definition of the header content.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
CHECKSUM | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
CHECKSUM | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
SIZE | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ONE | – | INVLD | LOCK | PACKET |
- PACKET: Indicates the packet type. Six types are available:
- REGULAR packet (value 1) accessible through the User Interface
- KEY packet (value 2) accessible only through the Private Key buses
- BOOT_CONFIGURATION “special” packet (value 3)
- SECURE_BOOT_CONFIGURATION “special” packet (value 4)
- HARDWARE_CONFIGURATION “special” packet (value 5)
- CUSTOM “special” packet (value 6)
- LOCK: Written by the controller when the checksum is generated.
- INVLD: Written when an invalidation process is requested.
- ONE: Must be written to ‘1’.
- SIZE: Indicates the size in 32-bit words of the payload field. SIZE = 0 means payload is 32-bit size, SIZE = 255 means payload is 8192-bit size. The entire packet size (in bits) in OTP memory is 32 (header) + (32 * (SIZE + 1)).
- CHECKSUM: Represents the checksum of the packet excluding the CHECKSUM field of the header. The real value of the CHECKSUM field is not readable; it is generated by the OTPC.
- When CHECKSUM is read as 0, the checksum has not been generated. It is possible to modify the packet content.
- When CHECKSUM is read as 0x33CC, the checksum has not been generated but some bits are already at 1. Locking the packet may fail.
- When CHECKSUM is read as 0xA5A5, the checksum has been generated and the last check was successful. It is impossible to modify the packet content.
- When CHECKSUM is read as 0xCC33, the header of the packet is corrupted.
- When CHECKSUM is read as 0xFFFF, the entire packet is no longer valid. It is possible to modify the packet content and it is up to the software to program the payload to a different value if needed.
- For all other values of CHECKSUM, the checksum has been generated and the last check failed to match the checksum written in the OTP memory. It is impossible to modify the packet content.