[U-Boot] [PATCH v2 1/2] common: spl_fit: Default to IH_OS_U_BOOT if FIT_IMAGE_TINY enabled

If FIT_IMAGE_TINY is enabled, spl_fit_image_get_os returns -ENOTSUPP. In this case, we should default to IH_OS_U_BOOT not to IH_OS_INVALID.
Signed-off-by: Abel Vesa abel.vesa@nxp.com ---
Changes since v1: * added the #if FIT_IMAGE_TINY as suggested by Mark Vasut
common/spl/spl_fit.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c index db43626..c9bfe0c 100644 --- a/common/spl/spl_fit.c +++ b/common/spl/spl_fit.c @@ -491,6 +491,10 @@ int spl_load_simple_fit(struct spl_image_info *spl_image,
if (!spl_fit_image_get_os(fit, node, &os_type)) debug("Loadable is %s\n", genimg_get_os_name(os_type)); +#if CONFIG_IS_ENABLED(FIT_IMAGE_TINY) + else + os_type = IH_OS_U_BOOT; +#endif
if (os_type == IH_OS_U_BOOT) { spl_fit_append_fdt(&image_info, info, sector,

When running mkimage with "-f auto", the loadable property needs to be set in order to allow SPL FIT support to boot.
Signed-off-by: Abel Vesa abel.vesa@nxp.com --- tools/fit_image.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/tools/fit_image.c b/tools/fit_image.c index 4b62635..3b867e0 100644 --- a/tools/fit_image.c +++ b/tools/fit_image.c @@ -298,6 +298,7 @@ static void fit_write_configs(struct image_tool_params *params, char *fdt) typename = genimg_get_type_short_name(params->fit_image_type); snprintf(str, sizeof(str), "%s-1", typename); fdt_property_string(fdt, typename, str); + fdt_property_string(fdt, FIT_LOADABLE_PROP, str);
if (params->fit_ramdisk) fdt_property_string(fdt, FIT_RAMDISK_PROP,

On Tue, Mar 12, 2019 at 5:37 AM Abel Vesa abel.vesa@nxp.com wrote:
When running mkimage with "-f auto", the loadable property needs to be set in order to allow SPL FIT support to boot.
Signed-off-by: Abel Vesa abel.vesa@nxp.com
Tested-by: Fabio Estevam festevam@gmail.com
Tom/Stefano,
These two patches fix a boot regression on mx6sabresd/sabreauto.
Please consider applying it for 2019.04.
Thanks

On 20/03/19 14:16, Fabio Estevam wrote:
On Tue, Mar 12, 2019 at 5:37 AM Abel Vesa abel.vesa@nxp.com wrote:
When running mkimage with "-f auto", the loadable property needs to be set in order to allow SPL FIT support to boot.
Signed-off-by: Abel Vesa abel.vesa@nxp.com
Tested-by: Fabio Estevam festevam@gmail.com
Tom/Stefano,
These two patches fix a boot regression on mx6sabresd/sabreauto.
Please consider applying it for 2019.04.
Thanks to report these - there are also a few other patches that I have already picked up. I take these twos and I sent a new PR.
Stefano

On Tue, Mar 12, 2019 at 08:34:32AM +0000, Abel Vesa wrote:
When running mkimage with "-f auto", the loadable property needs to be set in order to allow SPL FIT support to boot.
Signed-off-by: Abel Vesa abel.vesa@nxp.com Tested-by: Fabio Estevam festevam@gmail.com
Applied to u-boot/master, thanks!

On Tue, Mar 12, 2019 at 8:34 AM Abel Vesa abel.vesa@nxp.com wrote:
When running mkimage with "-f auto", the loadable property needs to be set in order to allow SPL FIT support to boot.
Signed-off-by: Abel Vesa abel.vesa@nxp.com
I've just bisected out to this commit breaking Y-Modem booting of FIT U-Boot on am335x. Right now I'm at a bit of a loss as to why, as I can't find a code path where FIT_LOADABLE_PROP would be treated differently between UART and MMC booting (which still works).
That said the loadables stuff with this patch doesn't seem to match up with what doc/uImage.FIT/howto.txt has to say about loadables:
/ { timestamp = <0x5cb08987>; description = "Firmware image with one or more FDT blobs"; creator = "U-Boot mkimage 2019.04-00217-g38927694f48a-dirty"; #address-cells = <0x00000001>; images { firmware-1 { data-size = <0x0005e204>; data-offset = <0x00000000>; description = "U-Boot 2019.04-00217-g38927694f48a-dirty for A335XHUB board"; type = "firmware"; arch = "arm"; os = "u-boot"; compression = "none"; load = <0x80800000>; entry = <0x00000000>; }; fdt-1 { data-size = <0x000080c4>; data-offset = <0x0005e204>; description = "A335XHUB-0001"; type = "firmware"; arch = "arm"; compression = "none"; }; fdt-2 { data-size = <0x000088f4>; data-offset = <0x000662c8>; description = "A335XHUB-0003"; type = "firmware"; arch = "arm"; compression = "none"; }; }; configurations { default = "conf-1"; conf-1 { description = "A335XHUB-0001"; firmware = "firmware-1"; loadables = "firmware-1"; fdt = "fdt-1"; }; conf-2 { description = "A335XHUB-0003"; firmware = "firmware-1"; loadables = "firmware-1"; fdt = "fdt-2"; }; }; };
Still digging...

On Tue, Mar 12, 2019 at 5:36 AM Abel Vesa abel.vesa@nxp.com wrote:
If FIT_IMAGE_TINY is enabled, spl_fit_image_get_os returns -ENOTSUPP. In this case, we should default to IH_OS_U_BOOT not to IH_OS_INVALID.
Signed-off-by: Abel Vesa abel.vesa@nxp.com
Tested-by: Fabio Estevam festevam@gmail.com

On Tue, Mar 12, 2019 at 08:34:31AM +0000, Abel Vesa wrote:
If FIT_IMAGE_TINY is enabled, spl_fit_image_get_os returns -ENOTSUPP. In this case, we should default to IH_OS_U_BOOT not to IH_OS_INVALID.
Signed-off-by: Abel Vesa abel.vesa@nxp.com Tested-by: Fabio Estevam festevam@gmail.com
Applied to u-boot/master, thanks!
participants (5)
-
Abel Vesa
-
Alex Kiernan
-
Fabio Estevam
-
Stefano Babic
-
Tom Rini