diff --git a/doc/nrf/includes/sample_board_rows.txt b/doc/nrf/includes/sample_board_rows.txt index 905b858f1393..a0773390c465 100644 --- a/doc/nrf/includes/sample_board_rows.txt +++ b/doc/nrf/includes/sample_board_rows.txt @@ -230,6 +230,16 @@ | :ref:`nRF54L15 DK ` | PCA10156 | :zephyr:board:`nrf54l15dk` | ``nrf54l15dk/nrf54l15/cpuapp`` | +.. nrf54l15dk_nrf54l10_cpuapp_ns + +| :ref:`nRF54L15 DK (emulating nRF54L10) ` | PCA10156 | :zephyr:board:`nrf54l15dk` | ``nrf54l15dk/nrf54l10/cpuapp/ns`` | + +.. nrf54l15dk_nrf54l10_cpuapp_and_cpuapp_ns + +| :ref:`nRF54L15 DK (emulating nRF54L10) ` | PCA10156 | :zephyr:board:`nrf54l15dk` | ``nrf54l15dk/nrf54l10/cpuapp`` | +| | | | | +| | | | ``nrf54l15dk/nrf54l10/cpuapp/ns`` | + .. nrf54l15dk_nrf54l15_cpuapp_ns | :ref:`nRF54L15 DK ` | PCA10156 | :zephyr:board:`nrf54l15dk` | ``nrf54l15dk/nrf54l15/cpuapp/ns`` | diff --git a/modules/trusted-firmware-m/Kconfig.tfm.defconfig b/modules/trusted-firmware-m/Kconfig.tfm.defconfig index b09dea9c3425..319952f62e1c 100644 --- a/modules/trusted-firmware-m/Kconfig.tfm.defconfig +++ b/modules/trusted-firmware-m/Kconfig.tfm.defconfig @@ -11,6 +11,7 @@ config TFM_BOARD default "${ZEPHYR_NRF_MODULE_DIR}/modules/trusted-firmware-m/tfm_boards/nrf9120" if SOC_NRF9120 default "${ZEPHYR_NRF_MODULE_DIR}/modules/trusted-firmware-m/tfm_boards/nrf5340_cpuapp" if SOC_NRF5340_CPUAPP default "${ZEPHYR_NRF_MODULE_DIR}/modules/trusted-firmware-m/tfm_boards/nrf54l15_cpuapp" if SOC_NRF54L15_CPUAPP + default "${ZEPHYR_NRF_MODULE_DIR}/modules/trusted-firmware-m/tfm_boards/nrf54l10_cpuapp" if SOC_NRF54L10_CPUAPP depends on TRUSTED_EXECUTION_NONSECURE if BUILD_WITH_TFM diff --git a/modules/trusted-firmware-m/Kconfig.tfm.pm b/modules/trusted-firmware-m/Kconfig.tfm.pm index eaa48f14478e..58f4b3b115fd 100644 --- a/modules/trusted-firmware-m/Kconfig.tfm.pm +++ b/modules/trusted-firmware-m/Kconfig.tfm.pm @@ -14,7 +14,11 @@ config PM_PARTITION_SIZE_TFM_SRAM # It has been observed for 54L that when Matter is enabled, then # assigning 0x16000 of RAM to TFM will not leave enough RAM for # Matter. So we use 0x13000 of RAM on 54L. - default 0x13000 if SOC_SERIES_NRF54LX + default 0x13000 if SOC_NRF54L15_CPUAPP + # Set the of TFM_SRAM to 0x10000(64kB) since the nR54L10 + # has less RAM. The number was selected based on the observed memory + # usage of TFM in crypto samples and it can be changed later if needed. + default 0x10000 if SOC_NRF54L10_CPUAPP default 0x16000 if SOC_SERIES_NRF91X default 0x30000 help diff --git a/modules/trusted-firmware-m/tfm_boards/CMakeLists.txt b/modules/trusted-firmware-m/tfm_boards/CMakeLists.txt index 4993513b6e61..dfa38f7d726a 100644 --- a/modules/trusted-firmware-m/tfm_boards/CMakeLists.txt +++ b/modules/trusted-firmware-m/tfm_boards/CMakeLists.txt @@ -87,10 +87,10 @@ if (${TFM_PARTITION_CRYPTO}) $<$:CONFIG_HW_UNIQUE_KEY_RANDOM> ) - # nrf54l15 uses the PSA headers in the hw_unique_key_cracen_kmu.c file, which means + # nrf54l15/nrf54l10 use the PSA headers in the hw_unique_key_cracen_kmu.c file, which means # that we need to make sure that the nrf_security PSA headers are included # before any other PSA-related headers. - if(NRF_SOC_VARIANT STREQUAL nrf54l15) + if(NRF_SOC_VARIANT MATCHES "nrf54l1[05]") target_link_libraries(platform_crypto_keys PRIVATE psa_crypto_library_config @@ -221,7 +221,7 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/common DESTINATION ${INSTALL_PLATFORM_NS_DIR}) -if(NRF_SOC_VARIANT STREQUAL nrf54l15) +if(NRF_SOC_VARIANT MATCHES "nrf54l1[05]") file(COPY ${ZEPHYR_NRF_MODULE_DIR}/subsys/nrf_security/src/drivers/cracen/cracenpsa/include/cracen_psa_key_ids.h DESTINATION ${INSTALL_INTERFACE_INC_DIR}) file(COPY ${ZEPHYR_NRF_MODULE_DIR}/subsys/nrf_security/src/drivers/cracen/cracenpsa/include/cracen_psa_kmu.h diff --git a/modules/trusted-firmware-m/tfm_boards/board/device_cfg.h b/modules/trusted-firmware-m/tfm_boards/board/device_cfg.h index e969b7a87c95..52a674bf0253 100644 --- a/modules/trusted-firmware-m/tfm_boards/board/device_cfg.h +++ b/modules/trusted-firmware-m/tfm_boards/board/device_cfg.h @@ -13,17 +13,8 @@ #undef ARRAY_SIZE #include -#if !defined(NRF54L15_XXAA) -#if defined(CONFIG_TFM_SECURE_UART0) || DOMAIN_NS == 1U -#define TFM_UART uart0 -#endif /* defined(CONFIG_TFM_SECURE_UART0) || DOMAIN_NS == 1U */ - -#if defined(CONFIG_TFM_SECURE_UART1) && DOMAIN_NS != 1U -#define TFM_UART uart1 -#endif /* defined(CONFIG_TFM_SECURE_UART1) */ - -#else /* NRF54L15_XXAA */ +#if defined(NRF54L15_XXAA) || defined(NRF54L10_XXAA) #if defined(CONFIG_TFM_SECURE_UART00) && DOMAIN_NS != 1U #define TFM_UART uart00 @@ -45,7 +36,17 @@ #define TFM_UART uart30 #endif /* defined(CONFIG_TFM_SECURE_UART30) */ -#endif /* NRF54L15_XXAA */ +#else /* NRF54L15_XXAA || NRF54L10_XXAA */ + +#if defined(CONFIG_TFM_SECURE_UART0) || DOMAIN_NS == 1U +#define TFM_UART uart0 +#endif /* defined(CONFIG_TFM_SECURE_UART0) || DOMAIN_NS == 1U */ + +#if defined(CONFIG_TFM_SECURE_UART1) && DOMAIN_NS != 1U +#define TFM_UART uart1 +#endif /* defined(CONFIG_TFM_SECURE_UART1) */ + +#endif /* NRF54L15_XXAA || NRF54L10_XXAA */ #define DEFAULT_UART_BAUDRATE DT_PROP_OR(DT_NODELABEL(TFM_UART), current_speed, 115200) diff --git a/modules/trusted-firmware-m/tfm_boards/common/assert.c b/modules/trusted-firmware-m/tfm_boards/common/assert.c index b711ecfa26fe..edca5d8e4179 100644 --- a/modules/trusted-firmware-m/tfm_boards/common/assert.c +++ b/modules/trusted-firmware-m/tfm_boards/common/assert.c @@ -22,7 +22,7 @@ M2S(PM_TFM_NONSECURE_ADDRESS) \ "\nwhich is not aligned with the SPU/MPC HW requirements." \ "\nIn nRF53/nRF91 series the flash region need to be aligned with the SPU region size." \ - "\nIn nRF54L15 the flash region need to be aligned with the MPC region size." \ + "\nIn nRF54L15/nRF54L10 the flash region need to be aligned with the MPC region size." \ "\nRefer to the documentation section 'TF-M partition alignment requirements'" \ "\nfor more information.\n\n" @@ -33,7 +33,7 @@ #pragma message \ "SRAM non-secure address is not aligned to SPU/MPC HW requirements" \ "\nIn nRF53/nRF91 series the RAM region need to be aligned with the SPU region size." \ - "\nIn nRF54L15 the RAM region need to be aligned with the MPC region size.\n\n" + "\nIn nRF54L15/nRF54L10 the RAM region need to be aligned with the MPC region size.\n\n" #error "SRAM non-secure start address is not aligned to SPU/MPC HW requirements" #endif diff --git a/modules/trusted-firmware-m/tfm_boards/external_core.cmake b/modules/trusted-firmware-m/tfm_boards/external_core.cmake index 85abe57ef49e..db254fa2c323 100644 --- a/modules/trusted-firmware-m/tfm_boards/external_core.cmake +++ b/modules/trusted-firmware-m/tfm_boards/external_core.cmake @@ -136,10 +136,10 @@ if(TARGET platform_s) # Required for system_nrfxx_approtect.h. $<$:ENABLE_APPROTECT> $<$:ENABLE_APPROTECT_USER_HANDLING> - $<$:ENABLE_AUTHENTICATED_APPROTECT> # nRF54L15 + $<$:ENABLE_AUTHENTICATED_APPROTECT> # nRF54L15/nRF54L10 $<$:ENABLE_SECURE_APPROTECT> - $<$:ENABLE_SECUREAPPROTECT> # nRF54L15 + $<$:ENABLE_SECUREAPPROTECT> # nRF54L15/nRF54L10 $<$:ENABLE_SECURE_APPROTECT_USER_HANDLING> - $<$:ENABLE_AUTHENTICATED_SECUREAPPROTECT> # nRF54L15 + $<$:ENABLE_AUTHENTICATED_SECUREAPPROTECT> # nRF54L15/nRF54L10 ) endif() diff --git a/modules/trusted-firmware-m/tfm_boards/nrf54l10_cpuapp/CMakeLists.txt b/modules/trusted-firmware-m/tfm_boards/nrf54l10_cpuapp/CMakeLists.txt new file mode 100644 index 000000000000..d42837acb689 --- /dev/null +++ b/modules/trusted-firmware-m/tfm_boards/nrf54l10_cpuapp/CMakeLists.txt @@ -0,0 +1,49 @@ +# +# Copyright (c) 2025, Nordic Semiconductor ASA. +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# + +set(NRF_BOARD_SELECTED True) + +add_subdirectory(${Trusted\ Firmware\ M_SOURCE_DIR}/platform/ext/target/nordic_nrf/common/nrf54l10 nrf54l10) + +add_subdirectory(.. tfm_board) + +target_include_directories(platform_s + PUBLIC + ${ZEPHYR_NRF_MODULE_DIR}/subsys/nrf_security/src/drivers/cracen/cracenpsa/include + ) + +target_sources(platform_s + PRIVATE + ${ZEPHYR_BASE}/soc/nordic/nrf54l/soc.c + ) + +target_include_directories(platform_s + PRIVATE + ${ZEPHYR_BASE}/modules/cmsis/ + ${ZEPHYR_BASE}/soc/nordic/nrf54l + ${ZEPHYR_BASE}/soc/nordic/common + ) + +# nrf54l10_application.h should be defining __ICACHE_PRESENT, but +# it is not, until this is fixed we define it here. +target_compile_definitions(platform_s + PRIVATE + __ICACHE_PRESENT=1 + ) + +install(FILES ${CMAKE_CURRENT_LIST_DIR}/ns/cpuarch_ns.cmake + DESTINATION ${INSTALL_PLATFORM_NS_DIR} + RENAME cpuarch.cmake) + +install(FILES config.cmake + DESTINATION ${INSTALL_PLATFORM_NS_DIR}) + +install(FILES ../common/config.cmake + DESTINATION ${INSTALL_PLATFORM_NS_DIR}/../common/) + +install(DIRECTORY ${Trusted\ Firmware\ M_SOURCE_DIR}/platform/ext/target/nordic_nrf/nrf54l15dk_nrf54l10_cpuapp/tests + DESTINATION ${INSTALL_PLATFORM_NS_DIR} +) diff --git a/modules/trusted-firmware-m/tfm_boards/nrf54l10_cpuapp/config.cmake b/modules/trusted-firmware-m/tfm_boards/nrf54l10_cpuapp/config.cmake new file mode 100644 index 000000000000..8e3d6995f99f --- /dev/null +++ b/modules/trusted-firmware-m/tfm_boards/nrf54l10_cpuapp/config.cmake @@ -0,0 +1,23 @@ +#------------------------------------------------------------------------------- +# Copyright (c) 2025, Nordic Semiconductor ASA. +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# +#------------------------------------------------------------------------------- + +include(${CMAKE_CURRENT_LIST_DIR}/../common/config.cmake) + +set(NRF_SOC_VARIANT nrf54l10 CACHE STRING "nRF SoC Variant") + +include(${PLATFORM_PATH}/common/${NRF_SOC_VARIANT}/config.cmake) + +# Override PS_CRYPTO_KDF_ALG +set(PS_CRYPTO_KDF_ALG PSA_ALG_SP800_108_COUNTER_CMAC CACHE STRING "KDF Algorithm to use") + +# attest_hal.c includes bl_storage.h, which needs CONFIG_NRFX_RRAMC to be defined. +# This is because bl_storage is a lib intended to be run from either the bootloader (Zephyr) or from TF-M. +# This is independent from the NS image's CONFIG_NRFX_RRAMC, which must be disabled, so we can not inherit +# this from app Kconfig. +if(TFM_PARTITION_INITIAL_ATTESTATION) + add_compile_definitions(CONFIG_NRFX_RRAMC) +endif() diff --git a/modules/trusted-firmware-m/tfm_boards/nrf54l10_cpuapp/cpuarch.cmake b/modules/trusted-firmware-m/tfm_boards/nrf54l10_cpuapp/cpuarch.cmake new file mode 100644 index 000000000000..b08db4403e20 --- /dev/null +++ b/modules/trusted-firmware-m/tfm_boards/nrf54l10_cpuapp/cpuarch.cmake @@ -0,0 +1,10 @@ +# +# Copyright (c) 2025, Nordic Semiconductor ASA. +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# + +set(PLATFORM_PATH platform/ext/target/nordic_nrf) + +include(${PLATFORM_PATH}/common/nrf54l10/cpuarch.cmake) +add_compile_definitions(__NRF_TFM__) diff --git a/modules/trusted-firmware-m/tfm_boards/nrf54l10_cpuapp/ns/cpuarch_ns.cmake b/modules/trusted-firmware-m/tfm_boards/nrf54l10_cpuapp/ns/cpuarch_ns.cmake new file mode 100644 index 000000000000..c27a995b0f5c --- /dev/null +++ b/modules/trusted-firmware-m/tfm_boards/nrf54l10_cpuapp/ns/cpuarch_ns.cmake @@ -0,0 +1,10 @@ +# +# Copyright (c) 2025, Nordic Semiconductor ASA. +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# + +set(PLATFORM_DIR ${CMAKE_CURRENT_LIST_DIR}) +set(PLATFORM_PATH ${CMAKE_CURRENT_LIST_DIR}) + +include(${CMAKE_CURRENT_LIST_DIR}/common/nrf54l10/cpuarch.cmake) diff --git a/samples/crypto/aes_cbc/sample.yaml b/samples/crypto/aes_cbc/sample.yaml index a6448fd59f1b..77d9a5fb20d8 100644 --- a/samples/crypto/aes_cbc/sample.yaml +++ b/samples/crypto/aes_cbc/sample.yaml @@ -49,6 +49,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp harness: console harness_config: @@ -59,6 +60,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp sample.aes_cbc.cracen.crypto_service: sysbuild: true diff --git a/samples/crypto/aes_ccm/sample.yaml b/samples/crypto/aes_ccm/sample.yaml index 5cbbc2a9380e..65fa567855fa 100644 --- a/samples/crypto/aes_ccm/sample.yaml +++ b/samples/crypto/aes_ccm/sample.yaml @@ -50,6 +50,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp harness: console harness_config: @@ -61,6 +62,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp sample.aes_ccm.cracen.crypto_service: sysbuild: true diff --git a/samples/crypto/aes_ctr/sample.yaml b/samples/crypto/aes_ctr/sample.yaml index ea040a0be085..c0b40d8bba95 100644 --- a/samples/crypto/aes_ctr/sample.yaml +++ b/samples/crypto/aes_ctr/sample.yaml @@ -49,6 +49,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp harness: console harness_config: @@ -59,6 +60,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp sample.aes_ctr.cracen.crypto_service: sysbuild: true diff --git a/samples/crypto/aes_gcm/sample.yaml b/samples/crypto/aes_gcm/sample.yaml index 6c0fd1e59ca8..153716dd91e5 100644 --- a/samples/crypto/aes_gcm/sample.yaml +++ b/samples/crypto/aes_gcm/sample.yaml @@ -70,6 +70,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp harness: console harness_config: @@ -81,6 +82,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp sample.aes_gcm.cracen.crypto_service: sysbuild: true diff --git a/samples/crypto/chachapoly/sample.yaml b/samples/crypto/chachapoly/sample.yaml index a05eab6f8b33..776f09dcbe09 100644 --- a/samples/crypto/chachapoly/sample.yaml +++ b/samples/crypto/chachapoly/sample.yaml @@ -50,6 +50,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp harness: console harness_config: @@ -61,6 +62,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp sample.chachapoly.cracen.crypto_service: sysbuild: true diff --git a/samples/crypto/ecdh/sample.yaml b/samples/crypto/ecdh/sample.yaml index 383235a0ce2c..d3c9afb0aae3 100644 --- a/samples/crypto/ecdh/sample.yaml +++ b/samples/crypto/ecdh/sample.yaml @@ -50,6 +50,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp harness: console harness_config: @@ -61,6 +62,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp sample.ecdh.cracen.crypto_service: sysbuild: true diff --git a/samples/crypto/ecdsa/sample.yaml b/samples/crypto/ecdsa/sample.yaml index 826148ffa32b..882630f3251c 100644 --- a/samples/crypto/ecdsa/sample.yaml +++ b/samples/crypto/ecdsa/sample.yaml @@ -66,6 +66,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp harness: console harness_config: @@ -77,6 +78,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp sample.ecdsa.cracen.crypto_service: sysbuild: true diff --git a/samples/crypto/ecjpake/sample.yaml b/samples/crypto/ecjpake/sample.yaml index efdccd8e336b..4eaebeed8e55 100644 --- a/samples/crypto/ecjpake/sample.yaml +++ b/samples/crypto/ecjpake/sample.yaml @@ -49,6 +49,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp harness: console harness_config: @@ -60,6 +61,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp sample.ecjpake.cracen.crypto_service: sysbuild: true diff --git a/samples/crypto/eddsa/sample.yaml b/samples/crypto/eddsa/sample.yaml index 9aa7306dd50c..997696152d32 100644 --- a/samples/crypto/eddsa/sample.yaml +++ b/samples/crypto/eddsa/sample.yaml @@ -66,6 +66,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp harness: console harness_config: @@ -77,6 +78,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp sample.eddsa.cracen.crypto_service: sysbuild: true diff --git a/samples/crypto/hkdf/sample.yaml b/samples/crypto/hkdf/sample.yaml index ceeab8cae1ac..5f6c6a3c0afe 100644 --- a/samples/crypto/hkdf/sample.yaml +++ b/samples/crypto/hkdf/sample.yaml @@ -48,6 +48,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp harness: console harness_config: @@ -59,6 +60,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp sample.hkdf.cracen.crypto_service: sysbuild: true diff --git a/samples/crypto/hmac/sample.yaml b/samples/crypto/hmac/sample.yaml index cedecd64055c..a784f10d10a5 100644 --- a/samples/crypto/hmac/sample.yaml +++ b/samples/crypto/hmac/sample.yaml @@ -50,6 +50,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp harness: console harness_config: @@ -61,6 +62,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp sample.hmac.cracen.crypto_service: sysbuild: true diff --git a/samples/crypto/pbkdf2/sample.yaml b/samples/crypto/pbkdf2/sample.yaml index b7d15e21d291..fef4161f2fbb 100644 --- a/samples/crypto/pbkdf2/sample.yaml +++ b/samples/crypto/pbkdf2/sample.yaml @@ -48,6 +48,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp harness: console harness_config: @@ -59,6 +60,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp sample.pbkdf2.cracen.crypto_service: sysbuild: true diff --git a/samples/crypto/persistent_key_usage/sample.yaml b/samples/crypto/persistent_key_usage/sample.yaml index 37f55db5384a..482071c098c7 100644 --- a/samples/crypto/persistent_key_usage/sample.yaml +++ b/samples/crypto/persistent_key_usage/sample.yaml @@ -51,6 +51,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp harness: console harness_config: @@ -62,4 +63,5 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp diff --git a/samples/crypto/psa_tls/boards/nrf54l15dk_nrf54l10_cpuapp_ns.conf b/samples/crypto/psa_tls/boards/nrf54l15dk_nrf54l10_cpuapp_ns.conf new file mode 100644 index 000000000000..a3cd83fb4844 --- /dev/null +++ b/samples/crypto/psa_tls/boards/nrf54l15dk_nrf54l10_cpuapp_ns.conf @@ -0,0 +1,17 @@ +# +# Copyright (c) 2025 Nordic Semiconductor ASA +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# +CONFIG_TFM_PROFILE_TYPE_NOT_SET=y +CONFIG_NRF_ENABLE_ICACHE=n +CONFIG_MBEDTLS_USE_PSA_CRYPTO=y +CONFIG_MBEDTLS_PSA_CRYPTO_C=y + +# The ECDSA CA certificate is stored persistently with Protected Storage, +# which internally uses Internal Trusted Storage. Since ITS encryption is +# enabled by default for nRF54L10, the sample must be configured with a +# larger ITS asset size than the default 500 bytes. This is because +# encrypted ITS assets must be stored in a single chunk. +CONFIG_TFM_ITS_MAX_ASSET_SIZE_OVERRIDE=y +CONFIG_TFM_ITS_MAX_ASSET_SIZE=600 diff --git a/samples/crypto/psa_tls/boards/nrf54l15dk_nrf54l10_cpuapp_ns.overlay b/samples/crypto/psa_tls/boards/nrf54l15dk_nrf54l10_cpuapp_ns.overlay new file mode 100644 index 000000000000..479c57514a99 --- /dev/null +++ b/samples/crypto/psa_tls/boards/nrf54l15dk_nrf54l10_cpuapp_ns.overlay @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2025 Nordic Semiconductor + * + * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause + */ + +&rram_controller { + /delete-node/ cpuflpr_sram; + /delete-node/ cpuflpr_rram; +}; + +/* Adjust the cpuapp_sram to include the freed up cpuflpr_sram */ +&cpuapp_sram { + reg = <0x20000000 DT_SIZE_K(192)>; + ranges = <0x0 0x20000000 0x20030000>; +}; + +/* Adjust the cpuapp_rram to include the freed up cpuflpr_rram */ +&cpuapp_rram { + reg = <0x0 DT_SIZE_K(1024)>; +}; + +/ { + eth-rtt { + compatible = "segger,eth-rtt"; + }; +}; diff --git a/samples/crypto/psa_tls/sample.yaml b/samples/crypto/psa_tls/sample.yaml index 3bfe85213147..b6c1e95a046e 100644 --- a/samples/crypto/psa_tls/sample.yaml +++ b/samples/crypto/psa_tls/sample.yaml @@ -189,6 +189,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54h20dk/nrf54h20/cpuapp - nrf54h20dk/nrf54h20/cpurad integration_platforms: @@ -196,6 +197,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54h20dk/nrf54h20/cpuapp - nrf54h20dk/nrf54h20/cpurad tags: @@ -213,6 +215,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54h20dk/nrf54h20/cpuapp - nrf54h20dk/nrf54h20/cpurad integration_platforms: @@ -220,6 +223,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54h20dk/nrf54h20/cpuapp - nrf54h20dk/nrf54h20/cpurad tags: @@ -238,6 +242,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54h20dk/nrf54h20/cpuapp - nrf54h20dk/nrf54h20/cpurad integration_platforms: @@ -245,6 +250,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54h20dk/nrf54h20/cpuapp - nrf54h20dk/nrf54h20/cpurad tags: @@ -262,6 +268,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54h20dk/nrf54h20/cpuapp - nrf54h20dk/nrf54h20/cpurad integration_platforms: @@ -269,6 +276,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54h20dk/nrf54h20/cpuapp - nrf54h20dk/nrf54h20/cpurad tags: @@ -386,12 +394,14 @@ tests: - nrf54l15dk/nrf54l15/cpuapp - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54h20dk/nrf54h20/cpuapp - nrf54h20dk/nrf54h20/cpurad integration_platforms: - nrf54l15dk/nrf54l15/cpuapp - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54h20dk/nrf54h20/cpuapp - nrf54h20dk/nrf54h20/cpurad tags: @@ -408,12 +418,14 @@ tests: - nrf54l15dk/nrf54l15/cpuapp - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54h20dk/nrf54h20/cpuapp - nrf54h20dk/nrf54h20/cpurad integration_platforms: - nrf54l15dk/nrf54l15/cpuapp - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54h20dk/nrf54h20/cpuapp - nrf54h20dk/nrf54h20/cpurad tags: @@ -434,11 +446,13 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns integration_platforms: - nrf54l15dk/nrf54l15/cpuapp - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns tags: - ci_build - cracen_oberon @@ -454,11 +468,13 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns integration_platforms: - nrf54l15dk/nrf54l15/cpuapp - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns tags: - ci_build - cracen_oberon diff --git a/samples/crypto/rng/sample.yaml b/samples/crypto/rng/sample.yaml index 160b3b0ed178..f19f5195dec9 100644 --- a/samples/crypto/rng/sample.yaml +++ b/samples/crypto/rng/sample.yaml @@ -48,6 +48,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp harness: console harness_config: @@ -59,6 +60,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp sample.rng.cracen.crypto_service: sysbuild: true diff --git a/samples/crypto/rsa/sample.yaml b/samples/crypto/rsa/sample.yaml index 78d6b814fb88..8410cadc7c00 100644 --- a/samples/crypto/rsa/sample.yaml +++ b/samples/crypto/rsa/sample.yaml @@ -49,6 +49,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp harness: console harness_config: @@ -60,4 +61,5 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp diff --git a/samples/crypto/sha256/sample.yaml b/samples/crypto/sha256/sample.yaml index e370b284c567..fa38c819099e 100644 --- a/samples/crypto/sha256/sample.yaml +++ b/samples/crypto/sha256/sample.yaml @@ -70,6 +70,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp harness: console harness_config: @@ -81,6 +82,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp # Build integration regression protection. sample.nrf_security.sha256.integration: diff --git a/samples/crypto/spake2p/sample.yaml b/samples/crypto/spake2p/sample.yaml index 274aa74a4029..19d5868ef142 100644 --- a/samples/crypto/spake2p/sample.yaml +++ b/samples/crypto/spake2p/sample.yaml @@ -48,6 +48,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp harness: console harness_config: @@ -59,6 +60,7 @@ tests: - nrf54l15dk/nrf54l15/cpuapp/ns - nrf54lm20pdk/nrf54lm20a/cpuapp - nrf54l15dk/nrf54l10/cpuapp + - nrf54l15dk/nrf54l10/cpuapp/ns - nrf54l15dk/nrf54l05/cpuapp sample.spake2p.cracen.crypto_service: sysbuild: true