imx8ulp_evk: Clear data at fdt_addr_r before booting kernel

When using dual boot mode, the DDR won't be reset when APD power off
or reboot. It has possibility that obsolete fdt data existing on
fdt_addr_r address. Then even nothing in EFI partitions, the distro boot
still continue to parse fdt and get uboot crashed.

Clear the data at fdt_addr_r, so the fdt header check in above case
will not pass.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
This commit is contained in:
Ye Li 2023-01-31 16:42:34 +08:00 committed by Stefano Babic
parent 9b7e39b6c1
commit 4dfb2196cd

View file

@ -121,8 +121,16 @@ int board_early_init_f(void)
int board_late_init(void)
{
ulong addr;
#if CONFIG_IS_ENABLED(ENV_IS_IN_MMC)
board_late_mmc_env_init();
#endif
/* clear fdtaddr to avoid obsolete data */
addr = env_get_hex("fdt_addr_r", 0);
if (addr)
memset((void *)addr, 0, 0x400);
return 0;
}