User needs to follow the outlined
steps for parity error injection using serial VBUS :
- Write the Vector register (offset - 0x8) with the index of the EDC
controller to vector ID (bits 10-0), make sure rd_svbus = 0
- Write to Error 1 register (offset - 0x18) of the EDC controller to program
following :
- The GRP (group of checker to inject)
- The bit location thats is to be flipped
- Write to the Control register (offset - 0x14) of the EDC controller to start
the injection with the following :
- Make sure CHECK field (bit 1) is enabled
- Set force_se (bit 3) for single bit error to trigger parity
error
- When an interrupt from the safety aggregator is detected (assuming
interrupts are enabled), software can read the raw interrupt status
registers DED_STATUS_REG0 and check which ESM EDC controller has parity
error.
- To further find out information about the checker that detects the error,
follow this sequence:
- Do a read operation from the ESM EDC Controller to read ERROR STATUS
1 register (offset - 0x20)
- From Error Status 1 register - user can check which specific checker
reported the error and how many injected and non-injected errors are
pending.
- User can then do a Write operation to Error Status 1 register to clear
injected error while exiting the parity error interrupt ISR and write the
EOI register to acknowledge future error interrupts.