You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(security): Generalize boot flow page for non-AM64x SoCs
Currently, the secure boot section is tailored for AM64x. But the same
information is applicable to non-AM64x SoCs, that is AM62x, AM62P. Therefore
generalize the page and add it these other devices' TOCs.
In addition, fix the language in the file to simplify it by changing a few
passive voice statements into active voice, using easier words etc. Also fix
headings and remove TRM links.
Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
We provide methods for U-Boot's SPL loader to securely verify/encrypt the U-Boot proper. This is accomplished by calling into TIFS via TI-SCI
34
-
(Texas Instruments System Controller Interface). For more infomation using TI_SCI methods refer to the
35
-
`TISCI User Guide <https://software-dl.ti.com/tisci/esd/22_01_02/index.html>`__. U-Boot proper then securely verifies/decrypts the Kernel/DTB/initramfs.
35
+
We offer methods for U-Boot's Secondary Program Loader (SPL) to securely verify the U-Boot
36
+
proper. U-Boot calls Texas Instrument Foundational Security (TIFS) through Texas Instruments System Controller Interface (TISCI)
37
+
to do this. For more information about using TISCI methods see the
38
+
`TISCI User Guide <https://software-dl.ti.com/tisci/esd/22_01_02/index.html>`__. U-Boot proper then securely verifies and decrypts the kernel, Device Tree Blobs (DTB), and initramfs.
36
39
37
40
.. Image:: /images/K3_KF.png
38
41
:scale:70%
39
42
40
-
Secure boot has layers. Some layers are trusted more than others. Secure ROM has the highest trust and REE (Run-time Execution
41
-
Environment) non-trustzone user-space applications have the least. If any higher trust code is to be loaded by a lower trust entity, it must be verified
42
-
by an even higher trust entity and not allowed to be accessed by the lower trust entity after that point. Some such trust inversions are listed below:
43
+
Secure boot has layers. Some layers are trusted more than others. Secure ROM has the highest trust and Runtime Execution
44
+
Environment (REE) non-trustzone user-space applications have the least. If a
45
+
lower trust entity must load a higher trust code, an even higher trust entity
46
+
must verify it and not allow access by the lower trust entity after that
47
+
point. Some such trust inversions are as follows:
43
48
44
49
- R5 U-Boot loading ATF/OP-TEE
45
50
- R5 Public Boot ROM loading TIFS
@@ -62,21 +67,17 @@ The exact location is device dependent. More details can be found in the device
The contents of this first stage image are authenticated and decrypted by the Secure ROM. Contents include:
68
71
69
72
* DMSC firmware: `Texas Instruments Foundational Security (TIFS)` + Device/Power Manager: After authentication/decryption, DMSC firmware replaces the Secure ROM as the authenticator entity executing on the DMSC core.
70
73
* R5 SPL: The R5 SPL bootloader is executed on the R5 core.
.. ifconfig:: CONFIG_part_variant not in ('AM64X')
75
76
76
-
The contents of this first stage image are authenticated and decrypted by the Secure ROM. Contents include:
77
+
The contents of this first stage image are authenticated and decrypted by the Secure ROM. Contents include:
77
78
78
-
* `Texas Instruments Foundational Security (TIFS)` firmware: After authentication/decryption, TIFS firmware replaces the Secure ROM as the authenticator entity executing on the TIFS core.
79
-
* R5 SPL`: The R5 SPL bootloader is executed on the R5 core.
79
+
* `Texas Instruments Foundational Security (TIFS)` firmware: After authentication/decryption, TIFS firmware replaces the Secure ROM as the authenticator entity executing on the TIFS core.
80
+
* R5 SPL`: The R5 SPL bootloader is executed on the R5 core.
80
81
81
82
.. rubric:: R5 SPL
82
83
@@ -195,9 +196,9 @@ HS Boot Flow Tools
195
196
196
197
U-boot:
197
198
198
-
The ti-u-boot source is a project used to create tiboot3.bin, tispl.bin, and u-boot.img. To create tiboot3.bin for AM64x family devices, u-boot builds R5 SPL and
199
+
The ti-u-boot source is a project used to create tiboot3.bin, tispl.bin, and u-boot.img. To create tiboot3.bin for K3 family devices, u-boot builds R5 SPL and
199
200
binman packages it in a `tiboot3.bin` image. To build A53 SPL, binman takes ATF (bl31.bin), OPTEE (bl32.bin), A53 SPL, and A53 DTBs and packages
200
-
them in a `tispl.bin` image. The openssl library can then then be used to sign each component as specified in k3-am64x-binman.dtsi.
201
+
them in a `tispl.bin` image. U-Boot can then use the openssl library to sign each component as specified in k3-<soc>-binman.dtsi.
201
202
202
203
.. code-block:: console
203
204
@@ -246,7 +247,7 @@ OPTEE:
246
247
Ti-linux-firmware:
247
248
248
249
The ti-linux-firmware is a TI repository where all firmware releases are stored. Firmwares for a device family can also be found in the pre-built SDK
249
-
under <path-to-tisdk>/board-support/prebuilt-images/am64xx-evm. Binman expects to find the device firmware with the following appended to u-boot build command:
250
+
under :file:`<path-to-tisdk>/board-support/prebuilt-images/<evm>`. Binman expects to find the device firmware with the following appended to u-boot build command:
250
251
BINMAN_INDIRS=<path-to-tisdk>/board-support/prebuilt-images, and expects to find a ti-sysfw directory in this path.
0 commit comments