* [PATCH 0/2] Refactor binman nodes for boot binaries for TI AM625 into templates
@ 2026-07-17 10:42 Anshul Dalal
2026-07-17 10:42 ` [PATCH 1/2] arm: dts: k3-am625: add template for tiboot3.bin Anshul Dalal
2026-07-17 10:42 ` [PATCH 2/2] arm: dts: k3-am625: add template for tispl.bin Anshul Dalal
0 siblings, 2 replies; 8+ messages in thread
From: Anshul Dalal @ 2026-07-17 10:42 UTC (permalink / raw)
To: u-boot, upstream
Cc: Tom Rini, Ilias Apalodimas, Nishanth Menon, Robert Nelson,
Wadim Egorov, Francesco Dolcini, Aristo Chen, Suhaas Joshi,
Bryan Brattlof, Neha Malcom Francis, Ernest Van Hoecke,
Sparsh Kumar, Anshul Dalal
Hi all,
This patch series seeks to help in reuse by moving currently duplicated
entries for tiboot3.bin and tispl.bin into a generic SoC wide DTSI
(k3-am625-binman.dtsi).
This dtsi in-turn gets included by all AM625 based boards which can
insert the templates from k3-am625-binman.dtsi.
The newly added templates are as follows:
tiboot3_am625_hs
tiboot3_am625_hs_fs
tiboot3_am625_gp
ti_falcon_am625
ti_spl_unsigned_am625
ti_spl_am625
The series has been boot tested on beagleplay and AM62x EVM but the
following affected boards have only been build tested:
- phycore_am62x
- verdin-am62
To verify no regressions, I compared the final 'u-boot.dtb.out' for both
the R5 and A53 build using dtx_diff script from linux source.
Depends on: https://lore.kernel.org/u-boot/20260709-binman_template_phandle_copy_fix-v2-1-6c4017eec04d@ti.com/
Signed-off-by: Anshul Dalal <anshuld@ti.com>
---
Anshul Dalal (2):
arm: dts: k3-am625: add template for tiboot3.bin
arm: dts: k3-am625: add template for tispl.bin
arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi | 94 +----
arch/arm/dts/k3-am625-binman.dtsi | 363 ++++++++++++++++++
arch/arm/dts/k3-am625-phycore-som-binman.dtsi | 357 +-----------------
arch/arm/dts/k3-am625-r5-beagleplay.dts | 33 +-
arch/arm/dts/k3-am625-sk-binman.dtsi | 430 +++-------------------
arch/arm/dts/k3-am625-verdin-wifi-dev-binman.dtsi | 301 +--------------
6 files changed, 419 insertions(+), 1159 deletions(-)
---
base-commit: 2262ee62cd2fb5ee728b215361143cd174f3f310
change-id: 20260717-k3_binman_refactor-081615fabbea
Best regards,
--
Anshul Dalal <anshuld@ti.com>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/2] arm: dts: k3-am625: add template for tiboot3.bin
2026-07-17 10:42 [PATCH 0/2] Refactor binman nodes for boot binaries for TI AM625 into templates Anshul Dalal
@ 2026-07-17 10:42 ` Anshul Dalal
2026-07-28 11:16 ` Simon Glass
2026-07-17 10:42 ` [PATCH 2/2] arm: dts: k3-am625: add template for tispl.bin Anshul Dalal
1 sibling, 1 reply; 8+ messages in thread
From: Anshul Dalal @ 2026-07-17 10:42 UTC (permalink / raw)
To: u-boot, upstream
Cc: Tom Rini, Ilias Apalodimas, Nishanth Menon, Robert Nelson,
Wadim Egorov, Francesco Dolcini, Aristo Chen, Suhaas Joshi,
Bryan Brattlof, Neha Malcom Francis, Ernest Van Hoecke,
Sparsh Kumar, Anshul Dalal
Currently we are duplicating binman nodes responsible for building
tiboot3.bin binaries across boards that use TI's AM625 SoC.
This patch adds a SoC level k3-am625-binman.dtsi with templates for the
commonly used tiboot3 variants (i.e hs, hs-fs and gp) which can be
inserted by the corresponding board's dtsi to promote reuse.
No functional change is intended from this patch.
Signed-off-by: Anshul Dalal <anshuld@ti.com>
---
arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi | 2 +-
arch/arm/dts/k3-am625-binman.dtsi | 123 ++++++++++++++++++++++
arch/arm/dts/k3-am625-phycore-som-binman.dtsi | 116 +-------------------
arch/arm/dts/k3-am625-r5-beagleplay.dts | 33 +-----
arch/arm/dts/k3-am625-sk-binman.dtsi | 117 +-------------------
arch/arm/dts/k3-am625-verdin-wifi-dev-binman.dtsi | 116 +-------------------
6 files changed, 137 insertions(+), 370 deletions(-)
diff --git a/arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi b/arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi
index 2a4f0e453652..78d69499314e 100644
--- a/arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi
+++ b/arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi
@@ -6,7 +6,7 @@
* Copyright (C) 2022-2023 Robert Nelson, BeagleBoard.org Foundation
*/
-#include "k3-binman.dtsi"
+#include "k3-am625-binman.dtsi"
/ {
/* Keep the LEDs on by default to indicate life */
diff --git a/arch/arm/dts/k3-am625-binman.dtsi b/arch/arm/dts/k3-am625-binman.dtsi
new file mode 100644
index 000000000000..bb0af78d220a
--- /dev/null
+++ b/arch/arm/dts/k3-am625-binman.dtsi
@@ -0,0 +1,123 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2026 Texas Instruments Incorporated - https://www.ti.com/
+ */
+
+#include "k3-binman.dtsi"
+
+&binman {
+ tiboot3_am625_hs_template: template-tiboot3-hs {
+ ti-secure-rom {
+ content = <&u_boot_spl>, <&ti_fs_enc>, <&combined_tifs_cfg>,
+ <&combined_dm_cfg>, <&sysfw_inner_cert>;
+ combined;
+ dm-data;
+ sysfw-inner-cert;
+ keyfile = "custMpk.pem";
+ sw-rev = <1>;
+ content-sbl = <&u_boot_spl>;
+ content-sysfw = <&ti_fs_enc>;
+ content-sysfw-data = <&combined_tifs_cfg>;
+ content-sysfw-inner-cert = <&sysfw_inner_cert>;
+ content-dm-data = <&combined_dm_cfg>;
+ load = <CONFIG_SPL_TEXT_BASE>;
+ load-sysfw = <0x40000>;
+ load-sysfw-data = <0x67000>;
+ load-dm-data = <0x43c3a800>;
+ };
+ u_boot_spl: u-boot-spl {
+ no-expanded;
+ };
+ ti_fs_enc: ti-fs-enc.bin {
+ filename = "ti-sysfw/ti-fs-firmware-am62x-hs-enc.bin";
+ type = "blob-ext";
+ };
+ combined_tifs_cfg: combined-tifs-cfg.bin {
+ filename = "combined-tifs-cfg.bin";
+ type = "blob-ext";
+ };
+ sysfw_inner_cert: sysfw-inner-cert {
+ filename = "ti-sysfw/ti-fs-firmware-am62x-hs-cert.bin";
+ type = "blob-ext";
+ };
+ combined_dm_cfg: combined-dm-cfg.bin {
+ filename = "combined-dm-cfg.bin";
+ type = "blob-ext";
+ };
+ };
+
+ tiboot3_am625_hs_fs_template: template-tiboot3-hs-fs {
+ symlink = "tiboot3.bin";
+ ti-secure-rom {
+ content = <&u_boot_spl_fs>, <&ti_fs_enc_fs>, <&combined_tifs_cfg_fs>,
+ <&combined_dm_cfg_fs>, <&sysfw_inner_cert_fs>;
+ combined;
+ dm-data;
+ sysfw-inner-cert;
+ keyfile = "custMpk.pem";
+ sw-rev = <1>;
+ content-sbl = <&u_boot_spl_fs>;
+ content-sysfw = <&ti_fs_enc_fs>;
+ content-sysfw-data = <&combined_tifs_cfg_fs>;
+ content-sysfw-inner-cert = <&sysfw_inner_cert_fs>;
+ content-dm-data = <&combined_dm_cfg_fs>;
+ load = <CONFIG_SPL_TEXT_BASE>;
+ load-sysfw = <0x40000>;
+ load-sysfw-data = <0x67000>;
+ load-dm-data = <0x43c3a800>;
+ };
+ u_boot_spl_fs: u-boot-spl {
+ no-expanded;
+ };
+ ti_fs_enc_fs: ti-fs-enc.bin {
+ filename = "ti-sysfw/ti-fs-firmware-am62x-hs-fs-enc.bin";
+ type = "blob-ext";
+ };
+ combined_tifs_cfg_fs: combined-tifs-cfg.bin {
+ filename = "combined-tifs-cfg.bin";
+ type = "blob-ext";
+ };
+ sysfw_inner_cert_fs: sysfw-inner-cert {
+ filename = "ti-sysfw/ti-fs-firmware-am62x-hs-fs-cert.bin";
+ type = "blob-ext";
+ };
+ combined_dm_cfg_fs: combined-dm-cfg.bin {
+ filename = "combined-dm-cfg.bin";
+ type = "blob-ext";
+ };
+ };
+
+ tiboot3_am625_gp_template: template-tiboot3-gp {
+ ti-secure-rom {
+ content = <&u_boot_spl_unsigned>, <&ti_fs_gp>,
+ <&combined_tifs_cfg_gp>, <&combined_dm_cfg_gp>;
+ combined;
+ dm-data;
+ content-sbl = <&u_boot_spl_unsigned>;
+ load = <CONFIG_SPL_TEXT_BASE>;
+ content-sysfw = <&ti_fs_gp>;
+ load-sysfw = <0x40000>;
+ content-sysfw-data = <&combined_tifs_cfg_gp>;
+ load-sysfw-data = <0x67000>;
+ content-dm-data = <&combined_dm_cfg_gp>;
+ load-dm-data = <0x43c3a800>;
+ sw-rev = <1>;
+ keyfile = "ti-degenerate-key.pem";
+ };
+ u_boot_spl_unsigned: u-boot-spl {
+ no-expanded;
+ };
+ ti_fs_gp: ti-fs-gp.bin {
+ filename = "ti-sysfw/ti-fs-firmware-am62x-gp.bin";
+ type = "blob-ext";
+ };
+ combined_tifs_cfg_gp: combined-tifs-cfg-gp.bin {
+ filename = "combined-tifs-cfg.bin";
+ type = "blob-ext";
+ };
+ combined_dm_cfg_gp: combined-dm-cfg-gp.bin {
+ filename = "combined-dm-cfg.bin";
+ type = "blob-ext";
+ };
+ };
+};
diff --git a/arch/arm/dts/k3-am625-phycore-som-binman.dtsi b/arch/arm/dts/k3-am625-phycore-som-binman.dtsi
index 6d57a5d9ffa8..d09bdf29a95d 100644
--- a/arch/arm/dts/k3-am625-phycore-som-binman.dtsi
+++ b/arch/arm/dts/k3-am625-phycore-som-binman.dtsi
@@ -6,7 +6,7 @@
* Author: Wadim Egorov <w.egorov@phytec.de>
*/
-#include "k3-binman.dtsi"
+#include "k3-am625-binman.dtsi"
#ifdef CONFIG_TARGET_PHYCORE_AM62X_R5
@@ -17,124 +17,16 @@
&binman {
tiboot3-am62x-hs-phycore-som.bin {
filename = "tiboot3-am62x-hs-phycore-som.bin";
- ti-secure-rom {
- content = <&u_boot_spl>, <&ti_fs_enc>, <&combined_tifs_cfg>,
- <&combined_dm_cfg>, <&sysfw_inner_cert>;
- combined;
- dm-data;
- sysfw-inner-cert;
- keyfile = "custMpk.pem";
- sw-rev = <1>;
- content-sbl = <&u_boot_spl>;
- content-sysfw = <&ti_fs_enc>;
- content-sysfw-data = <&combined_tifs_cfg>;
- content-sysfw-inner-cert = <&sysfw_inner_cert>;
- content-dm-data = <&combined_dm_cfg>;
- load = <CONFIG_SPL_TEXT_BASE>;
- load-sysfw = <0x40000>;
- load-sysfw-data = <0x67000>;
- load-dm-data = <0x43c3a800>;
- };
- u_boot_spl: u-boot-spl {
- no-expanded;
- };
- ti_fs_enc: ti-fs-enc.bin {
- filename = "ti-sysfw/ti-fs-firmware-am62x-hs-enc.bin";
- type = "blob-ext";
- };
- combined_tifs_cfg: combined-tifs-cfg.bin {
- filename = "combined-tifs-cfg.bin";
- type = "blob-ext";
- };
- sysfw_inner_cert: sysfw-inner-cert {
- filename = "ti-sysfw/ti-fs-firmware-am62x-hs-cert.bin";
- type = "blob-ext";
- };
- combined_dm_cfg: combined-dm-cfg.bin {
- filename = "combined-dm-cfg.bin";
- type = "blob-ext";
- };
+ insert-template = <&tiboot3_am625_hs_template>;
};
-};
-
-&binman {
tiboot3-am62x-hs-fs-phycore-som.bin {
filename = "tiboot3-am62x-hs-fs-phycore-som.bin";
symlink = "tiboot3.bin";
- ti-secure-rom {
- content = <&u_boot_spl_fs>, <&ti_fs_enc_fs>, <&combined_tifs_cfg_fs>,
- <&combined_dm_cfg_fs>, <&sysfw_inner_cert_fs>;
- combined;
- dm-data;
- sysfw-inner-cert;
- keyfile = "custMpk.pem";
- sw-rev = <1>;
- content-sbl = <&u_boot_spl_fs>;
- content-sysfw = <&ti_fs_enc_fs>;
- content-sysfw-data = <&combined_tifs_cfg_fs>;
- content-sysfw-inner-cert = <&sysfw_inner_cert_fs>;
- content-dm-data = <&combined_dm_cfg_fs>;
- load = <CONFIG_SPL_TEXT_BASE>;
- load-sysfw = <0x40000>;
- load-sysfw-data = <0x67000>;
- load-dm-data = <0x43c3a800>;
- };
- u_boot_spl_fs: u-boot-spl {
- no-expanded;
- };
- ti_fs_enc_fs: ti-fs-enc.bin {
- filename = "ti-sysfw/ti-fs-firmware-am62x-hs-fs-enc.bin";
- type = "blob-ext";
- };
- combined_tifs_cfg_fs: combined-tifs-cfg.bin {
- filename = "combined-tifs-cfg.bin";
- type = "blob-ext";
- };
- sysfw_inner_cert_fs: sysfw-inner-cert {
- filename = "ti-sysfw/ti-fs-firmware-am62x-hs-fs-cert.bin";
- type = "blob-ext";
- };
- combined_dm_cfg_fs: combined-dm-cfg.bin {
- filename = "combined-dm-cfg.bin";
- type = "blob-ext";
- };
+ insert-template = <&tiboot3_am625_hs_fs_template>;
};
-};
-
-&binman {
tiboot3-am62x-gp-phycore-som.bin {
filename = "tiboot3-am62x-gp-phycore-som.bin";
- ti-secure-rom {
- content = <&u_boot_spl_unsigned>, <&ti_fs_gp>,
- <&combined_tifs_cfg_gp>, <&combined_dm_cfg_gp>;
- combined;
- dm-data;
- content-sbl = <&u_boot_spl_unsigned>;
- load = <CONFIG_SPL_TEXT_BASE>;
- content-sysfw = <&ti_fs_gp>;
- load-sysfw = <0x40000>;
- content-sysfw-data = <&combined_tifs_cfg_gp>;
- load-sysfw-data = <0x67000>;
- content-dm-data = <&combined_dm_cfg_gp>;
- load-dm-data = <0x43c3a800>;
- sw-rev = <1>;
- keyfile = "ti-degenerate-key.pem";
- };
- u_boot_spl_unsigned: u-boot-spl {
- no-expanded;
- };
- ti_fs_gp: ti-fs-gp.bin {
- filename = "ti-sysfw/ti-fs-firmware-am62x-gp.bin";
- type = "blob-ext";
- };
- combined_tifs_cfg_gp: combined-tifs-cfg-gp.bin {
- filename = "combined-tifs-cfg.bin";
- type = "blob-ext";
- };
- combined_dm_cfg_gp: combined-dm-cfg-gp.bin {
- filename = "combined-dm-cfg.bin";
- type = "blob-ext";
- };
+ insert-template = <&tiboot3_am625_gp_template>;
};
};
diff --git a/arch/arm/dts/k3-am625-r5-beagleplay.dts b/arch/arm/dts/k3-am625-r5-beagleplay.dts
index fb0b83b83f1b..0e8c74c0291d 100644
--- a/arch/arm/dts/k3-am625-r5-beagleplay.dts
+++ b/arch/arm/dts/k3-am625-r5-beagleplay.dts
@@ -33,38 +33,7 @@
tiboot3-am62x-gp-evm.bin {
filename = "tiboot3-am62x-gp-evm.bin";
symlink = "tiboot3.bin";
- ti-secure-rom {
- content = <&u_boot_spl_unsigned>, <&ti_fs_gp>,
- <&combined_tifs_cfg_gp>, <&combined_dm_cfg_gp>;
- combined;
- dm-data;
- content-sbl = <&u_boot_spl_unsigned>;
- load = <0x43c00000>;
- content-sysfw = <&ti_fs_gp>;
- load-sysfw = <0x40000>;
- content-sysfw-data = <&combined_tifs_cfg_gp>;
- load-sysfw-data = <0x67000>;
- content-dm-data = <&combined_dm_cfg_gp>;
- load-dm-data = <0x43c3a800>;
- sw-rev = <1>;
- keyfile = "ti-degenerate-key.pem";
- };
- u_boot_spl_unsigned: u-boot-spl {
- no-expanded;
- };
- ti_fs_gp: ti-fs-gp.bin {
- filename = "ti-sysfw/ti-fs-firmware-am62x-gp.bin";
- type = "blob-ext";
- };
- combined_tifs_cfg_gp: combined-tifs-cfg-gp.bin {
- filename = "combined-tifs-cfg.bin";
- type = "blob-ext";
- };
- combined_dm_cfg_gp: combined-dm-cfg-gp.bin {
- filename = "combined-dm-cfg.bin";
- type = "blob-ext";
- };
-
+ insert-template = <&tiboot3_am625_gp_template>;
};
};
diff --git a/arch/arm/dts/k3-am625-sk-binman.dtsi b/arch/arm/dts/k3-am625-sk-binman.dtsi
index 1717621a8500..9ac0c36f8645 100644
--- a/arch/arm/dts/k3-am625-sk-binman.dtsi
+++ b/arch/arm/dts/k3-am625-sk-binman.dtsi
@@ -3,7 +3,7 @@
* Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/
*/
-#include "k3-binman.dtsi"
+#include "k3-am625-binman.dtsi"
#ifdef CONFIG_TARGET_AM625_R5_EVM
@@ -14,125 +14,16 @@
&binman {
tiboot3-am62x-hs-evm.bin {
filename = "tiboot3-am62x-hs-evm.bin";
- ti-secure-rom {
- content = <&u_boot_spl>, <&ti_fs_enc>, <&combined_tifs_cfg>,
- <&combined_dm_cfg>, <&sysfw_inner_cert>;
- combined;
- dm-data;
- sysfw-inner-cert;
- keyfile = "custMpk.pem";
- sw-rev = <1>;
- content-sbl = <&u_boot_spl>;
- content-sysfw = <&ti_fs_enc>;
- content-sysfw-data = <&combined_tifs_cfg>;
- content-sysfw-inner-cert = <&sysfw_inner_cert>;
- content-dm-data = <&combined_dm_cfg>;
- load = <CONFIG_SPL_TEXT_BASE>;
- load-sysfw = <0x40000>;
- load-sysfw-data = <0x67000>;
- load-dm-data = <0x43c3a800>;
- };
- u_boot_spl: u-boot-spl {
- no-expanded;
- };
- ti_fs_enc: ti-fs-enc.bin {
- filename = "ti-sysfw/ti-fs-firmware-am62x-hs-enc.bin";
- type = "blob-ext";
- };
- combined_tifs_cfg: combined-tifs-cfg.bin {
- filename = "combined-tifs-cfg.bin";
- type = "blob-ext";
- };
- sysfw_inner_cert: sysfw-inner-cert {
- filename = "ti-sysfw/ti-fs-firmware-am62x-hs-cert.bin";
- type = "blob-ext";
- };
- combined_dm_cfg: combined-dm-cfg.bin {
- filename = "combined-dm-cfg.bin";
- type = "blob-ext";
- };
+ insert-template = <&tiboot3_am625_hs_template>;
};
-};
-
-&binman {
tiboot3-am62x-hs-fs-evm.bin {
filename = "tiboot3-am62x-hs-fs-evm.bin";
symlink = "tiboot3.bin";
- ti-secure-rom {
- content = <&u_boot_spl_fs>, <&ti_fs_enc_fs>, <&combined_tifs_cfg_fs>,
- <&combined_dm_cfg_fs>, <&sysfw_inner_cert_fs>;
- combined;
- dm-data;
- sysfw-inner-cert;
- keyfile = "custMpk.pem";
- sw-rev = <1>;
- content-sbl = <&u_boot_spl_fs>;
- content-sysfw = <&ti_fs_enc_fs>;
- content-sysfw-data = <&combined_tifs_cfg_fs>;
- content-sysfw-inner-cert = <&sysfw_inner_cert_fs>;
- content-dm-data = <&combined_dm_cfg_fs>;
- load = <CONFIG_SPL_TEXT_BASE>;
- load-sysfw = <0x40000>;
- load-sysfw-data = <0x67000>;
- load-dm-data = <0x43c3a800>;
- };
- u_boot_spl_fs: u-boot-spl {
- no-expanded;
- };
- ti_fs_enc_fs: ti-fs-enc.bin {
- filename = "ti-sysfw/ti-fs-firmware-am62x-hs-fs-enc.bin";
- type = "blob-ext";
- };
- combined_tifs_cfg_fs: combined-tifs-cfg.bin {
- filename = "combined-tifs-cfg.bin";
- type = "blob-ext";
- };
- sysfw_inner_cert_fs: sysfw-inner-cert {
- filename = "ti-sysfw/ti-fs-firmware-am62x-hs-fs-cert.bin";
- type = "blob-ext";
- };
- combined_dm_cfg_fs: combined-dm-cfg.bin {
- filename = "combined-dm-cfg.bin";
- type = "blob-ext";
- };
+ insert-template = <&tiboot3_am625_hs_fs_template>;
};
-};
-
-&binman {
tiboot3-am62x-gp-evm.bin {
filename = "tiboot3-am62x-gp-evm.bin";
- ti-secure-rom {
- content = <&u_boot_spl_unsigned>, <&ti_fs_gp>,
- <&combined_tifs_cfg_gp>, <&combined_dm_cfg_gp>;
- combined;
- dm-data;
- content-sbl = <&u_boot_spl_unsigned>;
- load = <CONFIG_SPL_TEXT_BASE>;
- content-sysfw = <&ti_fs_gp>;
- load-sysfw = <0x40000>;
- content-sysfw-data = <&combined_tifs_cfg_gp>;
- load-sysfw-data = <0x67000>;
- content-dm-data = <&combined_dm_cfg_gp>;
- load-dm-data = <0x43c3a800>;
- sw-rev = <1>;
- keyfile = "ti-degenerate-key.pem";
- };
- u_boot_spl_unsigned: u-boot-spl {
- no-expanded;
- };
- ti_fs_gp: ti-fs-gp.bin {
- filename = "ti-sysfw/ti-fs-firmware-am62x-gp.bin";
- type = "blob-ext";
- };
- combined_tifs_cfg_gp: combined-tifs-cfg-gp.bin {
- filename = "combined-tifs-cfg.bin";
- type = "blob-ext";
- };
- combined_dm_cfg_gp: combined-dm-cfg-gp.bin {
- filename = "combined-dm-cfg.bin";
- type = "blob-ext";
- };
-
+ insert-template = <&tiboot3_am625_gp_template>;
};
};
diff --git a/arch/arm/dts/k3-am625-verdin-wifi-dev-binman.dtsi b/arch/arm/dts/k3-am625-verdin-wifi-dev-binman.dtsi
index 35b7f8b256e9..c57780d876d6 100644
--- a/arch/arm/dts/k3-am625-verdin-wifi-dev-binman.dtsi
+++ b/arch/arm/dts/k3-am625-verdin-wifi-dev-binman.dtsi
@@ -3,7 +3,7 @@
* Copyright 2023 Toradex
*/
-#include "k3-binman.dtsi"
+#include "k3-am625-binman.dtsi"
#ifdef CONFIG_TARGET_VERDIN_AM62_R5
@@ -14,124 +14,16 @@
&binman {
tiboot3-am62x-hs-verdin.bin {
filename = "tiboot3-am62x-hs-verdin.bin";
- ti-secure-rom {
- content = <&u_boot_spl>, <&ti_fs_enc>, <&combined_tifs_cfg>,
- <&combined_dm_cfg>, <&sysfw_inner_cert>;
- combined;
- dm-data;
- sysfw-inner-cert;
- keyfile = "custMpk.pem";
- sw-rev = <1>;
- content-sbl = <&u_boot_spl>;
- content-sysfw = <&ti_fs_enc>;
- content-sysfw-data = <&combined_tifs_cfg>;
- content-sysfw-inner-cert = <&sysfw_inner_cert>;
- content-dm-data = <&combined_dm_cfg>;
- load = <CONFIG_SPL_TEXT_BASE>;
- load-sysfw = <0x40000>;
- load-sysfw-data = <0x67000>;
- load-dm-data = <0x43c3a800>;
- };
- u_boot_spl: u-boot-spl {
- no-expanded;
- };
- ti_fs_enc: ti-fs-enc.bin {
- filename = "ti-sysfw/ti-fs-firmware-am62x-hs-enc.bin";
- type = "blob-ext";
- };
- combined_tifs_cfg: combined-tifs-cfg.bin {
- filename = "combined-tifs-cfg.bin";
- type = "blob-ext";
- };
- sysfw_inner_cert: sysfw-inner-cert {
- filename = "ti-sysfw/ti-fs-firmware-am62x-hs-cert.bin";
- type = "blob-ext";
- };
- combined_dm_cfg: combined-dm-cfg.bin {
- filename = "combined-dm-cfg.bin";
- type = "blob-ext";
- };
+ insert-template = <&tiboot3_am625_hs_template>;
};
-};
-
-&binman {
tiboot3-am62x-hs-fs-verdin.bin {
filename = "tiboot3-am62x-hs-fs-verdin.bin";
symlink = "tiboot3.bin";
- ti-secure-rom {
- content = <&u_boot_spl_fs>, <&ti_fs_enc_fs>, <&combined_tifs_cfg_fs>,
- <&combined_dm_cfg_fs>, <&sysfw_inner_cert_fs>;
- combined;
- dm-data;
- sysfw-inner-cert;
- keyfile = "custMpk.pem";
- sw-rev = <1>;
- content-sbl = <&u_boot_spl_fs>;
- content-sysfw = <&ti_fs_enc_fs>;
- content-sysfw-data = <&combined_tifs_cfg_fs>;
- content-sysfw-inner-cert = <&sysfw_inner_cert_fs>;
- content-dm-data = <&combined_dm_cfg_fs>;
- load = <CONFIG_SPL_TEXT_BASE>;
- load-sysfw = <0x40000>;
- load-sysfw-data = <0x67000>;
- load-dm-data = <0x43c3a800>;
- };
- u_boot_spl_fs: u-boot-spl {
- no-expanded;
- };
- ti_fs_enc_fs: ti-fs-enc.bin {
- filename = "ti-sysfw/ti-fs-firmware-am62x-hs-fs-enc.bin";
- type = "blob-ext";
- };
- combined_tifs_cfg_fs: combined-tifs-cfg.bin {
- filename = "combined-tifs-cfg.bin";
- type = "blob-ext";
- };
- sysfw_inner_cert_fs: sysfw-inner-cert {
- filename = "ti-sysfw/ti-fs-firmware-am62x-hs-fs-cert.bin";
- type = "blob-ext";
- };
- combined_dm_cfg_fs: combined-dm-cfg.bin {
- filename = "combined-dm-cfg.bin";
- type = "blob-ext";
- };
+ insert-template = <&tiboot3_am625_hs_fs_template>;
};
-};
-
-&binman {
tiboot3-am62x-gp-verdin.bin {
filename = "tiboot3-am62x-gp-verdin.bin";
- ti-secure-rom {
- content = <&u_boot_spl_unsigned>, <&ti_fs_gp>,
- <&combined_tifs_cfg_gp>, <&combined_dm_cfg_gp>;
- combined;
- dm-data;
- content-sbl = <&u_boot_spl_unsigned>;
- load = <CONFIG_SPL_TEXT_BASE>;
- content-sysfw = <&ti_fs_gp>;
- load-sysfw = <0x40000>;
- content-sysfw-data = <&combined_tifs_cfg_gp>;
- load-sysfw-data = <0x67000>;
- content-dm-data = <&combined_dm_cfg_gp>;
- load-dm-data = <0x43c3a800>;
- sw-rev = <1>;
- keyfile = "ti-degenerate-key.pem";
- };
- u_boot_spl_unsigned: u-boot-spl {
- no-expanded;
- };
- ti_fs_gp: ti-fs-gp.bin {
- filename = "ti-sysfw/ti-fs-firmware-am62x-gp.bin";
- type = "blob-ext";
- };
- combined_tifs_cfg_gp: combined-tifs-cfg-gp.bin {
- filename = "combined-tifs-cfg.bin";
- type = "blob-ext";
- };
- combined_dm_cfg_gp: combined-dm-cfg-gp.bin {
- filename = "combined-dm-cfg.bin";
- type = "blob-ext";
- };
+ insert-template = <&tiboot3_am625_gp_template>;
};
};
--
2.55.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/2] arm: dts: k3-am625: add template for tispl.bin
2026-07-17 10:42 [PATCH 0/2] Refactor binman nodes for boot binaries for TI AM625 into templates Anshul Dalal
2026-07-17 10:42 ` [PATCH 1/2] arm: dts: k3-am625: add template for tiboot3.bin Anshul Dalal
@ 2026-07-17 10:42 ` Anshul Dalal
2026-07-28 11:16 ` Simon Glass
1 sibling, 1 reply; 8+ messages in thread
From: Anshul Dalal @ 2026-07-17 10:42 UTC (permalink / raw)
To: u-boot, upstream
Cc: Tom Rini, Ilias Apalodimas, Nishanth Menon, Robert Nelson,
Wadim Egorov, Francesco Dolcini, Aristo Chen, Suhaas Joshi,
Bryan Brattlof, Neha Malcom Francis, Ernest Van Hoecke,
Sparsh Kumar, Anshul Dalal
This patch addresses the duplication of the binman nodes responsible for
generating tispl.bin and tispl.bin_unsigned for TI's AM625 SoC based
boards.
The common nodes are factored out into a template in the SoC level
k3-am625-binman.dtsi that each board in-turn includes.
No functional change is intended from the patch asides from the addition
of tifsstub-hs and tifsstub-fs nodes in beagleplay's tispl.bin which
should have no consequence asides from growing the binary size by few
kilo bytes.
Signed-off-by: Anshul Dalal <anshuld@ti.com>
---
arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi | 92 +------
arch/arm/dts/k3-am625-binman.dtsi | 240 +++++++++++++++++
arch/arm/dts/k3-am625-phycore-som-binman.dtsi | 241 +----------------
arch/arm/dts/k3-am625-sk-binman.dtsi | 313 +++-------------------
arch/arm/dts/k3-am625-verdin-wifi-dev-binman.dtsi | 185 +------------
5 files changed, 282 insertions(+), 789 deletions(-)
diff --git a/arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi b/arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi
index 78d69499314e..d06cbd899c2a 100644
--- a/arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi
+++ b/arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi
@@ -63,99 +63,11 @@
#define AM625_BEAGLEPLAY_DTB "dts/upstream/src/arm64/ti/k3-am625-beagleplay.dtb"
&binman {
- tifsstub-gp {
- filename = "tifsstub.bin_gp";
- ti-secure-rom {
- content = <&tifsstub_gp>;
- core = "secure";
- load = <0x60000>;
- sw-rev = <CONFIG_K3_X509_SWRV>;
- keyfile = "ti-degenerate-key.pem";
- tifsstub;
- };
- tifsstub_gp: tifsstub-gp.bin {
- filename = "ti-sysfw/ti-fs-stub-firmware-am62x-gp.bin";
- type = "blob-ext";
- optional;
- };
- };
-
ti-spl_unsigned {
- filename = "tispl.bin_unsigned";
+ insert-template = <&ti_spl_unsigned_am625_template>;
symlink = "tispl.bin";
- pad-byte = <0xff>;
-
fit {
- description = "Configuration to load ATF and SPL";
- #address-cells = <1>;
-
images {
-
- atf {
- description = "ARM Trusted Firmware";
- type = "firmware";
- arch = "arm64";
- compression = "none";
- os = "arm-trusted-firmware";
- load = <CONFIG_K3_ATF_LOAD_ADDR>;
- entry = <CONFIG_K3_ATF_LOAD_ADDR>;
- atf-bl31 {
- filename = "bl31.bin";
- };
- };
-
- tee {
- description = "OP-TEE";
- type = "tee";
- arch = "arm64";
- compression = "none";
- os = "tee";
- load = <CONFIG_K3_OPTEE_LOAD_ADDR>;
- entry = <CONFIG_K3_OPTEE_LOAD_ADDR>;
- tee-os {
- filename = "tee-raw.bin";
- };
- };
-
- tifsstub-gp {
- description = "tifsstub";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-gp";
- load = <0x9dc00000>;
- entry = <0x9dc00000>;
- blob-ext {
- filename = "tifsstub.bin_gp";
- };
- };
-
- dm {
- description = "DM binary";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "DM";
- load = <0x89000000>;
- entry = <0x89000000>;
- ti-dm {
- filename = "ti-dm/am62xx/ipc_echo_testb_mcu1_0_release_strip.xer5f";
- };
- };
-
- spl {
- description = "SPL (64-bit)";
- type = "standalone";
- os = "U-Boot";
- arch = "arm64";
- compression = "none";
- load = <CONFIG_SPL_TEXT_BASE>;
- entry = <CONFIG_SPL_TEXT_BASE>;
- blob {
- filename = "spl/u-boot-spl-nodtb.bin";
- };
- };
-
fdt-0 {
description = "k3-am625-beagleplay";
type = "flat_dt";
@@ -166,10 +78,8 @@
};
};
};
-
configurations {
default = "conf-0";
-
conf-0 {
description = "k3-am625-beagleplay";
firmware = "atf";
diff --git a/arch/arm/dts/k3-am625-binman.dtsi b/arch/arm/dts/k3-am625-binman.dtsi
index bb0af78d220a..80ee941593cc 100644
--- a/arch/arm/dts/k3-am625-binman.dtsi
+++ b/arch/arm/dts/k3-am625-binman.dtsi
@@ -121,3 +121,243 @@
};
};
};
+
+#ifdef CONFIG_ARM64
+
+&binman {
+ tifsstub-hs {
+ filename = "tifsstub.bin_hs";
+ ti-secure-rom {
+ content = <&tifsstub_hs_cert>;
+ core = "secure";
+ load = <0x40000>;
+ sw-rev = <CONFIG_K3_X509_SWRV>;
+ keyfile = "custMpk.pem";
+ countersign;
+ tifsstub;
+ };
+ tifsstub_hs_cert: tifsstub-hs-cert.bin {
+ filename = "ti-sysfw/ti-fs-stub-firmware-am62x-hs-cert.bin";
+ type = "blob-ext";
+ optional;
+ };
+ tifsstub_hs_enc: tifsstub-hs-enc.bin {
+ filename = "ti-sysfw/ti-fs-stub-firmware-am62x-hs-enc.bin";
+ type = "blob-ext";
+ optional;
+ };
+ };
+
+ tifsstub-fs {
+ filename = "tifsstub.bin_fs";
+ tifsstub_fs_cert: tifsstub-fs-cert.bin {
+ filename = "ti-sysfw/ti-fs-stub-firmware-am62x-hs-cert.bin";
+ type = "blob-ext";
+ optional;
+ };
+ tifsstub_fs_enc: tifsstub-fs-enc.bin {
+ filename = "ti-sysfw/ti-fs-stub-firmware-am62x-hs-enc.bin";
+ type = "blob-ext";
+ optional;
+ };
+ };
+
+ tifsstub-gp {
+ filename = "tifsstub.bin_gp";
+ ti-secure-rom {
+ content = <&tifsstub_gp>;
+ core = "secure";
+ load = <0x60000>;
+ sw-rev = <CONFIG_K3_X509_SWRV>;
+ keyfile = "ti-degenerate-key.pem";
+ tifsstub;
+ };
+ tifsstub_gp: tifsstub-gp.bin {
+ filename = "ti-sysfw/ti-fs-stub-firmware-am62x-gp.bin";
+ type = "blob-ext";
+ optional;
+ };
+ };
+
+ ti_falcon_am625_template: template-ti-falcon {
+ insert-template = <&ti_falcon_template>;
+ fit {
+ images {
+ tifsstub-hs {
+ description = "TIFSSTUB";
+ type = "firmware";
+ arch = "arm32";
+ compression = "none";
+ os = "tifsstub-hs";
+ load = <0x9dc00000>;
+ entry = <0x9dc00000>;
+ blob-ext {
+ filename = "tifsstub.bin_hs";
+ };
+ };
+ tifsstub-fs {
+ description = "TIFSSTUB";
+ type = "firmware";
+ arch = "arm32";
+ compression = "none";
+ os = "tifsstub-fs";
+ load = <0x9dc00000>;
+ entry = <0x9dc00000>;
+ blob-ext {
+ filename = "tifsstub.bin_fs";
+ };
+ };
+ tifsstub-gp {
+ description = "TIFSSTUB";
+ type = "firmware";
+ arch = "arm32";
+ compression = "none";
+ os = "tifsstub-gp";
+ load = <0x9dc00000>;
+ entry = <0x9dc00000>;
+ blob-ext {
+ filename = "tifsstub.bin_gp";
+ };
+ };
+ dm {
+ ti-secure {
+ content = <&dm_falcon>;
+ keyfile = "custMpk.pem";
+ };
+ dm_falcon: ti-dm {
+ filename = "ti-dm/am62xx/ipc_echo_testb_mcu1_0_release_strip.xer5f";
+ };
+ };
+ };
+ };
+ };
+
+ ti_spl_am625_template: template-ti-spl {
+ insert-template = <&ti_spl_template>;
+ fit {
+ images {
+ atf {
+ ti-secure {
+ auth-in-place = <0xa02>;
+ firewall-1-0 {
+ insert-template = <&firewall_bg_3>;
+ id = <1>;
+ region = <0>;
+ };
+ firewall-1-1 {
+ insert-template = <&firewall_armv8_atf_fg>;
+ id = <1>;
+ region = <1>;
+ };
+ };
+ };
+ tee {
+ ti-secure {
+ auth-in-place = <0xa02>;
+ firewall-1-2 {
+ insert-template = <&firewall_armv8_optee_fg>;
+ id = <1>;
+ region = <2>;
+ };
+ };
+ };
+ tifsstub-hs {
+ description = "TIFSSTUB";
+ type = "firmware";
+ arch = "arm32";
+ compression = "none";
+ os = "tifsstub-hs";
+ load = <0x9dc00000>;
+ entry = <0x9dc00000>;
+ blob-ext {
+ filename = "tifsstub.bin_hs";
+ };
+ };
+ tifsstub-fs {
+ description = "TIFSSTUB";
+ type = "firmware";
+ arch = "arm32";
+ compression = "none";
+ os = "tifsstub-fs";
+ load = <0x9dc00000>;
+ entry = <0x9dc00000>;
+ blob-ext {
+ filename = "tifsstub.bin_fs";
+ };
+ };
+ tifsstub-gp {
+ description = "TIFSSTUB";
+ type = "firmware";
+ arch = "arm32";
+ compression = "none";
+ os = "tifsstub-gp";
+ load = <0x9dc00000>;
+ entry = <0x9dc00000>;
+ blob-ext {
+ filename = "tifsstub.bin_gp";
+ };
+ };
+ dm {
+ ti-secure {
+ content = <&dm>;
+ keyfile = "custMpk.pem";
+ };
+ dm: ti-dm {
+ filename = "ti-dm/am62xx/ipc_echo_testb_mcu1_0_release_strip.xer5f";
+ };
+ };
+ };
+ };
+ };
+
+ ti_spl_unsigned_am625_template: template-ti-spl_unsigned {
+ insert-template = <&ti_spl_unsigned_template>;
+ fit {
+ images {
+ tifsstub-hs {
+ description = "tifsstub";
+ type = "firmware";
+ arch = "arm32";
+ compression = "none";
+ os = "tifsstub-hs";
+ load = <0x9dc00000>;
+ entry = <0x9dc00000>;
+ blob-ext {
+ filename = "tifsstub.bin_hs";
+ };
+ };
+ tifsstub-fs {
+ description = "tifsstub";
+ type = "firmware";
+ arch = "arm32";
+ compression = "none";
+ os = "tifsstub-fs";
+ load = <0x9dc00000>;
+ entry = <0x9dc00000>;
+ blob-ext {
+ filename = "tifsstub.bin_fs";
+ };
+ };
+ tifsstub-gp {
+ description = "tifsstub";
+ type = "firmware";
+ arch = "arm32";
+ compression = "none";
+ os = "tifsstub-gp";
+ load = <0x9dc00000>;
+ entry = <0x9dc00000>;
+ blob-ext {
+ filename = "tifsstub.bin_gp";
+ };
+ };
+ dm {
+ ti-dm {
+ filename = "ti-dm/am62xx/ipc_echo_testb_mcu1_0_release_strip.xer5f";
+ };
+ };
+ };
+ };
+ };
+};
+
+#endif
diff --git a/arch/arm/dts/k3-am625-phycore-som-binman.dtsi b/arch/arm/dts/k3-am625-phycore-som-binman.dtsi
index d09bdf29a95d..12f8acffc4a4 100644
--- a/arch/arm/dts/k3-am625-phycore-som-binman.dtsi
+++ b/arch/arm/dts/k3-am625-phycore-som-binman.dtsi
@@ -50,146 +50,10 @@
#define AM625_PHYBOARD_LYRA_DTB "u-boot.dtb"
&binman {
- tifsstub-hs {
- filename = "tifsstub.bin_hs";
- ti-secure-rom {
- content = <&tifsstub_hs_cert>;
- core = "secure";
- load = <0x40000>;
- sw-rev = <CONFIG_K3_X509_SWRV>;
- keyfile = "custMpk.pem";
- countersign;
- tifsstub;
- };
- tifsstub_hs_cert: tifsstub-hs-cert.bin {
- filename = "ti-sysfw/ti-fs-stub-firmware-am62x-hs-cert.bin";
- type = "blob-ext";
- optional;
- };
- tifsstub_hs_enc: tifsstub-hs-enc.bin {
- filename = "ti-sysfw/ti-fs-stub-firmware-am62x-hs-enc.bin";
- type = "blob-ext";
- optional;
- };
- };
-
- tifsstub-fs {
- filename = "tifsstub.bin_fs";
- tifsstub_fs_cert: tifsstub-fs-cert.bin {
- filename = "ti-sysfw/ti-fs-stub-firmware-am62x-hs-cert.bin";
- type = "blob-ext";
- optional;
- };
- tifsstub_fs_enc: tifsstub-fs-enc.bin {
- filename = "ti-sysfw/ti-fs-stub-firmware-am62x-hs-enc.bin";
- type = "blob-ext";
- optional;
- };
-
- };
-
- tifsstub-gp {
- filename = "tifsstub.bin_gp";
- ti-secure-rom {
- content = <&tifsstub_gp>;
- core = "secure";
- load = <0x60000>;
- sw-rev = <CONFIG_K3_X509_SWRV>;
- keyfile = "ti-degenerate-key.pem";
- tifsstub;
- };
- tifsstub_gp: tifsstub-gp.bin {
- filename = "ti-sysfw/ti-fs-stub-firmware-am62x-gp.bin";
- type = "blob-ext";
- optional;
- };
- };
-
-
ti-spl {
- insert-template = <&ti_spl_template>;
-
+ insert-template = <&ti_spl_am625_template>;
fit {
-
images {
- atf {
- ti-secure {
- auth-in-place = <0xa02>;
-
- firewall-1-0 {
- insert-template = <&firewall_bg_3>;
- id = <1>;
- region = <0>;
- };
-
- firewall-1-1 {
- insert-template = <&firewall_armv8_atf_fg>;
- id = <1>;
- region = <1>;
- };
- };
- };
-
- tee {
- ti-secure {
- auth-in-place = <0xa02>;
-
- firewall-1-2 {
- insert-template = <&firewall_armv8_optee_fg>;
- id = <1>;
- region = <2>;
- };
- };
- };
-
- tifsstub-hs {
- description = "TIFSSTUB";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-hs";
- load = <0x9dc00000>;
- entry = <0x9dc00000>;
- blob-ext {
- filename = "tifsstub.bin_hs";
- };
- };
-
- tifsstub-fs {
- description = "TIFSSTUB";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-fs";
- load = <0x9dc00000>;
- entry = <0x9dc00000>;
- blob-ext {
- filename = "tifsstub.bin_fs";
- };
- };
-
- tifsstub-gp {
- description = "TIFSSTUB";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-gp";
- load = <0x9dc00000>;
- entry = <0x9dc00000>;
- blob-ext {
- filename = "tifsstub.bin_gp";
- };
- };
- dm {
- ti-secure {
- content = <&dm>;
- keyfile = "custMpk.pem";
- };
- dm: ti-dm {
- filename = "ti-dm/am62xx/ipc_echo_testb_mcu1_0_release_strip.xer5f";
- };
- };
-
fdt-0 {
description = "k3-am625-phyboard-lyra-rdk";
type = "flat_dt";
@@ -338,111 +202,10 @@
};
&binman {
- tifsstub-hs {
- filename = "tifsstub.bin_hs";
- ti-secure-rom {
- content = <&tifsstub_hs_cert>;
- core = "secure";
- load = <0x40000>;
- sw-rev = <CONFIG_K3_X509_SWRV>;
- keyfile = "custMpk.pem";
- countersign;
- tifsstub;
- };
- tifsstub_hs_cert: tifsstub-hs-cert.bin {
- filename = "ti-sysfw/ti-fs-stub-firmware-am62x-hs-cert.bin";
- type = "blob-ext";
- optional;
- };
- tifsstub_hs_enc: tifsstub-hs-enc.bin {
- filename = "ti-sysfw/ti-fs-stub-firmware-am62x-hs-enc.bin";
- type = "blob-ext";
- optional;
- };
- };
-
- tifsstub-fs {
- filename = "tifsstub.bin_fs";
- tifsstub_fs_cert: tifsstub-fs-cert.bin {
- filename = "ti-sysfw/ti-fs-stub-firmware-am62x-hs-cert.bin";
- type = "blob-ext";
- optional;
- };
- tifsstub_fs_enc: tifsstub-fs-enc.bin {
- filename = "ti-sysfw/ti-fs-stub-firmware-am62x-hs-enc.bin";
- type = "blob-ext";
- optional;
- };
-
- };
-
- tifsstub-gp {
- filename = "tifsstub.bin_gp";
- ti-secure-rom {
- content = <&tifsstub_gp>;
- core = "secure";
- load = <0x60000>;
- sw-rev = <CONFIG_K3_X509_SWRV>;
- keyfile = "ti-degenerate-key.pem";
- tifsstub;
- };
- tifsstub_gp: tifsstub-gp.bin {
- filename = "ti-sysfw/ti-fs-stub-firmware-am62x-gp.bin";
- type = "blob-ext";
- optional;
- };
- };
-
ti-spl_unsigned {
- insert-template = <&ti_spl_unsigned_template>;
-
+ insert-template = <&ti_spl_unsigned_am625_template>;
fit {
images {
- tifsstub-hs {
- description = "TIFSSTUB";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-hs";
- load = <0x9dc00000>;
- entry = <0x9dc00000>;
- blob-ext {
- filename = "tifsstub.bin_hs";
- };
- };
-
- tifsstub-fs {
- description = "TIFSSTUB";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-fs";
- load = <0x9dc00000>;
- entry = <0x9dc00000>;
- blob-ext {
- filename = "tifsstub.bin_fs";
- };
- };
-
- tifsstub-gp {
- description = "TIFSSTUB";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-gp";
- load = <0x9dc00000>;
- entry = <0x9dc00000>;
- blob-ext {
- filename = "tifsstub.bin_gp";
- };
- };
-
- dm {
- ti-dm {
- filename = "ti-dm/am62xx/ipc_echo_testb_mcu1_0_release_strip.xer5f";
- };
- };
-
fdt-0 {
description = "k3-am625-phyboard-lyra-rdk";
type = "flat_dt";
diff --git a/arch/arm/dts/k3-am625-sk-binman.dtsi b/arch/arm/dts/k3-am625-sk-binman.dtsi
index 9ac0c36f8645..08edf7f32519 100644
--- a/arch/arm/dts/k3-am625-sk-binman.dtsi
+++ b/arch/arm/dts/k3-am625-sk-binman.dtsi
@@ -46,113 +46,9 @@
#define AM625_SK_DTB "u-boot.dtb"
&binman {
- tifsstub-hs {
- filename = "tifsstub.bin_hs";
- ti-secure-rom {
- content = <&tifsstub_hs_cert>;
- core = "secure";
- load = <0x40000>;
- sw-rev = <CONFIG_K3_X509_SWRV>;
- keyfile = "custMpk.pem";
- countersign;
- tifsstub;
- };
- tifsstub_hs_cert: tifsstub-hs-cert.bin {
- filename = "ti-sysfw/ti-fs-stub-firmware-am62x-hs-cert.bin";
- type = "blob-ext";
- optional;
- };
- tifsstub_hs_enc: tifsstub-hs-enc.bin {
- filename = "ti-sysfw/ti-fs-stub-firmware-am62x-hs-enc.bin";
- type = "blob-ext";
- optional;
- };
- };
-
- tifsstub-fs {
- filename = "tifsstub.bin_fs";
- tifsstub_fs_cert: tifsstub-fs-cert.bin {
- filename = "ti-sysfw/ti-fs-stub-firmware-am62x-hs-cert.bin";
- type = "blob-ext";
- optional;
- };
- tifsstub_fs_enc: tifsstub-fs-enc.bin {
- filename = "ti-sysfw/ti-fs-stub-firmware-am62x-hs-enc.bin";
- type = "blob-ext";
- optional;
- };
-
- };
-
- tifsstub-gp {
- filename = "tifsstub.bin_gp";
- ti-secure-rom {
- content = <&tifsstub_gp>;
- core = "secure";
- load = <0x60000>;
- sw-rev = <CONFIG_K3_X509_SWRV>;
- keyfile = "ti-degenerate-key.pem";
- tifsstub;
- };
- tifsstub_gp: tifsstub-gp.bin {
- filename = "ti-sysfw/ti-fs-stub-firmware-am62x-gp.bin";
- type = "blob-ext";
- optional;
- };
- };
-
ti-falcon {
- insert-template = <&ti_falcon_template>;
-
+ insert-template = <&ti_falcon_am625_template>;
fit {
- images {
- tifsstub-hs {
- description = "TIFSSTUB";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-hs";
- load = <0x9dc00000>;
- entry = <0x9dc00000>;
- blob-ext {
- filename = "tifsstub.bin_hs";
- };
- };
- tifsstub-fs {
- description = "TIFSSTUB";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-fs";
- load = <0x9dc00000>;
- entry = <0x9dc00000>;
- blob-ext {
- filename = "tifsstub.bin_fs";
- };
- };
- tifsstub-gp {
- description = "TIFSSTUB";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-gp";
- load = <0x9dc00000>;
- entry = <0x9dc00000>;
- blob-ext {
- filename = "tifsstub.bin_gp";
- };
- };
- dm {
- ti-secure {
- content = <&dm_falcon>;
- keyfile = "custMpk.pem";
- };
- dm_falcon: ti-dm {
- filename = "ti-dm/am62xx/ipc_echo_testb_mcu1_0_release_strip.xer5f";
- };
- };
- };
-
configurations {
default = "conf-hs-fs";
conf-hs-fs {
@@ -175,109 +71,63 @@
};
ti-spl {
- insert-template = <&ti_spl_template>;
-
+ insert-template = <&ti_spl_am625_template>;
fit {
images {
- atf {
- ti-secure {
- auth-in-place = <0xa02>;
-
- firewall-1-0 {
- insert-template = <&firewall_bg_3>;
- id = <1>;
- region = <0>;
- };
-
- firewall-1-1 {
- insert-template = <&firewall_armv8_atf_fg>;
- id = <1>;
- region = <1>;
- };
- };
- };
-
- tee {
+ fdt-0 {
+ description = "k3-am625-sk";
+ type = "flat_dt";
+ arch = "arm";
+ compression = "none";
ti-secure {
- auth-in-place = <0xa02>;
-
- firewall-1-2 {
- insert-template = <&firewall_armv8_optee_fg>;
- id = <1>;
- region = <2>;
- };
+ content = <&spl_am625_sk_dtb>;
+ keyfile = "custMpk.pem";
};
- };
-
- tifsstub-hs {
- description = "TIFSSTUB";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-hs";
- load = <0x9dc00000>;
- entry = <0x9dc00000>;
- blob-ext {
- filename = "tifsstub.bin_hs";
+ spl_am625_sk_dtb: blob-ext {
+ filename = SPL_AM625_SK_DTB;
};
};
-
- tifsstub-fs {
- description = "TIFSSTUB";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-fs";
- load = <0x9dc00000>;
- entry = <0x9dc00000>;
- blob-ext {
- filename = "tifsstub.bin_fs";
- };
+ };
+ configurations {
+ default = "conf-hs-fs";
+ conf-hs-fs {
+ description = "k3-am625-sk-hs-fs";
+ firmware = "atf";
+ loadables = "tee", "tifsstub-fs", "dm", "spl";
+ fdt = "fdt-0";
};
-
- tifsstub-gp {
- description = "TIFSSTUB";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-gp";
- load = <0x9dc00000>;
- entry = <0x9dc00000>;
- blob-ext {
- filename = "tifsstub.bin_gp";
- };
+ conf-hs-se {
+ description = "k3-am625-sk-hs-se";
+ firmware = "atf";
+ loadables = "tee", "tifsstub-hs", "dm", "spl";
+ fdt = "fdt-0";
};
-
- dm {
- ti-secure {
- content = <&dm>;
- keyfile = "custMpk.pem";
- };
- dm: ti-dm {
- filename = "ti-dm/am62xx/ipc_echo_testb_mcu1_0_release_strip.xer5f";
- };
+ conf-gp {
+ description = "k3-am625-sk-gp";
+ firmware = "atf";
+ loadables = "tee", "tifsstub-gp", "dm", "spl";
+ fdt = "fdt-0";
};
+ };
+ };
+ };
+ ti-spl_unsigned {
+ insert-template = <&ti_spl_unsigned_am625_template>;
+ fit {
+ images {
fdt-0 {
description = "k3-am625-sk";
type = "flat_dt";
arch = "arm";
compression = "none";
- ti-secure {
- content = <&spl_am625_sk_dtb>;
- keyfile = "custMpk.pem";
- };
- spl_am625_sk_dtb: blob-ext {
+ spl_am625_sk_dtb_unsigned: blob {
filename = SPL_AM625_SK_DTB;
};
-
};
-
};
-
configurations {
default = "conf-hs-fs";
-
conf-hs-fs {
description = "k3-am625-sk-hs-fs";
firmware = "atf";
@@ -344,95 +194,6 @@
};
};
-&binman {
- ti-spl_unsigned {
- insert-template = <&ti_spl_unsigned_template>;
-
- fit {
- images {
-
- tifsstub-hs {
- description = "tifsstub";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-hs";
- load = <0x9dc00000>;
- entry = <0x9dc00000>;
- blob-ext {
- filename = "tifsstub.bin_hs";
- };
- };
-
- tifsstub-fs {
- description = "tifsstub";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-fs";
- load = <0x9dc00000>;
- entry = <0x9dc00000>;
- blob-ext {
- filename = "tifsstub.bin_fs";
- };
- };
-
- tifsstub-gp {
- description = "tifsstub";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-gp";
- load = <0x9dc00000>;
- entry = <0x9dc00000>;
- blob-ext {
- filename = "tifsstub.bin_gp";
- };
- };
-
- dm {
- ti-dm {
- filename = "ti-dm/am62xx/ipc_echo_testb_mcu1_0_release_strip.xer5f";
- };
- };
-
- fdt-0 {
- description = "k3-am625-sk";
- type = "flat_dt";
- arch = "arm";
- compression = "none";
- spl_am625_sk_dtb_unsigned: blob {
- filename = SPL_AM625_SK_DTB;
- };
- };
- };
-
- configurations {
- default = "conf-hs-fs";
-
- conf-hs-fs {
- description = "k3-am625-sk-hs-fs";
- firmware = "atf";
- loadables = "tee", "tifsstub-fs", "dm", "spl";
- fdt = "fdt-0";
- };
- conf-hs-se {
- description = "k3-am625-sk-hs-se";
- firmware = "atf";
- loadables = "tee", "tifsstub-hs", "dm", "spl";
- fdt = "fdt-0";
- };
- conf-gp {
- description = "k3-am625-sk-gp";
- firmware = "atf";
- loadables = "tee", "tifsstub-gp", "dm", "spl";
- fdt = "fdt-0";
- };
- };
- };
- };
-};
-
&binman {
u-boot_unsigned {
insert-template = <&u_boot_unsigned_template>;
diff --git a/arch/arm/dts/k3-am625-verdin-wifi-dev-binman.dtsi b/arch/arm/dts/k3-am625-verdin-wifi-dev-binman.dtsi
index c57780d876d6..527b04936fcb 100644
--- a/arch/arm/dts/k3-am625-verdin-wifi-dev-binman.dtsi
+++ b/arch/arm/dts/k3-am625-verdin-wifi-dev-binman.dtsi
@@ -35,146 +35,10 @@
#define VERDIN_AM62_DTB "u-boot.dtb"
&binman {
- tifsstub-hs {
- filename = "tifsstub.bin_hs";
- ti-secure-rom {
- content = <&tifsstub_hs_cert>;
- core = "secure";
- load = <0x40000>;
- sw-rev = <CONFIG_K3_X509_SWRV>;
- keyfile = "custMpk.pem";
- countersign;
- tifsstub;
- };
- tifsstub_hs_cert: tifsstub-hs-cert.bin {
- filename = "ti-sysfw/ti-fs-stub-firmware-am62x-hs-cert.bin";
- type = "blob-ext";
- optional;
- };
- tifsstub_hs_enc: tifsstub-hs-enc.bin {
- filename = "ti-sysfw/ti-fs-stub-firmware-am62x-hs-enc.bin";
- type = "blob-ext";
- optional;
- };
- };
-
- tifsstub-fs {
- filename = "tifsstub.bin_fs";
- tifsstub_fs_cert: tifsstub-fs-cert.bin {
- filename = "ti-sysfw/ti-fs-stub-firmware-am62x-hs-cert.bin";
- type = "blob-ext";
- optional;
- };
- tifsstub_fs_enc: tifsstub-fs-enc.bin {
- filename = "ti-sysfw/ti-fs-stub-firmware-am62x-hs-enc.bin";
- type = "blob-ext";
- optional;
- };
-
- };
-
- tifsstub-gp {
- filename = "tifsstub.bin_gp";
- ti-secure-rom {
- content = <&tifsstub_gp>;
- core = "secure";
- load = <0x60000>;
- sw-rev = <CONFIG_K3_X509_SWRV>;
- keyfile = "ti-degenerate-key.pem";
- tifsstub;
- };
- tifsstub_gp: tifsstub-gp.bin {
- filename = "ti-sysfw/ti-fs-stub-firmware-am62x-gp.bin";
- type = "blob-ext";
- optional;
- };
- };
-
ti-spl {
- insert-template = <&ti_spl_template>;
-
+ insert-template = <&ti_spl_am625_template>;
fit {
-
images {
- atf {
- ti-secure {
- auth-in-place = <0xa02>;
-
- firewall-1-0 {
- insert-template = <&firewall_bg_3>;
- id = <1>;
- region = <0>;
- };
-
- firewall-1-1 {
- insert-template = <&firewall_armv8_atf_fg>;
- id = <1>;
- region = <1>;
- };
- };
- };
-
- tee {
- ti-secure {
- auth-in-place = <0xa02>;
-
- firewall-1-2 {
- insert-template = <&firewall_armv8_optee_fg>;
- id = <1>;
- region = <2>;
- };
- };
- };
-
- tifsstub-hs {
- description = "TIFSSTUB";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-hs";
- load = <0x9dc00000>;
- entry = <0x9dc00000>;
- blob-ext {
- filename = "tifsstub.bin_hs";
- };
- };
-
- tifsstub-fs {
- description = "TIFSSTUB";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-fs";
- load = <0x9dc00000>;
- entry = <0x9dc00000>;
- blob-ext {
- filename = "tifsstub.bin_fs";
- };
- };
-
- tifsstub-gp {
- description = "TIFSSTUB";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-gp";
- load = <0x9dc00000>;
- entry = <0x9dc00000>;
- blob-ext {
- filename = "tifsstub.bin_gp";
- };
- };
-
- dm {
- ti-secure {
- content = <&dm>;
- keyfile = "custMpk.pem";
- };
- dm: ti-dm {
- filename = "ti-dm/am62xx/ipc_echo_testb_mcu1_0_release_strip.xer5f";
- };
- };
-
fdt-0 {
description = "k3-am625-verdin-wifi-dev";
type = "flat_dt";
@@ -260,55 +124,10 @@
&binman {
ti-spl_unsigned {
- insert-template = <&ti_spl_unsigned_template>;
+ insert-template = <&ti_spl_unsigned_am625_template>;
fit {
images {
- tifsstub-hs {
- description = "tifsstub";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-hs";
- load = <0x9dc00000>;
- entry = <0x9dc00000>;
- blob-ext {
- filename = "tifsstub.bin_hs";
- };
- };
-
- tifsstub-fs {
- description = "tifsstub";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-fs";
- load = <0x9dc00000>;
- entry = <0x9dc00000>;
- blob-ext {
- filename = "tifsstub.bin_fs";
- };
- };
-
- tifsstub-gp {
- description = "tifsstub";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-gp";
- load = <0x9dc00000>;
- entry = <0x9dc00000>;
- blob-ext {
- filename = "tifsstub.bin_gp";
- };
- };
-
- dm {
- ti-dm {
- filename = "ti-dm/am62xx/ipc_echo_testb_mcu1_0_release_strip.xer5f";
- };
- };
-
fdt-0 {
description = "k3-am625-verdin-wifi-dev";
type = "flat_dt";
--
2.55.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] arm: dts: k3-am625: add template for tiboot3.bin
2026-07-17 10:42 ` [PATCH 1/2] arm: dts: k3-am625: add template for tiboot3.bin Anshul Dalal
@ 2026-07-28 11:16 ` Simon Glass
2026-07-29 10:38 ` Anshul Dalal
0 siblings, 1 reply; 8+ messages in thread
From: Simon Glass @ 2026-07-28 11:16 UTC (permalink / raw)
To: anshuld; +Cc: u-boot, upstream
Hi Anshul,
On 2026-07-17T10:42:51, Anshul Dalal <anshuld@ti.com> wrote:
> arm: dts: k3-am625: add template for tiboot3.bin
>
> Currently we are duplicating binman nodes responsible for building
> tiboot3.bin binaries across boards that use TI's AM625 SoC.
>
> This patch adds a SoC level k3-am625-binman.dtsi with templates for the
> commonly used tiboot3 variants (i.e hs, hs-fs and gp) which can be
> inserted by the corresponding board's dtsi to promote reuse.
Please use 'i.e.' rather than 'i.e'.
>
> No functional change is intended from this patch.
>
> Signed-off-by: Anshul Dalal <anshuld@ti.com>
>
> arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi | 2 +-
> arch/arm/dts/k3-am625-binman.dtsi | 123 ++++++++++++++++++++++
> arch/arm/dts/k3-am625-phycore-som-binman.dtsi | 116 +-------------------
> arch/arm/dts/k3-am625-r5-beagleplay.dts | 33 +-----
> arch/arm/dts/k3-am625-sk-binman.dtsi | 117 +-------------------
> arch/arm/dts/k3-am625-verdin-wifi-dev-binman.dtsi | 116 +-------------------
> 6 files changed, 137 insertions(+), 370 deletions(-)
> diff --git a/arch/arm/dts/k3-am625-binman.dtsi b/arch/arm/dts/k3-am625-binman.dtsi
> @@ -0,0 +1,123 @@
> + tiboot3_am625_hs_fs_template: template-tiboot3-hs-fs {
> + symlink = "tiboot3.bin";
> + ti-secure-rom {
This bakes a policy into the template - that hs-fs is the default
tiboot3 - but the hs and gp templates deliberately don't. All three
callers (sk, verdin, phycore) already set symlink = "tiboot3.bin" on
the hs-fs node themselves, and on the r5 beagleplay the symlink lives
on the gp node. Would it be OK to drop this line so all three
templates are symmetric?
> diff --git a/arch/arm/dts/k3-am625-r5-beagleplay.dts b/arch/arm/dts/k3-am625-r5-beagleplay.dts
> @@ -33,38 +33,7 @@
> tiboot3-am62x-gp-evm.bin {
> filename = "tiboot3-am62x-gp-evm.bin";
> symlink = "tiboot3.bin";
> - ti-secure-rom {
> - content = <&u_boot_spl_unsigned>, <&ti_fs_gp>,
> - <&combined_tifs_cfg_gp>, <&combined_dm_cfg_gp>;
...
> - load = <0x43c00000>;
The original hardcodes load = <0x43c00000> whereas the template uses
load = <CONFIG_SPL_TEXT_BASE>. These resolve to the same value today
(the ARCH_K3 && !ARM64 default is 0x43c00000, and no R5 defconfig here
overrides it), so it is a no-op - but please mention it in the commit
message under 'No functional change is intended' so the next reader
doesn't have to chase Kconfig defaults.
> diff --git a/arch/arm/dts/k3-am625-binman.dtsi b/arch/arm/dts/k3-am625-binman.dtsi
> @@ -0,0 +1,123 @@
> + tiboot3_am625_gp_template: template-tiboot3-gp {
> + ti-secure-rom {
> + content = <&u_boot_spl_unsigned>, <&ti_fs_gp>,
> + <&combined_tifs_cfg_gp>, <&combined_dm_cfg_gp>;
Just to check - the property ordering inside ti-secure-rom here
(content-sbl / load / content-sysfw / load-sysfw / … then sw-rev /
keyfile) differs from the hs and hs-fs templates, which group all
content-* first and load-* last. Both work, but since you are
consolidating anyway it would read better if the three followed the
same layout. What do you think?
In any case:
Reviewed-by: Simon Glass <sjg@chromium.org>
Regards,
Simon
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] arm: dts: k3-am625: add template for tispl.bin
2026-07-17 10:42 ` [PATCH 2/2] arm: dts: k3-am625: add template for tispl.bin Anshul Dalal
@ 2026-07-28 11:16 ` Simon Glass
2026-07-29 10:45 ` Anshul Dalal
2026-07-29 10:50 ` Anshul Dalal
0 siblings, 2 replies; 8+ messages in thread
From: Simon Glass @ 2026-07-28 11:16 UTC (permalink / raw)
To: anshuld; +Cc: u-boot, upstream
Hi Anshul,
On 2026-07-17T10:42:51, Anshul Dalal <anshuld@ti.com> wrote:
> arm: dts: k3-am625: add template for tispl.bin
>
> This patch addresses the duplication of the binman nodes responsible for
> generating tispl.bin and tispl.bin_unsigned for TI's AM625 SoC based
> boards.
>
> The common nodes are factored out into a template in the SoC level
> k3-am625-binman.dtsi that each board in-turn includes.
>
> No functional change is intended from the patch asides from the addition
> of tifsstub-hs and tifsstub-fs nodes in beagleplay's tispl.bin which
> should have no consequence asides from growing the binary size by few
> kilo bytes.
>
> Signed-off-by: Anshul Dalal <anshuld@ti.com>
>
> arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi | 92 +------
> arch/arm/dts/k3-am625-binman.dtsi | 240 ++++++++++++++++++
> arch/arm/dts/k3-am625-phycore-som-binman.dtsi | 241 +-----------------
> arch/arm/dts/k3-am625-sk-binman.dtsi | 288 ++--------------------
> arch/arm/dts/k3-am625-verdin-wifi-dev-binman.dtsi | 185 +-------------
> 5 files changed, 270 insertions(+), 776 deletions(-)
> diff --git a/arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi b/arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi
> @@ -63,99 +63,11 @@
> ti-spl_unsigned {
> - filename = "tispl.bin_unsigned";
> + insert-template = <&ti_spl_unsigned_am625_template>;
> symlink = "tispl.bin";
> - pad-byte = <0xff>;
> -
> fit {
> - description = "Configuration to load ATF and SPL";
> - #address-cells = <1>;
> -
> images {
Just to check: the FIT for beagleplay now also contains tifsstub-hs /
tifsstub-fs entries even though conf-0's loadables only references
tifsstub-gp. Have you confirmed that the resulting tispl.bin still
parses cleanly and SPL does not try to load the unused entries? Please
note the beagleplay boot test in the commit message.
I was unable to try this in my lab:
arm: + am62x_beagleplay_r5
+binman: Node '/binman/tiboot3-am62x-gp-evm.bin/ti-secure-rom': Cannot
find node for phandle 100
+make[1]: *** [Makefile:1410: .binman_stamp] Error 1
+make: *** [Makefile:189: __sub-make] Error 2
> diff --git a/arch/arm/dts/k3-am625-binman.dtsi b/arch/arm/dts/k3-am625-binman.dtsi
> @@ -121,3 +121,243 @@
> +#ifdef CONFIG_ARM64
> +
> +&binman {
> + tifsstub-hs {
The three tifsstub-{hs,fs,gp} nodes are unconditional within the
CONFIG_ARM64 block, so every A53 board including this dtsi will
produce tifsstub.bin_hs / _fs / _gp regardless of variant. That is
fine since the blobs are optional, but please confirm this is intended
and does not regress packaging scripts that consume these artefacts.
> diff --git a/arch/arm/dts/k3-am625-sk-binman.dtsi b/arch/arm/dts/k3-am625-sk-binman.dtsi
> @@ -392,16 +155,15 @@
> };
> };
> };
> -
> &binman {
> u-boot_unsigned {
Please keep the blank line before &binman - the file is easier to scan
with the separators intact.
Regards,
Simon
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] arm: dts: k3-am625: add template for tiboot3.bin
2026-07-28 11:16 ` Simon Glass
@ 2026-07-29 10:38 ` Anshul Dalal
0 siblings, 0 replies; 8+ messages in thread
From: Anshul Dalal @ 2026-07-29 10:38 UTC (permalink / raw)
To: Simon Glass, anshuld; +Cc: u-boot, upstream
On Tue Jul 28, 2026 at 4:46 PM IST, Simon Glass wrote:
> Hi Anshul,
>
> On 2026-07-17T10:42:51, Anshul Dalal <anshuld@ti.com> wrote:
>> arm: dts: k3-am625: add template for tiboot3.bin
[snip]
>> diff --git a/arch/arm/dts/k3-am625-binman.dtsi b/arch/arm/dts/k3-am625-binman.dtsi
>> @@ -0,0 +1,123 @@
>> + tiboot3_am625_hs_fs_template: template-tiboot3-hs-fs {
>> + symlink = "tiboot3.bin";
>> + ti-secure-rom {
>
> This bakes a policy into the template - that hs-fs is the default
> tiboot3 - but the hs and gp templates deliberately don't. All three
> callers (sk, verdin, phycore) already set symlink = "tiboot3.bin" on
> the hs-fs node themselves, and on the r5 beagleplay the symlink lives
> on the gp node. Would it be OK to drop this line so all three
> templates are symmetric?
Yeah, putting symlink in the template is not the right approach. I'll
fix it in the v2.
>
>> diff --git a/arch/arm/dts/k3-am625-r5-beagleplay.dts b/arch/arm/dts/k3-am625-r5-beagleplay.dts
>> @@ -33,38 +33,7 @@
>> tiboot3-am62x-gp-evm.bin {
>> filename = "tiboot3-am62x-gp-evm.bin";
>> symlink = "tiboot3.bin";
>> - ti-secure-rom {
>> - content = <&u_boot_spl_unsigned>, <&ti_fs_gp>,
>> - <&combined_tifs_cfg_gp>, <&combined_dm_cfg_gp>;
>
> ...
>> - load = <0x43c00000>;
>
> The original hardcodes load = <0x43c00000> whereas the template uses
> load = <CONFIG_SPL_TEXT_BASE>. These resolve to the same value today
> (the ARCH_K3 && !ARM64 default is 0x43c00000, and no R5 defconfig here
> overrides it), so it is a no-op - but please mention it in the commit
> message under 'No functional change is intended' so the next reader
> doesn't have to chase Kconfig defaults.
>
This value is specific to the SoC and will not change for AM62x but I
will add a note in the commit message for the change anyways.
>> diff --git a/arch/arm/dts/k3-am625-binman.dtsi b/arch/arm/dts/k3-am625-binman.dtsi
>> @@ -0,0 +1,123 @@
>> + tiboot3_am625_gp_template: template-tiboot3-gp {
>> + ti-secure-rom {
>> + content = <&u_boot_spl_unsigned>, <&ti_fs_gp>,
>> + <&combined_tifs_cfg_gp>, <&combined_dm_cfg_gp>;
>
> Just to check - the property ordering inside ti-secure-rom here
> (content-sbl / load / content-sysfw / load-sysfw / … then sw-rev /
> keyfile) differs from the hs and hs-fs templates, which group all
> content-* first and load-* last. Both work, but since you are
> consolidating anyway it would read better if the three followed the
> same layout. What do you think?
>
Yeah, that's fair. I'll re-order the gp template to match the other two.
Thanks for the review,
Anshul
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] arm: dts: k3-am625: add template for tispl.bin
2026-07-28 11:16 ` Simon Glass
@ 2026-07-29 10:45 ` Anshul Dalal
2026-07-29 10:50 ` Anshul Dalal
1 sibling, 0 replies; 8+ messages in thread
From: Anshul Dalal @ 2026-07-29 10:45 UTC (permalink / raw)
To: Simon Glass, anshuld; +Cc: u-boot, upstream
On Tue Jul 28, 2026 at 4:46 PM IST, Simon Glass wrote:
> On 2026-07-17T10:42:51, Anshul Dalal <anshuld@ti.com> wrote:
>> arm: dts: k3-am625: add template for tispl.bin
>>
>> This patch addresses the duplication of the binman nodes responsible for
>> generating tispl.bin and tispl.bin_unsigned for TI's AM625 SoC based
>> boards.
>>
>> The common nodes are factored out into a template in the SoC level
>> k3-am625-binman.dtsi that each board in-turn includes.
>>
>> No functional change is intended from the patch asides from the addition
>> of tifsstub-hs and tifsstub-fs nodes in beagleplay's tispl.bin which
>> should have no consequence asides from growing the binary size by few
>> kilo bytes.
>>
>> Signed-off-by: Anshul Dalal <anshuld@ti.com>
>>
>> arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi | 92 +------
>> arch/arm/dts/k3-am625-binman.dtsi | 240 ++++++++++++++++++
>> arch/arm/dts/k3-am625-phycore-som-binman.dtsi | 241 +-----------------
>> arch/arm/dts/k3-am625-sk-binman.dtsi | 288 ++--------------------
>> arch/arm/dts/k3-am625-verdin-wifi-dev-binman.dtsi | 185 +-------------
>> 5 files changed, 270 insertions(+), 776 deletions(-)
>
>> diff --git a/arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi b/arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi
>> @@ -63,99 +63,11 @@
>> ti-spl_unsigned {
>> - filename = "tispl.bin_unsigned";
>> + insert-template = <&ti_spl_unsigned_am625_template>;
>> symlink = "tispl.bin";
>> - pad-byte = <0xff>;
>> -
>> fit {
>> - description = "Configuration to load ATF and SPL";
>> - #address-cells = <1>;
>> -
>> images {
>
> Just to check: the FIT for beagleplay now also contains tifsstub-hs /
> tifsstub-fs entries even though conf-0's loadables only references
> tifsstub-gp. Have you confirmed that the resulting tispl.bin still
> parses cleanly and SPL does not try to load the unused entries? Please
> note the beagleplay boot test in the commit message.
>
> I was unable to try this in my lab:
>
> arm: + am62x_beagleplay_r5
> +binman: Node '/binman/tiboot3-am62x-gp-evm.bin/ti-secure-rom': Cannot
> find node for phandle 100
> +make[1]: *** [Makefile:1410: .binman_stamp] Error 1
> +make: *** [Makefile:189: __sub-make] Error 2
This is due to this[1] missing fix which is mentioned as a dependency in
the cover-letter. I have verified the patch series on the beagleplay
with the delta to tispl being the addition of tifsstub-hs and
tifsstub-fs which add a total of ~60KiB to the totalling 1MiB file.
The runtime correctly only loads the tifsstub-gp binary.
[1]: https://lore.kernel.org/u-boot/20260709-binman_template_phandle_copy_fix-v2-1-6c4017eec04d@ti.com/
>
>> diff --git a/arch/arm/dts/k3-am625-binman.dtsi b/arch/arm/dts/k3-am625-binman.dtsi
>> @@ -121,3 +121,243 @@
>> +#ifdef CONFIG_ARM64
>> +
>> +&binman {
>> + tifsstub-hs {
>
> The three tifsstub-{hs,fs,gp} nodes are unconditional within the
> CONFIG_ARM64 block, so every A53 board including this dtsi will
> produce tifsstub.bin_hs / _fs / _gp regardless of variant. That is
> fine since the blobs are optional, but please confirm this is intended
> and does not regress packaging scripts that consume these artefacts.
>
It was only beagleplay that did not have these binaries included and the
build/boot works just fine with the addition.
I will make the requested changes in the v2, thanks for the review.
Anshul
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] arm: dts: k3-am625: add template for tispl.bin
2026-07-28 11:16 ` Simon Glass
2026-07-29 10:45 ` Anshul Dalal
@ 2026-07-29 10:50 ` Anshul Dalal
1 sibling, 0 replies; 8+ messages in thread
From: Anshul Dalal @ 2026-07-29 10:50 UTC (permalink / raw)
To: Simon Glass, anshuld; +Cc: u-boot, upstream
On Tue Jul 28, 2026 at 4:46 PM IST, Simon Glass wrote:
> On 2026-07-17T10:42:51, Anshul Dalal <anshuld@ti.com> wrote:
>> arm: dts: k3-am625: add template for tispl.bin
[snip]
>> diff --git a/arch/arm/dts/k3-am625-sk-binman.dtsi b/arch/arm/dts/k3-am625-sk-binman.dtsi
>> @@ -392,16 +155,15 @@
>> };
>> };
>> };
>> -
>> &binman {
>> u-boot_unsigned {
>
> Please keep the blank line before &binman - the file is easier to scan
> with the separators intact.
>
This is just a qwirk of how diff shows the delta, in the final file
there is indeed a blank line before &binman.
Anshul
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2026-07-29 10:50 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-17 10:42 [PATCH 0/2] Refactor binman nodes for boot binaries for TI AM625 into templates Anshul Dalal
2026-07-17 10:42 ` [PATCH 1/2] arm: dts: k3-am625: add template for tiboot3.bin Anshul Dalal
2026-07-28 11:16 ` Simon Glass
2026-07-29 10:38 ` Anshul Dalal
2026-07-17 10:42 ` [PATCH 2/2] arm: dts: k3-am625: add template for tispl.bin Anshul Dalal
2026-07-28 11:16 ` Simon Glass
2026-07-29 10:45 ` Anshul Dalal
2026-07-29 10:50 ` Anshul Dalal
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.