• Vijayenthiran Subramaniam's avatar
    board/rdn1edge: add support for dual-chip configuration · 2d4b719c
    Vijayenthiran Subramaniam authored
    
    
    RD-N1-Edge based platforms can operate in dual-chip configuration
    wherein two rdn1edge SoCs are connected through a high speed coherent
    CCIX link.
    
    This patch adds a function to check if the RD-N1-Edge platform is
    operating in multi-chip mode by reading the SID register's NODE_ID
    value. If operating in multi-chip mode, initialize GIC-600 multi-chip
    operation by overriding the default GICR frames with array of GICR
    frames and setting the chip 0 as routing table owner.
    
    The address space of the second RD-N1-Edge chip (chip 1) starts from the
    address 4TB. So increase the physical and virtual address space size to
    43 bits to accommodate the multi-chip configuration. If the multi-chip
    mode configuration is detected, dynamically add mmap entry for the
    peripherals memory region of the second RD-N1-Edge SoC. This is required
    to let the BL31 platform setup stage to configure the devices in the
    second chip.
    
    PLATFORM_CORE_COUNT macro is set to be multiple of CSS_SGI_CHIP_COUNT
    and topology changes are added to represent the dual-chip configuration.
    
    In order the build the dual-chip platform, CSS_SGI_CHIP_COUNT macro
    should be set to 2:
    export CROSS_COMPILE=<path-to-cross-compiler>
    make PLAT=rdn1edge CSS_SGI_CHIP_COUNT=2 ARCH=aarch64 all
    
    Change-Id: I576cdaf71f0b0e41b9a9181fa4feb7091f8c7bb4
    Signed-off-by: default avatarAditya Angadi <aditya.angadi@arm.com>
    Signed-off-by: default avatarVijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
    2d4b719c
platform_def.h 1.08 KB