SWRZ101B December 2021 – December 2023 AM2732 , AM2732-Q1
DSP: Unallocated space access to DSP L2 - DSP IP is not blocking access to reserved space causing aliasing and L2 parity error
The DSP IP is sending out an access to its L2 memory for access beyond the configured DSP L2 memory size of 384 KB (reserved space access) ie beyond 0x8085 FFFC.
Reserved Memory locations from 0x80860000 to 0x8087FFFC is accessible to read and write. Memory Locations from 0x80860000 to 0x8087FFFC are aliased at 0x80840000 to 0x8085FFFC and 0x80850000 to 0x8085FFFC is replicated at 0x80870000 to 0x8087FFFC, hence the actual L2RAM is of 384KB only.
If parity is enabled, an L2 Parity error is observed for reads to reserved locations beyond 0x80860000 -0x8087FFFC.
Configuring the MPU : ( L2MPPA24- L2MPPA31) to 0
Write access to reserved space will be blocked. No Aliasing & No L2 Parity Error. This ensures the data integrity of valid L2 Region is maintained
Read access to reserved space still leads to L2 Parity Error(If Parity is enabled).
Debug access(Read & Write) are not blocked: Still leads to Aliasing + L2 Parity Error : Its not feasible to block the debug access despite configuring the MPPA registers for Protection enabled
Memory Protection Fault Address Register(0184 A000h:: L2MPFAR/0184 AC00h:: L1DMPFAR) are populated with the address which are blocked(beyond 384KB boundary in this case) & still accessed
Address(L2MPFAR/L1DMPFAR) & Status(L2MPFSR/L1DMPFSR) Registers are required to be cleared for the next read using Clear registers(L2MPFCR/L1DMPFCR) with values 1
Observations(Both when L1D Cache Enabled/Disabled)
For Read : MPU Protection Errors are observed on L1D with L1MPFAR registers populated with the blocked address access
For Write : MPU Protection Errors are observed on L2 with L2MPFAR registers populated with the blocked address access