U-Boot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1] board: verdin-am62: remove spl_perform_fixups
@ 2025-03-19 16:16 Stefan Eichenberger
  2025-03-20 17:40 ` Tom Rini
  0 siblings, 1 reply; 2+ messages in thread
From: Stefan Eichenberger @ 2025-03-19 16:16 UTC (permalink / raw)
  To: francesco.dolcini, trini; +Cc: u-boot, Stefan Eichenberger

From: Stefan Eichenberger <stefan.eichenberger@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.eichenberger@toradex.com>
---
We will analyze the other issues from
https://lore.kernel.org/all/20250314100734.23777-1-eichest@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


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH v1] board: verdin-am62: remove spl_perform_fixups
  2025-03-19 16:16 [PATCH v1] board: verdin-am62: remove spl_perform_fixups Stefan Eichenberger
@ 2025-03-20 17:40 ` Tom Rini
  0 siblings, 0 replies; 2+ messages in thread
From: Tom Rini @ 2025-03-20 17:40 UTC (permalink / raw)
  To: francesco.dolcini, Stefan Eichenberger; +Cc: u-boot, Stefan Eichenberger

On Wed, 19 Mar 2025 17:16:23 +0100, Stefan Eichenberger wrote:

> 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.
> 
> [...]

Applied to u-boot/master, thanks!

[1/1] board: verdin-am62: remove spl_perform_fixups
      commit: 7ad543619463e8817b3044041ac74749a217bbe0
-- 
Tom



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-03-20 17:40 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-19 16:16 [PATCH v1] board: verdin-am62: remove spl_perform_fixups Stefan Eichenberger
2025-03-20 17:40 ` Tom Rini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox