summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board/sunxi/board.c13
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