On 10/29/26 17:05, Dario Binacchi wrote:
> ddr_init() is called from board_init_f(), before .bss is cleared, so
> ddrmix_initialized may already be non-zero on the first call. The DDRMIX
> cold reset is then run on a DDRMIX that has never been initialized and
> the SPL hangs (with DEBUG enabled in ddr_init.c):
>
> DDRINFO: start DRAM init
> DDRINFO: cold reset the DDRMIX
>
> Move ddrmix_initialized to .data, so that it is zero on the first call.
>
> Fixes: ae03528affd3 ("ddr: imx: Recreate the power-on state before repeating
> ddr_init()")
> Signed-off-by: Dario Binacchi <[email protected]>
>
[...]
3 out of 6 Verdin iMX8M Plus and the SMARC iMX8M Plus SoMs in our CI farm were
hanging in SPL, this patch fixes it.
Thanks!
Emanuele
Reviewed-by: Emanuele Ghidoli <[email protected]>
Tested-by: Emanuele Ghidoli <[email protected]>