[U-Boot] [PATCH v2] common: spl_fit: Allow firmware image if no loadables

Abel Vesa abel.vesa at nxp.com
Sun Mar 10 12:26:17 UTC 2019


On 19-03-10 13:02:28, Marek Vasut wrote:
> On 3/10/19 12:42 PM, Abel Vesa wrote:
> > If CONFIG_SPL_OS_BOOT and FIT_IMAGE_TINY are enabled,
> > the os will not be set to anything and therefore will
> > remain as IH_OS_INVALID. What's needed here is to
> > have IH_OS_U_BOOT as default. And since using the
> > mkimage oneline command (that is, no its file), the
> > loadables can't be specified, so we allow firmware
> > as a fallback.
> 
> Wouldn't it make more sense to fix the mkimage ?
> 

OK then, I'll add a new option to mkimage for loadables.

> > Signed-off-by: Abel Vesa <abel.vesa at nxp.com>
> > Tested-by: Fabio Estevam <festevam at gmail.com>
> > ---
> > 
> > Changes since v1:
> >  * added braces to get rid of the build warning
> > 
> >  common/spl/spl_fit.c | 10 +++++++---
> >  1 file changed, 7 insertions(+), 3 deletions(-)
> > 
> > diff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c
> > index db43626..bfcf71a 100644
> > --- a/common/spl/spl_fit.c
> > +++ b/common/spl/spl_fit.c
> > @@ -478,11 +478,15 @@ int spl_load_simple_fit(struct spl_image_info *spl_image,
> >  
> >  	/* Now check if there are more images for us to load */
> >  	for (; ; index++) {
> > -		uint8_t os_type = IH_OS_INVALID;
> > +		uint8_t os_type = IH_OS_U_BOOT;
> 
> Does that mean invalid image type is then always handled as if it was
> U-Boot ? That looks kinda iffy.
> 

Hmm, fair enough. I'll do the fix in mkimage and this change won't be necessary then.

> >  		node = spl_fit_get_image_node(fit, images, "loadables", index);
> > -		if (node < 0)
> > -			break;
> > +		if (node < 0) {
> > +			node = spl_fit_get_image_node(fit, images,
> > +						      "firmware", index);
> > +			if (node < 0)
> > +				break;
> > +		}
> >  
> >  		ret = spl_load_fit_image(info, sector, fit, base_offset, node,
> >  					 &image_info);
> > 
> 
> 
> -- 
> Best regards,
> Marek Vasut


More information about the U-Boot mailing list