SPRUJ17I March 2022 – August 2025 AM2631 , AM2631-Q1 , AM2632 , AM2632-Q1 , AM2634 , AM2634-Q1
Enable MSS bus safety errors.
MSS_CTRL.MSS_BUS_SAFETY_CTRL.MSS_BUS_SAFETY_CTRL _ENABLE = 0x7
Enable bus safety for each interface. Taking MSS L2 Bank A VBUSM interface as a reference.
Set the mask bit for the respective source in MSS_CTRL.MSS_VBUSM_SAFETY_x_ERRAGG_MASK register. In this example,
MSS_CTRL.MSS_VBUSM_SAFETY_H0_ERRAGG_MASK.MSS_VBUSM_SAFETY_H0_ERRAGG_
MASK_L2RAM0_VBUSM_ERRH = 1
MSS_CTRL.MSS_L2_A_BUS_SAFETY_CTRL.MSS_L2_A_BUS_SAFETY_CTRL_ENABLE = 0x7
For double/single error injection on data,
MSS_CTRL.MSS_L2_A_BUS_SAFETY_FI.MSS_L2_A_BUS_SAFETY_FI_DED = 0x1; (For Double Error Detection)
MSS_CTRL.MSS_L2_A_BUS_SAFETY_FI.MSS_L2_A_BUS_SAFETY_FI_SEC = 0x1; (For Single Error Correction)
MSS_CTRL.MSS_L2_A_BUS_SAFETY_FI.MSS_L2_A_BUS_SAFETY_FI_DATA = 0x1<<i;
i=1 for data[63:32]
i=2 for data[95:64] and so on.
The write access is to be followed by a read to the endpoint of the bus interface. The address should be selected based on the FI_DATA value.
Upon detection of DED/SEC error on the interface, an ESM error gets triggered and the following sequence needs to be executed by the ISR to clear the error.
Before Exiting the ISR need to do the below setting to ensure the fault injection is removed.
All the Bus-Safety SEC errors in MSS are aggregated to a single ESM line. So, before exiting the ISR, the corresponding bit in the aggregated registers MSS_CTRL.MSS_VBUSM/P_x_ERRAGG_STATUS should be written 1 to clear the status.
For redundancy on the bus interface signals,
MSS_CTRL_Ptr.MSS_L2_A_BUS_SAFETY_FI.MSS_L2_A_BUS_SAFETY_FI_SAFE = 0x1<<i;
Upon detection of a redundancy error on the interface, an ESM error gets triggered and the following sequence needs to be executed by the ISR to clear the error.
Before Exiting the ISR, one needs to do the below setting to ensure the fault injection is removed.