[PATCH 3/5] riscv: dts: th1520: Prepare binman configuration for loading OpenSBI

Yao Zi ziyao at disroot.org
Fri May 30 11:48:49 CEST 2025


Add an OpenSBI entry to the FIT image. As it expects an FDT to be
passed, corresponding FDT entry is generated with of-list as well.

As SPL now passes a full FDT for following stages, proper U-Boot image
is packed into u-boot-with-spl.bin without a devicetree copy included.

Signed-off-by: Yao Zi <ziyao at disroot.org>
---
 arch/riscv/dts/thead-th1520-binman.dtsi | 32 +++++++++++++++++++++----
 1 file changed, 28 insertions(+), 4 deletions(-)

diff --git a/arch/riscv/dts/thead-th1520-binman.dtsi b/arch/riscv/dts/thead-th1520-binman.dtsi
index f060639e1c6..7b535e8402c 100644
--- a/arch/riscv/dts/thead-th1520-binman.dtsi
+++ b/arch/riscv/dts/thead-th1520-binman.dtsi
@@ -30,24 +30,48 @@
 		fit,fdt-list = "of-list";
 
 		images {
+			opensbi {
+				description = "OpenSBI fw_dynamic Firmware";
+				type = "firmware";
+				os = "opensbi";
+				arch = "riscv";
+				load = /bits/ 64 <CONFIG_SPL_OPENSBI_LOAD_ADDR>;
+				entry = /bits/ 64 <CONFIG_SPL_OPENSBI_LOAD_ADDR>;
+
+				opensbi_blob: opensbi {
+					filename = "fw_dynamic.bin";
+					missing-msg = "opensbi";
+				};
+			};
+
 			uboot {
 				description = "U-Boot";
 				type = "standalone";
+				firmware = "opensbi";
 				os = "U-boot";
 				arch = "riscv";
 				compression = "none";
 				load = /bits/ 64 <CONFIG_TEXT_BASE>;
 
-				uboot_blob: u-boot {
+				uboot_nodtb_blob: u-boot-nodtb {
 				};
 			};
+
+			@fdt-SEQ {
+				fit,operation = "gen-fdt-nodes";
+				description = "NAME";
+				type = "flat_dt";
+				compression = "none";
+			};
 		};
 
 		configurations {
-			default = "conf-th1520-lichee-pi-4a";
+			default = "@conf-DEFAULT-SEQ";
 
-			conf-th1520-lichee-pi-4a {
-				description = "th1520-lichee-pi-4a";
+			@conf-SEQ {
+				description = "NAME";
+				fdt = "fdt-SEQ";
+				firmware = "opensbi";
 				loadables = "uboot";
 			};
 		};
-- 
2.49.0



More information about the U-Boot mailing list