From: Simon Glass <[email protected]>

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 <[email protected]>
Signed-off-by: Jonas Karlman <[email protected]>
---
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";
-- 
2.49.0

Reply via email to