aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDetlev Casanova <detlev.casanova@collabora.com>2023-06-09 11:19:08 -0400
committerMarek Vasut <marek.vasut+renesas@mailbox.org>2023-06-10 17:06:38 +0200
commitfd3e2b4de366a32cd342675bdcd43b72159913ee (patch)
treeac8a5287f0501499b3a8334f33483981079b229b
parentaddd47379df54a3eb247c6db4f799f14af43e523 (diff)
renesas: rcar: Apply ATF overlay for reserved-memory
The function fdtdec_board_setup() is called early and adds the overlay from ATF to the u-boot device tree. That is necessary so that u-boot doesn't use reserved memory. Linux also needs to know about that reserved memory so the overlay from ATF needs to be aplied on the linux device tree as well. This commit makes sure that the ATF overlay is applied to both device trees. Signed-off-by: Detlev Casanova <detlev.casanova@collabora.com> Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Adam Ford <aford173@gmail.com>
-rw-r--r--board/renesas/rcar-common/common.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/board/renesas/rcar-common/common.c b/board/renesas/rcar-common/common.c
index f38453af82..f976c99028 100644
--- a/board/renesas/rcar-common/common.c
+++ b/board/renesas/rcar-common/common.c
@@ -25,12 +25,17 @@ extern u64 rcar_atf_boot_args[];
#define FDT_RPC_PATH "/soc/spi@ee200000"
-int fdtdec_board_setup(const void *fdt_blob)
+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((void *)fdt_blob, 0, atf_fdt_blob, 0);
+ fdt_overlay_apply_node(fdt_blob, 0, atf_fdt_blob, 0);
+}
+
+int fdtdec_board_setup(const void *fdt_blob)
+{
+ apply_atf_overlay((void *)fdt_blob);
return 0;
}
@@ -159,6 +164,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);