]> git.dujemihanovic.xyz Git - u-boot.git/commit
ARM: stm32mp: enable data cache after LMB configuration for STM32MP1
authorPatrick Delaunay <patrick.delaunay@foss.st.com>
Fri, 11 Oct 2024 15:31:49 +0000 (17:31 +0200)
committerPatrick Delaunay <patrick.delaunay@foss.st.com>
Wed, 16 Oct 2024 18:18:56 +0000 (20:18 +0200)
commitf9e94edab49188ee9aefe6979825defff20b151e
tree9a509fa5f162584f28b9f94d5c4004d342d8e0ef
parent5cb33c70b2c57248eb552e57fba8af305fa3b2c8
ARM: stm32mp: enable data cache after LMB configuration for STM32MP1

Move the stm32mp1 data cache reconfiguration after the lmb init call
board_r::initr_lmb to allow parsing of the reserved region with
no-map tag.

After this patch the DDR is not fully mapped up to arch_early_init_r()
call, only the relocation region is mapped, but it is enough for
the first board_r initialization phases; later, when arch_early_init_r()
is called, the LMB is already initialized and the function
lmb_is_reserved_flags() function is functional, this LMB function
is called in the weak function dram_bank_mmu_setup() when
dcache_enable() is executed.

Without this change, as LMB is not initialized when it is used in
dram_bank_mmu_setup, the OP-TEE region is mapped cache-able by U-Boot
and we have some firewall violation since "LMB memory map global and
persistent" series.

Fixes: ed17a33fed29 ("lmb: make LMB memory map persistent and global")
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
arch/arm/mach-stm32mp/Kconfig
arch/arm/mach-stm32mp/stm32mp1/cpu.c