From bc1e0dd947875eba7d526e1551623f0c1458b565 Mon Sep 17 00:00:00 2001 From: "Andrew F. Davis" Date: Fri, 10 Feb 2017 08:23:23 -0600 Subject: [PATCH] arm: omap5: Fix generation of reserved-memory DT node When the node 'reserved-memory' is not defined in the DT we fail to add needed properties. We also fail to move 'offs' to point to the new node. Fix these here. Signed-off-by: Andrew F. Davis Reviewed-by: Tom Rini --- arch/arm/mach-omap2/omap5/fdt.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/arch/arm/mach-omap2/omap5/fdt.c b/arch/arm/mach-omap2/omap5/fdt.c index 900f001..7a3a8db 100644 --- a/arch/arm/mach-omap2/omap5/fdt.c +++ b/arch/arm/mach-omap2/omap5/fdt.c @@ -161,6 +161,7 @@ static int ft_hs_fixup_dram(void *fdt, bd_t *bd) u32 sec_mem_start = CONFIG_TI_SECURE_EMIF_REGION_START; u32 sec_mem_size = CONFIG_TI_SECURE_EMIF_TOTAL_REGION_SIZE; fdt64_t temp[2]; + fdt32_t two; /* If start address is zero, place at end of DRAM */ if (0 == sec_mem_start) @@ -181,7 +182,7 @@ static int ft_hs_fixup_dram(void *fdt, bd_t *bd) debug("Node %s not found\n", path); path = "/"; subpath = "reserved-memory"; - fdt_path_offset(fdt, path); + offs = fdt_path_offset(fdt, path); offs = fdt_add_subnode(fdt, offs, subpath); if (offs < 0) { printf("Could not create %s%s node.\n", path, subpath); @@ -189,6 +190,10 @@ static int ft_hs_fixup_dram(void *fdt, bd_t *bd) } path = "/reserved-memory"; offs = fdt_path_offset(fdt, path); + two = cpu_to_fdt32(2); + fdt_setprop(fdt, offs, "#address-cells", &two, sizeof(two)); + fdt_setprop(fdt, offs, "#size-cells", &two, sizeof(two)); + fdt_setprop(fdt, offs, "ranges", NULL, 0); } subpath = "secure_reserved";