[PATC 1/2H] board: fsl: ls2088ardb: Program GIC LPI configuration table

Priyanka Jain priyanka.jain at nxp.com
Fri Dec 11 08:48:02 CET 2020


>-----Original Message-----
>From: Priyanka Jain <priyanka.jain at nxp.com>
>Sent: Monday, December 7, 2020 12:45 PM
>To: u-boot at lists.denx.de
>Cc: Nikhil Gupta <nikhil.gupta at nxp.com>; Priyanka Jain
><priyanka.jain at nxp.com>
>Subject: [PATC 1/2H] board: fsl: ls2088ardb: Program GIC LPI configuration
>table
>
>From: Nikhil Gupta <nikhil.gupta at nxp.com>
>
>Add programming of GIC LPI configuration table:
>1. Program Redistributor PROCBASER configuration table
>   which is common for all redistributors.
>2. Program Redistributor pending table (PENDBASER), for
>   all the available redistributors.
>3. Reserve DDR memory region used for GIC LPI configuration table.
>
>Signed-off-by: Nikhil Gupta <nikhil.gupta at nxp.com>
>Signed-off-by: Priyanka Jain <priyanka.jain at nxp.com>
>---
> board/freescale/ls2080ardb/ls2080ardb.c | 27
>++++++++++++++++++++++++-
> 1 file changed, 26 insertions(+), 1 deletion(-)
>
>diff --git a/board/freescale/ls2080ardb/ls2080ardb.c
>b/board/freescale/ls2080ardb/ls2080ardb.c
>index c7e9c1dacf..1c54bac529 100644
>--- a/board/freescale/ls2080ardb/ls2080ardb.c
>+++ b/board/freescale/ls2080ardb/ls2080ardb.c
>@@ -1,7 +1,7 @@
> // SPDX-License-Identifier: GPL-2.0+
> /*
>  * Copyright 2015 Freescale Semiconductor
>- * Copyright 2017 NXP
>+ * Copyright 2017-2020 NXP
>  */
> #include <common.h>
> #include <env.h>
>@@ -24,7 +24,10 @@
> #include <asm/arch/ppa.h>
> #include <fsl_sec.h>
> #include <asm/arch-fsl-layerscape/fsl_icid.h>
>+#include <asm/gic-v3.h>
>+#include <cpu_func.h>
>
>+#define GIC_LPI_SIZE                             0x200000
> #ifdef CONFIG_FSL_QIXIS
> #include "../common/qixis.h"
> #include "ls2080ardb_qixis.h"
>@@ -352,6 +355,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
> void fsl_fdt_fixup_flash(void *fdt)
> {
>@@ -426,6 +444,7 @@ int ft_board_setup(void *blob, struct bd_info *bd)
> 	u64 mc_memory_base = 0;
> 	u64 mc_memory_size = 0;
> 	u16 total_memory_banks;
>+	u64 gic_lpi_base;
>
> 	ft_cpu_setup(blob, bd);
>
>@@ -445,6 +464,12 @@ int ft_board_setup(void *blob, struct bd_info *bd)
> 	base[1] = gd->bd->bi_dram[1].start;
> 	size[1] = gd->bd->bi_dram[1].size;
>
>+#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
> 	/* reduce size if reserved memory is within this bank */
> 	if (gd->arch.resv_ram >= base[0] &&
>--
>2.17.1

This patch needs to be rebased. Below build error with upstream code. 

board: fsl: ls2088ardb: Program GIC LPI configuration table    
   aarch64:  +   ls2080ardb_SECURE_BOOT
+===================== WARNING ======================
+This board does not use CONFIG_DM_ETH (Driver Model
+for Ethernet drivers). Please update the board to use
+CONFIG_DM_ETH before the v2020.07 release. Failure to
+update by the deadline may result in board removal.
+See doc/driver-model/migration.rst for more info.
+====================================================
+../board/freescale/ls2080ardb/ls2080ardb.c: In function âfdt_fixup_gic_lpi_memoryâ:
+../board/freescale/ls2080ardb/ls2080ardb.c:367:8: error: too few arguments to function âfdtdec_add_reserved_memoryâ
+  err = fdtdec_add_reserved_memory(blob, "gic-lpi", &gic_lpi, &phandle);
+        ^~~~~~~~~~~~~~~~~~~~~~~~~~
+In file included from ../include/asm-generic/global_data.h:23:0,
+                 from ../arch/arm/include/asm/global_data.h:87,
+                 from ../include/common.h:26,
+                 from ../board/freescale/ls2080ardb/ls2080ardb.c:6:
+../include/fdtdec.h:1062:5: note: declared here
+ int fdtdec_add_reserved_memory(void *blob, const char *basename,
+     ^~~~~~~~~~~~~~~~~~~~~~~~~~
+../board/freescale/ls2080ardb/ls2080ardb.c: In function âft_board_setupâ:
+../board/freescale/ls2080ardb/ls2080ardb.c:469:2: error: too many arguments to function âgic_lpi_tables_initâ
+  gic_lpi_tables_init(gic_lpi_base, cpu_numcores());
+  ^~~~~~~~~~~~~~~~~~~
+In file included from ../board/freescale/ls2080ardb/ls2080ardb.c:27:0:
+../arch/arm/include/asm/gic-v3.h:130:5: note: declared here
+ int gic_lpi_tables_init(void);
+     ^~~~~~~~~~~~~~~~~~~
+make[2]: *** [board/freescale/ls2080ardb/ls2080ardb.o] Error 1
+make[1]: *** [board/freescale/ls2080ardb] Error 2
+make: *** [sub-make] Error 2

Regards
Priyanka


More information about the U-Boot mailing list