diff mbox

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

Message ID 20170210142323.8755-1-afd@ti.com
State Accepted
Commit bc1e0dd947875eba7d526e1551623f0c1458b565
Delegated to: Tom Rini
Headers show

Commit Message

Andrew Davis Feb. 10, 2017, 2:23 p.m. UTC
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@ti.com>
---
 arch/arm/mach-omap2/omap5/fdt.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

Comments

Tom Rini Feb. 10, 2017, 9:46 p.m. UTC | #1
On Fri, Feb 10, 2017 at 08:23:23AM -0600, Andrew F. Davis wrote:

> 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@ti.com>

Reviewed-by: Tom Rini <trini@konsulko.com>
Tom Rini Feb. 17, 2017, 10:56 p.m. UTC | #2
On Fri, Feb 10, 2017 at 08:23:23AM -0600, Andrew F. Davis wrote:

> 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@ti.com>
> Reviewed-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!
diff mbox

Patch

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";