summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Vasut <marex@denx.de>2019-05-07 22:17:02 +0300
committerTom Rini <trini@konsulko.com>2019-05-18 19:32:00 +0300
commita9a8271e26164e7fb7a8d1696a0511e9f65254c7 (patch)
tree079800e9e06dd0f30b85c9bb508b1dbd00ca669b
parent47f30aaa36ee3f8f499f5f57a73f66476eb993ec (diff)
downloadu-boot-a9a8271e26164e7fb7a8d1696a0511e9f65254c7.tar.xz
spl: Set spl_image->fdt_addr pointer for full fitImage configuration
Set the spl_image->fdt_addr pointer both for simple fitImage configuration as well as full fitImage configuration, to let spl_perform_fixups() access the DT and perform modifications to it if necessary. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Tom Rini <trini@konsulko.com>
-rw-r--r--common/spl/spl.c4
-rw-r--r--include/spl.h2
2 files changed, 4 insertions, 2 deletions
diff --git a/common/spl/spl.c b/common/spl/spl.c
index 0a6a47c202..4ddeff9b51 100644
--- a/common/spl/spl.c
+++ b/common/spl/spl.c
@@ -195,10 +195,12 @@ static int spl_load_fit_image(struct spl_image_info *spl_image,
#ifdef CONFIG_SPL_FIT_SIGNATURE
images.verify = 1;
#endif
- fit_image_load(&images, (ulong)header,
+ ret = fit_image_load(&images, (ulong)header,
&fit_uname_fdt, &fit_uname_config,
IH_ARCH_DEFAULT, IH_TYPE_FLATDT, -1,
FIT_LOAD_OPTIONAL, &dt_data, &dt_len);
+ if (ret >= 0)
+ spl_image->fdt_addr = (void *)dt_data;
conf_noffset = fit_conf_get_node((const void *)header,
fit_uname_config);
diff --git a/include/spl.h b/include/spl.h
index f09909e189..a9aaef345f 100644
--- a/include/spl.h
+++ b/include/spl.h
@@ -67,7 +67,7 @@ struct spl_image_info {
u8 os;
uintptr_t load_addr;
uintptr_t entry_point;
-#if CONFIG_IS_ENABLED(LOAD_FIT)
+#if CONFIG_IS_ENABLED(LOAD_FIT) || CONFIG_IS_ENABLED(LOAD_FIT_FULL)
void *fdt_addr;
#endif
u32 boot_device;