[PATCH 1/3] imx9: scmi: Fix SPL trampoline buffer for 1GB DDR

Francesco Dolcini francesco at dolcini.it
Thu Jun 18 09:00:28 CEST 2026


+ Emanuele

On Thu, Jun 18, 2026 at 09:17:47AM +0800, ye.li at oss.nxp.com wrote:
> From: Ye Li <ye.li at nxp.com>
> 
> After supporting get DRAM size from SM, the trampoline buffer address
> still depends on PHYS_SDRAM_SIZE. If the real DDR size is less than
> PHYS_SDRAM_SIZE, the trampoline buffer address is invalid and SPL will
> crash. So use board_phys_sdram_size to get real DDR size to calculate
> correct address.
> 
> Fixes: e1cc7117b630 ("imx9: scmi: Get DDR size through SM SCMI API")
> Signed-off-by: Ye Li <ye.li at nxp.com>
> ---
>  arch/arm/mach-imx/imx9/scmi/soc.c | 16 +++++++++++-----
>  1 file changed, 11 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/arm/mach-imx/imx9/scmi/soc.c b/arch/arm/mach-imx/imx9/scmi/soc.c
> index 00b8693fbe0..ce86cdf8574 100644
> --- a/arch/arm/mach-imx/imx9/scmi/soc.c
> +++ b/arch/arm/mach-imx/imx9/scmi/soc.c
> @@ -1177,10 +1177,11 @@ enum boot_device get_boot_device(void)
>  
>  bool arch_check_dst_in_secure(void *start, ulong size)
>  {
> -	ulong ns_end = CFG_SYS_SDRAM_BASE + PHYS_SDRAM_SIZE;
> -#ifdef PHYS_SDRAM_2_SIZE
> -	ns_end += PHYS_SDRAM_2_SIZE;
> -#endif
> +	ulong ns_end;
> +	phys_size_t dram_size;
> +
> +	board_phys_sdram_size(&dram_size);

Emanuele: does this change has any impact on the memory size detection we have
implemented in our i.MX95 based boards?

Peng: board_phys_sdram_size() in board/toradex/verdin-imx95/verdin-imx95.c

Francesco



More information about the U-Boot mailing list