1#-------------------------------------------------------------------------------
2# Copyright (c) 2023, Arm Limited. All rights reserved.
3#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6#-------------------------------------------------------------------------------
7
8################################# Platform dependencies ########################
9
10config PLATFORM_SVC_HANDLERS
11    bool "Platform specific SVC handlers"
12    default n
13
14config PLATFORM_HAS_FIRMWARE_UPDATE_SUPPORT
15    def_bool n
16
17config PLATFORM_HAS_ISOLATION_L3_SUPPORT
18    def_bool n
19    help
20        Platform supports Isolation level 3
21
22################################# Test dependencies ############################
23
24config PS_TEST_NV_COUNTERS
25    bool "Use the PS test NV counters"
26    default y
27    help
28      Enables the virtual implementation of the PS NV counters interface in
29      test/secure_fw/suites/ps/secure/nv_counters of the tf-m-tests repo,
30      which emulates NV counters in RAM, and disables the hardware
31      implementation of NV counters provided by the secure service. This flag is
32      enabled by default, but has no effect when the secure regression test is
33      disabled. This flag can be overridden to OFF when building the regression
34      tests. In this case, the PS rollback protection test suite will not be
35      built, as it relies on extra functionality provided by the virtual NV
36      counters to simulate different rollback scenarios.
37
38      The remainder of the PS test suites will run using the hardware NV
39      counters. Please note that running the tests in this configuration will
40      quickly increase the hardware NV counter values, which cannot be decreased
41      again.
42
43      Overriding this flag from its default value of OFF when not building the
44      regression tests is not currently supported.
45
46config PLATFORM_SLIH_IRQ_TEST_SUPPORT
47    def_bool n
48    help
49      Platform supports SLIH IRQ tests
50
51config PLATFORM_FLIH_IRQ_TEST_SUPPORT
52    def_bool n
53    help
54      Platform supports FLIH IRQ tests
55
56######################### TFM psa api test target ##############################
57
58config PSA_API_TEST_TARGET
59    def_string ""
60
61################################# Debug authentication #########################
62
63config DEBUG_AUTHENTICATION_CHIP_DEFAULT
64    def_bool y
65
66config DEBUG_AUTHENTICATION_NONE
67    def_bool n
68
69config DEBUG_AUTHENTICATION_NS_ONLY
70    def_bool n
71
72config DEBUG_AUTHENTICATION_FULL
73    def_bool n
74
75config DEBUG_AUTHENTICATION
76    string
77    default "CHIP_DEFAULT" if DEBUG_AUTHENTICATION_CHIP_DEFAULT
78    default "NONE" if DEBUG_AUTHENTICATION_NONE
79    default "NS_ONLY" if DEBUG_AUTHENTICATION_NS_ONLY
80    default "FULL" if DEBUG_AUTHENTICATION_FULL
81
82################################# Platform Hardware topology ###################
83config TFM_MULTI_CORE_TOPOLOGY
84    bool
85    default n
86    help
87      Dual-cpu architecture
88
89config CONFIG_TFM_USE_TRUSTZONE
90    bool
91    default n
92    help
93      Enable use of TrustZone to transition between NSPE and SPE
94
95######################### Cyrpto Hardware accelerator ##########################
96config CRYPTO_HW_ACCELERATOR_CC312
97    def_bool n
98    help
99        CryptoCell-312
100
101config CRYPTO_HW_ACCELERATOR_STM
102    def_bool n
103
104config CRYPTO_HW_ACCELERATOR_TYPE
105    string
106    default "cc312" if CRYPTO_HW_ACCELERATOR_CC312
107    default "stm" if CRYPTO_HW_ACCELERATOR_STM
108    default ""
109
110################################# Platform default #############################
111
112config PLATFORM_DEFAULT_BL1
113    bool "Use default BL1"
114    default y
115
116config PLATFORM_DEFAULT_ATTEST_HAL
117    def_bool y
118    help
119      Use default attest hal implementation
120
121config PLATFORM_DEFAULT_NV_COUNTERS
122    def_bool y
123    depends on PLATFORM_DEFAULT_OTP_WRITEABLE
124    help
125      Use default nv counter implementation
126
127config PLATFORM_DEFAULT_CRYPTO_KEYS
128    def_bool y
129    help
130      Use default crypto keys implementation
131
132config PLATFORM_DEFAULT_ROTPK
133    def_bool y
134    help
135      Use default root of trust public key
136
137config PLATFORM_DEFAULT_IAK
138    def_bool y
139    help
140      Use default initial attestation_key
141
142config PLATFORM_DEFAULT_UART_STDOUT
143    def_bool y
144    help
145      Use default uart stdout implementation
146
147config PLATFORM_DEFAULT_NV_SEED
148    def_bool y
149    help
150      Use default NV seed implementation
151
152config PLATFORM_DEFAULT_OTP
153    bool "Use trusted on-chip flash to implement OTP memory"
154    default y
155    help
156      Use trusted on-chip flash to implement OTP memory
157
158config PLATFORM_DEFAULT_OTP_WRITEABLE
159    def_bool y
160    help
161      Use OTP memory with write support
162
163config PLATFORM_DEFAULT_PROVISIONING
164    def_bool y
165    help
166      Use default provisioning implementation
167
168config PLATFORM_DEFAULT_SYSTEM_RESET_HALT
169    bool "Use default system halt implementation"
170    default y
171    help
172      Use default system reset/halt implementation
173
174config PLATFORM_DEFAULT_IMAGE_SIGNING
175    def_bool y
176    help
177      Use default image signing implementation
178
179config TFM_PLAT_SPECIFIC_MULTI_CORE_COMM
180    bool "Use a platform specific inter-core communication"
181    depends on TFM_MULTI_CORE_TOPOLOGY
182    help
183      Whether to use a platform specific inter-core communication instead of
184      mailbox in dual-cpu topology
185
186config TFM_NS_NV_COUNTER_AMOUNT
187    int "Numbers of NS NV counters"
188    default 0
189    range 0 3
190
191config PSA_API_TEST_TARGET
192    def_string ""
193