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_MSG_WRITE_SWREV - Write Software Revision

Usage:

Message Type Normal
Secure Queue Only? Yes

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_MSG_WRITE_KEYREV - Write Key Revision

Usage:

Message Type Normal
Secure Queue Only? Yes

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