SPRUIV7B May 2022 – September 2023 AM620-Q1 , AM623 , AM625 , AM625-Q1 , AM625SIP
AM62 has one single R5 core in the wakeup domain. R5 is a native 32b processor, which R5 core itself can only generate transactions using 32b address. A dedicated RAT module is integrated for this single core R5 to allow R5 software to remap the 32b R5 address into the common 36b SoC address.
In addition, R5 core has its own TCM, which R5 core can access with its TCM with a single R5 core cycle. Those TCM memories have two sets of address, one set address is used for R5 core for a single cycle access to those TCM. The second set of address is used by other initiators outside this R5 subsystem to access those TCM. R5 core shall always uses the first set of address to access its TCM. If R5 core utilizes the second set of address to those TCM, R5 core will receives an exception, since those transactions will be routed to be terminated by sending them to the null end point.
While the SoC level address for TCM is fixed, the address used by R5 to access to its own TCM can be remapped by software. By default, AM62 puts R5’s ATCM at address 0x0 and the BTCM address at 0x4101_0000.
R5 also has one section of the region dedicated for peripheral access from address 0x2000_0000 to 0x2FFF_FFFF. This memory region is treated as normally memory, which can’t be cached. R5 accesses this memory region through a dedicated single-issue interface, and none of the transactions accessing this memory region can be remapped by using RAT module.
R5 core accesses its own ATCM and BTCM memory directly, and there is no address remapping for those access. All the other access than ATCM, BTCM and address range 0x2000_0000 to 0x2FFF_FFFF from R5 core go through RAT module, which could be remapped into different address to access the rest of the SoC using the common 36b SoC memory map.
The common SoC memory map assigns R5’s ATCM and BTCM to address 0x7800_0000 and 0x7810_0000. R5 software can optionally reprogram the its internal ATCM and BTCM address to match the address assigned by the common SoC memory map as well. Regardless where R5 puts its own ATCM and BTCM, R5 accesses its own ATCM and BTCM directly without going through RAT.
ATCM is by default disabled at address 0x0. BTCM is by default enabled and the default address for BTCM is 0x4101_0000. The base address of VIM is at 0x2FFF_0000 and the base address for RAT configuration is at 0x2FFE_0000.
All the R5 transactions can go through RAT for address re-mapping function except the transactions targeted to address range 0x2000_0000 to 0x2FFF_FFFF and its own ATCM and BTCM. It is highly recommended only remap R5’s address range from 0x8000_0000 to 0xFFFF_FFFF to access the target region located at the common memory map between 0x8000_0000 and 0xF_FFFF_FFFF.