Hi Simon, On 2025-02-05 02:54, Simon Glass wrote: > Move the FIT description into a template so that it can (later) be used > in multiple places in the image. > > Signed-off-by: Simon Glass <s...@chromium.org> > --- > > arch/arm/dts/rockchip-u-boot.dtsi | 57 ++++++++++++++++++------------- > 1 file changed, 34 insertions(+), 23 deletions(-) > > diff --git a/arch/arm/dts/rockchip-u-boot.dtsi > b/arch/arm/dts/rockchip-u-boot.dtsi > index da0ac078cb6..8418635ed84 100644 > --- a/arch/arm/dts/rockchip-u-boot.dtsi > +++ b/arch/arm/dts/rockchip-u-boot.dtsi > @@ -19,6 +19,10 @@ > #define COMP "none" > #endif > > +#if defined(CONFIG_SPL_FIT) && (defined(CONFIG_ARM64) || > defined(CONFIG_SPL_OPTEE_IMAGE)) > +#define HAS_FIT > +#endif > + > / { > binman: binman { > multiple-images; > @@ -27,28 +31,9 @@ > > #ifdef CONFIG_SPL > &binman { > - simple-bin { > - filename = "u-boot-rockchip.bin"; > - pad-byte = <0xff>; > - > - mkimage { > - filename = "idbloader.img"; > - args = "-n", CONFIG_SYS_SOC, "-T", "rksd"; > - multiple-data-files; > - > -#ifdef CONFIG_ROCKCHIP_EXTERNAL_TPL > - rockchip-tpl { > - }; > -#elif defined(CONFIG_TPL) > - u-boot-tpl { > - }; > -#endif > - u-boot-spl { > - }; > - }; > - > -#if defined(CONFIG_SPL_FIT) && (defined(CONFIG_ARM64) || > defined(CONFIG_SPL_OPTEE_IMAGE)) > - fit: fit { > +#ifdef HAS_FIT > + common_part: template-1 { > + type = "fit"; > #ifdef CONFIG_ARM64 > description = "FIT image for U-Boot with bl31 (TF-A)"; > #else > @@ -59,7 +44,6 @@ > filename = "u-boot.itb"; > fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>; > fit,align = <512>; > - offset = <CONFIG_SPL_PAD_TO>; > images { > u-boot { > description = "U-Boot"; > @@ -164,6 +148,33 @@ > fit,loadables; > }; > }; > + }; > +#endif /* HAS_FIT */ > + > + simple-bin { > + filename = "u-boot-rockchip.bin"; > + pad-byte = <0xff>; > + > + mkimage { > + filename = "idbloader.img"; > + args = "-n", CONFIG_SYS_SOC, "-T", "rksd"; > + multiple-data-files; > + > +#ifdef CONFIG_ROCKCHIP_EXTERNAL_TPL > + rockchip-tpl { > + }; > +#elif defined(CONFIG_TPL) > + u-boot-tpl { > + }; > +#endif > + u-boot-spl { > + }; > + }; > + > +#ifdef HAS_FIT > + fit { > + offset = <CONFIG_SPL_PAD_TO>; > + insert-template = <&common_part>; > }; > #else > u-boot-img {
This looks fine in theory, but we should probably also fix the possible abuse of following in simple-bin-spi and rk3399-u-boot.dtsi rom images. fit { type = "blob"; filename = "u-boot.itb"; }; Regards, Jonas