Pack the HSM firmware in tispl.bin fit image so that it can be unloaded
and used by R5 SPL to boot the HSM core. By default, point to the
firmware for HS-SE device type. This needs to be changed to point to
appropriate firmware when using a different device type.

Signed-off-by: Beleswar Padhi <[email protected]>
---
v3: Changelog:
1. Pack firmware for J722S SoC as well.

Link to v2:
https://lore.kernel.org/all/[email protected]/

v2: Changelog:
None to this patch.

Link to v1:
https://lore.kernel.org/all/[email protected]/

 arch/arm/dts/k3-j721s2-binman.dtsi | 12 ++++++++++++
 arch/arm/dts/k3-j722s-binman.dtsi  | 12 ++++++++++++
 arch/arm/dts/k3-j784s4-binman.dtsi | 14 ++++++++++++++
 3 files changed, 38 insertions(+)

diff --git a/arch/arm/dts/k3-j721s2-binman.dtsi 
b/arch/arm/dts/k3-j721s2-binman.dtsi
index f79b3e543ae..14ba9ba2c1d 100644
--- a/arch/arm/dts/k3-j721s2-binman.dtsi
+++ b/arch/arm/dts/k3-j721s2-binman.dtsi
@@ -268,6 +268,14 @@
 
                                        };
                                };
+#ifdef CONFIG_K3_HSM_FW
+                               hsm {
+                                       hsm: blob-ext {
+                                               filename = 
"ti-hsm/hsm-demo-firmware-j721s2-hs.bin";
+                                       };
+                               };
+#endif
+
                                dm {
                                        ti-secure {
                                                content = <&dm>;
@@ -300,7 +308,11 @@
                                conf-0 {
                                        description = 
"k3-j721s2-common-proc-board";
                                        firmware = "atf";
+#ifdef CONFIG_K3_HSM_FW
+                                       loadables = "hsm", "tee", "dm", "spl";
+#else
                                        loadables = "tee", "dm", "spl";
+#endif
                                        fdt = "fdt-0";
                                };
                        };
diff --git a/arch/arm/dts/k3-j722s-binman.dtsi 
b/arch/arm/dts/k3-j722s-binman.dtsi
index 278b7bfac7f..cbae8a93759 100644
--- a/arch/arm/dts/k3-j722s-binman.dtsi
+++ b/arch/arm/dts/k3-j722s-binman.dtsi
@@ -117,6 +117,14 @@
 
                fit {
                        images {
+#ifdef CONFIG_K3_HSM_FW
+                               hsm {
+                                       hsm: blob-ext {
+                                               filename = 
"ti-hsm/hsm-demo-firmware-j722s-hs.bin";
+                                       };
+                               };
+#endif
+
                                dm {
                                        ti-secure {
                                                content = <&dm>;
@@ -153,7 +161,11 @@
                                conf-0 {
                                        description = "k3-j722s-evm";
                                        firmware = "atf";
+#ifdef CONFIG_K3_HSM_FW
+                                       loadables = "hsm", "tee", "dm", "spl";
+#else
                                        loadables = "tee", "dm", "spl";
+#endif
                                        fdt = "fdt-0";
                                };
                        };
diff --git a/arch/arm/dts/k3-j784s4-binman.dtsi 
b/arch/arm/dts/k3-j784s4-binman.dtsi
index 34b2cc1e681..63d210dd883 100644
--- a/arch/arm/dts/k3-j784s4-binman.dtsi
+++ b/arch/arm/dts/k3-j784s4-binman.dtsi
@@ -154,6 +154,16 @@
 
                fit {
                        images {
+
+#ifdef CONFIG_K3_HSM_FW
+                               hsm {
+                                       hsm: blob-ext {
+                                               filename = 
"ti-hsm/hsm-demo-firmware-j784s4-hs.bin";
+                                       };
+                               };
+
+#endif
+
                                dm {
                                        ti-secure {
                                                content = <&dm>;
@@ -188,7 +198,11 @@
                                conf-0 {
                                        description = BOARD_DESCRIPTION;
                                        firmware = "atf";
+#ifdef CONFIG_K3_HSM_FW
+                                       loadables = "hsm", "tee", "dm", "spl";
+#else
                                        loadables = "tee", "dm", "spl";
+#endif
                                        fdt = "fdt-0";
                                };
                        };
-- 
2.34.1

Reply via email to