[PATCH v2] renesas: rcar: Apply ATF overlay for reserved-memory

Detlev Casanova detlev.casanova at collabora.com
Tue Dec 6 17:06:48 CET 2022


The function fdtdec_board_setup() is only called by fdtdec_setup() which
needs to be called by the board file.

This is not the case for the renesas boards so rename the
fdtdec_board_setup() function to a local name and call it directly from
ft_board_setup(), before cleaning up the memory nodes.

Signed-off-by: Detlev Casanova <detlev.casanova at collabora.com>
---
 board/renesas/rcar-common/common.c | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/board/renesas/rcar-common/common.c b/board/renesas/rcar-common/common.c
index daa1beb14f..c50d09ef8b 100644
--- a/board/renesas/rcar-common/common.c
+++ b/board/renesas/rcar-common/common.c
@@ -25,16 +25,6 @@ extern u64 rcar_atf_boot_args[];
 
 #define FDT_RPC_PATH	"/soc/spi at ee200000"
 
-int fdtdec_board_setup(const void *fdt_blob)
-{
-	void *atf_fdt_blob = (void *)(rcar_atf_boot_args[1]);
-
-	if (fdt_magic(atf_fdt_blob) == FDT_MAGIC)
-		fdt_overlay_apply_node((void *)fdt_blob, 0, atf_fdt_blob, 0);
-
-	return 0;
-}
-
 int dram_init(void)
 {
 	return fdtdec_setup_mem_size_base();
@@ -48,6 +38,14 @@ int dram_init_banksize(void)
 }
 
 #if defined(CONFIG_OF_BOARD_SETUP)
+static void apply_atf_overlay(void *fdt_blob)
+{
+	void *atf_fdt_blob = (void *)(rcar_atf_boot_args[1]);
+
+	if (fdt_magic(atf_fdt_blob) == FDT_MAGIC)
+		fdt_overlay_apply_node(fdt_blob, 0, atf_fdt_blob, 0);
+}
+
 static int is_mem_overlap(void *blob, int first_mem_node, int curr_mem_node)
 {
 	struct fdt_resource first_mem_res, curr_mem_res;
@@ -159,6 +157,7 @@ static void update_rpc_status(void *blob)
 
 int ft_board_setup(void *blob, struct bd_info *bd)
 {
+	apply_atf_overlay(blob);
 	scrub_duplicate_memory(blob);
 	update_rpc_status(blob);
 
-- 
2.38.1



More information about the U-Boot mailing list