diff options
-rw-r--r-- | board/sunxi/board.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/board/sunxi/board.c b/board/sunxi/board.c index 42fc6024d39..e94139d6a88 100644 --- a/board/sunxi/board.c +++ b/board/sunxi/board.c @@ -320,7 +320,6 @@ static struct boot_file_head * get_spl_header(uint8_t req_version) return spl; } -#ifdef CONFIG_SPL_LOAD_FIT static const char *get_spl_dt_name(void) { struct boot_file_head *spl = get_spl_header(SPL_DT_HEADER_VERSION); @@ -331,7 +330,6 @@ static const char *get_spl_dt_name(void) return NULL; } -#endif int dram_init(void) { @@ -857,6 +855,7 @@ static void setup_environment(const void *fdt) int misc_init_r(void) { + const char *spl_dt_name; uint boot; env_set("fel_booted", NULL); @@ -875,6 +874,16 @@ int misc_init_r(void) env_set("mmc_bootdev", "1"); } + /* Set fdtfile to match the FIT configuration chosen in SPL. */ + spl_dt_name = get_spl_dt_name(); + if (spl_dt_name) { + char *prefix = IS_ENABLED(CONFIG_ARM64) ? "allwinner/" : ""; + char str[64]; + + snprintf(str, sizeof(str), "%s%s.dtb", prefix, spl_dt_name); + env_set("fdtfile", str); + } + setup_environment(gd->fdt_blob); #ifdef CONFIG_USB_ETHER |