[PATCH] mach-snapdragon: allocate memory for DT overlays
Antony Kurniawan Soemardi
linux at smankusors.com
Tue Feb 17 09:51:34 CET 2026
Allocate a 1 MiB LMB region for fdtoverlay_addr_r when
CONFIG_OF_LIBFDT_OVERLAY is enabled, allowing runtime application of
DT overlays on Snapdragon platforms.
This is useful for Android-based boot flows where the final DT passed
to the kernel must contain modified /firmware/android/fstab entries.
One use case is redirecting system and vendor partitions to microSD
storage instead of internal eMMC without rebuilding the base DTB.
The allocation is conditional on CONFIG_OF_LIBFDT_OVERLAY and has no
effect on boards that do not enable overlay support.
Signed-off-by: Antony Kurniawan Soemardi <linux at smankusors.com>
---
arch/arm/mach-snapdragon/board.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm/mach-snapdragon/board.c b/arch/arm/mach-snapdragon/board.c
index 5fb3240acc5a6dd23d93515029a596b5f77ebfa3..829a0109ac7807d692e127178f76d8822d5da5e2 100644
--- a/arch/arm/mach-snapdragon/board.c
+++ b/arch/arm/mach-snapdragon/board.c
@@ -555,6 +555,11 @@ int board_late_init(void)
fdt_status |= !lmb_alloc(SZ_2M, &addr) ?
env_set_hex("fdt_addr_r", addr) : 1;
+ if (IS_ENABLED(CONFIG_OF_LIBFDT_OVERLAY)) {
+ status |= !lmb_alloc(SZ_1M, &addr) ?
+ env_set_hex("fdtoverlay_addr_r", addr) : 1;
+ }
+
if (status || fdt_status)
log_warning("%s: Failed to set run time variables\n", __func__);
---
base-commit: f9ffeec4bdcf1da655a0ffea482062adde78fee8
change-id: 20260215-qcom-fdt-overlay-ec6b8d9d2a1b
Best regards,
--
Antony Kurniawan Soemardi <linux at smankusors.com>
More information about the U-Boot
mailing list