SPRAC21A June 2016 – June 2019 OMAP-L132 , OMAP-L138 , TDA2E , TDA2EG-17 , TDA2HF , TDA2HG , TDA2HV , TDA2LF , TDA2P-ABZ , TDA2P-ACD , TDA2SA , TDA2SG , TDA2SX , TDA3LA , TDA3LX , TDA3MA , TDA3MD , TDA3MV
For cached CPU access to EMIF, the accesses are typically cache line aligned. Hence, the restriction of RMW is not applicable. But there are some points that need to be considered for below cores:
Cortex-A15 (ARMV7-A arch) cache architecture is complicated and has multiple features to support performance and cache coherency.
If the cache is enabled (SCTLR.C set) and the memory page is configured for write-back, then read-write-allocate (WB-RWA) is compatible with our 32-bit (or 16-bit) ECC quanta. Further the write streaming (ACTLR bit 24) enhancement, bypassing write allocate, is also compatible with our 32-bit (or 16-bit) ECC.
So from software point of view, if user is using “normal” memory type with cache enabled and set in Write back , read write allocate, A15 by design should not produce any sub-quanta writes
Other modes of cache can produce sub-quanta writes. They are summarized as below.
Eve does not have data cache, it only has program cache. So the data access of EVE to the EMIF will totally depend on the C datatype being used. If the C code does a byte or a half word access, this violates the alignment constraint and ECC can be corrupted