[PATCH v2 2/3] arm: dts: rockchip: Separate rockchip-binman.dtsi

Jagan Teki jagan at edgeble.ai
Thu Nov 3 07:19:48 CET 2022


rockchip-u-boot.dtsi has the FIT image for the final stage of
binman image creation.

If the actual binman node is part of this dtsi then there are
build issues to use optee as input to this final stage binman
image since optee is built via another binman image creation
unlike ATF built via tools like make_fit_atf.py.

   binman: Filename 'u-boot.itb' not found in input path

Fix this by separating binman FIT image in rockchip-binman.dtsi

rockchip-u-boot.dtsi: binman node
rockchip-binman.dtsi: binman FIT image node

The inclusion of rockchip-binman.dtsi is always to be last in
included files as it has a FIT image node for final image creation.

Sample example of optee used rk3288 looks like
   b/arch/arm/dts/rk3288-u-boot.dtsi
   #include "rockchip-u-boot.dtsi"
   #include "rockchip-optee.dtsi"
   #include "rockchip-binman.dtsi"

Signed-off-by: Jagan Teki <jagan at edgeble.ai>
---
Changes for v2:
- excluded rv1126

 arch/arm/dts/px30-u-boot.dtsi              |  1 +
 arch/arm/dts/rk3036-u-boot.dtsi            |  1 +
 arch/arm/dts/rk3066a-u-boot.dtsi           |  1 +
 arch/arm/dts/rk3188-u-boot.dtsi            |  1 +
 arch/arm/dts/rk322x-u-boot.dtsi            |  1 +
 arch/arm/dts/rk3288-u-boot.dtsi            |  1 +
 arch/arm/dts/rk3308-u-boot.dtsi            |  1 +
 arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi |  1 +
 arch/arm/dts/rk3328-u-boot.dtsi            |  1 +
 arch/arm/dts/rk3368-u-boot.dtsi            |  1 +
 arch/arm/dts/rk3399-u-boot.dtsi            |  1 +
 arch/arm/dts/rk356x-u-boot.dtsi            |  1 +
 arch/arm/dts/rockchip-binman.dtsi          | 67 ++++++++++++++++++++++
 arch/arm/dts/rockchip-u-boot.dtsi          | 61 --------------------
 arch/arm/dts/rv1108-u-boot.dtsi            |  1 +
 15 files changed, 80 insertions(+), 61 deletions(-)
 create mode 100644 arch/arm/dts/rockchip-binman.dtsi

diff --git a/arch/arm/dts/px30-u-boot.dtsi b/arch/arm/dts/px30-u-boot.dtsi
index 462eaf68f8..7cea48181c 100644
--- a/arch/arm/dts/px30-u-boot.dtsi
+++ b/arch/arm/dts/px30-u-boot.dtsi
@@ -4,6 +4,7 @@
  */
 
 #include "rockchip-u-boot.dtsi"
+#include "rockchip-binman.dtsi"
 
 / {
 	aliases {
diff --git a/arch/arm/dts/rk3036-u-boot.dtsi b/arch/arm/dts/rk3036-u-boot.dtsi
index 41ac054b81..a49526c63a 100644
--- a/arch/arm/dts/rk3036-u-boot.dtsi
+++ b/arch/arm/dts/rk3036-u-boot.dtsi
@@ -4,3 +4,4 @@
  */
 
 #include "rockchip-u-boot.dtsi"
+#include "rockchip-binman.dtsi"
diff --git a/arch/arm/dts/rk3066a-u-boot.dtsi b/arch/arm/dts/rk3066a-u-boot.dtsi
index bc6e609d02..a85f752477 100644
--- a/arch/arm/dts/rk3066a-u-boot.dtsi
+++ b/arch/arm/dts/rk3066a-u-boot.dtsi
@@ -1,4 +1,5 @@
 // SPDX-License-Identifier: GPL-2.0+
 
 #include "rockchip-u-boot.dtsi"
+#include "rockchip-binman.dtsi"
 #include "rk3xxx-u-boot.dtsi"
diff --git a/arch/arm/dts/rk3188-u-boot.dtsi b/arch/arm/dts/rk3188-u-boot.dtsi
index 735776c16b..bc028a8c1b 100644
--- a/arch/arm/dts/rk3188-u-boot.dtsi
+++ b/arch/arm/dts/rk3188-u-boot.dtsi
@@ -4,6 +4,7 @@
  */
 
 #include "rockchip-u-boot.dtsi"
+#include "rockchip-binman.dtsi"
 #include "rk3xxx-u-boot.dtsi"
 
 &global_timer {
diff --git a/arch/arm/dts/rk322x-u-boot.dtsi b/arch/arm/dts/rk322x-u-boot.dtsi
index 79c41e481b..bd31c3bdc4 100644
--- a/arch/arm/dts/rk322x-u-boot.dtsi
+++ b/arch/arm/dts/rk322x-u-boot.dtsi
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0+
 
 #include "rockchip-u-boot.dtsi"
+#include "rockchip-binman.dtsi"
 
 / {
 	bus_intmem at 10080000 {
diff --git a/arch/arm/dts/rk3288-u-boot.dtsi b/arch/arm/dts/rk3288-u-boot.dtsi
index e411445ed6..a24d590e20 100644
--- a/arch/arm/dts/rk3288-u-boot.dtsi
+++ b/arch/arm/dts/rk3288-u-boot.dtsi
@@ -5,6 +5,7 @@
 
 #include "rockchip-u-boot.dtsi"
 #include "rockchip-optee.dtsi"
+#include "rockchip-binman.dtsi"
 
 / {
 	aliases {
diff --git a/arch/arm/dts/rk3308-u-boot.dtsi b/arch/arm/dts/rk3308-u-boot.dtsi
index ab5bfc2ce9..665582ddd3 100644
--- a/arch/arm/dts/rk3308-u-boot.dtsi
+++ b/arch/arm/dts/rk3308-u-boot.dtsi
@@ -4,6 +4,7 @@
  */
 
 #include "rockchip-u-boot.dtsi"
+#include "rockchip-binman.dtsi"
 
 / {
 	aliases {
diff --git a/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi b/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
index 16c33735eb..cd5d43b3c4 100644
--- a/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
+++ b/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
@@ -4,6 +4,7 @@
  */
 
 #include "rockchip-u-boot.dtsi"
+#include "rockchip-binman.dtsi"
 
 / {
 	chosen {
diff --git a/arch/arm/dts/rk3328-u-boot.dtsi b/arch/arm/dts/rk3328-u-boot.dtsi
index d4a7540a92..407286b176 100644
--- a/arch/arm/dts/rk3328-u-boot.dtsi
+++ b/arch/arm/dts/rk3328-u-boot.dtsi
@@ -4,6 +4,7 @@
  */
 
 #include "rockchip-u-boot.dtsi"
+#include "rockchip-binman.dtsi"
 
 / {
 	aliases {
diff --git a/arch/arm/dts/rk3368-u-boot.dtsi b/arch/arm/dts/rk3368-u-boot.dtsi
index 811d59ac34..c33604266a 100644
--- a/arch/arm/dts/rk3368-u-boot.dtsi
+++ b/arch/arm/dts/rk3368-u-boot.dtsi
@@ -5,6 +5,7 @@
 
 #include <dt-bindings/memory/rk3368-dmc.h>
 #include "rockchip-u-boot.dtsi"
+#include "rockchip-binman.dtsi"
 
 / {
 	dmc: dmc at ff610000 {
diff --git a/arch/arm/dts/rk3399-u-boot.dtsi b/arch/arm/dts/rk3399-u-boot.dtsi
index 3c1a15fe51..03a328b295 100644
--- a/arch/arm/dts/rk3399-u-boot.dtsi
+++ b/arch/arm/dts/rk3399-u-boot.dtsi
@@ -5,6 +5,7 @@
 #define USB_CLASS_HUB			9
 
 #include "rockchip-u-boot.dtsi"
+#include "rockchip-binman.dtsi"
 
 / {
 	aliases {
diff --git a/arch/arm/dts/rk356x-u-boot.dtsi b/arch/arm/dts/rk356x-u-boot.dtsi
index ccb8db0001..8265e1a0bd 100644
--- a/arch/arm/dts/rk356x-u-boot.dtsi
+++ b/arch/arm/dts/rk356x-u-boot.dtsi
@@ -4,6 +4,7 @@
  */
 
 #include "rockchip-u-boot.dtsi"
+#include "rockchip-binman.dtsi"
 
 / {
 	aliases {
diff --git a/arch/arm/dts/rockchip-binman.dtsi b/arch/arm/dts/rockchip-binman.dtsi
new file mode 100644
index 0000000000..8f7b3ee53b
--- /dev/null
+++ b/arch/arm/dts/rockchip-binman.dtsi
@@ -0,0 +1,67 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2019 Jagan Teki <jagan at amarulasolutions.com>
+ */
+
+#include <config.h>
+
+#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";
+#ifdef CONFIG_TPL
+			multiple-data-files;
+
+			u-boot-tpl {
+			};
+#endif
+			u-boot-spl {
+			};
+		};
+
+#ifdef CONFIG_ARM64
+		blob {
+			filename = "u-boot.itb";
+#else
+		u-boot-img {
+#endif
+			offset = <CONFIG_SPL_PAD_TO>;
+		};
+	};
+
+#ifdef CONFIG_ROCKCHIP_SPI_IMAGE
+	simple-bin-spi {
+		filename = "u-boot-rockchip-spi.bin";
+		pad-byte = <0xff>;
+
+		mkimage {
+			filename = "idbloader-spi.img";
+			args = "-n", CONFIG_SYS_SOC, "-T", "rkspi";
+#ifdef CONFIG_TPL
+			multiple-data-files;
+
+			u-boot-tpl {
+			};
+#endif
+			u-boot-spl {
+			};
+		};
+
+#ifdef CONFIG_ARM64
+		blob {
+			filename = "u-boot.itb";
+#else
+		u-boot-img {
+#endif
+			/* Sync with u-boot,spl-payload-offset if present */
+			offset = <CONFIG_SYS_SPI_U_BOOT_OFFS>;
+		};
+	};
+#endif
+};
+#endif
diff --git a/arch/arm/dts/rockchip-u-boot.dtsi b/arch/arm/dts/rockchip-u-boot.dtsi
index 584f21eb5b..3d55553e44 100644
--- a/arch/arm/dts/rockchip-u-boot.dtsi
+++ b/arch/arm/dts/rockchip-u-boot.dtsi
@@ -10,64 +10,3 @@
 		multiple-images;
 	};
 };
-
-#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";
-#ifdef CONFIG_TPL
-			multiple-data-files;
-
-			u-boot-tpl {
-			};
-#endif
-			u-boot-spl {
-			};
-		};
-
-#ifdef CONFIG_ARM64
-		blob {
-			filename = "u-boot.itb";
-#else
-		u-boot-img {
-#endif
-			offset = <CONFIG_SPL_PAD_TO>;
-		};
-	};
-
-#ifdef CONFIG_ROCKCHIP_SPI_IMAGE
-	simple-bin-spi {
-		filename = "u-boot-rockchip-spi.bin";
-		pad-byte = <0xff>;
-
-		mkimage {
-			filename = "idbloader-spi.img";
-			args = "-n", CONFIG_SYS_SOC, "-T", "rkspi";
-#ifdef CONFIG_TPL
-			multiple-data-files;
-
-			u-boot-tpl {
-			};
-#endif
-			u-boot-spl {
-			};
-		};
-
-#ifdef CONFIG_ARM64
-		blob {
-			filename = "u-boot.itb";
-#else
-		u-boot-img {
-#endif
-			/* Sync with u-boot,spl-payload-offset if present */
-			offset = <CONFIG_SYS_SPI_U_BOOT_OFFS>;
-		};
-	};
-#endif
-};
-#endif
diff --git a/arch/arm/dts/rv1108-u-boot.dtsi b/arch/arm/dts/rv1108-u-boot.dtsi
index 6a2098b8d4..e6cb7b2f24 100644
--- a/arch/arm/dts/rv1108-u-boot.dtsi
+++ b/arch/arm/dts/rv1108-u-boot.dtsi
@@ -4,6 +4,7 @@
  */
 
 #include "rockchip-u-boot.dtsi"
+#include "rockchip-binman.dtsi"
 
 &grf {
 	u-boot,dm-pre-reloc;
-- 
2.25.1



More information about the U-Boot mailing list