Multichip Memory Map(s)
Introduction
In a multichip chip platform. One of the chip is identified as primary chip and the other three as secondary chip. Each chip is allocated a different address region in the system memory map. The CMN interconnect on each chip is programmed with its own RN-SAM at boot time.
The PCIe ECAM/MMIO regions are split across multiple chips by configuring the CMN RN-SAM.
The DRAM memory regions are split across multiple chips by configuring the CMN RN-SAM.
Reference Memory Map
In a multichip platform, the per chip address size for peripherals is 64GB, and the base address for peripherals residing in each chip are:
Start Addr  | 
End Addr  | 
Size  | 
Chiplet  | 
|---|---|---|---|
0x00_0000_0000  | 
0x0F_FFFF_FFFF  | 
64 GB  | 
Chip0 Onchip Peripheral space base address  | 
0x10_0000_0000  | 
0x1F_FFFF_FFFF  | 
64 GB  | 
Chip1 Onchip Peripheral space base address  | 
0x20_0000_0000  | 
0x2F_FFFF_FFFF  | 
64 GB  | 
Chip2 Onchip Peripheral space base address  | 
0x30_0000_0000  | 
0x3F_FFFF_FFFF  | 
64 GB  | 
Chip3 Onchip Peripheral space base address  | 
0x40_0000_0000  | 
0xFFFF_FFFF_FFFF  | 
255.75 TB  | 
Can be mapped to any chiplet  | 
Interrupt Map
On the shared peripheral interrupt (SPI), each chip are assigned with 480 SPIs. The SPI mappings are:
Chiplet  | 
SPI ID mapping  | 
|---|---|
Chip0  | 
32 - 511  | 
Chip1  | 
512 - 991  | 
Chip2  | 
4096 - 4575  | 
Chip3  | 
4576 - 5055  | 
DRAM Map
Each chip of a multichip FVP is equiped with two DRAM blocks, a 2GB and a 6GB. The 6GB DRAM of the secondary chips are kept outside of the 64GB address per chip. The DRAM mappings are:
RD-V3-Cfg2
Chiplet  | 
Size  | 
Start Addr  | 
End Addr  | 
|---|---|---|---|
Chip0  | 
2GB  | 
0x0000_8000_0000  | 
0x0000_FFFF_FFFF  | 
Chip0  | 
6GB  | 
0x0080_8000_0000  | 
0x0081_FFFF_FFFF  | 
Chip1  | 
2GB  | 
0x0010_8000_0000  | 
0x0010_FFFF_FFFF  | 
Chip1  | 
6GB  | 
0x2080_8000_0000  | 
0x2081_FFFF_FFFF  | 
Chip2  | 
2GB  | 
0x0020_8000_0000  | 
0x0020_FFFF_FFFF  | 
Chip2  | 
6GB  | 
0x3080_8000_0000  | 
0x3081_FFFF_FFFF  | 
Chip3  | 
2GB  | 
0x0030_8000_0000  | 
0x0030_FFFF_FFFF  | 
Chip3  | 
6GB  | 
0x4080_8000_0000  | 
0x4081_FFFF_FFFF  | 
RD-V3-R1
Chiplet  | 
Size  | 
Start Addr  | 
End Addr  | 
|---|---|---|---|
Chip0  | 
2GB  | 
0x0000_8000_0000  | 
0x0000_FFFF_FFFF  | 
Chip0  | 
6GB  | 
0x0200_8000_0000  | 
0x0201_FFFF_FFFF  | 
Chip1  | 
2GB  | 
0x0010_8000_0000  | 
0x0010_FFFF_FFFF  | 
Chip1  | 
6GB  | 
0x0300_8000_0000  | 
0x0301_FFFF_FFFF  | 
RD-V3-R1-Cfg1
Chiplet  | 
Size  | 
Start Addr  | 
End Addr  | 
|---|---|---|---|
Chip0  | 
2GB  | 
0x0000_8000_0000  | 
0x0000_FFFF_FFFF  | 
Chip0  | 
6GB  | 
0x0200_8000_0000  | 
0x0201_FFFF_FFFF  | 
Chip1  | 
2GB  | 
0x0010_8000_0000  | 
0x0010_FFFF_FFFF  | 
Chip1  | 
6GB  | 
0x0300_8000_0000  | 
0x0301_FFFF_FFFF  | 
Chip2  | 
2GB  | 
0x0020_8000_0000  | 
0x0020_FFFF_FFFF  | 
Chip2  | 
6GB  | 
0x0400_8000_0000  | 
0x0401_FFFF_FFFF  | 
Chip3  | 
2GB  | 
0x0030_8000_0000  | 
0x0030_FFFF_FFFF  | 
Chip3  | 
6GB  | 
0x0500_8000_0000  | 
0x0501_FFFF_FFFF  |