SPRUJC6A December 2024 – July 2025 AM2752-Q1 , AM2754-Q1
AM275 has one single R5F core in the wakeup domain. The R5F is a native 32b processor, which the R5F core itself can only generate transactions using 32b address. A dedicated RAT module is integrated for this single core R5F to allow the R5F software to remap the 32b R5F address into the common 36b SoC address.
In addition, the R5F core has its own TCM, which the R5F core can access with its TCM with a single R5F core cycle. Those TCM memories have two sets of address, one set address is used for the R5F core for a single cycle access to those TCM. The second set of address is used by other initiators outside this R5F subsystem to access those TCM. The R5F core shall always uses the first set of address to access its TCM. If the R5F core utilizes the second set of address to those TCM, the R5F 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 the R5F to access to its own TCM can be remapped by software. By default, AM275 puts the R5F’s ATCM at address 0x0 and the BTCM address at 0x4101_0000.
The R5F 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. The R5F 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.
R5F accesses its own ATCM and BTCM in a single cycle directly without address remapping and without going out to SoC. R5F accesses its own VIC and RAT configuration internally without address remapping and without going out to SoC. For the rest of end points in address range 0x2000_0000 to 0x2FFF_FFFF, R5F can access those end points through the low latency peripheral interface without going through address remapping. For the access to the rest end points, including the ATCM/BTCM from another R5F core, R5F sends transaction through its memory interface and could remapp its own address to SoC memory address.| Region Name | Start Address | End Address | Size | Notes |
|---|---|---|---|---|
| R5FSS0_ATCM | 0x0000 0000 | 0x0000 7FFF | 32KB |
The R5F can re-map its ATCM to a different address internally. After the R5F re-maps its ATCM address, any transaction hitting this region can also go through RAT remapping function. |
| R5FSS0_RAT_REGION0 | 0x0001 0000 | 0x1FFF FFFF | 512MB | |
| R5FSS0_NON_RAT_SOC_REGION0 | 0x2000 0000 | 0x2FFF FFFF | 256MB | |
| R5FSS0_RAT_CFG | 0x2FFE 0000 | 0x2FFE 0FFF | 4KB | This is within the non_RAT region |
| R5FSS0_VIM_CFG | 0x2FFF 0000 | 0x2FFF 3FFF | 16KB | This is within the non_RAT region |
| R5FSS0_RAT_SOC_REGION1 | 0x3000 0000 | 0x4100 FFFF | 272MB | |
| R5FSS0_BTCM | 0x4101 0000 | 0x4101 7FFF | 32KB |
The R5F can re-map its BTCM to a different address internally. After the R5F re-maps its ATCM address, any transaction hitting this region can also go through RAT remapping function |
| R5FSS0_RAT_REGION2 | 0x4101 8000 | 0x7FFF FFFF | 1008MB | |
| R5FSS0_RAT_REGION3 | 0x8000 0000 | 0xFFFF FFFF | 2GB |
The common SoC memory map assigns the R5F’s ATCM and BTCM to address 0x7800_0000 and 0x7810_0000. The R5F 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 the R5F puts its own ATCM and BTCM, the R5F 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 R5F 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 the R5F’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.