[PATCHv3 3/8] board: lx2160a: Make sure the RD tables address align to 64KB

Zhiqiang Hou Zhiqiang.Hou at nxp.com
Tue Apr 28 04:19:30 CEST 2020


From: Hou Zhiqiang <Zhiqiang.Hou at nxp.com>

As the lower 16bit of the redistributor pending table is reserved
for describing the memory attributes, we must give a 64KB aligned
address to the GIC LPI initialization function.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou at nxp.com>
Reviewed-by: Wasim Khan <wasim.khan at nxp.com>
---
V3:
 - No change.

 board/freescale/lx2160a/lx2160a.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/board/freescale/lx2160a/lx2160a.c b/board/freescale/lx2160a/lx2160a.c
index eafd530763..5da74aab3c 100644
--- a/board/freescale/lx2160a/lx2160a.c
+++ b/board/freescale/lx2160a/lx2160a.c
@@ -16,6 +16,7 @@
 #include <asm/io.h>
 #include <fdt_support.h>
 #include <linux/libfdt.h>
+#include <linux/sizes.h>
 #include <fsl-mc/fsl_mc.h>
 #include <env_internal.h>
 #include <efi_loader.h>
@@ -694,7 +695,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_base = ALIGN(gd->arch.resv_ram - GIC_LPI_SIZE, SZ_64K);
 	ret = fdt_fixup_gic_lpi_memory(blob, gic_lpi_base);
 	if (!ret && gic_lpi_tables_init(gic_lpi_base, cpu_numcores()))
 		debug("%s: failed to init gic-lpi-tables\n", __func__);
-- 
2.17.1



More information about the U-Boot mailing list