fix(rdn2): add LCA multichip data for RD-N2-Cfg2

This patch adds the routing table addresses required for LCA
enablement on RD-N2-Cfg2. CMN on RD-N2-Cfg2 uses AXI Stream IDs
to route LCA connections to the correct downstream tx_cxs_a4s
port. The data programmed in the routing table are the A4S IDs
of each chip.

Change-Id: I46e558f3be7f0d51b768b7c5586f15e6bc517f3a
Signed-off-by: Jerry Wang <Jerry.Wang4@arm.com>
This commit is contained in:
Jerry Wang 2024-10-24 14:02:59 +01:00 committed by Jerry.Wang4
parent d0b93a0dd0
commit 289578e610

View file

@ -14,6 +14,10 @@
#include <rdn2_ras.h> #include <rdn2_ras.h>
#define RT_OWNER 0 #define RT_OWNER 0
#define A4SID_CHIP_0 0x0
#define A4SID_CHIP_1 0x1
#define A4SID_CHIP_2 0x2
#define A4SID_CHIP_3 0x3
#if defined(IMAGE_BL31) #if defined(IMAGE_BL31)
#if (NRD_PLATFORM_VARIANT == 2) #if (NRD_PLATFORM_VARIANT == 2)
@ -36,26 +40,50 @@ static const mmap_region_t rdn2mc_dynamic_mmap[] = {
#if (NRD_PLATFORM_VARIANT == 2) #if (NRD_PLATFORM_VARIANT == 2)
static struct gic600_multichip_data rdn2mc_multichip_data __init = { static struct gic600_multichip_data rdn2mc_multichip_data __init = {
.base_addrs = { .base_addrs = {
PLAT_ARM_GICD_BASE PLAT_ARM_GICD_BASE,
#if NRD_CHIP_COUNT > 1
PLAT_ARM_GICD_BASE + NRD_REMOTE_CHIP_MEM_OFFSET(1),
#endif
#if NRD_CHIP_COUNT > 2
PLAT_ARM_GICD_BASE + NRD_REMOTE_CHIP_MEM_OFFSET(2),
#endif
#if NRD_CHIP_COUNT > 3
PLAT_ARM_GICD_BASE + NRD_REMOTE_CHIP_MEM_OFFSET(3),
#endif
}, },
.rt_owner = RT_OWNER, .rt_owner = RT_OWNER,
.chip_count = NRD_CHIP_COUNT, .chip_count = NRD_CHIP_COUNT,
.chip_addrs = { .chip_addrs = {
[RT_OWNER] = { {
PLAT_ARM_GICD_BASE >> 16, A4SID_CHIP_0,
A4SID_CHIP_1,
A4SID_CHIP_2,
A4SID_CHIP_3
},
#if NRD_CHIP_COUNT > 1 #if NRD_CHIP_COUNT > 1
(PLAT_ARM_GICD_BASE {
+ NRD_REMOTE_CHIP_MEM_OFFSET(1)) >> 16, A4SID_CHIP_0,
A4SID_CHIP_1,
A4SID_CHIP_2,
A4SID_CHIP_3
},
#endif #endif
#if NRD_CHIP_COUNT > 2 #if NRD_CHIP_COUNT > 2
(PLAT_ARM_GICD_BASE {
+ NRD_REMOTE_CHIP_MEM_OFFSET(2)) >> 16, A4SID_CHIP_0,
A4SID_CHIP_1,
A4SID_CHIP_2,
A4SID_CHIP_3
},
#endif #endif
#if NRD_CHIP_COUNT > 3 #if NRD_CHIP_COUNT > 3
(PLAT_ARM_GICD_BASE {
+ NRD_REMOTE_CHIP_MEM_OFFSET(3)) >> 16, A4SID_CHIP_0,
#endif A4SID_CHIP_1,
A4SID_CHIP_2,
A4SID_CHIP_3
} }
#endif
}, },
.spi_ids = { .spi_ids = {
{PLAT_ARM_GICD_BASE, {PLAT_ARM_GICD_BASE,