[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