On 2/5/19 5:29 PM, Mark Jonas wrote:
> From: Leo Ruan <tingquan.r...@cn.bosch.com>
>
> 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.r...@cn.bosch.com>
> Signed-off-by: Mark Jonas <mark.jo...@de.bosch.com>
> Reviewed-by: Simon Glass <s...@chromium.org>
> ---
>   common/splash_source.c   | 10 ++++++++--
>   doc/README.splashprepare |  9 ++++++---
>   2 files changed, 14 insertions(+), 5 deletions(-)
>
> diff --git a/common/splash_source.c b/common/splash_source.c
> index 62763b9..e1e73db 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;
>       }
>   
> diff --git a/doc/README.splashprepare b/doc/README.splashprepare
> index f1418de..3cb5b5a 100644
> --- a/doc/README.splashprepare
> +++ b/doc/README.splashprepare
> @@ -26,6 +26,9 @@ screen data is loaded as a file. The name of the splash 
> screen file can be
>   controlled with the environment variable "splashfile".
>   
>   To enable loading the splash image from a FIT image, CONFIG_FIT must be
> -enabled. Struct splash_location field 'name' should match the splash image
> -name within the FIT and the FIT should start at the 'offset' field address in
> -the specified storage.
> +enabled. The FIT image has to start at the 'offset' field address in the
> +selected splash location. The name of splash image within the FIT shall be
> +specified by the environment variable "splashfile".
> +
> +In case the environment variable "splashfile" is not defined the default name
> +'splash.bmp' will be used

Reviewed-by: Tomas Melin <tomas.me...@vaisala.com>



Regards,
Tomas Melin


_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to