[uU PATCH 1/1] am57xx: restore bootm_size for ARMv7 HighMem constraint

Moteen Shah m-shah at ti.com
Wed May 20 10:30:07 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: babae80169d ("include: env: ti_common: remove bootm_size")

Signed-off-by: Moteen Shah <m-shah at ti.com>
---
Logs: 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..74659279484 100644
--- a/board/ti/am57xx/am57xx.env
+++ b/board/ti/am57xx/am57xx.env
@@ -1,6 +1,7 @@
 #include <env/ti/ti_common.env>
 #include <env/ti/mmc.env>
 #include <env/ti/dfu.env>
+bootm_size=0x10000000
 
 bootpart=0:2
 bootdir=/boot
-- 
2.34.1



More information about the U-Boot mailing list