rpi: limit size of the RAM to the multiple of the MMU_SECTION_SIZE
authorMarek Szyprowski <m.szyprowski@samsung.com>
Mon, 1 Feb 2021 10:53:07 +0000 (11:53 +0100)
committerMarek Szyprowski <m.szyprowski@samsung.com>
Mon, 15 Nov 2021 10:37:12 +0000 (11:37 +0100)
commit494fe717e9b61de6ab52d834ac85fd866754dc8f
treec09fb6fde4ea176cda3ce22a8c4c3b3a2a823a3a
parent5235327b30c8414edeeccdd7421ee8598964f2f9
rpi: limit size of the RAM to the multiple of the MMU_SECTION_SIZE

When RPi4 is booted from USB Mass Storage, the firmware reports 947MiB of
the ARM memory (948 in case of the standard SD-card boot). This value is
not MMU_SECTION_SIZE aligned, so the dram_bank_mmu_setup() skips mapping
of the last 1MiB. This later causes u-boot in ARM 32bit mode to freeze,
because it relocated itself into that unmapped memory and fails to
execute.

Fix this by limiting the size of the first bank to the multiple of
MMU_SECTION_SIZE.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I9734e7a3a2b791afff211f57eb872f99bf6f2672
board/raspberrypi/rpi/rpi.c