The Cortex-A53 processor simplifies the coherency logic by downgrading some memory types:
Memory that is marked as both Inner Write-Back Cacheable and Outer Write-Back Cacheable is cached in the L1 Data cache and the L2 cache.
Memory that is marked Inner Write-Through is downgraded to Non-cacheable.
Memory that is marked Outer Write-Through or Outer Non-cacheable is downgraded to Non-cacheable, even if the inner attributes are Write-Back cacheable.
The attributes provided on ARCACHE or AWCACHE in ACE configurations or MemAttr and SnpAttr in CHI configurations are these downgraded attributes, and indicate how the interconnect must treat the transaction.
Some interconnects or bus protocols might require more information about the memory type and, for these cases, the cluster exports the unaltered memory attribute information from the translation tables stored in the TLB. These signals are for information only, and do not form part of the ACE or CHI protocols.
In an ACE configuration there is a RDMEMATTR bus for the read channel and a WRMEMATTR bus for the write channel.
In a CHI configuration there is single REQMEMATTR bus.
Table 7.15 describes the encodings on the memory attribute bus.
Always set for device memory or memory that is both inner and outer non-cacheable.
Outer memory type, or device type.
If bits[1:0] indicate Device, then:
If bits[1:0] indicate Normal, then:
Anything with bit set must also have bit set.
Inner memory type: