feat(fvp): add GICv5 support
Factors out GICv3 specific code and replace it with GICv5. This can be
selected with FVP_USE_GIC_DRIVER=FVP_GICV5. Specifically, the FCONF
logic does not apply to GICv5 as the bindings are completely different.
This patch does not include a device tree. This will be added at a later
date.
Change-Id: Ifd0c7b4e0bc2ea1e53a6779ab4c50c4aec39dafb
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
diff --git a/plat/arm/board/fvp/fvp_common.c b/plat/arm/board/fvp/fvp_common.c
index 9d0463d..95dff53 100644
--- a/plat/arm/board/fvp/fvp_common.c
+++ b/plat/arm/board/fvp/fvp_common.c
@@ -68,6 +68,10 @@
#define MAP_DEVICE1 MAP_REGION_FLAT(DEVICE1_BASE, \
DEVICE1_SIZE, \
+ MT_DEVICE | MT_RW | EL3_PAS)
+
+#define MAP_CCN MAP_REGION_FLAT(CCN_BASE, \
+ CCN_SIZE, \
MT_DEVICE | MT_RW | MT_SECURE)
#if FVP_GICR_REGION_PROTECTION
@@ -115,7 +119,7 @@
V2M_MAP_IOFPGA,
MAP_DEVICE0,
#if FVP_INTERCONNECT_DRIVER == FVP_CCN
- MAP_DEVICE1,
+ MAP_CCN,
#endif
#if TRUSTED_BOARD_BOOT
/* To access the Root of Trust Public Key registers. */
@@ -133,7 +137,7 @@
V2M_MAP_IOFPGA,
MAP_DEVICE0,
#if FVP_INTERCONNECT_DRIVER == FVP_CCN
- MAP_DEVICE1,
+ MAP_CCN,
#endif
ARM_MAP_NS_DRAM1,
#ifdef __aarch64__
@@ -208,6 +212,9 @@
MAP_GICD_MEM,
MAP_GICR_MEM,
#else
+#if FVP_INTERCONNECT_DRIVER == FVP_CCN
+ MAP_CCN,
+#endif
MAP_DEVICE1,
#endif /* FVP_GICR_REGION_PROTECTION */
ARM_V2M_MAP_MEM_PROTECT,
@@ -254,6 +261,9 @@
#endif
V2M_MAP_IOFPGA,
MAP_DEVICE0,
+#if FVP_INTERCONNECT_DRIVER == FVP_CCN
+ MAP_CCN,
+#endif
MAP_DEVICE1,
{0}
};