[PATCH v5 3/7] rockchip: binman: Create a template for the FIT
Jonas Karlman
jonas at kwiboo.se
Thu Apr 10 23:44:52 CEST 2025
From: Simon Glass <sjg at 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 <sjg at chromium.org>
Signed-off-by: Jonas Karlman <jonas at kwiboo.se>
Reviewed-by: Kever Yang <kever.yang at rock-chips.com>
Reviewed-by: Quentin Schulz <quentin.schulz at cherry.de>
---
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
More information about the U-Boot
mailing list