tfm: Add NS build support for zephyr out-of-tree nordic_nrf platform.

Add build of the NS application in the zephyr defined out-of-tree board
support for the nordic_nrf platform.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
Signed-off-by: Markus Swarowsky <markus.swarowsky@nordicsemi.no>
This commit is contained in:
Joakim Andersson 2023-12-14 12:47:13 +01:00 committed by Carles Cufí
commit 6c927490d0
14 changed files with 128 additions and 16 deletions

View file

@ -46,14 +46,18 @@ if(BL2)
)
endif()
if (TFM_PARTITION_PLATFORM)
install(FILES include/tfm_ioctl_api.h
DESTINATION ${INSTALL_INTERFACE_INC_DIR})
endif()
#========================= tfm_spm ============================================#
target_sources(tfm_spm
PRIVATE
src/tfm_hal_platform.c
)
if (TFM_PARTITION_PLATFORM)
install(FILES include/tfm_ioctl_api.h
include/device_cfg.h
include/RTE_Device.h
include/tfm_ioctl_api.h
DESTINATION ${INSTALL_INTERFACE_INC_DIR})
endif()
install(FILES ns/CMakeLists.txt
DESTINATION ${INSTALL_PLATFORM_NS_DIR})

View file

@ -5,8 +5,14 @@
#
set(NRF_BOARD_SELECTED True)
set(NRF_SOC_VARIANT nrf5340)
add_subdirectory(${Trusted\ Firmware\ M_SOURCE_DIR}/platform/ext/target/nordic_nrf/common/nrf5340 nrf5340)
add_subdirectory(.. common)
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})

View file

@ -4,5 +4,6 @@
# SPDX-License-Identifier: Apache-2.0
#
set(PLATFORM_PATH platform/ext/target/nordic_nrf/)
set(NRF_SOC_VARIANT nrf5340 CACHE STRING "nRF SoC Variant")
include(${PLATFORM_PATH}/common/nrf5340/config.cmake)

View file

@ -4,4 +4,6 @@
# SPDX-License-Identifier: Apache-2.0
#
include(platform/ext/target/nordic_nrf/common/nrf5340/cpuarch.cmake)
set(PLATFORM_PATH platform/ext/target/nordic_nrf)
include(${PLATFORM_PATH}/common/nrf5340/cpuarch.cmake)

View file

@ -0,0 +1,10 @@
#
# Copyright (c) 2023, Nordic Semiconductor ASA.
#
# SPDX-License-Identifier: Apache-2.0
#
set(PLATFORM_DIR ${CMAKE_CURRENT_LIST_DIR})
set(PLATFORM_PATH ${CMAKE_CURRENT_LIST_DIR})
include(${CMAKE_CURRENT_LIST_DIR}/common/nrf5340/cpuarch.cmake)

View file

@ -5,8 +5,17 @@
#
set(NRF_BOARD_SELECTED True)
set(NRF_SOC_VARIANT nrf91)
add_subdirectory(${Trusted\ Firmware\ M_SOURCE_DIR}/platform/ext/target/nordic_nrf/common/nrf91 nrf91)
add_subdirectory(.. common)
install(FILES ${CMAKE_CURRENT_LIST_DIR}/ns/cpuarch_ns.cmake
DESTINATION ${INSTALL_PLATFORM_NS_DIR}
RENAME cpuarch.cmake)
install(FILES ${Trusted\ Firmware\ M_SOURCE_DIR}/platform/ext/target/nordic_nrf/common/nrf9120/cpuarch.cmake
DESTINATION ${INSTALL_PLATFORM_NS_DIR}/common/nrf9120)
install(FILES config.cmake
DESTINATION ${INSTALL_PLATFORM_NS_DIR})

View file

@ -4,5 +4,6 @@
# SPDX-License-Identifier: Apache-2.0
#
set(PLATFORM_PATH platform/ext/target/nordic_nrf/)
set(NRF_SOC_VARIANT nrf91 CACHE STRING "nRF SoC Variant")
include(${PLATFORM_PATH}/common/nrf91/config.cmake)

View file

@ -3,5 +3,6 @@
#
# SPDX-License-Identifier: Apache-2.0
#
set(PLATFORM_PATH platform/ext/target/nordic_nrf)
include(platform/ext/target/nordic_nrf/common/nrf9120/cpuarch.cmake)
include(${PLATFORM_PATH}/common/nrf9120/cpuarch.cmake)

View file

@ -0,0 +1,10 @@
#
# Copyright (c) 2023, Nordic Semiconductor ASA.
#
# SPDX-License-Identifier: Apache-2.0
#
set(PLATFORM_DIR ${CMAKE_CURRENT_LIST_DIR})
set(PLATFORM_PATH ${CMAKE_CURRENT_LIST_DIR})
include(${CMAKE_CURRENT_LIST_DIR}/common/nrf9120/cpuarch.cmake)

View file

@ -5,8 +5,17 @@
#
set(NRF_BOARD_SELECTED True)
set(NRF_SOC_VARIANT nrf91)
add_subdirectory(${Trusted\ Firmware\ M_SOURCE_DIR}/platform/ext/target/nordic_nrf/common/nrf91 nrf91)
add_subdirectory(.. common)
install(FILES ${CMAKE_CURRENT_LIST_DIR}/ns/cpuarch_ns.cmake
DESTINATION ${INSTALL_PLATFORM_NS_DIR}
RENAME cpuarch.cmake)
install(FILES ${Trusted\ Firmware\ M_SOURCE_DIR}/platform/ext/target/nordic_nrf/common/nrf9160/cpuarch.cmake
DESTINATION ${INSTALL_PLATFORM_NS_DIR}/common/nrf9160)
install(FILES config.cmake
DESTINATION ${INSTALL_PLATFORM_NS_DIR})

View file

@ -4,5 +4,6 @@
# SPDX-License-Identifier: Apache-2.0
#
set(PLATFORM_PATH platform/ext/target/nordic_nrf/)
set(NRF_SOC_VARIANT nrf91 CACHE STRING "nRF SoC Variant")
include(${PLATFORM_PATH}/common/nrf91/config.cmake)

View file

@ -4,4 +4,6 @@
# SPDX-License-Identifier: Apache-2.0
#
include(platform/ext/target/nordic_nrf/common/nrf9160/cpuarch.cmake)
set(PLATFORM_PATH platform/ext/target/nordic_nrf)
include(${PLATFORM_PATH}/common/nrf9160/cpuarch.cmake)

View file

@ -0,0 +1,10 @@
#
# Copyright (c) 2023, Nordic Semiconductor ASA.
#
# SPDX-License-Identifier: Apache-2.0
#
set(PLATFORM_DIR ${CMAKE_CURRENT_LIST_DIR})
set(PLATFORM_PATH ${CMAKE_CURRENT_LIST_DIR})
include(${CMAKE_CURRENT_LIST_DIR}/common/nrf9160/cpuarch.cmake)

View file

@ -0,0 +1,46 @@
#
# Copyright (c) 2023, Nordic Semiconductor ASA.
#
# SPDX-License-Identifier: Apache-2.0
#
cmake_policy(SET CMP0076 NEW)
set(CMAKE_CURRENT_SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR})
set(NRF_BOARD_SELECTED True)
add_library(platform_ns STATIC)
set(partition_includes
${CMAKE_CURRENT_LIST_DIR}/common/${NRF_SOC_VARIANT}/partition
${CMAKE_BINARY_DIR}/../zephyr/include/generated
)
set(board_includes
${CMAKE_BINARY_DIR}/../zephyr/misc/generated/syscalls_links/include
${ZEPHYR_BASE}/include
)
target_include_directories(platform_region_defs
INTERFACE
${partition_includes}
)
target_include_directories(platform_ns
PUBLIC
${partition_includes}
${board_includes}
)
# Get the value of HAL_NORDIC_PATH
include(${CMAKE_CURRENT_LIST_DIR}/common/core/config_nordic_nrf_spe.cmake)
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/common/${NRF_SOC_VARIANT} ${NRF_SOC_VARIANT})
target_include_directories(platform_ns
PUBLIC
${CMAKE_CURRENT_LIST_DIR}
)
target_link_libraries(platform_ns
PUBLIC
platform_region_defs
)