From: Ye Li <[email protected]> The default u-boot early MMU table address is at CFG_SYS_SDRAM_BASE. The same address is used as alias target on Toradex's iMX95 boards in RAM-size probe. When a probe address aliases that location, the test temporarily overwrites an entry in the active page tables.
To avoid such overlap, move u-boot early MMU table to top 2MB of first 64MB DDR. Signed-off-by: Ye Li <[email protected]> --- Changes in v2: - no change arch/arm/mach-imx/imx9/scmi/soc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arch/arm/mach-imx/imx9/scmi/soc.c b/arch/arm/mach-imx/imx9/scmi/soc.c index 22f9c9d045b..fa6b9a0e53d 100644 --- a/arch/arm/mach-imx/imx9/scmi/soc.c +++ b/arch/arm/mach-imx/imx9/scmi/soc.c @@ -613,9 +613,12 @@ __weak unsigned long board_spl_mmu_tlb_base(void) #endif } +/* Uboot early MMU only map first 64MB DDR before DM init. + * Set default early MMU table at top 2MB of first 64MB DDR + */ __weak unsigned long board_early_mmu_tlb_base(void) { - return CFG_SYS_SDRAM_BASE; + return CFG_SYS_SDRAM_BASE + SZ_64M - SZ_2M; } /* -- 2.50.1
