Message ID | 20240725093546.4193107-8-d-gole@ti.com |
---|---|
State | Superseded |
Delegated to: | Tom Rini |
Headers | show |
Series | Low Power Mode: Package TIFS Stub in BeaglePlay | expand |
Am 25.07.24 um 11:35 schrieb Dhruva Gole: > 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 > > Signed-off-by: Dhruva Gole <d-gole@ti.com> Thank you, Reviewed-by: Wadim Egorov <w.egorov@phytec.de> > --- > 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 > ---------------
On 15:05-20240725, Dhruva Gole wrote: > 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 > > Signed-off-by: Dhruva Gole <d-gole@ti.com> > --- Reviewed-by: Nishanth Menon <nm@ti.com>
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 ---------------
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 Signed-off-by: Dhruva Gole <d-gole@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(-)