static void *karo_fdt_load_dtb(void)
{
int ret;
- void *fdt = (void *)getenv_ulong("fdtaddr", 16, CONFIG_SYS_FDT_ADDR);
+ void *fdt;
+
+ if (getenv("fdtaddr") == NULL)
+ setenv_hex("fdtaddr", CONFIG_SYS_FDT_ADDR);
+ fdt = (void *)getenv_ulong("fdtaddr", 16, CONFIG_SYS_FDT_ADDR);
if (had_ctrlc()) {
printf("aborting DTB load\n");
fdt_addr, fdt_addr + fdt_totalsize(fdt) - 1);
memmove((void *)fdt_addr, fdt, fdt_totalsize(fdt));
}
- set_working_fdt_addr((void *)fdt_addr);
+ set_working_fdt_addr(fdt_addr);
gd->fdt_blob = fdt;
karo_set_fdtsize(fdt);
}