From: Simon Glass <s...@chromium.org> Move the FIT description into a template so that it can be used in both the simple-bin and the simple-bin-spi images.
Signed-off-by: Simon Glass <s...@chromium.org> Signed-off-by: Jonas Karlman <jo...@kwiboo.se> Reviewed-by: Kever Yang <kever.y...@rock-chips.com> Reviewed-by: Quentin Schulz <quentin.sch...@cherry.de> --- Changes in v6: - No change Changes in v5: - Merge patch to use template for simple-bin-spi image - Collect r-b tags Changes in v4: - Rename template label to fit_template - Split from "VBE serial part H: Implement VBE on Rockchip RK3399" Changes in v3: - Use HAS_FIT for the SPI node also - Leave fit { node open within #ifdef HAS_FIT - Move placement of CONFIG_SPL_PAD_TO - Keep the FIT filename --- arch/arm/dts/rockchip-u-boot.dtsi | 64 +++++++++++++++++-------------- 1 file changed, 36 insertions(+), 28 deletions(-) diff --git a/arch/arm/dts/rockchip-u-boot.dtsi b/arch/arm/dts/rockchip-u-boot.dtsi index 943d7d87a068..0c074c0ec6b9 100644 --- a/arch/arm/dts/rockchip-u-boot.dtsi +++ b/arch/arm/dts/rockchip-u-boot.dtsi @@ -19,6 +19,10 @@ #define FIT_UBOOT_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 + fit_template: template-1 { + type = "fit"; #ifdef CONFIG_ARM64 description = "FIT image for U-Boot with bl31 (TF-A)"; #else @@ -56,10 +41,8 @@ #endif #address-cells = <1>; fit,fdt-list = "of-list"; - 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,12 +147,38 @@ 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 { + filename = "u-boot.itb"; + insert-template = <&fit_template>; #else u-boot-img { +#endif offset = <CONFIG_SPL_PAD_TO>; }; -#endif }; #ifdef CONFIG_ROCKCHIP_SPI_IMAGE @@ -193,10 +202,9 @@ }; }; -#if defined(CONFIG_ARM64) || defined(CONFIG_SPL_OPTEE_IMAGE) +#ifdef HAS_FIT fit { - type = "blob"; - filename = "u-boot.itb"; + insert-template = <&fit_template>; #else u-boot-img { #endif -- 2.49.0