AM261x MCU+ SDK  26.00.00
hsmclient_msg.h File Reference

Go to the source code of this file.

Data Structures

struct  HsmMsg_t_
 HSM client / server message format struct. More...
 

Macros

#define HSM_MSG_GET_VERSION   (0x0002)
 GetVersion service type ID. More...
 
#define HSM_MSG_BOOT_NOTIFY   (0x000A)
 Boot Notify service type ID. More...
 
#define HSM_MSG_GET_DEVICE_CONFIG   (0x000B)
 Get device configuration from HSM. More...
 
#define HSM_MSG_GET_UID   (0x9021)
 Get UID service type ID. More...
 
#define HSM_MSG_OPEN_DBG_FIREWALLS   (0x900C)
 Open Debug Firewalls service type ID. More...
 
#define HSM_MSG_READ_OTP_ROW   (0x9022)
 Read Extended otp row type ID. More...
 
#define HSM_MSG_WRITE_OTP_ROW   (0x9023)
 Write Extended otp row type ID. More...
 
#define HSM_MSG_PROT_OTP_ROW   (0x9024)
 Protect Extended otp row type ID. More...
 
#define HSM_MSG_GET_OTP_ROW_PROT   (0x9026)
 Get Extended otp row protection type ID. More...
 
#define HSM_MSG_GET_OTP_ROW_COUNT   (0x9027)
 Get Extended otp row count service type ID. More...
 
#define HSM_MSG_PROC_AUTH_BOOT   (0xC120)
 Secure Boot service type ID. More...
 
#define HSM_MSG_PROC_AUTH_BOOT_START   (0xC12A)
 Secure Boot Streaming Start service type ID. More...
 
#define HSM_MSG_PROC_AUTH_BOOT_UPDATE   (0xC12B)
 Secure Boot Streaming Update service type ID. More...
 
#define HSM_MSG_PROC_AUTH_BOOT_FINISH   (0xC12C)
 Secure Boot Streaming Finish service type ID. More...
 
#define HSM_MSG_SET_FIREWALL   (0x9000U)
 Set Firewall service type ID. More...
 
#define HSM_MSG_SET_FIREWALL_INTR   (0x9002)
 Set Firewall Interrupt service type ID. More...
 
#define HSM_KEYWRITER_SEND_CUST_KEY_CERT   (0x9028)
 send KeyWriter customer key certificate More...
 
#define HSM_MSG_READ_SWREV   (0x9033)
 Read Software Revision service type ID. More...
 
#define HSM_MSG_WRITE_SWREV   (0x9032)
 Write Software Revision service type ID. More...
 
#define HSM_MSG_GET_DKEK   (0x9029)
 Get DKEK service type ID. More...
 
#define HSM_MSG_GET_RAND   (0x9001)
 Get RNG service type ID. More...
 
#define HSM_MSG_KEYRING_IMPORT   (0x9039)
 Get KEYRING import service type ID. More...
 
#define HSM_MSG_FW_UPDATE_CERT_PROCESS   (0x9040)
 Process certificate during firmware update/code provisioning. More...
 
#define HSM_MSG_FW_UPDATE_CODE_PROGRAM   (0x9041)
 Program firmware during firmware update/code provisioning. More...
 
#define HSM_MSG_FW_UPDATE_CODE_VERIFY   (0x9043)
 Program firmware during firmware update/code provisioning. More...
 
#define HSM_MSG_VERIFY_ROT_CERT   (0x9044)
 Veriy RoT Switching Certificate Service type ID. More...
 
#define HSM_MSG_UPDATE_KEY_REV   (0x9045)
 Update Key Revision Service type ID. More...
 
#define HSM_MSG_CONFIGURE_OTFA   (0x9056)
 Configure OTFA service ID. More...
 
#define HSM_MSG_READ_OTFA   (0x9057)
 Read OTFA service ID. More...
 
#define HSM_MSG_PROC_AUTH_BOOT_SEC_CFG   (0x9058)
 Validate Sec-Cfg service ID. More...
 
#define HSM_MSG_FLASH_BANK_COPY   (0x9059)
 Copy active flash bank contents to dormant flash bank. More...
 
#define HSM_MSG_FW_UPDATE_SECCFG   (0x905AU)
 Program Sec-Cfg to SOC non main flash. More...
 
#define HSM_MSG_BANK_SWAP   (0x905BU)
 Swap C29 CPU-1/3 flash banks. More...
 
#define HSM_MSG_CRYPTO_SERVICE   (0xA001U)
 Generic Crypto service ID. More...
 
#define HSM_FLAG_AOP   (0x11)
 HSM FLAG used by HSM client to indicate that it expects ACK messasge from HSM and will wait for a response message. More...
 
#define HSM_FLAG_NAOP   (0x22)
 HSM FLAG used by HSM client to indicate that it does not expects an ACK messasge from HSM and will not wait for a response message. More...
 
#define HSM_FLAG_ACK   (0xAA)
 HSM FLAG used by HSM server to indicate that the request has been processed. More...
 
#define HSM_FLAG_NACK   (0x55)
 HSM FLAG used by HSM server to indicate that the request has not been processed. More...
 
#define HSM_CLIENT_ID   (0x01)
 HSM server SIPC client Id. More...
 
#define HSM_UID_SIZE   (64U)
 UID or Unique ID is a device specific ID of 64 bytes. More...
 
#define HSM_DBG_CERT_SIZE   (4096U)
 Maximum Certificate Size allowed for Debug Open. More...
 
#define HSM_KEYRING_CERT_SIZE   (10280U)
 Maximum Certificate Size allowed for Keyring Import. More...
 
#define HSM_FIRMWARE_CHUNK_SIZE   (16384U)
 Maximum firmware Size allowed for code provisioning. More...
 
#define CERT_TYPE_SECCFG_CPU1   (0x3U)
 Certificate type for C29 CPU1 Sec-cfg. More...
 
#define CERT_TYPE_SECCFG_CPU2   (0x5U)
 Certificate type for C29 CPU2 Sec-cfg. More...
 
#define CERT_TYPE_SECCFG_CPU3   (0x6U)
 Certificate type for C29 CPU3 Sec-cfg. More...
 
#define C29_CPU1_FLASH_BANK   (0x1U)
 C29 CPU1 macro to be used while requesting active to dormant flash bank copy or C29 CPU flash bank swap services. Valid only for F29x family of devices. More...
 
#define C29_CPU3_FLASH_BANK   (0x3U)
 C29 CPU3 macro to be used while requesting active to dormant flash bank copy or C29 CPU flash bank swap services. Valid only for F29x family of devices. More...
 
#define HSM_CPU_FLASH_BANK   (0x0U)
 HSM CPU macro to be used while requesting active to dormant flash bank copy Valid only for F29x family of devices. More...
 
#define LFU_BANK_SWAP_READY   (0x5AU)
 MACRO used by HSM for LFU synchronizsation. More...
 

Enumerations

enum  HSM_ClientIds_t {
  HSM_BOOT_NOTIFY_CLIENT_ID = 0, HSM_CLIENT_ID_1, HSM_CLIENT_ID_2, HSM_CLIENT_ID_3,
  HSM_CLIENT_ID_4
}
 

Functions

union HsmVer_t_ __attribute__ ((packed)) HsmVer_t
 type for reading HSMRt version. More...
 

Variables

uint8_t destClientId
 
uint8_t srcClientId
 
uint8_t flags
 
uint16_t serType
 
void * args
 
uint16_t crcArgs
 
uint16_t crcMsg
 

Variable Documentation

◆ destClientId

uint8_t destClientId

◆ srcClientId

uint8_t srcClientId

◆ flags

uint8_t flags

◆ serType

uint16_t serType

◆ args

void* args

◆ crcArgs

uint16_t crcArgs

◆ crcMsg

uint16_t crcMsg