diff options
author | Wasim Khan <wasim.khan@nxp.com> | 2020-02-14 11:04:36 +0530 |
---|---|---|
committer | Priyanka Jain <priyanka.jain@nxp.com> | 2020-03-30 08:06:51 +0530 |
commit | 8cf113f473fdb60b62f939a21bc7f51795b168d8 (patch) | |
tree | 6a45571c419c1d0110291fe66b9a07119636e93a /board/freescale/lx2160a/lx2160a.c | |
parent | e07f30f681b2d6abeaf110094af5da7f6cc3c5c9 (diff) |
board: fsl: lx2160a: Add GIC LPI memory reserve fixup
Reserve DDR memory region used for GIC LPI configuration table.
Signed-off-by: Wasim Khan <wasim.khan@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
Diffstat (limited to 'board/freescale/lx2160a/lx2160a.c')
-rw-r--r-- | board/freescale/lx2160a/lx2160a.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/board/freescale/lx2160a/lx2160a.c b/board/freescale/lx2160a/lx2160a.c index 7ccd2483fb..8e22689ec7 100644 --- a/board/freescale/lx2160a/lx2160a.c +++ b/board/freescale/lx2160a/lx2160a.c @@ -631,6 +631,21 @@ void board_quiesce_devices(void) } #endif +#ifdef CONFIG_GIC_V3_ITS +void fdt_fixup_gic_lpi_memory(void *blob, u64 gic_lpi_base) +{ + u32 phandle; + int err; + struct fdt_memory gic_lpi; + + gic_lpi.start = gic_lpi_base; + gic_lpi.end = gic_lpi_base + GIC_LPI_SIZE - 1; + err = fdtdec_add_reserved_memory(blob, "gic-lpi", &gic_lpi, &phandle); + if (err < 0) + debug("failed to add reserved memory: %d\n", err); +} +#endif + #ifdef CONFIG_OF_BOARD_SETUP int ft_board_setup(void *blob, bd_t *bd) { @@ -665,6 +680,7 @@ int ft_board_setup(void *blob, bd_t *bd) #ifdef CONFIG_GIC_V3_ITS gic_lpi_base = gd->arch.resv_ram - GIC_LPI_SIZE; gic_lpi_tables_init(gic_lpi_base, cpu_numcores()); + fdt_fixup_gic_lpi_memory(blob, gic_lpi_base); #endif #ifdef CONFIG_RESV_RAM |