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>
#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 (NRD_PLATFORM_VARIANT == 2)
@ -36,26 +40,50 @@ static const mmap_region_t rdn2mc_dynamic_mmap[] = {
#if (NRD_PLATFORM_VARIANT == 2)
static struct gic600_multichip_data rdn2mc_multichip_data __init = {
.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,
.chip_count = NRD_CHIP_COUNT,
.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
(PLAT_ARM_GICD_BASE
+ NRD_REMOTE_CHIP_MEM_OFFSET(1)) >> 16,
{
A4SID_CHIP_0,
A4SID_CHIP_1,
A4SID_CHIP_2,
A4SID_CHIP_3
},
#endif
#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
#if NRD_CHIP_COUNT > 3
(PLAT_ARM_GICD_BASE
+ NRD_REMOTE_CHIP_MEM_OFFSET(3)) >> 16,
#endif
{
A4SID_CHIP_0,
A4SID_CHIP_1,
A4SID_CHIP_2,
A4SID_CHIP_3
}
#endif
},
.spi_ids = {
{PLAT_ARM_GICD_BASE,