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.
TISCI Message ID | Message Name |
---|---|
0x9022 | TISCI_MSG_READ_OTP_MMR |
0x9023 | TISCI_MSG_WRITE_OTP_ROW |
0x9024 | TISCI_MSG_LOCK_OTP_ROW |
0x9025 | TISCI_MSG_SOFT_LOCK_OTP_WRITE_GLOBAL |
0x9026 | TISCI_MSG_GET_OTP_ROW_LOCK_STATUS |
This document must be read alongside
- Using Extended OTP on HS devices 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. (ignored for now) |
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.