Add support for packaging the TIFS Stub as it's required for basic Low
Power Modes like Deep Sleep.
The reason it is packaged using binman and not inherently as part of the
DM firmware is because for HS devices, customer owns the customer key
and only customer has access to it.
DM is release by TI, Since TI doesn't have access to the customer key it
cannot have a component that is signed by customer key.
Hence, it's left as part of binman to be signed and packaged.

While at it, also make sure it's documented in phycore-am62x

Reviewed-by: Nishanth Menon <n...@ti.com>
Reviewed-by: Wadim Egorov <w.ego...@phytec.de>
Signed-off-by: Dhruva Gole <d-g...@ti.com>
---
 arch/arm/dts/k3-am625-phycore-som-binman.dtsi | 101 +++++++++++++++++-
 doc/board/phytec/phycore-am62x.rst            |   2 +-
 2 files changed, 100 insertions(+), 3 deletions(-)

diff --git a/arch/arm/dts/k3-am625-phycore-som-binman.dtsi 
b/arch/arm/dts/k3-am625-phycore-som-binman.dtsi
index dbee4aa8d8a5..0961ca66f280 100644
--- a/arch/arm/dts/k3-am625-phycore-som-binman.dtsi
+++ b/arch/arm/dts/k3-am625-phycore-som-binman.dtsi
@@ -150,12 +150,107 @@
                        filename = 
"ti-dm/am62xx/ipc_echo_testb_mcu1_0_release_strip.xer5f";
                };
        };
+
+       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>;
 
                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>;
@@ -187,7 +282,8 @@
                                conf-0 {
                                        description = 
"k3-am625-phyboard-lyra-rdk";
                                        firmware = "atf";
-                                       loadables = "tee", "dm", "spl";
+                                       loadables = "tee", "tifsstub-hs", 
"tifsstub-fs",
+                                                   "tifsstub-gp", "dm", "spl";
                                        fdt = "fdt-0";
                                };
                        };
@@ -266,7 +362,8 @@
                                conf-0 {
                                        description = 
"k3-am625-phyboard-lyra-rdk";
                                        firmware = "atf";
-                                       loadables = "tee", "dm", "spl";
+                                       loadables = "tee", "tifsstub-hs", 
"tifsstub-fs",
+                                                   "tifsstub-gp", "dm", "spl";
                                        fdt = "fdt-0";
                                };
                        };
diff --git a/doc/board/phytec/phycore-am62x.rst 
b/doc/board/phytec/phycore-am62x.rst
index af24acf9aac4..56c1fd8354b4 100644
--- a/doc/board/phytec/phycore-am62x.rst
+++ b/doc/board/phytec/phycore-am62x.rst
@@ -32,7 +32,7 @@ Sources
 
 .. include::  ../ti/k3.rst
     :start-after: .. k3_rst_include_start_boot_firmwares
-    :end-before: .. k3_rst_include_end_boot_firmwares
+    :end-before: .. k3_rst_include_end_tifsstub
 
 Build procedure
 ---------------
-- 
2.34.1

Reply via email to