Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
7b69a8a
[nrf fromtree] platform: nordic_nrf: Fix broken path for NS in nRF54L
Vge0rge Apr 23, 2025
04fbcf7
[nrf fromtree] platform: nordic_nrf: Add configuration for GPIOTE sec…
Vge0rge May 2, 2025
fc12249
[nrf fromtree] ITS: fix aad_size parameter spelling
tomi-font Apr 9, 2025
2f5b32c
[nrf fromtree] Docs: Fix maintainers file entry
tomi-font Apr 17, 2025
63a0213
[nrf noup] Cherry pick provisioning update
Vge0rge Jun 16, 2025
bb6aee0
[nrf fromtree] platform: nordic_nrf: Split the target_cfg for differe…
Vge0rge May 20, 2025
6fa25a2
[nrf noup] Remove check for p256-m
SebastianBoe Mar 1, 2024
afe2e8f
[nrf noup] cmake: tools: Dont add a custom command for running the ma…
SebastianBoe Mar 7, 2024
a540d98
[nrf noup] inteface: Remove headers existing in the Oberon PSA core
Vge0rge May 12, 2025
d665992
[nrf noup] crypto: Add PAKE support
frkv Aug 15, 2024
f838730
[nrf noup] Support CMAC KDF and custom builtin solution
frkv Aug 15, 2024
159f8da
[nrf noup] tf-m: Enable support for external PSA core
frkv Sep 5, 2024
6c0b487
[nrf noup] attestation: Prevent errors of multiple defs of ARRAY_LENGTH
frkv Sep 21, 2024
a015d57
[nrf noup] Add definitions for builtin key support
frkv Sep 26, 2024
5dd07a6
[nrf noup] secure_fw: Add option to log output on a shared UART insta…
frkv Aug 15, 2024
c5af6de
[nrf noup] Add KMU ram region at top
Vge0rge Nov 15, 2024
2db22ad
[nrf noup] crypto: Have CRYPTO_HW_ACCELERATOR support nrf_security
SebastianBoe Mar 1, 2024
1d504b9
[nrf noup] partitions: crypto: Fix duplicate functions
Vge0rge May 13, 2025
9829321
[nrf noup] build: fix TF-M version
tomi-font May 27, 2025
c1c65f2
[nrf noup] Revert "build: Remove forced NS init and startup files"
Vge0rge Sep 1, 2025
45a04e2
[nrf fromlist] platform: nordic: Update the Nordic USART function
Vge0rge Sep 2, 2025
7eed9cd
[nrf fromtree] Platform: nrf54lv10a: Add support for nrf54lv10a
degjorva Jul 16, 2025
41f543f
[nrf fromtree] platform: lv10a: update uart configuration for lv10
degjorva Aug 12, 2025
a956d8f
[nrf fromtree] platform: nrf54l: remove forced uart settings
degjorva Aug 19, 2025
97e79ea
[nrf fromlist] platform: nordic_nrf: Update cleanup targets in hw_init.c
degjorva Sep 5, 2025
3f45b4e
[nrf noup] secure_fw: partitions: Remove its dependency
degjorva Aug 28, 2025
3533b12
[nrf fromtree] platform: nordic: Fix nrF54L10 RRAM size
Vge0rge Aug 4, 2025
a1e2c67
[nrf noup] version: Fix TFM_VERSION being undefined
Vge0rge Sep 9, 2025
b4dfb8e
[nrf fromlist] platform: ext: common: template: Fix FOTA upgrade
nandojve Aug 22, 2025
a27058e
[nrf noup] secure_fw: platform: Add system off service
Vge0rge Sep 30, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 36 additions & 29 deletions cmake/install.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -82,34 +82,40 @@ if (TFM_PARTITION_INTERNAL_TRUSTED_STORAGE)
endif()

if (TFM_PARTITION_CRYPTO)
install(FILES ${INTERFACE_INC_DIR}/psa/README.rst
${INTERFACE_INC_DIR}/psa/build_info.h
${INTERFACE_INC_DIR}/psa/crypto.h
${INTERFACE_INC_DIR}/psa/crypto_adjust_auto_enabled.h
${INTERFACE_INC_DIR}/psa/crypto_adjust_config_dependencies.h
${INTERFACE_INC_DIR}/psa/crypto_adjust_config_key_pair_types.h
${INTERFACE_INC_DIR}/psa/crypto_adjust_config_synonyms.h
${INTERFACE_INC_DIR}/psa/crypto_builtin_composites.h
${INTERFACE_INC_DIR}/psa/crypto_builtin_key_derivation.h
${INTERFACE_INC_DIR}/psa/crypto_builtin_primitives.h
${INTERFACE_INC_DIR}/psa/crypto_compat.h
${INTERFACE_INC_DIR}/psa/crypto_driver_common.h
${INTERFACE_INC_DIR}/psa/crypto_driver_contexts_composites.h
${INTERFACE_INC_DIR}/psa/crypto_driver_contexts_key_derivation.h
${INTERFACE_INC_DIR}/psa/crypto_driver_contexts_primitives.h
${INTERFACE_INC_DIR}/psa/crypto_extra.h
${INTERFACE_INC_DIR}/psa/crypto_legacy.h
${INTERFACE_INC_DIR}/psa/crypto_platform.h
${INTERFACE_INC_DIR}/psa/crypto_se_driver.h
${INTERFACE_INC_DIR}/psa/crypto_sizes.h
${INTERFACE_INC_DIR}/psa/crypto_struct.h
${INTERFACE_INC_DIR}/psa/crypto_types.h
${INTERFACE_INC_DIR}/psa/crypto_values.h
DESTINATION ${INSTALL_INTERFACE_INC_DIR}/psa)
install(FILES ${INTERFACE_INC_DIR}/tfm_crypto_defs.h
DESTINATION ${INSTALL_INTERFACE_INC_DIR})
install(DIRECTORY ${INTERFACE_INC_DIR}/mbedtls
DESTINATION ${INSTALL_INTERFACE_INC_DIR})
if(PSA_CRYPTO_EXTERNAL_CORE)
include(${TARGET_PLATFORM_PATH}/../external_core_install.cmake)
install(FILES ${INTERFACE_INC_DIR}/tfm_crypto_defs.h
DESTINATION ${INSTALL_INTERFACE_INC_DIR})
else()
install(FILES ${INTERFACE_INC_DIR}/psa/README.rst
${INTERFACE_INC_DIR}/psa/build_info.h
${INTERFACE_INC_DIR}/psa/crypto.h
${INTERFACE_INC_DIR}/psa/crypto_adjust_auto_enabled.h
${INTERFACE_INC_DIR}/psa/crypto_adjust_config_dependencies.h
${INTERFACE_INC_DIR}/psa/crypto_adjust_config_key_pair_types.h
${INTERFACE_INC_DIR}/psa/crypto_adjust_config_synonyms.h
${INTERFACE_INC_DIR}/psa/crypto_builtin_composites.h
${INTERFACE_INC_DIR}/psa/crypto_builtin_key_derivation.h
${INTERFACE_INC_DIR}/psa/crypto_builtin_primitives.h
${INTERFACE_INC_DIR}/psa/crypto_compat.h
${INTERFACE_INC_DIR}/psa/crypto_driver_common.h
${INTERFACE_INC_DIR}/psa/crypto_driver_contexts_composites.h
${INTERFACE_INC_DIR}/psa/crypto_driver_contexts_key_derivation.h
${INTERFACE_INC_DIR}/psa/crypto_driver_contexts_primitives.h
${INTERFACE_INC_DIR}/psa/crypto_extra.h
${INTERFACE_INC_DIR}/psa/crypto_legacy.h
${INTERFACE_INC_DIR}/psa/crypto_platform.h
${INTERFACE_INC_DIR}/psa/crypto_se_driver.h
${INTERFACE_INC_DIR}/psa/crypto_sizes.h
${INTERFACE_INC_DIR}/psa/crypto_struct.h
${INTERFACE_INC_DIR}/psa/crypto_types.h
${INTERFACE_INC_DIR}/psa/crypto_values.h
DESTINATION ${INSTALL_INTERFACE_INC_DIR}/psa)
install(FILES ${INTERFACE_INC_DIR}/tfm_crypto_defs.h
DESTINATION ${INSTALL_INTERFACE_INC_DIR})
install(DIRECTORY ${INTERFACE_INC_DIR}/mbedtls
DESTINATION ${INSTALL_INTERFACE_INC_DIR})
endif()
endif()

if (TFM_PARTITION_INITIAL_ATTESTATION)
Expand Down Expand Up @@ -294,10 +300,11 @@ else()
)
endif()

# PSA_CRYPTO_EXTERNAL_CORE
target_include_directories(psa_interface
INTERFACE
$<INSTALL_INTERFACE:interface/include>
)
)

install(EXPORT tfm-config
FILE spe_export.cmake
Expand Down
30 changes: 12 additions & 18 deletions cmake/spe-CMakeLists.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,15 @@ target_sources(tfm_api_ns
)

# Include interface headers exported by TF-M
if(PSA_CRYPTO_EXTERNAL_CORE)
include(${TARGET_PLATFORM_PATH}/../external_core.cmake)
else()
target_include_directories(tfm_api_ns
PUBLIC
${INTERFACE_INC_DIR}
)
endif()

target_include_directories(tfm_api_ns
PUBLIC
${INTERFACE_INC_DIR}
Expand Down Expand Up @@ -107,11 +116,8 @@ target_sources(platform_ns
$<$<BOOL:${PLATFORM_DEFAULT_UART_STDOUT}>:${CMAKE_CURRENT_SOURCE_DIR}/platform/ext/common/uart_stdout.c>
)

add_library(platform_ns_definitions INTERFACE)

# these compile definitions must match on the secure and nonsecure side for security
target_compile_definitions(platform_ns_definitions
INTERFACE
target_compile_definitions(platform_ns
PUBLIC
DOMAIN_NS=1
$<$<BOOL:${PLATFORM_DEFAULT_CRYPTO_KEYS}>:PLATFORM_DEFAULT_CRYPTO_KEYS>
$<$<STREQUAL:${CONFIG_TFM_FLOAT_ABI},hard>:CONFIG_TFM_FLOAT_ABI=2>
Expand All @@ -120,22 +126,10 @@ target_compile_definitions(platform_ns_definitions
$<$<BOOL:${CONFIG_TFM_ENABLE_CP10CP11}>:CONFIG_TFM_ENABLE_CP10CP11>
)

target_link_libraries(platform_ns
PUBLIC
platform_ns_definitions
)

if (DEFINED PLATFORM_CUSTOM_NS_FILES)
message(STATUS "Using PLATFORM_CUSTOM_NS_FILES: ${PLATFORM_CUSTOM_NS_FILES}")
else()
set(PLATFORM_CUSTOM_NS_FILES FALSE)
endif()

target_link_libraries(tfm_api_ns
PUBLIC
platform_region_defs
platform_ns_definitions
$<$<NOT:$<BOOL:${PLATFORM_CUSTOM_NS_FILES}>>:platform_ns>
platform_ns
)

if(BL2 AND PLATFORM_DEFAULT_IMAGE_SIGNING)
Expand Down
37 changes: 2 additions & 35 deletions cmake/version.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -8,38 +8,5 @@
# The 'TFM_VERSION_MANUAL' is used for fallback when Git tags are not available
set(TFM_VERSION_MANUAL "2.2.0")

execute_process(COMMAND git describe --tags --always
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
OUTPUT_VARIABLE TFM_VERSION_FULL
OUTPUT_STRIP_TRAILING_WHITESPACE
RESULTS_VARIABLE GIT_RESULT)

if(GIT_RESULT EQUAL 128)
# Git execution fails.
# Applying a manual version assuming the code tree is a local copy.
set(TFM_VERSION_FULL "v${TFM_VERSION_MANUAL}")
return()
endif()

# In a repository cloned with --no-tags option TFM_VERSION_FULL will be a hash
# only hence checking it for a tag format to accept as valid version.

string(FIND "${TFM_VERSION_FULL}" "TF-M" TFM_TAG)
if(TFM_TAG EQUAL -1)
execute_process(COMMAND git log --format=format:%h -n 1
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
OUTPUT_VARIABLE TFM_GIT_HASH
OUTPUT_STRIP_TRAILING_WHITESPACE)

set(TFM_VERSION_FULL "v${TFM_VERSION_MANUAL}+g${TFM_GIT_HASH}")
endif()

string(REGEX REPLACE "TF-M" "" TFM_VERSION_FULL ${TFM_VERSION_FULL})
# remove a commit number
string(REGEX REPLACE "-[0-9]+-g" "+" TFM_VERSION_FULL ${TFM_VERSION_FULL})
string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" TFM_VERSION ${TFM_VERSION_FULL})

# Check that manually set version is up to date
if (NOT TFM_VERSION_MANUAL STREQUAL TFM_VERSION)
message(WARNING "TFM_VERSION_MANUAL mismatches to actual TF-M version. Please update TFM_VERSION_MANUAL in cmake/version.cmake")
endif()
set(TFM_VERSION_FULL "v${TFM_VERSION_MANUAL}")
set(TFM_VERSION "${TFM_VERSION_MANUAL}")
2 changes: 2 additions & 0 deletions config/check_config.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ tfm_invalid_config(TFM_MULTI_CORE_TOPOLOGY AND TFM_NS_MANAGE_NSID)
tfm_invalid_config(TFM_PLAT_SPECIFIC_MULTI_CORE_COMM AND NOT TFM_MULTI_CORE_TOPOLOGY)
tfm_invalid_config(TFM_ISOLATION_LEVEL EQUAL 3 AND CONFIG_TFM_STACK_WATERMARKS)

tfm_invalid_config(CONFIG_TFM_LOG_SHARE_UART AND NOT SECURE_UART1)

########################## BL1 #################################################

tfm_invalid_config(TFM_BL1_2_IN_OTP AND TFM_BL1_2_IN_FLASH)
Expand Down
3 changes: 3 additions & 0 deletions config/config_base.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,8 @@ set(CONFIG_TFM_STACK_WATERMARKS OFF CACHE BOOL "Whether to

set(CONFIG_TFM_BRANCH_PROTECTION_FEAT BRANCH_PROTECTION_DISABLED CACHE STRING "Set default branch protection usage to disabled")

set(CONFIG_TFM_LOG_SHARE_UART OFF CACHE BOOL "Allow TF-M and the non-secure application to share the UART instance. TF-M will use it while it is booting, after which the non-secure application will use it until an eventual fatal error is handled and logged by TF-M. Logging from TF-M will therefore otherwise be suppressed")

############################ Platform ##########################################

set(NUM_MAILBOX_QUEUE_SLOT 1 CACHE BOOL "Number of mailbox queue slots")
Expand Down Expand Up @@ -139,6 +141,7 @@ set(PS_ENCRYPTION ON CACHE BOOL "Enable encr
set(PS_ROLLBACK_PROTECTION ON CACHE BOOL "Enable rollback protection for Protected Storage partition")
set(PS_SUPPORT_FORMAT_TRANSITION OFF CACHE BOOL "Enable reading the older format of Protected Storage data")
set(PS_CRYPTO_AEAD_ALG PSA_ALG_GCM CACHE STRING "The AEAD algorithm to use for authenticated encryption in Protected Storage")
set(PS_CRYPTO_KDF_ALG PSA_ALG_HKDF\(PSA_ALG_SHA_256\) CACHE STRING "KDF Algorithm to use for Protect Storage")
set(PS_AES_KEY_USAGE_LIMIT 0 CACHE STRING "Number of blocks to use a key for before changing it. 0 for no limit")

set(TFM_PARTITION_INTERNAL_TRUSTED_STORAGE OFF CACHE BOOL "Enable Internal Trusted Storage partition")
Expand Down
6 changes: 3 additions & 3 deletions docs/contributing/maintainers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -220,11 +220,11 @@ William Vinnicombe
:email: `[email protected] <[email protected]>`__
:github: `Raspberry Pi <https://github.com/raspberrypi>`__

Analog Devices Platform:
~~~~~~~~~~~~~~~~~~~~~~~~
Analog Devices Platform
~~~~~~~~~~~~~~~~~~~~~~~

Sadik Ozer
:email: `[email protected]`__
:email: `[email protected] <[email protected]>`__
:github: `ozersa <https://github.com/ozersa>`__

=============
Expand Down
9 changes: 9 additions & 0 deletions interface/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,15 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/include/psa/framework_feature.h.in

add_library(psa_interface INTERFACE)

if(PSA_CRYPTO_EXTERNAL_CORE)
include(${TARGET_PLATFORM_PATH}/../external_core.cmake)
else()
target_include_directories(psa_interface
INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
)
endif()

target_include_directories(psa_interface
INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
Expand Down
20 changes: 0 additions & 20 deletions interface/include/psa/build_info.h

This file was deleted.

Loading