ARM: stm32mp: Fix dram_bank_mmu_setup() for ram_top=0
authorMarek Vasut <marex@denx.de>
Sun, 9 Mar 2025 02:05:54 +0000 (03:05 +0100)
committerPatrice Chotard <patrice.chotard@foss.st.com>
Mon, 10 Mar 2025 08:39:30 +0000 (09:39 +0100)
commitf5ee0f2bf7b008dc92315c10239e8d537877c0de
tree74fbe54b92d33fa3f87b20c76f765b8bd7258f17
parentdc0ee458f1afae4cb5c8a7b2c875bb24ffdf71ca
ARM: stm32mp: Fix dram_bank_mmu_setup() for ram_top=0

On STM32MP15xx with 1 GiB of DRAM, the gd->ram_top becomes 0,
because DRAM base 0xc0000000 + DRAM size 0x40000000 leads to
gd->ram_top overflow which resets it to 0. Handle this special
case simply by checking for gd->ram_top being zero, and if it
is, assume there is no addr >= gd->ram_top .

This fixes boot hang on STM32MP15xx with 1 GiB of DRAM.

Fixes: 25fb58e88aba ("ARM: stm32mp: Fix dram_bank_mmu_setup() for LMB located above ram_top")
Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
arch/arm/mach-stm32mp/stm32mp1/cpu.c