blob: 961a000e5ef2c10bb3224a10a55c50f772befea1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
#-------------------------------------------------------------------------------
# Copyright (c) 2020-2021, Arm Limited. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
#-------------------------------------------------------------------------------
cmake_policy(SET CMP0076 NEW)
set(CMAKE_CURRENT_SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR})
set(CMAKE_MUSCA_B1_COMMON_DIR ${CMAKE_CURRENT_LIST_DIR}/../common)
#========================= Platform region defs ===============================#
target_include_directories(platform_region_defs
INTERFACE
partition
)
#========================= Platform common defs ===============================#
# Specify the location of platform specific build dependencies.
target_sources(tfm_s
PRIVATE
$<$<C_COMPILER_ID:ARMClang>:${CMAKE_CURRENT_SOURCE_DIR}/Device/Source/armclang/startup_musca_b1_secure_enclave_s.s>
$<$<C_COMPILER_ID:GNU>:${CMAKE_CURRENT_SOURCE_DIR}/Device/Source/gcc/startup_musca_b1_secure_enclave_s.S>
# This file contains an IRQ handler. Linking it from a different library to
# overwrite the default weak function would require intrusive cmake hacks.
mailbox/mailbox_ipc_intr.c
)
target_add_scatter_file(tfm_s
$<$<C_COMPILER_ID:ARMClang>:${CMAKE_SOURCE_DIR}/platform/ext/common/armclang/tfm_common_s.sct>
$<$<C_COMPILER_ID:GNU>:${CMAKE_SOURCE_DIR}/platform/ext/common/gcc/tfm_common_s.ld>
)
if(BL2)
target_sources(bl2
PRIVATE
$<$<C_COMPILER_ID:ARMClang>:${CMAKE_CURRENT_SOURCE_DIR}/Device/Source/armclang/startup_musca_b1_secure_enclave_bl2.s>
$<$<C_COMPILER_ID:GNU>:${CMAKE_CURRENT_SOURCE_DIR}/Device/Source/gcc/startup_musca_b1_secure_enclave_bl2.S>
)
target_add_scatter_file(bl2
$<$<C_COMPILER_ID:ARMClang>:${CMAKE_CURRENT_SOURCE_DIR}/Device/Source/armclang/musca_b1_secure_enclave_bl2.sct>
$<$<C_COMPILER_ID:GNU>:${CMAKE_CURRENT_SOURCE_DIR}/Device/Source/gcc/musca_b1_secure_enclave_bl2.ld>
)
endif()
#========================= Platform Secure ====================================#
target_include_directories(platform_s
PUBLIC
.
CMSIS_Driver
CMSIS_Driver/Config
Device/Config
Device/Include
Native_Driver
partition
services/include
mailbox
${CMAKE_MUSCA_B1_COMMON_DIR}/Native_Driver
${CMAKE_MUSCA_B1_COMMON_DIR}/Libraries
)
target_sources(platform_s
PRIVATE
${CMAKE_MUSCA_B1_COMMON_DIR}/CMSIS_Driver/Driver_GFC100_EFlash.c
${CMAKE_MUSCA_B1_COMMON_DIR}/Native_Driver/musca_b1_eflash_drv.c
${CMAKE_MUSCA_B1_COMMON_DIR}/Native_Driver/gfc100_eflash_drv.c
${CMAKE_MUSCA_B1_COMMON_DIR}/CMSIS_Driver/Driver_QSPI_Flash.c
${CMAKE_MUSCA_B1_COMMON_DIR}/Native_Driver/qspi_ip6514e_drv.c
${CMAKE_MUSCA_B1_COMMON_DIR}/Libraries/mt25ql_flash_lib.c
${CMAKE_MUSCA_B1_COMMON_DIR}/Native_Driver/mhu_v2_x.c
Device/Source/device_definition.c
Device/Source/system_core_init.c
mailbox/platform_multicore.c
mailbox/platform_spe_mailbox.c
spm_hal.c
target_cfg.c
tfm_hal_isolation.c
uart_stdout.c
$<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
)
target_link_libraries(platform_s
PUBLIC
tfm_spm
)
#========================= Platform Non-Secure ================================#
# FIXME: platform_ns must have at least 1 source, even if it is not used
target_sources(platform_ns
PRIVATE
Device/Source/system_core_init.c
)
target_include_directories(platform_ns
PUBLIC
Device/Include
)
#========================= Platform BL2 =======================================#
if(BL2)
target_sources(platform_bl2
PRIVATE
boot_hal.c
Device/Source/system_core_init.c
Device/Source/device_definition.c
uart_stdout.c
${CMAKE_MUSCA_B1_COMMON_DIR}/CMSIS_Driver/Driver_GFC100_EFlash.c
${CMAKE_MUSCA_B1_COMMON_DIR}/Native_Driver/gfc100_eflash_drv.c
${CMAKE_MUSCA_B1_COMMON_DIR}/Native_Driver/musca_b1_eflash_drv.c
)
target_include_directories(platform_bl2
PUBLIC
partition
Device/Include
PRIVATE
.
CMSIS_Driver/Config
Device/Config
Native_Driver
${MCUBOOT_PATH}/boot/bootutil/include # for fault_injection_hardening.h only
${CMAKE_BINARY_DIR}/bl2/ext/mcuboot # for mcuboot_config.h only
${CMAKE_MUSCA_B1_COMMON_DIR}/Native_Driver
${CMAKE_MUSCA_B1_COMMON_DIR}/Libraries
)
endif()
|