@@ -8,7 +8,10 @@
#include <asm/io.h>
#include <common.h>
#include <asm/armv8/mmu.h>
+#include <asm/gic.h>
+#include <asm/gic-v3.h>
#include <asm/system.h>
+#include <dt-bindings/memory/bcm-ns3-mc.h>
#include <fdtdec.h>
static struct mm_region ns3_mem_map[] = {
@@ -89,3 +92,12 @@ void reset_cpu(ulong level)
psci_system_reset();
}
}
+
+#ifdef CONFIG_OF_BOARD_SETUP
+int ft_board_setup(void *fdt, bd_t *bd)
+{
+ gic_lpi_tables_init(BCM_NS3_GIC_LPI_BASE, MAX_GIC_REDISTRIBUTORS);
+
+ return 0;
+}
+#endif /* CONFIG_OF_BOARD_SETUP */
@@ -37,4 +37,10 @@
#define CONFIG_SYS_MAXARGS 64
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
+/* Generic Interrupt Controller Definitions */
+#define GICD_BASE 0x63C00000
+#define GICR_BASE 0x63E00000
+/* Number of GIC re-distributors */
+#define MAX_GIC_REDISTRIBUTORS 8
+
#endif /* __BCM_NS3_H */