arm: omap5: Fix generation of reserved-memory DT node
authorAndrew F. Davis <afd@ti.com>
Fri, 10 Feb 2017 14:23:23 +0000 (08:23 -0600)
committerTom Rini <trini@konsulko.com>
Fri, 17 Feb 2017 19:15:12 +0000 (14:15 -0500)
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>
arch/arm/mach-omap2/omap5/fdt.c

index 900f0010f6619f12b8033f5a1f268c9cdddcfe4c..7a3a8db5179408bd7c06f6a8ebe8d2c7569494b6 100644 (file)
@@ -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";