On Tue, May 28, 2019 at 03:49:14AM +0200, Marek Vasut wrote: > Add code to load simple fitImage from the kernel volume, the args > volume is unnecessary. > > Signed-off-by: Marek Vasut <ma...@denx.de> > Cc: Ladislav Michl <la...@linux-mips.org> > Cc: Tom Rini <tr...@konsulko.com> > --- > common/spl/spl_ubi.c | 22 +++++++++++++++++++++- > 1 file changed, 21 insertions(+), 1 deletion(-) > > diff --git a/common/spl/spl_ubi.c b/common/spl/spl_ubi.c > index 67e5fadd7c..6addd46ece 100644 > --- a/common/spl/spl_ubi.c > +++ b/common/spl/spl_ubi.c > @@ -11,6 +11,14 @@ > #include <ubispl.h> > #include <spl.h> > > +static ulong spl_ubi_load_read(struct spl_load_info *load, ulong sector, > + ulong count, void *buf) > +{ > + if (buf != (void *)CONFIG_SPL_LOAD_FIT_ADDRESS + sector) > + memcpy(buf, (void *)(CONFIG_SYS_LOAD_ADDR + sector), count); > + return count; > +} > + > int spl_ubi_load_image(struct spl_image_info *spl_image, > struct spl_boot_device *bootdev) > { > @@ -54,7 +62,19 @@ int spl_ubi_load_image(struct spl_image_info *spl_image, > ret = ubispl_load_volumes(&info, volumes, 2); > if (!ret) { > header = (struct image_header *)volumes[0].load_addr; > - spl_parse_image_header(spl_image, header); > + > + if (IS_ENABLED(CONFIG_SPL_LOAD_FIT) && > + image_get_magic(header) == FDT_MAGIC) { > + struct spl_load_info load; > + > + debug("Found FIT\n"); > + load.bl_len = 1; > + load.read = spl_ubi_load_read; > + spl_load_simple_fit(spl_image, &load, 0, > header); > + } else { > + spl_parse_image_header(spl_image, header); > + } > + > puts("Linux loaded.\n"); > goto out; > }
This breaks building on igep00x0 and am335x_igep003x, sorry. -- Tom
signature.asc
Description: PGP signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot