* [PATCH v2 0/2] Refactor binman nodes for boot binaries for TI AM625 into templates
@ 2026-07-29 10:54 Anshul Dalal
2026-07-29 10:54 ` [PATCH v2 1/2] arm: dts: k3-am625: add template for tiboot3.bin Anshul Dalal
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Anshul Dalal @ 2026-07-29 10:54 UTC (permalink / raw)
To: upstream, u-boot
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, Simon Glass
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://patchwork.ozlabs.org/project/uboot/patch/20260729-binman_template_phandle_copy_fix-v3-1-9bf6cbbe1a61@ti.com/
Signed-off-by: Anshul Dalal <anshuld@ti.com>
---
Changes in v2:
- Reword commit message and pick R/bys
- Reorder properties inside tiboot3 template for gp to match hs and fs
- Remove symlink from tiboot3 template for hs
- Link to v1: https://patch.msgid.link/20260717-k3_binman_refactor-v1-0-4089220b4fd4@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 | 362 ++++++++++++++++++
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, 418 insertions(+), 1159 deletions(-)
---
base-commit: 447f6dfb9aa2191553993441f92f9c50f6486ffe
change-id: 20260717-k3_binman_refactor-081615fabbea
Best regards,
--
Anshul Dalal <anshuld@ti.com>
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v2 1/2] arm: dts: k3-am625: add template for tiboot3.bin
2026-07-29 10:54 [PATCH v2 0/2] Refactor binman nodes for boot binaries for TI AM625 into templates Anshul Dalal
@ 2026-07-29 10:54 ` Anshul Dalal
2026-07-29 10:55 ` [PATCH v2 2/2] arm: dts: k3-am625: add template for tispl.bin Anshul Dalal
2026-07-30 7:13 ` [PATCH v2 0/2] Refactor binman nodes for boot binaries for TI AM625 into templates Wadim Egorov
2 siblings, 0 replies; 4+ messages in thread
From: Anshul Dalal @ 2026-07-29 10:54 UTC (permalink / raw)
To: upstream, u-boot
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, Simon Glass
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.
Note that for some boards the hardcoded load address for SPL firmware
has been changed to use CONFIG_SPL_TEXT_BASE but it should cause no
functional change.
Reviewed-by: Simon Glass <sjg@chromium.org>
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 | 122 ++++++++++++++++++++++
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, 136 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..a96a2006a087
--- /dev/null
+++ b/arch/arm/dts/k3-am625-binman.dtsi
@@ -0,0 +1,122 @@
+// 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 {
+ 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;
+ keyfile = "ti-degenerate-key.pem";
+ sw-rev = <1>;
+ content-sbl = <&u_boot_spl_unsigned>;
+ content-sysfw = <&ti_fs_gp>;
+ content-sysfw-data = <&combined_tifs_cfg_gp>;
+ content-dm-data = <&combined_dm_cfg_gp>;
+ load = <CONFIG_SPL_TEXT_BASE>;
+ load-sysfw = <0x40000>;
+ load-sysfw-data = <0x67000>;
+ load-dm-data = <0x43c3a800>;
+ };
+ 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] 4+ messages in thread
* [PATCH v2 2/2] arm: dts: k3-am625: add template for tispl.bin
2026-07-29 10:54 [PATCH v2 0/2] Refactor binman nodes for boot binaries for TI AM625 into templates Anshul Dalal
2026-07-29 10:54 ` [PATCH v2 1/2] arm: dts: k3-am625: add template for tiboot3.bin Anshul Dalal
@ 2026-07-29 10:55 ` Anshul Dalal
2026-07-30 7:13 ` [PATCH v2 0/2] Refactor binman nodes for boot binaries for TI AM625 into templates Wadim Egorov
2 siblings, 0 replies; 4+ messages in thread
From: Anshul Dalal @ 2026-07-29 10:55 UTC (permalink / raw)
To: upstream, u-boot
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 a96a2006a087..78ea422b85d9 100644
--- a/arch/arm/dts/k3-am625-binman.dtsi
+++ b/arch/arm/dts/k3-am625-binman.dtsi
@@ -120,3 +120,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] 4+ messages in thread
* Re: [PATCH v2 0/2] Refactor binman nodes for boot binaries for TI AM625 into templates
2026-07-29 10:54 [PATCH v2 0/2] Refactor binman nodes for boot binaries for TI AM625 into templates Anshul Dalal
2026-07-29 10:54 ` [PATCH v2 1/2] arm: dts: k3-am625: add template for tiboot3.bin Anshul Dalal
2026-07-29 10:55 ` [PATCH v2 2/2] arm: dts: k3-am625: add template for tispl.bin Anshul Dalal
@ 2026-07-30 7:13 ` Wadim Egorov
2 siblings, 0 replies; 4+ messages in thread
From: Wadim Egorov @ 2026-07-30 7:13 UTC (permalink / raw)
To: Anshul Dalal, upstream, u-boot
Cc: Tom Rini, Ilias Apalodimas, Nishanth Menon, Robert Nelson,
Francesco Dolcini, Aristo Chen, Suhaas Joshi, Bryan Brattlof,
Neha Malcom Francis, Ernest Van Hoecke, Sparsh Kumar, Simon Glass
On 7/29/26 1:54 PM, Anshul Dalal wrote:
> 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
For this series,
Tested-by: Wadim Egorov <w.egorov@phytec.de>
> - 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://patchwork.ozlabs.org/project/uboot/patch/20260729-binman_template_phandle_copy_fix-v3-1-9bf6cbbe1a61@ti.com/
>
> Signed-off-by: Anshul Dalal <anshuld@ti.com>
> ---
> Changes in v2:
> - Reword commit message and pick R/bys
> - Reorder properties inside tiboot3 template for gp to match hs and fs
> - Remove symlink from tiboot3 template for hs
> - Link to v1: https://patch.msgid.link/20260717-k3_binman_refactor-v1-0-4089220b4fd4@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 | 362 ++++++++++++++++++
> 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, 418 insertions(+), 1159 deletions(-)
> ---
> base-commit: 447f6dfb9aa2191553993441f92f9c50f6486ffe
> change-id: 20260717-k3_binman_refactor-081615fabbea
>
> Best regards,
> --
> Anshul Dalal <anshuld@ti.com>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-07-30 7:13 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-29 10:54 [PATCH v2 0/2] Refactor binman nodes for boot binaries for TI AM625 into templates Anshul Dalal
2026-07-29 10:54 ` [PATCH v2 1/2] arm: dts: k3-am625: add template for tiboot3.bin Anshul Dalal
2026-07-29 10:55 ` [PATCH v2 2/2] arm: dts: k3-am625: add template for tispl.bin Anshul Dalal
2026-07-30 7:13 ` [PATCH v2 0/2] Refactor binman nodes for boot binaries for TI AM625 into templates Wadim Egorov
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.