]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
bcmstb: Make use of bootm_size rather than fdt_high
authorTom Rini <trini@konsulko.com>
Wed, 19 Nov 2025 14:55:22 +0000 (08:55 -0600)
committerTom Rini <trini@konsulko.com>
Thu, 4 Dec 2025 21:06:28 +0000 (15:06 -0600)
Remove setting of fdt_high to ~0, which disables device tree relocation,
from the default environment. Doing so prevents U-Boot from correcting
problems such as having an unaligned device tree and leads to various
failure modes in the OS. However, this platform also has a large comment
block that explains that given previous stage loaders and other parts of
the memory map (that may not be in the device tree we see?), adjust this
to use bootm_size to restrict relocation to be below the CMA area and
update the comment to match.

Signed-off-by: Tom Rini <trini@konsulko.com>
include/configs/bcmstb.h

index c9280927b3cd9e069590c1cd8e9e75796e9fdc27..ca59c364cd74f44b3471e713ea19c348f0e98857 100644 (file)
@@ -71,8 +71,8 @@ extern phys_addr_t prior_stage_fdt_address;
  *
  * We want to keep the ramdisk and FDT in the FIT image in-place, to
  * accommodate stblinux's bmem and CMA regions.  To accomplish this,
- * we set initrd_high and fdt_high to 0xffffffff, and the load and
- * entry addresses of the FIT ramdisk entry to 0x0.
+ * we set initrd_high to 0xffffffff, bootm_size to 0x7000000 and the
+ * load and entry addresses of the FIT ramdisk entry to 0x0.
  *
  * Overwriting the prior stage bootloader causes memory instability,
  * so the compressed initramfs needs to fit between the load address
@@ -121,7 +121,7 @@ extern phys_addr_t prior_stage_fdt_address;
 #define CFG_EXTRA_ENV_SETTINGS                                 \
        "fdtsaveaddr=" __stringify(CONFIG_SYS_FDT_SAVE_ADDRESS) "\0"    \
        "initrd_high=0xffffffff\0"                                      \
-       "fdt_high=0xffffffff\0"
+       "bootm_size=0x7000000\0"
 
 /*
  * Set fdtaddr to prior stage-provided DTB in board_late_init, when