On 9/23/26 06:25, Ye Li wrote:
> [...]
> +__weak unsigned long board_early_mmu_tlb_base(void)
> +{
> + return CFG_SYS_SDRAM_BASE + SZ_64M - SZ_2M;
> +}
Hello Ye,
I tested this on top of v1 on Verdin iMX95 [4GB], together with
the changes below to enable the caches in SPL. The board boots to Linux
and the caches are enabled.
I noticed the series has already been merged. Could you send a follow-up patch
with the board_early_mmu_tlb_base() change and the Toradex board updates? I’m
happy to test it.
Kind regards,
Emanuele
diff --git a/arch/arm/mach-imx/imx9/scmi/soc.c
b/arch/arm/mach-imx/imx9/scmi/soc.c
index 22f9c9d045bd..680a8b403982 100644
--- a/arch/arm/mach-imx/imx9/scmi/soc.c
+++ b/arch/arm/mach-imx/imx9/scmi/soc.c
@@ -615,7 +615,7 @@ __weak unsigned long board_spl_mmu_tlb_base(void)
__weak unsigned long board_early_mmu_tlb_base(void)
{
- return CFG_SYS_SDRAM_BASE;
+ return CFG_SYS_SDRAM_BASE + SZ_64M - SZ_2M;
}
/*
diff --git a/board/toradex/verdin-imx95/spl.c b/board/toradex/verdin-imx95/spl.c
index 93e76be6145a..31730fc22c88 100644
--- a/board/toradex/verdin-imx95/spl.c
+++ b/board/toradex/verdin-imx95/spl.c
@@ -58,6 +58,8 @@ void board_init_f(ulong dummy)
timer_init();
+ arch_cpu_init();
+
/* Need dm_init() to run before any SCMI calls */
spl_early_init();
@@ -66,8 +68,6 @@ void board_init_f(ulong dummy)
if (ret)
hang(); /* MU not probed, nothing can be outputed, hang */
- arch_cpu_init();
-
preloader_console_init();
debug("SOC: 0x%x\n", gd->arch.soc_rev);
diff --git a/include/configs/verdin-imx95.h b/include/configs/verdin-imx95.h
index b6df4d486955..98fc6f3757f0 100644
--- a/include/configs/verdin-imx95.h
+++ b/include/configs/verdin-imx95.h
@@ -22,4 +22,7 @@
#define PHYS_SDRAM_SIZE (SZ_2G - PHYS_SDRAM_FW_RSVD)
#define PHYS_SDRAM_2_SIZE SZ_30G
+#define CFG_SYS_SECURE_SDRAM_BASE 0x8A000000 /* Secure DDR region for A55
*/
+#define CFG_SYS_SECURE_SDRAM_SIZE SZ_64M
+
#endif