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 {
-- 
2.43.0

Reply via email to