[PATCH v4 04/10] rockchip: binman: Create a template for the FIT
Kever Yang
kever.yang at rock-chips.com
Sun Apr 6 17:32:28 CEST 2025
On 2025/3/29 23:06, Jonas Karlman wrote:
> From: Simon Glass <sjg at chromium.org>
>
> 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 <sjg at chromium.org>
> Signed-off-by: Jonas Karlman <jonas at kwiboo.se>
Reviewed-by: Kever Yang <kever.yang at rock-chips.com>
Thanks,
- Kever
> ---
> 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 | 61 ++++++++++++++++++-------------
> 1 file changed, 35 insertions(+), 26 deletions(-)
>
> diff --git a/arch/arm/dts/rockchip-u-boot.dtsi b/arch/arm/dts/rockchip-u-boot.dtsi
> index 8aea2e6f5713..9ef1ca6cd13a 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
> + 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
>
> fdtmap {
> };
> @@ -196,7 +205,7 @@
> };
> };
>
> -#if defined(CONFIG_ARM64) || defined(CONFIG_SPL_OPTEE_IMAGE)
> +#ifdef HAS_FIT
> fit {
> type = "blob";
> filename = "u-boot.itb";
More information about the U-Boot
mailing list