summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorLeo Ruan <tingquan.ruan@cn.bosch.com>2019-02-08 10:51:35 +0100
committerAnatolij Gustschin <agust@denx.de>2019-05-20 11:55:42 +0200
commit3d92f31762d8744e9b905b631dc267276adc50d4 (patch)
tree5e73a970226b79c98863529fa6029f01f7b27345 /common
parent98b3156b0df4b0df9cb3a0bbfc240d0c4edd2638 (diff)
splash: Use splashfile instead of location->name
The splash image could be loaded from different sources (e.g. sf, mmc) with different formats (e.g. raw, file-system). These sources are structured by a board dependent object 'splash_location'. To decide where is the splash image loaded, following environment variables are used to select the splash source and file: - 'splashsource' is used to select the splash source by setting its value to specified name of splash location. - 'splashfile' specify the name of splash image file But, when loads the splash image from FIT, the name of splash image within FIT is specified by splash location name. Due to the splash location name is already used for the splash source, its name may conflicts with the name of splash image. To solve the conflict, the environment variable 'splashfile' is used to specify the splash image in FIT, and keeps the splash location name for the splash source. Signed-off-by: Leo Ruan <tingquan.ruan@cn.bosch.com> Signed-off-by: Mark Jonas <mark.jonas@de.bosch.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Stefano Babic <sbabic@denx.de> Reviewed-by: Tomas Melin <tomas.melin@vaisala.com>
Diffstat (limited to 'common')
-rw-r--r--common/splash_source.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/common/splash_source.c b/common/splash_source.c
index 62763b9ebd..e1e73dbdc5 100644
--- a/common/splash_source.c
+++ b/common/splash_source.c
@@ -303,6 +303,7 @@ static int splash_load_fit(struct splash_location *location, u32 bmp_load_addr)
{
int res;
int node_offset;
+ const char *splash_file;
int splash_offset;
int splash_size;
struct image_header *img_header;
@@ -335,10 +336,15 @@ static int splash_load_fit(struct splash_location *location, u32 bmp_load_addr)
return -EINVAL;
}
- node_offset = fit_image_get_node(fit_header, location->name);
+ /* Get the splash image node */
+ splash_file = env_get("splashfile");
+ if (!splash_file)
+ splash_file = SPLASH_SOURCE_DEFAULT_FILE_NAME;
+
+ node_offset = fit_image_get_node(fit_header, splash_file);
if (node_offset < 0) {
debug("Could not find splash image '%s' in FIT\n",
- location->name);
+ splash_file);
return -ENOENT;
}