SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
The memory space system is hierarchical: level 1 (L1), level 2 (L2), L3_MAIN, and L4. L1 and L2 are memories in the MPU, IPU, and digital signal processor (DSP) subsystems. L3_MAIN handles many types of data transfers, including data exchange with system on-chip/external memories. The chip-level interconnect, which consists of one L3_MAIN and five L4s, enables communication among all modules and subsystems.
This section provides a global view of the memory mapping of the device at the L3_MAIN interconnect and describes the boot, GPMC, and SDRAM controller (SDRC) (EMIF/DMM) spaces.
The system memory mapping is flexible, with two levels of granularity for target address space allocation:
This organization allows the decoding of all target spaces based on the 7 most-significant bits (MSBs) of the 32-bit address ([31:25]).
When booting from the on-chip ROM with the appropriate external sys_boot pin configuration, the lowest 1-MiB memory space [0x0000 0000–0x000F FFFF] is redirected to the on-chip boot ROM address space [0x4000 0000–0x400F FFFF].
When booting from the GPMC, the memory space is part of the GPMC address space. At reset, the 0x0000 0000 address is available on chip-select 0 (CS0) for a memory size of 16 MiB.
For more information about the sys_boot pins configuration, see Section 17.4, General-Purpose Memory Controller, and Chapter 34, Initialization.
Eight independent GPMC chip-selects (CS0 to CS7) are available in the first quarter (Q0) of the addressing space to access NOR/NAND flash and SRAM. The chip-selects have a programmable start address and programmable size (up to 128 MiB) in a total memory space of (Q0) 1GiB, but limited now to 512 MiB.
Q2 addressing space is interleaved on two DDR-memory controllers (EMIF1 and EMIF2), each activating its CS0 line. These chip-selects can be programmed to 64, 128, 256, 512, 1024, and 2048 MiB. Interleaving occurs at 128-byte granularity.
The EMIF1-CS0 base address is always 0x8000 0000 at reset, and occupies a 1-GiB address space at reset (interleaving is disabled at reset).
Q3 addressing space is interleaved on two SDRAM controllers (EMIF1 and EMIF2), each activating its CS0 line. These chip-selects can be programmed to 64, 128, 256, 512, and 1024 MiB. Interleaving occurs at 128-byte granularity.
EMIF1-CS0 and EMIF2-CS0 in Q3 space are disabled at reset. Their base address is programmable to achieve a continuous address space with the respective CS0 in Q2 space, regardless of the address range programmed.
Q3 addressing space is also used to access the TILER system. This space is visible only for the Display Subsystem (DSS) and Camera Adapter Layer module (CAL). See Table 2-12.
This is a high address range (Q8 – Q15) that requires an address greater than 32 bits. This space is visible only for the MPU Subsystem. See Table 2-8.
Table 2-1 describes the global memory map.
Quarter | Region Name | Start_Address (hex) | End_Address (hex) | Size | Description |
---|---|---|---|---|---|
Q0 (1GiB) | GPMC(1) | 0x0000_0000 | 0x1FFF_FFFF | 512 MiB | 8/16 Ex(1)/R/W |
PCIE_SS1 | 0x2000_0000 | 0x2FFF_FFFF | 256 MiB | PCIe_SS1 configuration space | |
PCIE_SS2 | 0x3000_0000 | 0x3FFF_FFFF | 256 MiB | PCIe_SS2 configuration space | |
Q1 (1GiB) | Reserved | 0x4000_0000 | 0x402F_FFFF | 3 MiB | Reserved |
OCMC_RAM1 | 0x4030_0000 | 0x4037_FFFF | 512 KiB | 32bit Ex(1)/R/W | |
Reserved | 0x4038_0000 | 0x403F_FFFF | 512 KiB | Reserved | |
OCMC_RAM2(2) | 0x4040_0000 | 0x404F_FFFF | 1 MiB | 32bit Ex(1)/R/W | |
OCMC_RAM3(2) | 0x4050_0000 | 0x405F_FFFF | 1 MiB | 32bit Ex(1)/R/W | |
Reserved | 0x4060_0000 | 0x407F_FFFF | 2 MiB | Reserved | |
DSP1_L2_SRAM | 0x4080_0000 | 0x4084_7FFF | 288 KiB | DSP1 L2 SRAM and cache. See Table 2-10. | |
Reserved | 0x4084_8000 | 0x40CF_FFFF | 4832 KiB | Reserved | |
DSP1_SYSTEM | 0x40D0_0000 | 0x40D0_0FFF | 4 KiB | DSP1 System MMR block | |
DSP1_MMU0CFG | 0x40D0_1000 | 0x40D0_1FFF | 4 KiB | DSP1 MMU0 configuration | |
DSP1_MMU1CFG | 0x40D0_2000 | 0x40D0_2FFF | 4 KiB | DSP1 MMU1 configuration | |
DSP1_FW0CFG | 0x40D0_3000 | 0x40D0_3FFF | 4 KiB | DSP1 Firewall 0 config | |
DSP1_FW1CFG | 0x40D0_4000 | 0x40D0_4FFF | 4 KiB | DSP1 Firewall 1 config | |
DSP1_EDMA_TC0 | 0x40D0_5000 | 0x40D0_5FFF | 4 KiB | DSP1 EDMA Transfer Controller 0 | |
DSP1_EDMA_TC1 | 0x40D0_6000 | 0x40D0_6FFF | 4 KiB | DSP1 EDMA Transfer Controller 1 | |
DSP1_NoC | 0x40D0_7000 | 0x40D0_7FFF | 4 KiB | DSP1 interconnect registers | |
Reserved | 0x40D0_8000 | 0x40D0_FFFF | 32 KiB | Reserved | |
DSP1_EDMA_CC | 0x40D1_0000 | 0x40D1_7FFF | 32 KiB | DSP1 EDMA Channel Controller | |
Reserved | 0x40D1_8000 | 0x40DF_FFFF | 928 KiB | Reserved | |
DSP1_L1P_SRAM | 0x40E0_0000 | 0x40E0_7FFF | 32 KiB | DSP1 L1P Cache/RAM | |
Reserved | 0x40E0_8000 | 0x40EF_FFFF | 992 KiB | Reserved | |
DSP1_L1D_SRAM | 0x40F0_0000 | 0x40F0_7FFF | 32 KiB | DSP1 L1D Cache/RAM | |
Reserved | 0x40F0_8000 | 0x40FF_FFFF | 992 KiB | Reserved | |
DSP2_L2_SRAM | 0x4100_0000 | 0x4104_7FFF | 288 KiB | DSP2 L2 SRAM and cache. See Table 2-10. | |
Reserved | 0x4104_8000 | 0x414F_FFFF | 4832 KiB | Reserved | |
DSP2_SYSTEM | 0x4150_0000 | 0x4150_0FFF | 4 KiB | DSP2 System MMR block | |
DSP2_MMU0CFG | 0x4150_1000 | 0x4150_1FFF | 4 KiB | DSP2 MMU0 configuration | |
DSP2_MMU1CFG | 0x4150_2000 | 0x4150_2FFF | 4 KiB | DSP2 MMU1 configuration | |
DSP2_FW0CFG | 0x4150_3000 | 0x4150_3FFF | 4 KiB | DSP2 Firewall 0 config | |
DSP2_FW1CFG | 0x4150_4000 | 0x4150_4FFF | 4 KiB | DSP2 Firewall 1 config | |
DSP2_EDMA_TC0 | 0x4150_5000 | 0x4150_5FFF | 4 KiB | DSP2 EDMA Transfer Controller 0 | |
DSP2_EDMA_TC1 | 0x4150_6000 | 0x4150_6FFF | 4 KiB | DSP2 EDMA Transfer Controller 1 | |
DSP2_NoC | 0x4150_7000 | 0x4150_7FFF | 4 KiB | DSP2 interconnect registers | |
Reserved | 0x4150_8000 | 0x4150_FFFF | 32 KiB | Reserved | |
DSP2_EDMA_CC | 0x4151_0000 | 0x4151_7FFF | 32 KiB | DSP2 EDMA Channel Controller | |
Reserved | 0x4151_8000 | 0x415F_FFFF | 928 KiB | Reserved | |
DSP2_L1P_SRAM | 0x4160_0000 | 0x4160_7FFF | 32 KiB | DSP2 L1P Cache/RAM | |
Reserved | 0x4160_8000 | 0x416F_FFFF | 992 KiB | Reserved | |
DSP2_L1D_SRAM | 0x4170_0000 | 0x4170_7FFF | 32 KiB | DSP2 L1D Cache/RAM | |
Reserved | 0x4170_8000 | 0x417F_FFFF | 992 KiB | Reserved | |
OCMC_RAM1_CBUF | 0x4180_0000 | 0x41FF_FFFF | 8 MiB | OCMC RAM1 CBUF virtual address space (Bit 31 needs to be set on the OCMC data interface) | |
EVE1 | 0x4200_0000 | 0x420F_FFFF | 1 MiB | EVE1 configuration space | |
EVE2 | 0x4210_0000 | 0x421F_FFFF | 1 MiB | EVE2 configuration space | |
ISS | 0x4220_0000 | 0x422F_FFFF | 1 MiB | ISS configuration space [New DRA7xxP feature versus DRA75x/DRA74x] | |
Reserved | 0x4230_0000 | 0x42BF_FFFF | 9 MiB | Reserved | |
MCAN | 0x42C0_0000 | 0x42FF_FFFF | 4 MiB | MCAN configuration space [New DRA7xxP feature versus DRA75x/DRA74x] | |
Reserved | 0x4300_0000 | 0x432F_FFFF | 3 MiB | Reserved | |
EDMA_TPCC | 0x4330_0000 | 0x433F_FFFF | 1 MiB | EDMA TPCC configuration space | |
EDMA_TC0 | 0x4340_0000 | 0x434F_FFFF | 1 MiB | EDMA TPTC1 configuration space | |
EDMA_TC1 | 0x4350_0000 | 0x435F_FFFF | 1 MiB | EDMA TPTC2 configuration space | |
Reserved | 0x4360_0000 | 0x43FF_FFFF | 10 MiB | Reserved | |
L3_MAIN_SN | 0x4400_0000 | 0x457F_FFFF | 24 MiB | L3 configuration registers (Service Network) | |
McASP1 | 0x4580_0000 | 0x45BF_FFFF | 4 MiB | McASP1 data port | |
McASP2 | 0x45C0_0000 | 0x45FF_FFFF | 4 MiB | McASP2 data port | |
McASP3 | 0x4600_0000 | 0x463F_FFFF | 4 MiB | McASP3 data port | |
VCP1 | 0x4640_0000 | 0x4640_FFFF | 64 KiB | VCP1 configuration space | |
Reserved | 0x4641_0000 | 0x467F_FFFF | 4032 KiB | Reserved | |
VCP2 | 0x4680_0000 | 0x4680_FFFF | 64 KiB | VCP2 configuration space | |
Reserved | 0x4681_0000 | 0x47FF_FFFF | 24 MiB | Reserved | |
L4_PER1 | 0x4800_0000 | 0x481F_FFFF | 2 MiB | L4_PER1 domain. See Table 2-5 | |
Reserved | 0x4820_0000 | 0x483F_FFFF | 2 MiB | MPU private memory space. See Table 2-8 | |
L4_PER2 | 0x4840_0000 | 0x487F_FFFF | 4 MiB | L4_PER2 domain. See Table 2-6 | |
L4_PER3 | 0x4880_0000 | 0x48FF_FFFF | 8 MiB | L4_PER3 domain. See Table 2-7 | |
OCMC_RAM2_CBUF | 0x4900_0000 | 0x497F_FFFF | 8 MiB | OCMC RAM2 CBUF virtual address space (Bit 31 needs to be set on the OCMC data interface) | |
OCMC_RAM3_CBUF | 0x4980_0000 | 0x49FF_FFFF | 8 MiB | OCMC RAM3 CBUF virtual address space (Bit 31 needs to be set on the OCMC data interface) | |
L4_CFG | 0x4A00_0000 | 0x4ADF_FFFF | 14 MiB | L4_CFG domain. See Table 2-3 | |
L4_WKUP | 0x4AE0_0000 | 0x4AFF_FFFF | 2 MiB | L4_WKUP domain. See Table 2-4 | |
Reserved | 0x4B00_0000 | 0x4B2F_FFFF | 3 MiB | Reserved | |
QSPI_ADDRSP0 | 0x4B30_0000 | 0x4B3F_FFFF | 1 MiB | QSPI MMR space (Maddrspace 0) | |
Reserved | 0x4B40_0000 | 0x4BFF_FFFF | 12 MiB | Reserved | |
EMIF1 | 0x4C00_0000 | 0x4CFF_FFFF | 16 MiB | EMIF1 configuration registers | |
EMIF2 | 0x4D00_0000 | 0x4DFF_FFFF | 16 MiB | EMIF2 configuration registers | |
DMM | 0x4E00_0000 | 0x4FFF_FFFF | 32 MiB | DMM configuration registers | |
GPMC | 0x5000_0000 | 0x50FF_FFFF | 16 MiB | GPMC configuration registers | |
PCIE_SS1 | 0x5100_0000 | 0x517F_FFFF | 8 MiB | PCIE_SS1 configuration registers | |
PCIE_SS2 | 0x5180_0000 | 0x51FF_FFFF | 8 MiB | PCIE_SS2 configuration registers | |
Reserved | 0x5200_0000 | 0x53FF_FFFF | 32 MiB | Reserved | |
L3_INSTR | 0x5400_0000 | 0x547F_FFFF | 8 MiB | Emulation domain. See Table 2-2 | |
CT_TBR | 0x5480_0000 | 0x54FF_FFFF | 8 MiB | Emulation domain. See Table 2-2 | |
IPU2_ROM | 0x5500_0000 | 0x5500_3FFF | 16 KiB | IPU2_ROM | |
Reserved | 0x5500_4000 | 0x5501_FFFF | 112 KiB | Reserved | |
IPU2_RAM | 0x5502_0000 | 0x5502_FFFF | 64 KiB | IPU2_RAM | |
Reserved | 0x5503_0000 | 0x5507_FFFF | 320 KiB | Reserved | |
Reserved | 0x5508_0000 | 0x5508_07FF | 2KiB | Reserved | |
IPU2_UNICACHE_MMU | 0x5508_0800 | 0x5508_0FFF | 2KiB | IPU2_UNICACHE_MMU config registers | |
Reserved | 0x5508_1000 | 0x5508_1FFF | 4KiB | Reserved | |
IPU2_MMU | 0x5508_2000 | 0x5508_2FFF | 4 KiB | IPU2_MMU config registers | |
Reserved | 0x5508_3000 | 0x55FF_FFFF | 16 MiB | Reserved | |
GPU | 0x5600_0000 | 0x57FF_FFFF | 32 MiB | 3D GPU domain | |
DSS | 0x5800_0000 | 0x587F_FFFF | 8 MiB | DSS domain | |
IPU1_ROM | 0x5880_0000 | 0x58FF_FFFF | 16 KiB | IPU1_ROM | |
Reserved | 0x5880_4000 | 0x5881_FFFF | 112 KiB | Reserved | |
IPU1_RAM | 0x5882_0000 | 0x5882_FFFF | 64 KiB | IPU1_RAM | |
Reserved | 0x5883_0000 | 0x5887_FFFF | 320 KiB | Reserved | |
Reserved | 0x5888_0000 | 0x5888_07FF | 2KiB | Reserved | |
IPU1_UNICACHE_MMU | 0x5888_0800 | 0x5888_0FFF | 2KiB | IPU1_UNICACHE_MMU config registers | |
Reserved | 0x5888_1000 | 0x5888_1FFF | 4KiB | Reserved | |
IPU1_MMU | 0x5888_2000 | 0x5888_2FFF | 4 KiB | IPU1_MMU config registers | |
Reserved | 0x5888_3000 | 0x58FF_FFFF | 8 MiB | Reserved | |
BB2D | 0x5900_0000 | 0x59FF_FFFF | 16 MiB | 2D graphics accelerator | |
IVA_CONFIG | 0x5A00_0000 | 0x5A3F_FFFF | 4 MiB | IVA CONFIG domain | |
Reserved | 0x5A40_0000 | 0x5AFF_FFFF | 12 MiB | Reserved | |
IVA_SL2IF | 0x5B00_0000 | 0x5B3F_FFFF | 4 MiB | IVA SL2IF domain | |
Reserved | 0x5B40_0000 | 0x5BFF_FFFF | 12 MiB | Reserved | |
QSPI_ADDRSP1 | 0x5C00_0000 | 0x5FFF_FFFF | 64 MiB | QSPI CS0/CS1/CS2/CS3 space (Maddrspace 1) | |
TILER | 0x6000_0000 | 0x7FFF_FFFF | 512 MiB | SDRAM addressing through DMM with TILER off | |
Q2(3) (1GiB) | DDR-SDRAM address space | ||||
EMIF1_SDRAM_CS0 | 0x8000_0000 | 0xBFFF_FFFF | 1 GiB | EMIF1 CS0: Access to DDR | |
EMIF2_SDRAM_CS0 | 0x8000_0000 | 0xBFFF_FFFF | 1 GiB | EMIF2 CS0: Access to DDR | |
Q3(3) (1GiB) | EMIF1_SDRAM_CS0 | 0xC000_0000 | 0xFFFF_FFFF | 1 GiB | EMIF1 CS0: Access to DDR |
EMIF2_SDRAM_CS0 | 0xC000_0000 | 0xFFFF_FFFF | 1 GiB | EMIF2 CS0: Access to DDR |