Skip to content

Commit 5390eed

Browse files
greg-ferrlubos
authored andcommitted
doc: tfm: clarify support for nRF54L05 & nRF54L10
Edited mentions of nRF54L15 DK with TF-M support to account for TF-M support on emulated nRF54L10 and missing support for TF-M on emulated nRF54L05. NCSDK-30596. Signed-off-by: Grzegorz Ferenc <[email protected]>
1 parent fe8b9fd commit 5390eed

File tree

11 files changed

+200
-117
lines changed

11 files changed

+200
-117
lines changed

doc/nrf/app_dev/board_names.rst

Lines changed: 88 additions & 81 deletions
Large diffs are not rendered by default.

doc/nrf/app_dev/device_guides/nrf54l/cryptography.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,7 @@ Depending on the usage scheme:
335335

336336
* Key slots with the usage scheme Encrypted (``CRACEN_KMU_KEY_USAGE_SCHEME_ENCRYPTED``) also have to be decrypted to a temporary push location in RAM before they are used by CRACEN, which is handled by the CRACEN driver.
337337

338-
When the application is built with TF-M, this temporary push location is protected inside the secure processing environment to avoid exposing the key material to the non-secure application.
338+
When the application is built with TF-M (for nRF54L Series devices that :ref:`support TF-M <ug_tfm_supported_services>`), this temporary push location is protected inside the secure processing environment to avoid exposing the key material to the non-secure application.
339339
If TF-M is not used, the keys are pushed to a reserved RAM area at location 0x20000000-0x20000064 (``kmu_push_area``).
340340

341341
You might encounter the following KMU-specific error codes when using the KMU keys:

doc/nrf/app_dev/device_guides/nrf54l/index.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@ Refer to the following information for the list of supported development kits (D
4747
| `nRF54L15 System-on-Chip (SoC) <nRF54L15 System-on-Chip_>`_
4848
* - :ref:`nRF54L10 emulation on the nRF54L15 DK <zephyr:nrf54l15dk_nrf54l10>`
4949
- PCA10156
50-
- ``nrf54l15dk/nrf54l10/cpuapp``
50+
- | ``nrf54l15dk/nrf54l10/cpuapp``
51+
| ``nrf54l15dk/nrf54l10/cpuapp/ns`` (:ref:`TF-M <app_boards_spe_nspe>`)
5152
- | `Datasheet <nRF54L15 Datasheet_>`_
5253
| `nRF54L10 Compatibility Matrix`_
5354
- | `nRF54L10 System-on-Chip (SoC) <nRF54L10_>`_

doc/nrf/protocols/matter/end_product/security.rst

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,18 +33,17 @@ For an overview of the cryptography layer configuration supported for each |NCS|
3333
Secure processing environment
3434
*****************************
3535

36-
Depending on the board target, Matter samples can use the :ref:`secure processing environment <ug_tfm_security_by_separation>` with Trusted Firmware-M (TF-M).
36+
When building for the nRF54L15 DK using the ``nrf54l15dk/nrf54l15/cpuapp/ns`` :ref:`board target <app_boards_names>`, Matter samples can use the :ref:`secure processing environment <ug_tfm_security_by_separation>` with Trusted Firmware-M (TF-M).
37+
In such cases, all cryptographic operations within the Matter stack are performed by using the `Platform Security Architecture (PSA)`_ API and executed in the secure TF-M environment using the :ref:`TF-M Crypto Service implementation <ug_crypto_architecture_implementation_standards_tfm>`.
38+
The secure materials like Matter Session keys and other keys (except for the DAC private key) can be stored in the TF-M secure storage using the :ref:`tfm_encrypted_its` or :ref:`key_storage_kmu`.
3739

38-
nRF54L with Trusted Firmware-M (TF-M)
39-
=====================================
40+
Matter samples use the full, configurable TF-M build, so you cannot use the minimal build.
41+
For more information, see :ref:`ug_tfm_supported_services_profiles`.
4042

41-
On the nRF54L SoC, all cryptographic operations within the Matter stack are performed by utilizing the `Platform Security Architecture (PSA)`_ API and executed in the secure TF-M environment using the :ref:`TF-M Crypto Service implementation <ug_crypto_architecture_implementation_standards_tfm>`.
42-
The secure materials like Matter Session keys and other keys, except for the DAC private key, are stored in the TF-M secure storage using the :ref:`tfm_encrypted_its` module.
43-
Matter samples use the full TF-M library, so you cannot use the :ref:`tfm_minimal_build` version of TF-M.
44-
45-
To build a Matter sample with the TF-M support, :ref:`build <building>` for the :ref:`board target <app_boards_names>` with the ``/ns`` variant.
43+
Matter sample partition layout
44+
==============================
4645

47-
To configure partition layout for your application, you can edit the :file:`pm_static_nrf54l15dk_nrf54l15_cpuapp_ns.yml` file that is available in each sample directory.
46+
To configure the partition layout for your application, you can edit the :file:`pm_static_nrf54l15dk_nrf54l15_cpuapp_ns.yml` file that is available in each sample directory.
4847
To read more about the TF-M partitioning, see :ref:`ug_tfm_partition_alignment_requirements`.
4948
While using TF-M, the application partition size and available RAM space for the application is lower than without TF-M.
5049
You must keep this in mind and calculate the available space for the application partition.

doc/nrf/protocols/thread/overview/security.rst

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,14 @@ The Thread stack requires the following cryptographic operations:
4040
Secure processing environment
4141
*****************************
4242

43-
When building for the nRF54L15 DK using the :ref:`board target <app_boards_names>` with the ``/ns`` variant (``nrf54l15dk/nrf54l15/cpuapp/ns``), Thread samples can use the :ref:`secure processing environment <ug_tfm_security_by_separation>` with Trusted Firmware-M (TF-M).
43+
When building for the nRF54L15 DK using the ``nrf54l15dk/nrf54l15/cpuapp/ns`` :ref:`board target <app_boards_names>`, Thread samples can use the :ref:`secure processing environment <ug_tfm_security_by_separation>` with Trusted Firmware-M (TF-M).
4444
In such cases, all cryptographic operations within the Thread stack are performed using the `Platform Security Architecture (PSA)`_ API and executed in the secure TF-M environment using the :ref:`TF-M Crypto Service implementation <ug_crypto_architecture_implementation_standards_tfm>`.
45-
The secure materials like Thread network key are stored in the TF-M secure storage using the :ref:`tfm_encrypted_its` module.
45+
The secure materials like Thread network key can be stored in the TF-M secure storage using the :ref:`tfm_encrypted_its` or :ref:`key_storage_kmu`.
4646

47-
For example, to build the Thread CLI sample for the nRF54L15 DK with the TF-M support, run the following command:
47+
Thread samples use the full, configurable TF-M build, so you cannot use the minimal build.
48+
For more information, see :ref:`ug_tfm_supported_services_profiles`.
49+
50+
For example, to build the Thread CLI sample with the TF-M support, run the following command:
4851

4952
.. code-block:: console
5053

doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -794,7 +794,12 @@ zcbor
794794
Trusted Firmware-M
795795
==================
796796

797-
* Updated the TF-M version to 2.2.0.
797+
* Updated:
798+
799+
* The TF-M version to 2.2.0.
800+
* Documentation to clarify the support for TF-M on devices emulated using the nRF54L15 DK.
801+
nRF54L05 does not support TF-M.
802+
nRF54L10 supports TF-M experimentally.
798803

799804
Documentation
800805
=============

doc/nrf/releases_and_maturity/software_maturity.rst

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2224,6 +2224,8 @@ Trusted Firmware-M support
22242224

22252225
.. tab:: nRF53 Series
22262226

2227+
For board targets supported by TF-M, see :ref:`ug_tfm_building_board_targets`.
2228+
22272229
.. list-table:: TF-M profile support
22282230
:header-rows: 1
22292231
:widths: auto
@@ -2237,6 +2239,8 @@ Trusted Firmware-M support
22372239

22382240
.. tab:: nRF54 Series
22392241

2242+
For board targets supported by TF-M, see :ref:`ug_tfm_building_board_targets`.
2243+
22402244
.. list-table:: TF-M profile support
22412245
:header-rows: 1
22422246
:widths: auto
@@ -2248,20 +2252,22 @@ Trusted Firmware-M support
22482252
- nRF54L15
22492253
- nRF54LM20
22502254
* - :ref:`Configurable <ug_tfm_supported_services_profiles_configurable>`
2251-
- --
22522255
- --
22532256
- --
22542257
- Experimental
2258+
- Experimental
22552259
- Experimental (with :ref:`limitations <tfm_encrypted_its>`)
22562260
* - :ref:`Minimal <ug_tfm_supported_services_profiles_minimal>`
2257-
- --
22582261
- --
22592262
- --
22602263
- Experimental
2264+
- Experimental
22612265
- Experimental (with :ref:`limitations <tfm_encrypted_its>`)
22622266

22632267
.. tab:: nRF91 Series
22642268

2269+
For board targets supported by TF-M, see :ref:`ug_tfm_building_board_targets`.
2270+
22652271
.. list-table:: TF-M profile support
22662272
:header-rows: 1
22672273
:widths: auto
@@ -2412,7 +2418,7 @@ The lists are organized by device Series and implementation.
24122418
- --
24132419
- Experimental
24142420
- Experimental
2415-
- --
2421+
- Experimental
24162422
* - :ref:`IronSide Secure Element <ug_crypto_architecture_implementation_standards_ironside>`
24172423
- Supported
24182424
- --

doc/nrf/security.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Some of them are documented in detail in other parts of this documentation, whil
3838
| - :ref:`ug_nrf54l_cryptography`
3939
* - Trusted Firmware-M (TF-M)
4040
- TF-M is the reference implementation of `Platform Security Architecture (PSA)`_.
41-
On nRF5340, nRF54L and nRF91 Series devices, TF-M is used to configure and boot an application with :ref:`security by separation <app_boards_spe_nspe_cpuapp_ns>`.
41+
On :ref:`boards with the /ns variant <app_boards_names>`, TF-M is used to configure and boot an application with :ref:`security by separation <app_boards_spe_nspe_cpuapp_ns>`.
4242
- See :ref:`ug_tfm`.
4343
- | - :ref:`tfm_samples`
4444
| - :ref:`crypto_samples`

doc/nrf/security/tfm/tfm_building.rst

Lines changed: 65 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,76 @@ To add TF-M to your build, enable the :kconfig:option:`CONFIG_BUILD_WITH_TFM` co
1717
By default, TF-M is configured to build the :ref:`minimal version <tfm_minimal_build>`.
1818
To use the full TF-M, you must disable the :kconfig:option:`CONFIG_TFM_PROFILE_TYPE_MINIMAL` option.
1919

20+
.. _ug_tfm_building_board_targets:
21+
2022
Board targets supported by TF-M
2123
*******************************
2224

23-
The :ref:`boards supported by the SDK <app_boards_names>` distinguish entries according which CPU is to be targeted (for multi-core SoCs) and whether the security by separation is to be used or not (addition of the ``*/ns`` :ref:`variant <app_boards_names>` if it is used).
24-
25+
The boards supported by the SDK distinguish entries according to which CPU is to be targeted (for multi-core SoCs) and whether the :ref:`security by separation <ug_tfm_security_by_separation>` is to be used or not (addition of the ``*/ns`` :ref:`variant <app_boards_names>` if it is used).
2526
To build with TF-M in the |NCS|, you must use a board target with the ``*/ns`` variant.
26-
The following platforms are currently supported:
2727

28-
* nRF54LM20A
29-
* nRF54L15
30-
* nRF5340
31-
* nRF91 Series
28+
The following table lists the board targets that you can use to build with TF-M.
29+
See :ref:`app_boards_names` for the complete list of boards and board targets supported by the SDK.
30+
31+
.. list-table:: Board targets supported by TF-M
32+
:header-rows: 1
33+
34+
* - Hardware platform
35+
- PCA number
36+
- Board name
37+
- TF-M board target
38+
* - nRF9161 DK
39+
- PCA10153
40+
- :zephyr:board:`nrf9161dk <nrf9161dk>`
41+
- ``nrf9161dk/nrf9161/ns``
42+
* - nRF9160 DK
43+
- PCA10090
44+
- :ref:`nrf9160dk <zephyr:nrf9160dk_nrf9160>`
45+
- ``nrf9160dk/nrf9160/ns``
46+
* - nRF9151 DK
47+
- PCA10171
48+
- :zephyr:board:`nrf9151dk <nrf9151dk>`
49+
- ``nrf9151dk/nrf9151/ns``
50+
* - nRF9131 EK
51+
- PCA10165
52+
- :zephyr:board:`nrf9131ek <nrf9131ek>`
53+
- ``nrf9131ek/nrf9131/ns``
54+
* - nRF54LM20 DK
55+
- PCA10184
56+
- :zephyr:board:`nrf54lm20dk <nrf54lm20dk>`
57+
- ``nrf54lm20dk/nrf54lm20a/cpuapp/ns``
58+
* - nRF54L15 DK
59+
- PCA10156
60+
- :zephyr:board:`nrf54l15dk <nrf54l15dk>`
61+
- ``nrf54l15dk/nrf54l15/cpuapp/ns``
62+
* - nRF54L10 emulated on the nRF54L15 DK
63+
- PCA10156
64+
- :ref:`nrf54l10dk/nrf54l10 <zephyr:nrf54l15dk_nrf54l10>`
65+
- ``nrf54l15dk/nrf54l10/cpuapp/ns``
66+
* - nRF5340 DK
67+
- PCA10095
68+
- :zephyr:board:`nrf5340dk <nrf5340dk>`
69+
- ``nrf5340dk/nrf5340/cpuapp/ns``
70+
* - Thingy:53
71+
- PCA20053
72+
- :zephyr:board:`thingy53 <thingy53>`
73+
- ``thingy53/nrf5340/cpuapp/ns``
74+
* - nRF7002 DK
75+
- PCA10143
76+
- :zephyr:board:`nrf7002dk <nrf7002dk>`
77+
- ``nrf7002dk/nrf5340/cpuapp/ns``
78+
* - Thingy:91
79+
- PCA20035
80+
- :ref:`thingy91 <ug_thingy91>`
81+
- ``thingy91/nrf9160/ns``
82+
* - Thingy:91 X
83+
- PCA20065
84+
- :ref:`thingy91x <ug_thingy91x>`
85+
- ``thingy91x/nrf9151/ns``
86+
* - Thingy:91 X
87+
- PCA20065
88+
- :ref:`thingy91x <ug_thingy91x>`
89+
- ``thingy91x/nrf5340/cpuapp/ns``
3290

3391
.. _ug_tfm_building_secure_services:
3492

doc/nrf/security/tfm/tfm_supported_services.rst

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
.. _ug_tfm_supported_services:
22

3-
Supported services and limitations in the |NCS|
4-
###############################################
3+
TF-M support and limitations in the |NCS|
4+
#########################################
55

66
.. contents::
77
:local:
@@ -45,14 +45,18 @@ Instead, it provides two main configurations for TF-M: minimal and configurable.
4545
- Not supported
4646
- Profile Large protects less resource-constrained Arm Cortex-M devices.
4747

48-
Hardware support matrix for TF-M configurations
49-
Expand the following field to list the software maturity levels for the TF-M configurations in the |NCS| for each device.
48+
.. _ug_tfm_supported_services_profiles_hw_support:
5049

51-
.. toggle::
50+
Hardware support matrix for TF-M profiles
51+
=========================================
5252

53-
.. include:: ../../releases_and_maturity/software_maturity.rst
54-
:start-after: tfm_ncs_profiles_support_table_start
55-
:end-before: tfm_ncs_profiles_support_table_end
53+
The following table lists hardware support and software maturity levels for the minimal and configurable TF-M profiles in the |NCS|.
54+
55+
.. include:: ../../releases_and_maturity/software_maturity.rst
56+
:start-after: tfm_ncs_profiles_support_table_start
57+
:end-before: tfm_ncs_profiles_support_table_end
58+
59+
For the definitions of the maturity levels, see :ref:`software_maturity`.
5660

5761
.. _ug_tfm_supported_services_profiles_minimal:
5862

0 commit comments

Comments
 (0)