blob: 417863897a9c3ed231b361846b606149331df658 [file] [log] [blame]
Xinyu Zhanga2fab0e2022-10-24 15:37:46 +08001/*
2 * Copyright (c) 2022, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 *
6 */
7
8#ifndef __CONFIG_PROFILE_SMALL_H__
9#define __CONFIG_PROFILE_SMALL_H__
10
Xinyu Zhang77668dd2022-10-24 16:17:37 +080011/* Platform Partition Configs */
12
13/* Size of input buffer in platform service */
14#define PLATFORM_SERVICE_INPUT_BUFFER_SIZE 64
15
16/* Size of output buffer in platform service */
17#define PLATFORM_SERVICE_OUTPUT_BUFFER_SIZE 64
18
19/* The stack size of the Platform Secure Partition */
20#define PLATFORM_SP_STACK_SIZE 0x500
21
22/* Disable Non-volatile counter module */
23#define PLATFORM_NV_COUNTER_MODULE_DISABLED 0
24
Xinyu Zhangd755b822022-10-25 11:18:09 +080025/* Crypto Partition Configs */
26
27/* Heap size for the crypto backend */
28#define CRYPTO_ENGINE_BUF_SIZE 0x400
29
30/* The max number of concurrent operations that can be active (allocated) at any time in Crypto */
31#define CRYPTO_CONC_OPER_NUM 4
32
33/* Disable PSA Crypto random number generator module */
34#define CRYPTO_RNG_MODULE_DISABLED 0
35
36/* Disable PSA Crypto Key module */
37#define CRYPTO_KEY_MODULE_DISABLED 0
38
39/* Disable PSA Crypto AEAD module */
40#define CRYPTO_AEAD_MODULE_DISABLED 0
41
42/* Disable PSA Crypto MAC module */
43#define CRYPTO_MAC_MODULE_DISABLED 0
44
45/* Disable PSA Crypto Hash module */
46#define CRYPTO_HASH_MODULE_DISABLED 0
47
48/* Disable PSA Crypto Cipher module */
49#define CRYPTO_CIPHER_MODULE_DISABLED 0
50
51/* Disable PSA Crypto asymmetric key signature module */
52#define CRYPTO_ASYM_SIGN_MODULE_DISABLED 1
53
54/* Disable PSA Crypto asymmetric key encryption module */
55#define CRYPTO_ASYM_ENCRYPT_MODULE_DISABLED 1
56
57/* Disable PSA Crypto key derivation module */
58#define CRYPTO_KEY_DERIVATION_MODULE_DISABLED 0
59
60/* Default size of the internal scratch buffer used for PSA FF IOVec allocations */
61#define CRYPTO_IOVEC_BUFFER_SIZE 5120
62
63/* Use stored NV seed to provide entropy */
64#define CRYPTO_NV_SEED 1
65
66/*
67 * Only enable multi-part operations in Hash, MAC, AEAD and symmetric ciphers,
68 * to optimize memory footprint in resource-constrained devices.
69 */
70#define CRYPTO_SINGLE_PART_FUNCS_DISABLED 1
71
72/* The stack size of the Crypto Secure Partition */
73#define CRYPTO_STACK_SIZE 0x1B00
74
Xinyu Zhangff653722022-10-27 14:17:36 +080075/* FWU Partition Configs */
76
77/* Size of the FWU internal data transfer buffer */
78#define TFM_FWU_BUF_SIZE PSA_FWU_MAX_WRITE_SIZE
79
80/* The stack size of the Firmware Update Secure Partition */
81#define FWU_STACK_SIZE 0x600
82
Xinyu Zhangd15f99c2022-10-27 15:03:34 +080083/* Attest Partition Configs */
84
85/* Include optional claims in initial attestation token */
86#define ATTEST_INCLUDE_OPTIONAL_CLAIMS 1
87
88/* Include COSE key-id in initial attestation token */
89#define ATTEST_INCLUDE_COSE_KEY_ID 0
90
91/* The stack size of the Initial Attestation Secure Partition */
92#define ATTEST_STACK_SIZE 0x700
93
94/* Set the initial attestation token profile */
95#define ATTEST_TOKEN_PROFILE_PSA_IOT_1 1
96
Xinyu Zhangc8fc2c02022-10-31 12:13:45 +080097/* ITS Partition Configs */
98
99/* Create flash FS if it doesn't exist for Internal Trusted Storage partition */
100#define ITS_CREATE_FLASH_LAYOUT 1
101
102/* Enable emulated RAM FS for platforms that don't have flash for Internal Trusted Storage partition */
103#define ITS_RAM_FS 0
104
105/* Validate filesystem metadata every time it is read from flash */
106#define ITS_VALIDATE_METADATA_FROM_FLASH 1
107
108/* The maximum asset size to be stored in the Internal Trusted Storage */
109#define ITS_MAX_ASSET_SIZE 512
110
111/* Size of the ITS internal data transfer buffer */
112#define ITS_BUF_SIZE 32
113
114/* The maximum number of assets to be stored in the Internal Trusted Storage */
115#define ITS_NUM_ASSETS 10
116
117/* The stack size of the Internal Trusted Storage Secure Partition */
118#define ITS_STACK_SIZE 0x720
119
Xinyu Zhang07152702022-10-31 12:35:49 +0800120/* PS Partition Configs */
121
122/* Create flash FS if it doesn't exist for Protected Storage partition */
123#define PS_CREATE_FLASH_LAYOUT 1
124
125/* Enable emulated RAM FS for platforms that don't have flash for Protected Storage partition */
126#define PS_RAM_FS 0
127
128/* Enable rollback protection for Protected Storage partition */
129#define PS_ROLLBACK_PROTECTION 1
130
131/* Validate filesystem metadata every time it is read from flash */
132#define PS_VALIDATE_METADATA_FROM_FLASH 1
133
134/* The maximum asset size to be stored in the Protected Storage */
135#define PS_MAX_ASSET_SIZE 2048
136
137/* The maximum number of assets to be stored in the Protected Storage */
138#define PS_NUM_ASSETS 10
139
140/* The stack size of the Protected Storage Secure Partition */
141#define PS_STACK_SIZE 0x700
142
Xinyu Zhanga2fab0e2022-10-24 15:37:46 +0800143#endif /* __CONFIG_PROFILE_SMALL_H__ */