blob: 756f349d86f1f5f68f60f6834e8956bf63ddb709 [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
Xinyu Zhanga2fab0e2022-10-24 15:37:46 +08008set(TFM_PROFILE profile_small CACHE STRING "Configuration profile")
9set(PROJECT_CONFIG_HEADER_FILE "${CMAKE_SOURCE_DIR}/config/profile/config_profile_small.h" CACHE FILEPATH "User defined header file for TF-M config")
Raef Coles9ec67e62020-07-10 09:40:35 +010010
Anton Komlev28f566b2022-10-27 17:40:37 +010011############################ SPM CONFIGURATION ################################
Raef Coles9ec67e62020-07-10 09:40:35 +010012
Anton Komlev28f566b2022-10-27 17:40:37 +010013set(TFM_ISOLATION_LEVEL 1 CACHE STRING "Isolation level")
Xinyu Zhanga2fab0e2022-10-24 15:37:46 +080014set(CONFIG_TFM_SPM_BACKEND "SFN" CACHE STRING "The SPM backend [IPC, SFN]")
Raef Coles9ec67e62020-07-10 09:40:35 +010015
Anton Komlev28f566b2022-10-27 17:40:37 +010016############################ PARTITION CONFIGURATION ##########################
Raef Coles9ec67e62020-07-10 09:40:35 +010017
Anton Komlev28f566b2022-10-27 17:40:37 +010018set(TFM_PARTITION_CRYPTO ON CACHE BOOL "Enable Crypto partition")
19set(TFM_PARTITION_INTERNAL_TRUSTED_STORAGE ON CACHE BOOL "Enable Internal Trusted Storage partition")
20set(TFM_PARTITION_PLATFORM OFF CACHE BOOL "Enable the TF-M Platform partition")
21set(TFM_PARTITION_PROTECTED_STORAGE OFF CACHE BOOL "Enable Protected Storage partition")
22set(TFM_PARTITION_INITIAL_ATTESTATION ON CACHE BOOL "Enable Initial Attestation partition")
23set(SYMMETRIC_INITIAL_ATTESTATION ON CACHE BOOL "Use symmetric crypto for inital attestation")
24set(TFM_PARTITION_FIRMWARE_UPDATE OFF CACHE BOOL "Enable firmware update partition")
Raef Coles9ec67e62020-07-10 09:40:35 +010025
Anton Komlev28f566b2022-10-27 17:40:37 +010026################################## Advanced options #############################
Raef Coles9ec67e62020-07-10 09:40:35 +010027
David Hu327bc842021-05-13 16:29:33 +080028# Profile Small assigns a much smller heap size for backend crypto library as
David Hue69294d2022-06-21 22:21:37 +080029# asymmetric cryptography is not enabled and multi-part operations are enabled
30# only.
31# Assign 0x100 bytes for each operation and totally 0x800 byets for max 4
David Hu327bc842021-05-13 16:29:33 +080032# concurrent operation as set in CRYPTO_CONC_OPER_NUM above
Anton Komlev28f566b2022-10-27 17:40:37 +010033set(CRYPTO_ENGINE_BUF_SIZE 0x400 CACHE STRING "Heap size for the crypto backend")
34set(CRYPTO_ASYM_SIGN_MODULE_DISABLED ON CACHE BOOL "Disable PSA Crypto asymmetric key signature module")
35set(CRYPTO_ASYM_ENCRYPT_MODULE_DISABLED ON CACHE BOOL "Disable PSA Crypto asymmetric key encryption module")
36set(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")
37set(CRYPTO_CONC_OPER_NUM 4 CACHE STRING "The max number of concurrent operations that can be active (allocated) at any time in Crypto")
Raef Coles9ec67e62020-07-10 09:40:35 +010038
Anton Komlev28f566b2022-10-27 17:40:37 +010039set(PSA_FRAMEWORK_HAS_MM_IOVEC ON CACHE BOOL "Enable MM-IOVEC")
Xinyu Zhanga2fab0e2022-10-24 15:37:46 +080040set(CONFIG_TFM_CONN_HANDLE_MAX_NUM 3 CACHE STRING "The maximal number of secure services that are connected or requested at the same time")
Anton Komlev28f566b2022-10-27 17:40:37 +010041set(ITS_BUF_SIZE 32 CACHE STRING "Size of the ITS internal data transfer buffer (defaults to ITS_MAX_ASSET_SIZE if not set)")
Xinyu Zhanga2fab0e2022-10-24 15:37:46 +080042set(MCUBOOT_IMAGE_NUMBER 1 CACHE STRING "Whether to combine S and NS into either 1 image, or sign each seperately")
Sherry Zhang07b42412021-01-07 14:19:41 +080043
Raef Coles9ec67e62020-07-10 09:40:35 +010044################################## Dependencies ################################
45
Xinyu Zhanga2fab0e2022-10-24 15:37:46 +080046set(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")
47set(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.")