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 <linux@smankusors.com>
Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Reviewed-by: Casey Connolly <casey.connolly@linaro.org>
Link: https://patch.msgid.link/20260217-qcom-fdt-overlay-v1-1-d0fa0e70d738@smankusors.com
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
This commit is contained in:
Antony Kurniawan Soemardi 2026-02-17 08:51:34 +00:00 committed by Casey Connolly
parent ca080b83a4
commit 0bbde64361

View File

@ -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__);