Skip to content

Commit 8ae5a5e

Browse files
committed
Remove imx7ulp support
Removed mentions and from supported board list. No dedicated page, so no redirects added. QA: built docs, ran linkcheck. Edited with linter on. This commit addresses issue FFTK-3725, "Remove i.MX7ULP" Signed-off-by: Katrina Prosise <[email protected]>
1 parent 1fa9e84 commit 8ae5a5e

File tree

3 files changed

+7
-121
lines changed

3 files changed

+7
-121
lines changed

source/_static/csv/supported-boards.csv

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ Device Name,MACHINE
44
:ref:`NXP i.MX6 UL EVK <ref-rm_board_imx6ulevk>`,imx6ulevk
55
:ref:`NXP i.MX6 ULL EVK <ref-rm_board_imx6ullevk>`,imx6ullevk
66
:ref:`NXP i.MX6 ULL EVK with secure boot enabled <ref-rm_board_imx6ullevk>`,imx6ullevk-sec
7-
Embedded Artists i.MX 7ULP uCOM,imx7ulpea-ucom
87
:ref:`NXP i.MX 8M Mini EVK <ref-rm_board_imx8mmevk>`,imx8mm-lpddr4-evk
98
:ref:`NXP i.MX 8M Mini EVK with secure boot enabled <ref-rm_board_imx8mmevk>`,imx8mm-lpddr4-evk-sec
109
:ref:`NXP i.MX 8M Quad EVK <ref-rm_board_imx8mqevk>`,imx8mq-evk

source/reference-manual/security/imx-generic-custom-keys.rst

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,6 @@ Where ``<soc>`` can be found in the table below:
5252
- imx6
5353
* - imx6ul, imx6ull
5454
- imx6ul
55-
* - imx7ulp
56-
- imx7ulp
5755
* - imx8mq, imx8mm
5856
- imx8m
5957
* - imx8mn, imx8mp

source/reference-manual/security/secure-boot-imx-habv4.rst

Lines changed: 7 additions & 118 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
.. _ref-secure-boot-imx-habv4:
44

5-
Secure Boot on i.MX 6/7/8M Using HABv4
5+
Secure Boot on i.MX 6/8M Using HABv4
66
======================================
77

8-
On the i.MX 6/7/8M platforms, Secure Boot is implemented via the High Availability Boot (HABv4) component of the on-chip ROM.
8+
On the i.MX 6/8M platforms, Secure Boot is implemented via the High Availability Boot (HABv4) component of the on-chip ROM.
99
The ROM is responsible for loading the initial program image, the bootloader; HABv4 then enables the ROM to authenticate it using digital signatures.
1010

1111
HABv4 also provides a mechanism to establish a root of trust for the remaining software components and establishes a secure state—the close state—on the i.MX IC secure state machine in hardware.
@@ -22,11 +22,10 @@ This is used to store keys, firmware, and rollback information.
2222

2323
OP-TEE also prepares the next stage bootloader—U-Boot—and generates an overlay DTS for the Linux® kernel consumption.
2424
U-Boot implements the ``fiovb`` command to validate the trusted application functionality.
25-
In the case of i.MX 7ULP, U-Boot also controls the M4 firmware upgrade process using the ``fiovb`` trusted application.
2625

2726
U-Boot then jumps to the kernel entry point.
2827

29-
A system like the one just described, which boots without TF-A (for example i.MX 7ULP), would look as follows:
28+
A system which boots without TF-A would look as follows:
3029

3130
.. figure:: /_static/imx-secure-boot.png
3231
:align: center
@@ -92,81 +91,6 @@ The output should be::
9291

9392
The Security Reference Manual for your specific SoC will indicate which fuses need to be programmed with the SRK fuse information.
9493

95-
96-
i.MX 7ULP Fusing
97-
^^^^^^^^^^^^^^^^
98-
99-
.. warning::
100-
The values shown in this section are just examples of our standard LmP HABv4 keys, and are not meant for production.
101-
Fuses cannot be changed after the first write.
102-
103-
On the i.MX 7ULP the A7 fuses are stored in the fuse bank 5, words 0 to 7 and the M4 fuses are stored in the fuse bank 6, words 0 to 7.
104-
105-
To program the A7 fuses you could use U-Boot's fuse command as follows::
106-
107-
=> fuse prog 5 0 0xEA2F0B50
108-
=> fuse prog 5 1 0x871167F7
109-
=> fuse prog 5 2 0xF5CECF5D
110-
=> fuse prog 5 3 0x364727C3
111-
=> fuse prog 5 4 0x8DD52832
112-
=> fuse prog 5 5 0xF158F65F
113-
=> fuse prog 5 6 0xA71BBE78
114-
=> fuse prog 5 7 0xA3AD024A
115-
116-
For the M4 fuses it would look like this::
117-
118-
=> fuse prog 6 0 0xEA2F0B50
119-
=> fuse prog 6 1 0x871167F7
120-
=> fuse prog 6 2 0xF5CECF5D
121-
=> fuse prog 6 3 0x364727C3
122-
=> fuse prog 6 4 0x8DD52832
123-
=> fuse prog 6 5 0xF158F65F
124-
=> fuse prog 6 6 0xA71BBE78
125-
=> fuse prog 6 7 0xA3AD024A
126-
127-
Alternatively, you can use the kernel to program the A7 fuses via SDP by using NXP's :term:`Universal Update Utility`.
128-
This is shown in the following script (replace ``@@MACHINE@@`` with your machine name)::
129-
130-
uuu_version 1.0.1
131-
132-
SDP: boot -f SPL-@@MACHINE@@
133-
134-
SDPU: delay 1000
135-
SDPU: write -f u-boot-@@MACHINE@@.itb
136-
SDPU: jump
137-
138-
FB: ucmd fuse prog -y 5 0 0xEA2F0B50
139-
FB: ucmd fuse prog -y 5 1 0x871167F7
140-
FB: ucmd fuse prog -y 5 2 0xF5CECF5D
141-
FB: ucmd fuse prog -y 5 3 0x364727C3
142-
FB: ucmd fuse prog -y 5 4 0x8DD52832
143-
FB: ucmd fuse prog -y 5 5 0xF158F65F
144-
FB: ucmd fuse prog -y 5 6 0xA71BBE78
145-
FB: ucmd fuse prog -y 5 7 0xA3AD024A
146-
147-
FBK: DONE
148-
149-
And the following script would work for setting the M4 fuses::
150-
151-
uuu_version 1.0.1
152-
153-
SDP: boot -f SPL-@@MACHINE@@
154-
155-
SDPU: delay 1000
156-
SDPU: write -f u-boot-@@MACHINE@@.itb
157-
SDPU: jump
158-
159-
FB: ucmd fuse prog -y 6 0 0xEA2F0B50
160-
FB: ucmd fuse prog -y 6 1 0x871167F7
161-
FB: ucmd fuse prog -y 6 2 0xF5CECF5D
162-
FB: ucmd fuse prog -y 6 3 0x364727C3
163-
FB: ucmd fuse prog -y 6 4 0x8DD52832
164-
FB: ucmd fuse prog -y 6 5 0xF158F65F
165-
FB: ucmd fuse prog -y 6 6 0xA71BBE78
166-
FB: ucmd fuse prog -y 6 7 0xA3AD024A
167-
168-
FBK: DONE
169-
17094
i.MX 8MM Fusing
17195
^^^^^^^^^^^^^^^
17296

@@ -278,7 +202,7 @@ Booting this signed SPL image and inspecting the HAB status should give no HAB e
278202
The next fuse instruction will close the board for unsigned images: make sure you can rebuild the signed images before programming that fuse.
279203

280204

281-
Now we can close the device — From here on only signed images can be booted on the platform. For the i.MX 7ULP, we need to fuse bit31 of word 6 from bank 29 (SEC_CONFIG[1] in the documentation)::
205+
Now we can close the device — From here on only signed images can be booted on the platform.
282206

283207
=> fuse prog 29 6 0x80000000
284208

@@ -332,7 +256,7 @@ To comply with these requirements we need to sign the image adding the ``--fix-s
332256
$ ls SPL.signed
333257
SPL.signed
334258

335-
2. On i.MX 7/8M and other i.MX 6 families, using the ``--fix-sdp-dcd`` parameter is not required.
259+
2. On i.MX 8M and i.MX 6 families, using the ``--fix-sdp-dcd`` parameter is not required.
336260

337261

338262
.. note::
@@ -359,7 +283,7 @@ A typical UUU boot script would be (replace ``@@MACHINE@@`` with your machine co
359283
SDPU: delay 1000
360284
SDPU: write -f u-boot-@@MACHINE@@.itb
361285
362-
2) On i.MX 7/8M and other i.MX 6 families — those where SDP does not impose DCD restrictions — the UUU boot script will look like:
286+
2) On i.MX 8M and i.MX 6 families — those where SDP does not impose DCD restrictions — the UUU boot script will look like:
363287

364288
.. code-block:: console
365289
@@ -381,41 +305,6 @@ To that effect we need to make sure of UUU's polling period flag::
381305
These have been contributed to the Universal Update Utility by Foundries.io.
382306
Make sure your UUU version is up-to-date with these changes.
383307

384-
How to Sign an M4 Binary for HABv4 Validation
385-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
386-
387-
.. note::
388-
This applies to i.MX 7ULP which has the Cortex-M4 as the primary core.
389-
390-
To use the i.MX HABv4 validation process when booting an M4 binary, it will also need to be signed in a similar manner.
391-
This is also true for SoCs such as i.MX7ULP which support "dual-boot" mode.
392-
The M4 bootrom loads the M4 binary at power on.
393-
If the device is in a closed state, the bootrom requires the M4 binary to be signed.
394-
395-
Signing the M4 application image is nearly the same as before.
396-
Instead of the ``--spl`` parameter, use ``--m4app``::
397-
398-
$ cd security/imx_hab4/
399-
$ ./sign-file.sh --cst ./cst --m4app sdk20-app_flash.img
400-
401-
SETTINGS FOR : ./sign-file.sh
402-
--------------:
403-
CST BINARY : ./cst
404-
CSF TEMPLATE : u-boot-spl-sign.csf-template
405-
BINARY FILE : sdk20-app_flash.img
406-
KEYS DIRECTORY: .
407-
408-
4+0 records in
409-
4+0 records out
410-
4 bytes copied, 8.5903e-05 s, 46.6 kB/s
411-
4+0 records in
412-
4+0 records out
413-
4 bytes copied, 0.000117146 s, 34.1 kB/s
414-
FOUND HAB Blocks 0x1ffd1000 0x00001000 00015000
415-
CSF Processed successfully and signed data available in sdk20-app_flash.img_csf.bin
416-
$ ls sdk20-app_flash.img.signed
417-
sdk20-app_flash.img.signed
418-
419308
Booting a Closed System With a CAAM Device
420309
------------------------------------------
421310

@@ -427,7 +316,7 @@ Thus, any attempt to write to them will cause system **core fails**.
427316

428317
.. note::
429318
The current NXP BSP implementation expects the CAAM registers to be unlocked when configuring the CAAM to operate in the non-secure TrustZone world.
430-
This applies when OP-TEE is enabled on the i.MX 6, i.MX 7, and i.MX 7ULP processors.
319+
This applies when OP-TEE is enabled on the i.MX 6 processor.
431320

432321
Our ``u-boot-spl-sign.csf-template`` takes care of supporting CAAM on closed platforms by adding the following section::
433322

0 commit comments

Comments
 (0)