blob: ae59f102207a08d3b35b1b24c9aa86531ad7cc92 [file] [log] [blame]
Raef Coles9ec67e62020-07-10 09:40:35 +01001#-------------------------------------------------------------------------------
David Hu1feb4b12022-02-23 17:22:07 +08002# Copyright (c) 2020-2022, Arm Limited. All rights reserved.
Raef Coles9ec67e62020-07-10 09:40:35 +01003#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6#-------------------------------------------------------------------------------
7
Tamas Ban69219202020-10-27 08:13:18 +00008set(TFM_PROFILE profile_small CACHE STRING "Profile to use")
Tamas Ban69219202020-10-27 08:13:18 +00009set(TFM_ISOLATION_LEVEL 1 CACHE STRING "Isolation level")
Raef Coles9ec67e62020-07-10 09:40:35 +010010
11########################## BL2 #################################################
12
Tamas Ban69219202020-10-27 08:13:18 +000013set(MCUBOOT_IMAGE_NUMBER 1 CACHE STRING "Whether to combine S and NS into either 1 image, or sign each seperately")
Raef Coles9ec67e62020-07-10 09:40:35 +010014
15############################ Partitions ########################################
16
Tamas Ban69219202020-10-27 08:13:18 +000017set(TFM_PARTITION_PROTECTED_STORAGE OFF CACHE BOOL "Enable Protected Storage partition")
Raef Coles9ec67e62020-07-10 09:40:35 +010018
Tamas Ban69219202020-10-27 08:13:18 +000019set(ITS_BUF_SIZE 32 CACHE STRING "Size of the ITS internal data transfer buffer (defaults to ITS_MAX_ASSET_SIZE if not set)")
Raef Coles9ec67e62020-07-10 09:40:35 +010020
David Hu327bc842021-05-13 16:29:33 +080021set(CRYPTO_CONC_OPER_NUM 4 CACHE STRING "The max number of concurrent operations that can be active (allocated) at any time in Crypto")
22# Profile Small assigns a much smller heap size for backend crypto library as
David Hue69294d2022-06-21 22:21:37 +080023# asymmetric cryptography is not enabled and multi-part operations are enabled
24# only.
25# Assign 0x100 bytes for each operation and totally 0x800 byets for max 4
David Hu327bc842021-05-13 16:29:33 +080026# concurrent operation as set in CRYPTO_CONC_OPER_NUM above
David Hue69294d2022-06-21 22:21:37 +080027set(CRYPTO_ENGINE_BUF_SIZE 0x400 CACHE STRING "Heap size for the crypto backend")
David Hu0c250bc2021-05-12 10:55:53 +080028set(CRYPTO_ASYM_SIGN_MODULE_DISABLED ON CACHE BOOL "Disable PSA Crypto asymmetric key signature module")
29set(CRYPTO_ASYM_ENCRYPT_MODULE_DISABLED ON CACHE BOOL "Disable PSA Crypto asymmetric key encryption module")
David Hue69294d2022-06-21 22:21:37 +080030set(CRYPTO_SINGLE_PART_FUNCS_DISABLED ON CACHE BOOL "Only enable multi-part operations in Hash, MAC, AEAD and symmetric ciphers, to optimize memory footprint in resource-constrained devices")
Raef Coles9ec67e62020-07-10 09:40:35 +010031
Tamas Ban69219202020-10-27 08:13:18 +000032set(SYMMETRIC_INITIAL_ATTESTATION ON CACHE BOOL "Use symmetric crypto for inital attestation")
Raef Coles9ec67e62020-07-10 09:40:35 +010033
Tamas Ban69219202020-10-27 08:13:18 +000034set(TFM_PARTITION_PLATFORM OFF CACHE BOOL "Enable Platform partition")
Raef Coles9ec67e62020-07-10 09:40:35 +010035
Sherry Zhang07b42412021-01-07 14:19:41 +080036set(TFM_PARTITION_FIRMWARE_UPDATE OFF CACHE BOOL "Enable firmware update partition")
37
Tamas Ban69219202020-10-27 08:13:18 +000038set(TFM_PARTITION_AUDIT_LOG OFF CACHE BOOL "Enable Audit Log partition")
Raef Coles9ec67e62020-07-10 09:40:35 +010039
Raef Coles9ec67e62020-07-10 09:40:35 +010040################################## Dependencies ################################
41
Summer Qin7c0d8d32021-12-17 15:43:08 +080042set(TFM_MBEDCRYPTO_CONFIG_PATH "${CMAKE_SOURCE_DIR}/lib/ext/mbedcrypto/mbedcrypto_config/tfm_mbedcrypto_config_profile_small.h" CACHE PATH "Config to use for Mbed Crypto")
43set(TFM_MBEDCRYPTO_PSA_CRYPTO_CONFIG_PATH "${CMAKE_SOURCE_DIR}/lib/ext/mbedcrypto/mbedcrypto_config/crypto_config_profile_small.h" CACHE PATH "Config to use psa crypto setting for Mbed Crypto.")
Raef Coles9ec67e62020-07-10 09:40:35 +010044
David Hu1feb4b12022-02-23 17:22:07 +080045# If it is specified to select SFN model in build command, enable SFN model in
46# Profile Small.
47# Otherwise, enable Library model in Profile Small by default.
48if (NOT DEFINED CONFIG_TFM_SPM_BACKEND)
49 set(TFM_LIB_MODEL ON CACHE BOOL "Use secure library model instead of IPC model")
Summer Qin97d96562022-04-15 12:05:37 +080050elseif (CONFIG_TFM_SPM_BACKEND STREQUAL "SFN")
Sherry Zhangb1dcfe42022-05-19 10:46:49 +080051 set(PSA_FRAMEWORK_HAS_MM_IOVEC ON CACHE BOOL "Enable MM-IOVEC")
Summer Qin97d96562022-04-15 12:05:37 +080052 set(CONFIG_TFM_CONN_HANDLE_MAX_NUM 3 CACHE STRING "The maximal number of secure services that are connected or requested at the same time")
David Hu1feb4b12022-02-23 17:22:07 +080053endif()