1
0
mirror of https://xff.cz/git/u-boot/ synced 2025-09-01 16:52:14 +02:00

Merge patch series "Low Power Mode: Package TIFS Stub in BeaglePlay"

Dhruva Gole <d-gole@ti.com> says:

This series aims to add documentation around the boot flow and tispl
packaging details regarding the TIFS Stub. While at it, also refactors the
k3 common docs to add more labels to provide more granularity on how we
include chunks from common docs into SoC specific docs.

This series also includes the binman related changes required to package
TIFS Stub to support Low Power Modes on BeaglePlay and phycore-am625 SOM.
This commit is contained in:
Tom Rini
2024-08-08 18:37:11 -06:00
21 changed files with 2571 additions and 27 deletions

View File

@@ -732,6 +732,7 @@ F: arch/arm/mach-omap2/
F: arch/arm/include/asm/arch-omap*/
F: arch/arm/include/asm/ti-common/
F: board/ti/
F: doc/board/ti/
F: drivers/dma/ti*
F: drivers/dma/ti*/
F: drivers/firmware/ti_sci.*

View File

@@ -78,6 +78,23 @@
};
};
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";
symlink = "tispl.bin";
@@ -115,6 +132,19 @@
};
};
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";
@@ -158,7 +188,8 @@
conf-0 {
description = "k3-am625-beagleplay";
firmware = "atf";
loadables = "tee", "dm", "spl";
loadables = "tee", "dm", "spl",
"tifsstub-gp";
fdt = "fdt-0";
};
};

View File

@@ -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";
};
};

View File

@@ -23,7 +23,7 @@ Boot Flow:
----------
Below is the pictorial representation of boot flow:
.. image:: ../ti/img/boot_diagram_k3_current.svg
.. image:: ../ti/img/boot_diagram_am62.svg
:alt: Boot flow diagram
- On this platform, 'TI Foundational Security' (TIFS) functions as the
@@ -38,6 +38,10 @@ Sources:
:start-after: .. k3_rst_include_start_boot_sources
:end-before: .. k3_rst_include_end_boot_sources
.. include:: ../ti/k3.rst
:start-after: .. k3_rst_include_start_boot_firmwares
:end-before: .. k3_rst_include_end_tifsstub
Build procedure:
----------------
0. Setup the environment variables:
@@ -86,7 +90,7 @@ Image formats
- tispl.bin
.. image:: ../ti/img/dm_tispl.bin.svg
.. image:: ../ti/img/tifsstub_dm_tispl.bin.svg
:alt: tispl.bin image format
Additional hardware for U-Boot development

View File

@@ -42,6 +42,10 @@ Sources:
:start-after: .. k3_rst_include_start_boot_sources
:end-before: .. k3_rst_include_end_boot_sources
.. include:: ../ti/k3.rst
:start-after: .. k3_rst_include_start_boot_firmwares
:end-before: .. k3_rst_include_end_boot_firmwares
Build procedure:
----------------
0. Setup the environment variables:

View File

@@ -30,6 +30,10 @@ Sources
:start-after: .. k3_rst_include_start_boot_sources
:end-before: .. k3_rst_include_end_boot_sources
.. include:: ../ti/k3.rst
:start-after: .. k3_rst_include_start_boot_firmwares
:end-before: .. k3_rst_include_end_tifsstub
Build procedure
---------------

View File

@@ -30,6 +30,10 @@ Sources
:start-after: .. k3_rst_include_start_boot_sources
:end-before: .. k3_rst_include_end_boot_sources
.. include:: ../ti/k3.rst
:start-after: .. k3_rst_include_start_boot_firmwares_sysfw
:end-before: .. k3_rst_include_end_boot_firmwares_sysfw
Build procedure
---------------

View File

@@ -47,7 +47,7 @@ Boot Flow:
----------
Below is the pictorial representation of boot flow:
.. image:: img/boot_diagram_k3_current.svg
.. image:: img/boot_diagram_am62.svg
:alt: Boot flow diagram
- Here TIFS acts as master and provides all the critical services. R5/A53
@@ -60,6 +60,10 @@ Sources:
:start-after: .. k3_rst_include_start_boot_sources
:end-before: .. k3_rst_include_end_boot_sources
.. include:: ../ti/k3.rst
:start-after: .. k3_rst_include_start_boot_firmwares
:end-before: .. k3_rst_include_end_tifsstub
Build procedure:
----------------
0. Setup the environment variables:
@@ -144,7 +148,7 @@ Image formats:
- tispl.bin
.. image:: img/dm_tispl.bin.svg
.. image:: img/tifsstub_dm_tispl.bin.svg
:alt: tispl.bin image format
Switch Setting for Boot Mode

View File

@@ -55,7 +55,7 @@ Boot Flow:
The bootflow is exactly the same as all SoCs in the am62xxx extended SoC
family. Below is the pictorial representation:
.. image:: img/boot_diagram_k3_current.svg
.. image:: img/boot_diagram_am62.svg
:alt: Boot flow diagram
- Here TIFS acts as master and provides all the critical services. R5/A53
@@ -68,6 +68,10 @@ Sources:
:start-after: .. k3_rst_include_start_boot_sources
:end-before: .. k3_rst_include_end_boot_sources
.. include:: ../ti/k3.rst
:start-after: .. k3_rst_include_start_boot_firmwares
:end-before: .. k3_rst_include_end_tifsstub
Build procedure:
----------------
@@ -153,7 +157,7 @@ Image formats:
- tispl.bin
.. image:: img/dm_tispl.bin.svg
.. image:: img/tifsstub_dm_tispl.bin.svg
:alt: tispl.bin image format
OSPI:

View File

@@ -46,7 +46,7 @@ Boot Flow:
----------
Below is the pictorial representation of boot flow:
.. image:: img/boot_diagram_k3_current.svg
.. image:: img/boot_diagram_am62.svg
:alt: Boot flow diagram
- Here TIFS acts as master and provides all the critical services. R5/A53
@@ -59,6 +59,10 @@ Sources:
:start-after: .. k3_rst_include_start_boot_sources
:end-before: .. k3_rst_include_end_boot_sources
.. include:: ../ti/k3.rst
:start-after: .. k3_rst_include_start_boot_firmwares
:end-before: .. k3_rst_include_end_tifsstub
Build procedure:
----------------
0. Setup the environment variables:
@@ -161,7 +165,7 @@ Image formats:
- tispl.bin
.. image:: img/dm_tispl.bin.svg
.. image:: img/tifsstub_dm_tispl.bin.svg
:alt: tispl.bin image format
OSPI:

View File

@@ -48,6 +48,10 @@ Sources:
:start-after: .. k3_rst_include_start_boot_sources
:end-before: .. k3_rst_include_end_boot_sources
.. include:: k3.rst
:start-after: .. k3_rst_include_start_boot_firmwares_sysfw
:end-before: .. k3_rst_include_end_boot_firmwares_sysfw
Build procedure:
----------------
0. Setup the environment variables:

View File

@@ -58,6 +58,10 @@ Sources:
:start-after: .. k3_rst_include_start_boot_sources
:end-before: .. k3_rst_include_end_boot_sources
.. include:: k3.rst
:start-after: .. k3_rst_include_start_boot_firmwares_sysfw
:end-before: .. k3_rst_include_end_boot_firmwares_sysfw
Build procedure:
----------------
0. Setup the environment variables:

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 67 KiB

View File

@@ -0,0 +1,353 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- SPDX-License-Identifier: GPL-2.0-or-later OR BSD-3-Clause -->
<!-- Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/ -->
<svg
version="1.1"
width="231px"
height="351px"
viewBox="-0.5 -0.5 231 351"
id="svg72"
sodipodi:docname="tifsstub_dm_tispl.bin.svg"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<sodipodi:namedview
id="namedview74"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
showgrid="false"
inkscape:zoom="2.3561254"
inkscape:cx="115.65599"
inkscape:cy="276.72551"
inkscape:window-width="1920"
inkscape:window-height="1008"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg72" />
<defs
id="defs2" />
<g
id="g62">
<rect
x="0"
y="0"
width="230"
height="350"
rx="34.5"
ry="34.5"
fill="#d5e8d4"
stroke="#82b366"
pointer-events="all"
id="rect4" />
<rect
x="40"
y="30"
width="160"
height="60"
fill="none"
stroke="rgb(0, 0, 0)"
pointer-events="all"
id="rect6" />
<g
transform="translate(-0.5 -0.5)"
id="g12">
<switch
id="switch10">
<foreignObject
style="overflow: visible; text-align: left;"
pointer-events="none"
width="100%"
height="100%"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 60px; margin-left: 41px;">
<xhtml:div
style="box-sizing: border-box; font-size: 0px; text-align: center;"
data-drawio-colors="color: rgb(0, 0, 0); ">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">FIT Header</xhtml:div>
</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="120"
y="64"
fill="rgb(0, 0, 0)"
font-family="Helvetica"
font-size="12px"
text-anchor="middle"
id="text8">FIT Header</text>
</switch>
</g>
<rect
x="40"
y="160"
width="160"
height="50"
fill="none"
stroke="rgb(0, 0, 0)"
pointer-events="all"
id="rect14" />
<g
transform="translate(-0.5 -0.5)"
id="g20">
<switch
id="switch18">
<foreignObject
style="overflow: visible; text-align: left;"
pointer-events="none"
width="100%"
height="100%"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 185px; margin-left: 41px;">
<xhtml:div
style="box-sizing: border-box; font-size: 0px; text-align: center;"
data-drawio-colors="color: rgb(0, 0, 0); ">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">TIFS Stub<xhtml:br />
(GP, HS-FS, HS-SE)</xhtml:div>
</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="120"
y="189"
fill="rgb(0, 0, 0)"
font-family="Helvetica"
font-size="12px"
text-anchor="middle"
id="text16">TIFS Stub...</text>
</switch>
</g>
<rect
x="40"
y="90"
width="160"
height="30"
fill="none"
stroke="rgb(0, 0, 0)"
pointer-events="all"
id="rect22" />
<g
transform="translate(-0.5 -0.5)"
id="g28">
<switch
id="switch26">
<foreignObject
style="overflow: visible; text-align: left;"
pointer-events="none"
width="100%"
height="100%"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 105px; margin-left: 41px;">
<xhtml:div
style="box-sizing: border-box; font-size: 0px; text-align: center;"
data-drawio-colors="color: rgb(0, 0, 0); ">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">TF-A</xhtml:div>
</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="120"
y="109"
fill="rgb(0, 0, 0)"
font-family="Helvetica"
font-size="12px"
text-anchor="middle"
id="text24">TF-A</text>
</switch>
</g>
<rect
x="40"
y="120"
width="160"
height="40"
fill="none"
stroke="rgb(0, 0, 0)"
pointer-events="all"
id="rect30" />
<g
transform="translate(-0.5 -0.5)"
id="g36">
<switch
id="switch34">
<foreignObject
style="overflow: visible; text-align: left;"
pointer-events="none"
width="100%"
height="100%"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 140px; margin-left: 41px;">
<xhtml:div
style="box-sizing: border-box; font-size: 0px; text-align: center;"
data-drawio-colors="color: rgb(0, 0, 0); ">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">OP-TEE</xhtml:div>
</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="120"
y="144"
fill="rgb(0, 0, 0)"
font-family="Helvetica"
font-size="12px"
text-anchor="middle"
id="text32">OP-TEE</text>
</switch>
</g>
<rect
x="40"
y="210"
width="160"
height="40"
fill="none"
stroke="rgb(0, 0, 0)"
pointer-events="all"
id="rect38" />
<g
transform="translate(-0.5 -0.5)"
id="g44">
<switch
id="switch42">
<foreignObject
style="overflow: visible; text-align: left;"
pointer-events="none"
width="100%"
height="100%"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 230px; margin-left: 41px;">
<xhtml:div
style="box-sizing: border-box; font-size: 0px; text-align: center;"
data-drawio-colors="color: rgb(0, 0, 0); ">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">R5 DM FW</xhtml:div>
</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="120"
y="234"
fill="rgb(0, 0, 0)"
font-family="Helvetica"
font-size="12px"
text-anchor="middle"
id="text40">R5 DM FW</text>
</switch>
</g>
<rect
x="40"
y="250"
width="160"
height="40"
fill="none"
stroke="rgb(0, 0, 0)"
pointer-events="all"
id="rect46" />
<g
transform="translate(-0.5 -0.5)"
id="g52">
<switch
id="switch50">
<foreignObject
style="overflow: visible; text-align: left;"
pointer-events="none"
width="100%"
height="100%"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 270px; margin-left: 41px;">
<xhtml:div
style="box-sizing: border-box; font-size: 0px; text-align: center;"
data-drawio-colors="color: rgb(0, 0, 0); ">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Cortex-A SPL</xhtml:div>
</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="120"
y="274"
fill="rgb(0, 0, 0)"
font-family="Helvetica"
font-size="12px"
text-anchor="middle"
id="text48">Cortex-A SPL</text>
</switch>
</g>
<rect
x="40"
y="290"
width="160"
height="40"
fill="none"
stroke="rgb(0, 0, 0)"
pointer-events="all"
id="rect54" />
<g
transform="translate(-0.5 -0.5)"
id="g60">
<switch
id="switch58">
<foreignObject
style="overflow: visible; text-align: left;"
pointer-events="none"
width="100%"
height="100%"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 310px; margin-left: 41px;">
<xhtml:div
style="box-sizing: border-box; font-size: 0px; text-align: center;"
data-drawio-colors="color: rgb(0, 0, 0); ">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">SPL DTB 1..N</xhtml:div>
</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="120"
y="314"
fill="rgb(0, 0, 0)"
font-family="Helvetica"
font-size="12px"
text-anchor="middle"
id="text56">SPL DTB 1..N</text>
</switch>
</g>
</g>
<switch
id="switch70">
<g
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"
id="g64" />
<a
transform="translate(0,-5)"
xlink:href="https://www.drawio.com/doc/faq/svg-export-text-problems"
target="_blank"
id="a68">
<text
text-anchor="middle"
font-size="10px"
x="50%"
y="100%"
id="text66">Text is not SVG - cannot display</text>
</a>
</switch>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -47,6 +47,10 @@ Sources:
:start-after: .. k3_rst_include_start_boot_sources
:end-before: .. k3_rst_include_end_boot_sources
.. include:: k3.rst
:start-after: .. k3_rst_include_start_boot_firmwares
:end-before: .. k3_rst_include_end_boot_firmwares
Build procedure:
----------------
0. Setup the environment variables:

View File

@@ -52,6 +52,10 @@ Sources:
:start-after: .. k3_rst_include_start_boot_sources
:end-before: .. k3_rst_include_end_boot_sources
.. include:: ../ti/k3.rst
:start-after: .. k3_rst_include_start_boot_firmwares
:end-before: .. k3_rst_include_end_boot_firmwares
Build procedure:
----------------
0. Setup the environment variables:

View File

@@ -60,6 +60,10 @@ Sources:
:start-after: .. k3_rst_include_start_boot_sources
:end-before: .. k3_rst_include_end_boot_sources
.. include:: k3.rst
:start-after: .. k3_rst_include_start_boot_firmwares
:end-before: .. k3_rst_include_end_boot_firmwares
Build procedure:
----------------

View File

@@ -45,6 +45,10 @@ Sources:
:start-after: .. k3_rst_include_start_boot_sources
:end-before: .. k3_rst_include_end_boot_sources
.. include:: ../ti/k3.rst
:start-after: .. k3_rst_include_start_boot_firmwares
:end-before: .. k3_rst_include_end_boot_firmwares
Build procedure:
----------------

View File

@@ -60,6 +60,10 @@ Sources
:start-after: .. k3_rst_include_start_boot_sources
:end-before: .. k3_rst_include_end_boot_sources
.. include:: k3.rst
:start-after: .. k3_rst_include_start_boot_firmwares
:end-before: .. k3_rst_include_end_boot_firmwares
Build procedure
---------------
0. Setup the environment variables:

View File

@@ -182,25 +182,44 @@ online
.. note::
The TI Firmware required for functionality of the system can be
one of the following combination (see platform specific boot diagram for
further information as to which component runs on which processor):
* **TIFS** - TI Foundational Security Firmware - Consists of purely firmware
meant to run on the security enclave.
* **DM** - Device Management firmware also called TI System Control Interface
server (TISCI Server) - This component purely plays the role of managing
device resources such as power, clock, interrupts, dma etc. This firmware
runs on a dedicated or multi-use microcontroller outside the security
enclave.
OR
* **SYSFW** - System firmware - consists of both TIFS and DM both running on
the security enclave.
The TI Firmwares required for functionality of the system are (see
platform specific boot diagram for further information as to which
component runs on which processor):
.. k3_rst_include_end_boot_sources
.. k3_rst_include_start_boot_firmwares
* **TIFS** - TI Foundational Security Firmware - Consists of purely firmware
meant to run on the security enclave.
* **DM** - Device Management firmware also called TI System Control Interface
server (TISCI Server) - This component purely plays the role of managing
device resources such as power, clock, interrupts, dma etc. This firmware
runs on a dedicated or multi-use microcontroller outside the security
enclave.
.. k3_rst_include_end_boot_firmwares
.. k3_rst_include_start_tifsstub
* **TIFS Stub** - The TIFS stub is a small piece of binary designed to help
restore the required security context and resume the TIFS firmware when
the system resumes from low-power modes such as suspend-to-RAM/Deep
Sleep. This stub uses the same encryption and customer key signing model
as TIFS and is loaded into the ATCM (Tightly Coupled Memory 'A' of the
DM R5) during DM startup. Due to the independent certificate signing
process, the stub is maintained separately from DM.
.. k3_rst_include_end_tifsstub
OR
.. k3_rst_include_start_boot_firmwares_sysfw
* **SYSFW** - System firmware - consists of both TIFS and DM both running on
the security enclave.
.. k3_rst_include_end_boot_firmwares_sysfw
Build Procedure
---------------

View File

@@ -29,6 +29,10 @@ Sources:
:start-after: .. k3_rst_include_start_boot_sources
:end-before: .. k3_rst_include_end_boot_sources
.. include:: ../ti/k3.rst
:start-after: .. k3_rst_include_start_boot_firmwares
:end-before: .. k3_rst_include_end_tifsstub
Build procedure:
----------------