SPRZ530C April 2022 – July 2024 AM68 , AM68A , TDA4AL-Q1 , TDA4VE-Q1 , TDA4VL-Q1
CBASS Null Error Interrupt Not Masked By Enable Register
There is optional feature in CBASS that adds the null error reporting MMR and interrupt source. When the feature is present and the interrupt is enabled, these two output ports: "err_intr_intr" (level interrupt source) and "err_intr_pls_intr" (pulse interrupt source) will be asserted when an access to a null region occurs. The enable for the interrupt is in the ERR_INTR_ENABLE_SET register (address offset 0x58).
The issue is CBASS ignores this enable bit, and as a result any null access always produces the interrupt sources/events.
There is no spurious event due to this bug because of the default disable status of processor events. At system level, processors don't receive any event unless it's enabled in the associated GIC/VIM interrupt controller.
When the interrupt is enabled, and an interrupt does occur, write to the following registers at cbass level to clear it:
write 0x1 to the err_intr_enabled_stat register, then write 0x1 to the err_eoi register.