OTP Revision Read/Write Message Description¶
This chapter provides information on System Firmware APIs for reading and writing Software Revision and Key Revision to/from eFuses.
The available APIs are listed below.
| TISCI Message ID | Message Name | Available in GP | Avialable in HS-FS | 
|---|---|---|---|
| 0x9032 | TISCI_MSG_WRITE_SWREV | No | No | 
| 0x9033 | TISCI_MSG_READ_SWREV | No | No | 
| 0x9034 | TISCI_MSG_READ_KEYCNT_KEYREV | No | No | 
| 0x9035 | TISCI_MSG_WRITE_KEYREV | No | No | 
API Description¶
TISCI Message ID¶
TISCI_MSG_WRITE_SWREV          (0x9032U)
Message to write SWREV values
struct tisci_msg_set_swrev_req
Request message to set swrev
| Parameter | Type | Description | 
|---|---|---|
| hdr | struct tisci_header | Standard TISCI header | 
| identifier | u8 | One of the entries from enum tisci_otp_revision_identifier | 
| value | u32 | Revision value (integer) to be bit encoded, and programmed | 
This message can only be sent by the host that is tied to root of trust through the secure boardcfg extended otp extension
struct tisci_msg_set_swrev_resp
Response message after seting swrev
| Parameter | Type | Description | 
|---|---|---|
| hdr | struct tisci_header | Standard TISCI header | 
TISCI_MSG_READ_SWREV - Read Software Revision¶
Important
System Firmware currently supports reading only SWREV Secure Board Config with this message
Usage:
| Message Type | Normal | 
| Secure Queue Only? | Yes | 
TISCI Message ID¶
TISCI_MSG_READ_SWREV          (0x9033U)
Message to read SWREV values
struct tisci_msg_get_swrev_req
Request message to get swrev
| Parameter | Type | Description | 
|---|---|---|
| hdr | struct tisci_header | Standard TISCI header | 
| identifier | u8 | One of the entries from enum tisci_otp_revision_identifier (Current support only for OTP_REV_ID_SEC_BRDCFG) | 
struct tisci_msg_get_swrev_resp
Response message to get swrev
| Parameter | Type | Description | 
|---|---|---|
| hdr | struct tisci_header | Standard TISCI header | 
| value | u32 | Decoded Software Revision value (integer) from efuses | 
TISCI_MSG_READ_KEYCNT_KEYREV - Read Key Count and Key Revision¶
Usage:
| Message Type | Normal | 
| Secure Queue Only? | Yes | 
TISCI Message ID¶
TISCI_MSG_READ_KEYCNT_KEYREV          (0x9034U)
Message to read KEYCNT and KEYREV
struct tisci_msg_get_keycnt_keyrev_req
Request message to get keycnt, keyrev
| Parameter | Type | Description | 
|---|---|---|
| hdr | struct tisci_header | Standard TISCI header | 
struct tisci_msg_get_keycnt_keyrev_resp
Response message to get keycnt, keyrev
| Parameter | Type | Description | 
|---|---|---|
| hdr | struct tisci_header | Standard TISCI header | 
| keycnt | u32 | Keycount integer value | 
| keyrev | u32 | Keyrevision integer value | 
TISCI Message ID¶
TISCI_MSG_WRITE_KEYREV          (0x9035U)
Message to write KEYREV value
struct tisci_msg_set_keyrev_req
Request message to set keyrev
| Parameter | Type | Description | 
|---|---|---|
| hdr | struct tisci_header | Standard TISCI header | 
| value | u32 | Key Revision value (integer) to be bit encoded, and programmed | 
| cert_addr_lo | u32 | Lower 32 bit address (in LE format) of the Dual signed certificate | 
| cert_addr_hi | u32 | Higher 32 bit address (in LE format) of the Dual signed certificate | 
This message can only be sent by the host that is tied to root of trust through the secure boardcfg extended otp extension
struct tisci_msg_set_keyrev_resp
Response message after setting keyrev
| Parameter | Type | Description | 
|---|---|---|
| hdr | struct tisci_header | Standard TISCI header | 
OTP Revision Identifier¶
This enumeration is used in TISCI_MSG_WRITE_SWREV and TISCI_MSG_READ_SWREV
enum tisci_otp_revision_identifier
OTP Revision Identifiers
| Enum | Value | Description | 
|---|---|---|
| OTP_REV_ID_SBL | 0 | Sofware Revision SBL | 
| OTP_REV_ID_SYSFW | 1 | Software Revision SYSFW | 
| OTP_REV_ID_SEC_BRDCFG | 2 | Software Revision Secure Board Configuration | 
