Extended OTP TISCI Description¶
This chapter provides information on available TISCI messages for managing the extended one time programmable (OTP) efuse array on K3 devices.
For K3 devices except AM64x, AM62x and AM62Ax:
TISCI Message ID | Message Name | Available in GP | Avialable in HS-FS |
---|---|---|---|
0x9022 | TISCI_MSG_READ_OTP_MMR | No | No |
0x9023 | TISCI_MSG_WRITE_OTP_ROW | No | No |
0x9024 | TISCI_MSG_LOCK_OTP_ROW | No | No |
0x9025 | TISCI_MSG_SOFT_LOCK_OTP_WRITE_GLOBAL | No | No |
0x9026 | TISCI_MSG_GET_OTP_ROW_LOCK_STATUS | No | No |
For AM64x, AM62x and AM62Ax:
TISCI Message ID | Message Name | Available in GP | Avialable in HS-FS |
---|---|---|---|
0x9022 | TISCI_MSG_READ_OTP_MMR | Yes | Yes |
0x9023 | TISCI_MSG_WRITE_OTP_ROW | Yes | Yes |
0x9024 | TISCI_MSG_LOCK_OTP_ROW | Yes | Yes |
0x9025 | TISCI_MSG_SOFT_LOCK_OTP_WRITE_GLOBAL | Yes | Yes |
0x9026 | TISCI_MSG_GET_OTP_ROW_LOCK_STATUS | Yes | Yes |
This document must be read alongside
- Using Extended OTP and
- Security Board Configuration, specifically Extended OTP array configuration
API Description¶
TISCI_MSG_READ_OTP_MMR - Read OTP MMR¶
Usage¶
Message Type | Secure |
Secure Queue Only? | Yes |
TISCI Message ID¶
TISCI_MSG_READ_OTP_MMR (0x9022U)
Message to read 32 bit OTP MMR by register number
struct tisci_msg_read_otp_mmr_req
Request message for reading OTP MMR
Parameter | Type | Description |
---|---|---|
hdr | struct tisci_header | Common TI-SCI header |
mmr_idx | u8 | Index of the 32-bit MMR to be read. Index starts from zero. |
struct tisci_msg_read_otp_mmr_resp
Respone message for reading OTP MMR
Parameter | Type | Description |
---|---|---|
hdr | struct tisci_header | Common TI-SCI header |
mmr_val | u32 | Value of the requested 32-bit MMR |
TISCI_MSG_WRITE_OTP_ROW - Write OTP ROW¶
Usage¶
Message Type | Secure |
Secure Queue Only? | Yes |
TISCI Message ID¶
TISCI_MSG_WRITE_OTP_ROW (0x9023U)
Message to write to non-secure OTP Row
struct tisci_msg_write_otp_row_req
Request message for writing to an OTP row
Parameter | Type | Description |
---|---|---|
hdr | struct tisci_header | Common TI-SCI header |
row_idx | u8 | Index of the otp row to be written. Index starts from zero. |
row_val | u32 | value to be written to the otp row |
row_mask | u32 | mask specifying the bits in row_val to be written |
struct tisci_msg_write_otp_row_resp
Respone message for writing to an OTP row
Parameter | Type | Description |
---|---|---|
hdr | struct tisci_header | Common TI-SCI header |
row_val | u32 | value read back from the row after the write operation. |
TISCI_MSG_LOCK_OTP_ROW - Lock OTP ROW¶
Usage¶
Message Type | Secure |
Secure Queue Only? | Yes |
TISCI Message ID¶
TISCI_MSG_LOCK_OTP_ROW (0x9024U)
Message to lock OTP Row
struct tisci_msg_lock_otp_row_req
Request message for hardware locking an OTP row
Parameter | Type | Description |
---|---|---|
hdr | struct tisci_header | Common TI-SCI header |
row_idx | u8 | Index of the otp row to be written. Index starts from zero. |
hw_write_lock | u8 | indicates if write lock has to be applied in HW on the current row. Set to 0x5A for write lock. |
hw_read_lock | u8 | indicates if read lock has to be applied in HW on the current row. Set to 0x5A for read lock. |
row_soft_lock | u8 | indicates if soft lock has to be enabled on current row preventing writes. (ignored for now) |
In all cases 0x5A indicates true and 0xA5 indicates false. All other values are invalid.
struct tisci_msg_lock_otp_row_resp
Respone message for hardware lock OTP row
Parameter | Type | Description |
---|---|---|
hdr | struct tisci_header | Common TI-SCI header |
TISCI_MSG_SOFT_LOCK_OTP_WRITE_GLOBAL - Soft Lock OTP Write Globally¶
Usage¶
Message Type | Secure |
Secure Queue Only? | Yes |
TISCI Message ID¶
TISCI_MSG_SOFT_LOCK_OTP_WRITE_GLOBAL (0x9025U)
Message to perform a global lock on OTP writes
struct tisci_msg_soft_lock_otp_write_global_req
Request message for performing a global soft write lock on OTP rows
Parameter | Type | Description |
---|---|---|
hdr | struct tisci_header | Common TI-SCI header |
struct tisci_msg_soft_lock_otp_write_global_resp
Respone message for global soft write lock on OTP rows
Parameter | Type | Description |
---|---|---|
hdr | struct tisci_header | Common TI-SCI header |
TISCI_MSG_GET_OTP_ROW_LOCK_STATUS - Get OTP ROW Lock Status¶
Usage¶
Message Type | Secure |
Secure Queue Only? | Yes |
TISCI Message ID¶
TISCI_MSG_GET_OTP_ROW_LOCK_STATUS (0x9026U)
Message to get the lock status of a row
struct tisci_msg_get_otp_row_lock_status_req
Request message for querying lock status of an OTP row
Parameter | Type | Description |
---|---|---|
hdr | struct tisci_header | Common TI-SCI header |
row_idx | u8 | Index of the otp row to be queried. Index starts from zero. |
struct tisci_msg_get_otp_row_lock_status_resp
Respone message for Get OTP row lock status request
Parameter | Type | Description |
---|---|---|
hdr | struct tisci_header | Common TI-SCI header |
global_soft_lock | u8 | indicates if global soft lock has been enabled preventing writes. |
hw_write_lock | u8 | indicates if write lock has been applied in HW on the current row. |
hw_read_lock | u8 | indicates if read lock has been applied in HW on the current row. |
row_soft_lock | u8 | indicates if soft lock has been enabled on current row preventing writes. |
In all cases 0x5A indicates true and 0xA5 indicates false. All other values are invalid.