-
Notifications
You must be signed in to change notification settings - Fork 1.3k
/
Copy pathKconfig
208 lines (187 loc) · 6.59 KB
/
Kconfig
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
#
# Copyright (c) 2020 Nordic Semiconductor ASA
#
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
#
menuconfig SUIT
bool "Enable SUIT modules"
depends on !SOC_NRF54H20_IRON
if SUIT
config SUIT_DFU
bool "Enable SUIT DFU - the interface for SUIT for the user application"
depends on !SUIT_PLATFORM_VARIANT_SDFW
default y if !ZTEST
choice SUIT_PLATFORM_VARIANT
prompt "SUIT platform implementation variant"
default SUIT_PLATFORM_VARIANT_APP if !ZTEST
config SUIT_PLATFORM_VARIANT_SDFW
bool "Set SUIT platform variant to Secure domain"
config SUIT_PLATFORM_VARIANT_APP
bool "Set SUIT platform variant to application domain"
endchoice # SUIT_PLATFORM_VARIANT
if SUIT_DFU
choice SUIT_DFU_CANDIDATE_PROCESSING_LEVEL
prompt "Select the level of SUIT candidate processing inside the user application"
config SUIT_DFU_CANDIDATE_PROCESSING_MINIMAL
bool "Application defaults for minimal SUIT candidate processing"
help
This configuration can be used to allow update using SUIT when no interpretation
of the SUIT envelope is needed by the local domain apart from basic format checking.
This is equivalent to a situation where it is known that none of the manifests
(the top manifest nor its dependencies) contains a suit-payload-fetch sequence.
The only role of the application core is store the SUIT candidate envelope
followed by passing the control to the Secure Domain.
imply SUIT_ORCHESTRATOR_APP
imply SUIT_ORCHESTRATOR_APP_CANDIDATE_PROCESSING
imply SUIT_ENVELOPE_INFO
imply SUIT_UTILS
imply SUIT_METADATA
imply SSF_SUIT_SERVICE_ENABLED
config SUIT_DFU_CANDIDATE_PROCESSING_FULL
bool "Application defaults for support of full SUIT envelope processing by the local domain"
help
This configuration can be used if processing of the SUIT envelope is needed by the
local domain. This is equivalent to a situation where one of the manifests
(the top manifest or its dependencies) may contain a suit-payload-fetch sequence.
Before passing control to the Secure Domain, the local domain implementation of
the SUIT DFU module processes the envelope and fetches any additional needed
data using the registered fetch sources.
imply SUIT_ORCHESTRATOR_APP
imply SUIT_ORCHESTRATOR_APP_CANDIDATE_PROCESSING
imply SUIT_ENVELOPE_INFO
imply SUIT_UTILS
imply SUIT_DIGEST
imply SUIT_CRYPTO
imply SSF_SUIT_SERVICE_ENABLED
imply SUIT_PLAT_CHECK_COMPONENT_COMPATIBILITY
imply SUIT_PLAT_CHECK_CLASSES
imply SUIT_METADATA
imply SUIT_CHECK_IMAGE_MATCH
imply SUIT_STREAM
imply SUIT_STREAM_FETCH_SOURCE_MGR
imply SUIT_STREAM_SOURCE_CACHE
imply SUIT_STREAM_SOURCE_MEMPTR
imply SUIT_STREAM_SINK_DIGEST
imply SUIT_STREAM_SINK_MEMPTR
imply SUIT_CACHE
imply SUIT_CACHE_RW
imply SUIT_STREAM_SINK_CACHE
imply SUIT_STREAM_SINK_FLASH
imply SUIT_MEMPTR_STORAGE
imply SUIT_PLATFORM
imply SUIT_PROCESSOR
imply SUIT_IPUC
imply SUIT_MANIFEST_VARIABLES
imply SUIT_SINK_SELECTOR
config SUIT_DFU_CANDIDATE_PROCESSING_PUSH_TO_CACHE
bool "Push to cache"
imply SUIT_ORCHESTRATOR_APP
imply SUIT_ORCHESTRATOR_APP_CANDIDATE_PROCESSING
imply SUIT_ENVELOPE_INFO
imply SUIT_UTILS
imply SUIT_METADATA
imply SSF_SUIT_SERVICE_ENABLED
imply SUIT_CACHE
imply SUIT_CACHE_RW
imply SUIT_MEMPTR_STORAGE
imply SUIT_STREAM_SINK_FLASH
imply SUIT_STREAM_SOURCE_MEMPTR
imply SUIT_STREAM_SOURCE_FLASH
config SUIT_DFU_CANDIDATE_PROCESSING_NONE
bool "Disable any processing of the SUIT candidate envelope"
help
If this configuration is used no processing of the SUIT envelope will be performed.
It will not be possible to start the update from inside the application using the
SUIT DFU API.
In a general use case this Kconfig option will only be use for companion images
used by the Secure Domain to fetch additional data with the use of the application
core.
imply SUIT_ORCHESTRATOR_APP
endchoice # SUIT_APP_ENVELOPE_PROCESSING_LEVEL
config SUIT_STREAMING_REQUESTS_FROM_SDFW_SUPPORT
bool "Enable support for streaming requests coming from SDFW"
help
In some cases when the Secure Domain processes the SUIT manifests may need to fetch
additional data from outside the device. As the Secure Domain does not have access
to any transport it needs to communicate with an application (a "companion image")
running on one of the local domains to fetch data.
Setting this Kconfig option will enable all the modules needed for
such a local domain application.
The implementer of this application needs to initialize the needed subsystems
using suit_dfu_initialize and register transports as fetch sources.
imply SUIT_ORCHESTRATOR_APP
imply SUIT_UTILS
imply SUIT_METADATA
imply SSF_SUIT_SERVICE_ENABLED
imply SUIT_STREAM_FETCH_SOURCE_MGR
imply SUIT_STREAM_SOURCE_IPC
imply SUIT_STREAM
imply SUIT_STREAM_IPC_PROVIDER
endif # SUIT_DFU
config SUIT_ENABLE_DEFAULTS_SDFW
bool "SDFW SUIT defaults"
imply SUIT_CRYPTO
imply SUIT_DEVCONFIG
imply SUIT_PLAT_CHECK_COMPONENT_COMPATIBILITY
imply SUIT_PLAT_CHECK_CLASSES
imply SUIT_AUTHENTICATE
imply SUIT_DIGEST
imply SUIT_DIGEST_CACHE
imply SUIT_IPUC
imply SUIT_MANIFEST_VARIABLES
imply SUIT_CHECK_IMAGE_MATCH
imply SUIT_MCI
imply SUIT_METADATA
imply SUIT_ORCHESTRATOR
imply SUIT_PLATFORM
imply SUIT_STREAM
imply SUIT_STREAM_SINK_MEMPTR
imply SUIT_STREAM_SINK_FLASH
imply SUIT_STREAM_SINK_DIGEST
imply SUIT_STREAM_SINK_RAM
imply SUIT_STREAM_SINK_SDFW
imply SUIT_STREAM_SINK_SDFW_RECOVERY
imply SUIT_STREAM_FILTER_DECRYPT
imply SUIT_STREAM_SOURCE_CACHE
imply SUIT_STREAM_SOURCE_MEMPTR
imply SUIT_STREAM_SOURCE_IPC
imply SUIT_STREAM_IPC_REQUESTOR
imply SUIT_MEMPTR_STORAGE
imply SUIT_UTILS
imply SUIT_CACHE
imply SUIT_STORAGE
imply SUIT_SINK_SELECTOR
imply SUIT_EXECUTION_MODE
imply SUIT_UPDATE_REBOOT_ENABLED
imply SUIT_BOOT_RECOVERY_REBOOT_ENABLED
imply SUIT_VALIDATOR
imply SUIT_EVENTS
config SUIT_ENABLE_DEFAULTS_SDFW_EXTMEM
bool "SDFW SUIT defaults with external flash support"
depends on SUIT_PLATFORM_VARIANT_SDFW
imply SUIT_STREAM_SOURCE_EXTMEM
imply SUIT_STREAM_SINK_EXTMEM
imply SSF_EXTMEM_SERVICE_ENABLED
rsource "cache/Kconfig"
rsource "mci/Kconfig"
rsource "metadata/Kconfig"
rsource "storage/Kconfig"
rsource "orchestrator/Kconfig"
rsource "orchestrator_app/Kconfig"
rsource "memptr_storage/Kconfig"
rsource "platform/Kconfig"
rsource "stream/Kconfig"
rsource "utils/Kconfig"
rsource "envelope_info/Kconfig"
rsource "execution_mode/Kconfig"
rsource "memory_layout/Kconfig"
rsource "validator/Kconfig"
rsource "events/Kconfig"
rsource "app_tools/Kconfig"
rsource "manifest_variables/Kconfig"
rsource "ipuc/Kconfig"
# Configure SUIT_LOG_LEVEL
module = SUIT
module-str = Software Updates for Internet of Things
source "${ZEPHYR_BASE}/subsys/logging/Kconfig.template.log_config"
endif # SUIT