Other Parts Discussed in Thread: SYSCONFIG
Tool/software:
We are looking to use the AM243x in our aerospace products. For export control reasons, we need to ensure that the cryptography modules in the device are disabled. We also need to understand the process for enabling the crypto engines to ensure this is not done inadvertently.
I’ve found SDK API documentation and source code for enabling the various crypto engines in the AM243x’s DMSC. However, the TRM and datasheet of the AM243x do not document the registers that the SDK API is writing to enable the various crytpo engines such as SA2_UL, PKA.
I’m referring to this register structure in the CSL:
typedef struct {
CSL_Cp_aceMmrRegs MMR;
volatile uint8_t RSVD0[3824];
CSL_Cp_aceUpdatesRegs UPDATES;
volatile uint8_t RSVD1[61144];
CSL_Cp_aceTrngRegs TRNG;
volatile uint8_t RSVD2[65408];
CSL_Eip_29t2_ramRegs PKA;
} CSL_Cp_aceRegs;
I see that these registers are accessed through MMR, CBASS, via region based firewall.
For ex SA2_UL0 is accessed through region based firewall at: 0x40900000
However, the register map of these ACE registers is not documented anywhere I can find.
Can you suggest where the cryto engine registers documentation exists besides in the SDK source code?
Also, is it possible to disable these features permanently in a specific version of the Am243x?
I see the cryto modules device specific availability is shown in DEVICE_FEATURE2 and DEVICE_FEATURE6 . But the defaults for these read-only registers in the TRM is listed as -X.
So for AM243x, I’m assuming these registers will always say they are always viewed as present?