AM62A7: Confirming HSM Communication Setup and Firmware Loading

Part Number: AM62A7

Tool/software:

Dear TI Experts,

We are currently working on enabling communication between the main core (R5/A53) and the HSM core on the AM62x platform. Here are our current plans and questions, and we’d like your guidance to confirm if they are correct:


1. Communication with HSM Core

Current Understanding:

  1. We have identified the Secure Proxy thread IDs for the HSM core from the TI documentation:
    • Write Thread (to HSM): TISCI_SEC_PROXY_HSM_WRITE_LOW_PRIORITY_THREAD_ID
    • Read Thread (from HSM): TISCI_SEC_PROXY_HSM_READ_RESPONSE_THREAD_ID
  2. To enable communication with the HSM core:
    • Add an entry to gSciclientMap for HSM with the corresponding Secure Proxy thread IDs and Host ID (TISCI_HOST_ID_HSM_0).
    • Update Sciclient_getCurrentContext to return the HSM context for messages specific to HSM.
  3. Modify the TISCI message header to set the host field to TISCI_HOST_ID_HSM_0 for messages targeting the HSM core.

Questions:

  1. Is this approach to route messages to the HSM core via Secure Proxy correct?
  2. Are there any additional steps or configurations required to enable communication with the HSM core?

2. Loading Firmware onto the HSM Core

Current Understanding:

  1. For loading firmware onto the HSM core, we are considering the following options:
    • Using the standard Bootloader_loadCpu API as is used for loading regular APP images.
    • Using Sciclient_loadFirmware from sciclient.c, which seems to be related to firmware management.

Questions:

  1. Which method is recommended for loading firmware onto the HSM core?
  2. If Sciclient_loadFirmware is required, could you provide more details on how it should be used specifically for the HSM core?

Your guidance on the above points would be greatly appreciated.

Best regards,
Yang