[PATCH v3] am57xx: restore bootm_size for ARMv7 HighMem constraint

Moteen Shah m-shah at ti.com
Wed May 20 13:00:32 CEST 2026


babae80169d removed bootm_size from ti_common.env to allow K3 boards
to process images larger than 256MB, but preserved it in
ti_armv7_keystone2.env for ARMv7 Keystone2 boards. AM57xx (also ARMv7)
was not covered by that preservation.

Without bootm_size, env_get_bootm_size() falls back to gd->ram_size,
causing initrd_high to be computed as the top of all RAM. On ARM32
boards with more RAM than the DMA zone (e.g. AM572x IDK with 2GiB),
this places the ramdisk above 0xafe00000 (HighMem), which is not
directly accessible by the kernel after MMU setup, causing a silent
crash.

With bootm_size=0x10000000, initrd_high is constrained to
0x80000000 + 0x10000000 = 0x90000000, keeping the ramdisk in the
DMA zone and allowing the kernel to access it correctly.

Fixes: babae80169dd ("include: env: ti_common: remove bootm_size")

Reviewed-by: Neha Malcom Francis <n-francis at ti.com>
Signed-off-by: Moteen Shah <m-shah at ti.com>
---
Changelog from v2: 
- Fixed spacing between the lines
- Add test logs
- Pick R/B by Neha

Testlogs: https://gist.github.com/Jamm02/4dc37a837eded0490d7f16b457807dc3
 board/ti/am57xx/am57xx.env | 1 +
 1 file changed, 1 insertion(+)

diff --git a/board/ti/am57xx/am57xx.env b/board/ti/am57xx/am57xx.env
index a7cbbced099..4f712c5575a 100644
--- a/board/ti/am57xx/am57xx.env
+++ b/board/ti/am57xx/am57xx.env
@@ -2,6 +2,7 @@
 #include <env/ti/mmc.env>
 #include <env/ti/dfu.env>
 
+bootm_size=0x10000000
 bootpart=0:2
 bootdir=/boot
 get_name_kern=
-- 
2.34.1



More information about the U-Boot mailing list