[U-Boot] [PATCH] arm: omap5: Fix generation of reserved-memory DT node

Andrew F. Davis afd at ti.com
Fri Feb 10 14:23:23 UTC 2017


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 <afd at ti.com>
---
 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 900f0010f6..7a3a8db517 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";
-- 
2.11.0



More information about the U-Boot mailing list