mach-k3: common_fdt: create a reserved memory node
authorBryan Brattlof <bb@ti.com>
Thu, 27 Feb 2025 17:14:41 +0000 (11:14 -0600)
committerTom Rini <trini@konsulko.com>
Thu, 13 Mar 2025 20:22:57 +0000 (14:22 -0600)
Some device trees may not have a reserved-memory node. Rather than
exiting early we should create a new reserved-memory node along with
the memory carveout for the firmware we (U-Boot) have placed.

Signed-off-by: Bryan Brattlof <bb@ti.com>
Acked-by: Andrew Davis <afd@ti.com>
arch/arm/mach-k3/common_fdt.c

index 4a01671..361b0c0 100644 (file)
@@ -122,10 +122,8 @@ int fdt_fixup_reserved(void *blob, const char *name,
 
        /* Find reserved-memory */
        nodeoffset = fdt_subnode_offset(blob, 0, "reserved-memory");
-       if (nodeoffset < 0) {
-               debug("Could not find reserved-memory node\n");
-               return 0;
-       }
+       if (nodeoffset < 0)
+               goto add_carveout;
 
        /* Find existing matching subnode and remove it */
        fdt_for_each_subnode(subnode, blob, nodeoffset) {
@@ -154,6 +152,7 @@ int fdt_fixup_reserved(void *blob, const char *name,
                }
        }
 
+add_carveout:
        struct fdt_memory carveout = {
                .start = new_address,
                .end = new_address + new_size - 1,