From 0bbde64361d96000ff4f4ff20d060745064f2b98 Mon Sep 17 00:00:00 2001 From: Antony Kurniawan Soemardi Date: Tue, 17 Feb 2026 08:51:34 +0000 Subject: [PATCH] mach-snapdragon: allocate memory for DT overlays 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 Reviewed-by: Sumit Garg Reviewed-by: Casey Connolly Link: https://patch.msgid.link/20260217-qcom-fdt-overlay-v1-1-d0fa0e70d738@smankusors.com Signed-off-by: Casey Connolly --- 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 5fb3240acc5..829a0109ac7 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__);