[U-Boot] [PATCH] spl: spi: Support full fitImage handling

Simon Glass sjg at chromium.org
Thu Jun 7 20:28:05 UTC 2018


Hi Marek,
On 31 May 2018 at 07:59, Marek Vasut <marex at denx.de> wrote:
> Handle the case where the full fitImage support is enabled. In this
> case, the whole fitImage must be loaded up front as some parts of the
> fitImage code require memory-mapped access to the entire fitImage.
>
> Signed-off-by: Marek Vasut <marex at denx.de>
> Cc: Pantelis Antoniou <pantelis.antoniou at konsulko.com>
> Cc: Simon Glass <sjg at chromium.org>
> ---
>  common/spl/spl_spi.c | 13 +++++++++++--
>  1 file changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/common/spl/spl_spi.c b/common/spl/spl_spi.c
> index df46046729..ba60a3a3c5 100644
> --- a/common/spl/spl_spi.c
> +++ b/common/spl/spl_spi.c
> @@ -110,8 +110,17 @@ static int spl_spi_load_image(struct spl_image_info *spl_image,
>                         return err;
>                 }
>
> -               if (IS_ENABLED(CONFIG_SPL_LOAD_FIT) &&
> -                       image_get_magic(header) == FDT_MAGIC) {
> +               if (IS_ENABLED(CONFIG_SPL_LOAD_FIT_FULL) &&
> +                   image_get_magic(header) == FDT_MAGIC) {
> +                       err = spi_flash_read(flash, payload_offs,
> +                                            roundup(fdt_totalsize(header), 4),
> +                                            (void *)CONFIG_SYS_LOAD_ADDR);

map_sysmem(CONFIG_SYS_LOAD_ADDR, fdt_totalsize(header))

otherwise your sandbox test won't work

> +                       if (err)
> +                               return err;
> +                       err = spl_parse_image_header(spl_image,
> +                                       (struct image_header *)CONFIG_SYS_LOAD_ADDR);

Same here

> +               } else if (IS_ENABLED(CONFIG_SPL_LOAD_FIT) &&
> +                          image_get_magic(header) == FDT_MAGIC) {
>                         struct spl_load_info load;
>
>                         debug("Found FIT\n");
> --
> 2.16.2
>

Regards,
Simon


More information about the U-Boot mailing list