From: Stefan Eichenberger <stefan.eichenber...@toradex.com> spl_perform_fixups is redundant in the current implementation. SPLs call dram_init during spl_enable_cache in arch/arm/mach-k3/common.c. In U-Boot, dram_init and dram_init_banksize are automatically called in init_sequence_f. Therefore, SPLs and U-Boot always determine the correct RAM size. During Linux boot, fdt_fixup_memory_banks adjusts the RAM size in the Linux device tree, ensuring correct RAM usage.
dram_init() calls get_ram_size() for the Verdin AM62, which determines the correct RAM size through read/write operations. However, due to the K3 bootflow placing ATF in RAM and requiring cache coherence, calling get_ram_size() with caches enabled prevents ATF boot. Removing this call restores ATF boot functionality. This fixes a regression introduced in commit 4164289db882 ("board: verdin-am62: fix missing memory fixup call") which prevents some of our Verdin AM62 modules from booting. Fixes: 4164289db882 ("board: verdin-am62: fix missing memory fixup call") Signed-off-by: Stefan Eichenberger <stefan.eichenber...@toradex.com> --- We will analyze the other issues from https://lore.kernel.org/all/20250314100734.23777-1-eich...@gmail.com/ separately, because it might hide another issue. However, we need this fix so that all our Verdin AM62 modules boot again. --- board/toradex/verdin-am62/verdin-am62.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/board/toradex/verdin-am62/verdin-am62.c b/board/toradex/verdin-am62/verdin-am62.c index a1c471111a0..7b2eecbf659 100644 --- a/board/toradex/verdin-am62/verdin-am62.c +++ b/board/toradex/verdin-am62/verdin-am62.c @@ -112,13 +112,6 @@ int board_late_init(void) #define CORE_VOLTAGE 0x80000000 #define MCU_CTRL_LFXOSC_32K_BYPASS_VAL BIT(4) -#if IS_ENABLED(CONFIG_XPL_BUILD) -void spl_perform_fixups(struct spl_image_info *spl_image) -{ - fixup_memory_node(spl_image); -} -#endif - #ifdef CONFIG_SPL_BOARD_INIT void spl_board_init(void) { -- 2.45.2