• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2020-2024, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#if USE_TBBR_DEFS
8#include <tools_share/tbbr_oid.h>
9#else
10#include <platform_oid.h>
11#endif
12
13#include <common/tbbr/tbbr_img_def.h>
14#include <common/nv_cntr_ids.h>
15
16cot {
17	manifests {
18		compatible = "arm, cert-descs";
19
20		trusted_boot_fw_cert: trusted_boot_fw_cert {
21			root-certificate;
22			image-id =<TRUSTED_BOOT_FW_CERT_ID>;
23			antirollback-counter = <&trusted_nv_ctr>;
24
25			tb_fw_hash: tb_fw_hash {
26				oid = TRUSTED_BOOT_FW_HASH_OID;
27			};
28			tb_fw_config_hash: tb_fw_config_hash {
29				oid = TRUSTED_BOOT_FW_CONFIG_HASH_OID;
30			};
31			hw_config_hash: hw_config_hash {
32				oid = HW_CONFIG_HASH_OID;
33			};
34			fw_config_hash: fw_config_hash {
35				oid = FW_CONFIG_HASH_OID;
36			};
37		};
38
39		trusted_key_cert: trusted_key_cert {
40			root-certificate;
41			image-id = <TRUSTED_KEY_CERT_ID>;
42			antirollback-counter = <&trusted_nv_ctr>;
43
44			trusted_world_pk: trusted_world_pk {
45				oid = TRUSTED_WORLD_PK_OID;
46			};
47			non_trusted_world_pk: non_trusted_world_pk {
48				oid = NON_TRUSTED_WORLD_PK_OID;
49			};
50		};
51
52		scp_fw_key_cert: scp_fw_key_cert {
53			image-id = <SCP_FW_KEY_CERT_ID>;
54			parent = <&trusted_key_cert>;
55			signing-key = <&trusted_world_pk>;
56			antirollback-counter = <&trusted_nv_ctr>;
57
58			scp_fw_content_pk: scp_fw_content_pk {
59				oid = SCP_FW_CONTENT_CERT_PK_OID;
60			};
61		};
62
63		scp_fw_content_cert: scp_fw_content_cert {
64			image-id = <SCP_FW_CONTENT_CERT_ID>;
65			parent = <&scp_fw_key_cert>;
66			signing-key = <&scp_fw_content_pk>;
67			antirollback-counter = <&trusted_nv_ctr>;
68
69			scp_fw_hash: scp_fw_hash {
70				oid = SCP_FW_HASH_OID;
71			};
72		};
73
74		soc_fw_key_cert: soc_fw_key_cert {
75			image-id = <SOC_FW_KEY_CERT_ID>;
76			parent = <&trusted_key_cert>;
77			signing-key = <&trusted_world_pk>;
78			antirollback-counter = <&trusted_nv_ctr>;
79			soc_fw_content_pk: soc_fw_content_pk {
80				oid = SOC_FW_CONTENT_CERT_PK_OID;
81			};
82		};
83
84		soc_fw_content_cert: soc_fw_content_cert {
85			image-id = <SOC_FW_CONTENT_CERT_ID>;
86			parent = <&soc_fw_key_cert>;
87			signing-key = <&soc_fw_content_pk>;
88			antirollback-counter = <&trusted_nv_ctr>;
89
90			soc_fw_hash: soc_fw_hash {
91				oid = SOC_AP_FW_HASH_OID;
92			};
93			soc_fw_config_hash: soc_fw_config_hash {
94				oid = SOC_FW_CONFIG_HASH_OID;
95			};
96		};
97
98		trusted_os_fw_key_cert: trusted_os_fw_key_cert {
99			image-id = <TRUSTED_OS_FW_KEY_CERT_ID>;
100			parent = <&trusted_key_cert>;
101			signing-key = <&trusted_world_pk>;
102			antirollback-counter = <&trusted_nv_ctr>;
103
104			tos_fw_content_pk: tos_fw_content_pk {
105				oid = TRUSTED_OS_FW_CONTENT_CERT_PK_OID;
106			};
107		};
108
109		trusted_os_fw_content_cert: trusted_os_fw_content_cert {
110			image-id = <TRUSTED_OS_FW_CONTENT_CERT_ID>;
111			parent = <&trusted_os_fw_key_cert>;
112			signing-key = <&tos_fw_content_pk>;
113			antirollback-counter = <&trusted_nv_ctr>;
114
115			tos_fw_hash: tos_fw_hash {
116				oid = TRUSTED_OS_FW_HASH_OID;
117			};
118			tos_fw_extra1_hash: tos_fw_extra1_hash {
119				oid = TRUSTED_OS_FW_EXTRA1_HASH_OID;
120			};
121			tos_fw_extra2_hash: tos_fw_extra2_hash {
122				oid = TRUSTED_OS_FW_EXTRA2_HASH_OID;
123			};
124			tos_fw_config_hash: tos_fw_config_hash {
125				oid = TRUSTED_OS_FW_CONFIG_HASH_OID;
126			};
127		};
128
129		non_trusted_fw_key_cert: non_trusted_fw_key_cert {
130			image-id = <NON_TRUSTED_FW_KEY_CERT_ID>;
131			parent = <&trusted_key_cert>;
132			signing-key = <&non_trusted_world_pk>;
133			antirollback-counter = <&non_trusted_nv_ctr>;
134
135			nt_fw_content_pk: nt_fw_content_pk {
136				oid = NON_TRUSTED_FW_CONTENT_CERT_PK_OID;
137			};
138		};
139
140		non_trusted_fw_content_cert: non_trusted_fw_content_cert {
141			image-id = <NON_TRUSTED_FW_CONTENT_CERT_ID>;
142			parent = <&non_trusted_fw_key_cert>;
143			signing-key = <&nt_fw_content_pk>;
144			antirollback-counter = <&non_trusted_nv_ctr>;
145
146			nt_world_bl_hash: nt_world_bl_hash {
147				oid = NON_TRUSTED_WORLD_BOOTLOADER_HASH_OID;
148			};
149			nt_fw_config_hash: nt_fw_config_hash {
150				oid = NON_TRUSTED_FW_CONFIG_HASH_OID;
151			};
152		};
153
154#if defined(SPD_spmd)
155		sip_sp_content_cert: sip_sp_content_cert {
156			image-id = <SIP_SP_CONTENT_CERT_ID>;
157			parent = <&trusted_key_cert>;
158			signing-key = <&trusted_world_pk>;
159			antirollback-counter = <&trusted_nv_ctr>;
160
161			sp_pkg1_hash: sp_pkg1_hash {
162				oid = SP_PKG1_HASH_OID;
163			};
164			sp_pkg2_hash: sp_pkg2_hash {
165				oid = SP_PKG2_HASH_OID;
166			};
167			sp_pkg3_hash: sp_pkg3_hash {
168				oid = SP_PKG3_HASH_OID;
169			};
170			sp_pkg4_hash: sp_pkg4_hash {
171				oid = SP_PKG4_HASH_OID;
172			};
173			sp_pkg5_hash: sp_pkg5_hash {
174				oid = SP_PKG5_HASH_OID;
175			};
176			sp_pkg6_hash: sp_pkg6_hash {
177				oid = SP_PKG6_HASH_OID;
178			};
179			sp_pkg7_hash: sp_pkg7_hash {
180				oid = SP_PKG7_HASH_OID;
181			};
182			sp_pkg8_hash: sp_pkg8_hash {
183				oid = SP_PKG8_HASH_OID;
184			};
185		};
186#endif
187	};
188
189	images {
190		compatible = "arm, img-descs";
191
192		hw_config {
193			image-id = <HW_CONFIG_ID>;
194			parent = <&trusted_boot_fw_cert>;
195			hash = <&hw_config_hash>;
196		};
197
198		fw_config {
199			image-id = <FW_CONFIG_ID>;
200			parent = <&trusted_boot_fw_cert>;
201			hash = <&fw_config_hash>;
202		};
203
204		scp_bl2_image {
205			image-id = <SCP_BL2_IMAGE_ID>;
206			parent = <&scp_fw_content_cert>;
207			hash = <&scp_fw_hash>;
208		};
209
210		bl31_image {
211			image-id = <BL31_IMAGE_ID>;
212			parent = <&soc_fw_content_cert>;
213			hash = <&soc_fw_hash>;
214		};
215
216		soc_fw_config {
217			image-id = <SOC_FW_CONFIG_ID>;
218			parent = <&soc_fw_content_cert>;
219			hash = <&soc_fw_config_hash>;
220		};
221
222		bl32_image {
223			image-id = <BL32_IMAGE_ID>;
224			parent = <&trusted_os_fw_content_cert>;
225			hash = <&tos_fw_hash>;
226		};
227
228		bl32_extra1_image {
229			image-id = <BL32_EXTRA1_IMAGE_ID>;
230			parent = <&trusted_os_fw_content_cert>;
231			hash = <&tos_fw_extra1_hash>;
232		};
233
234		bl32_extra2_image {
235			image-id = <BL32_EXTRA2_IMAGE_ID>;
236			parent = <&trusted_os_fw_content_cert>;
237			hash = <&tos_fw_extra2_hash>;
238		};
239
240		tos_fw_config {
241			image-id = <TOS_FW_CONFIG_ID>;
242			parent = <&trusted_os_fw_content_cert>;
243			hash = <&tos_fw_config_hash>;
244		};
245
246		bl33_image {
247			image-id = <BL33_IMAGE_ID>;
248			parent = <&non_trusted_fw_content_cert>;
249			hash = <&nt_world_bl_hash>;
250		};
251
252		nt_fw_config {
253			image-id = <NT_FW_CONFIG_ID>;
254			parent = <&non_trusted_fw_content_cert>;
255			hash = <&nt_fw_config_hash>;
256		};
257
258#if defined(SPD_spmd)
259		sp_pkg1 {
260			image-id = <SP_PKG1_ID>;
261			parent = <&sip_sp_content_cert>;
262			hash = <&sp_pkg1_hash>;
263		};
264
265		sp_pkg2 {
266			image-id = <SP_PKG2_ID>;
267			parent = <&sip_sp_content_cert>;
268			hash = <&sp_pkg2_hash>;
269		};
270
271		sp_pkg3 {
272			image-id = <SP_PKG3_ID>;
273			parent = <&sip_sp_content_cert>;
274			hash = <&sp_pkg3_hash>;
275		};
276
277		sp_pkg4 {
278			image-id = <SP_PKG4_ID>;
279			parent = <&sip_sp_content_cert>;
280			hash = <&sp_pkg4_hash>;
281		};
282
283		sp_pkg5 {
284			image-id = <SP_PKG5_ID>;
285			parent = <&sip_sp_content_cert>;
286			hash = <&sp_pkg5_hash>;
287		};
288
289		sp_pkg6 {
290			image-id = <SP_PKG6_ID>;
291			parent = <&sip_sp_content_cert>;
292			hash = <&sp_pkg6_hash>;
293		};
294
295		sp_pkg7 {
296			image-id = <SP_PKG7_ID>;
297			parent = <&sip_sp_content_cert>;
298			hash = <&sp_pkg7_hash>;
299		};
300
301		sp_pkg8 {
302			image-id = <SP_PKG8_ID>;
303			parent = <&sip_sp_content_cert>;
304			hash = <&sp_pkg8_hash>;
305		};
306#endif
307	};
308};
309
310non_volatile_counters: non_volatile_counters {
311	compatible = "arm, non-volatile-counter";
312
313	#address-cells = <1>;
314	#size-cells = <0>;
315
316	trusted_nv_ctr: trusted_nv_ctr {
317		id  = <TRUSTED_NV_CTR_ID>;
318		oid = TRUSTED_FW_NVCOUNTER_OID;
319	};
320
321	non_trusted_nv_ctr: non_trusted_nv_ctr {
322		id  = <NON_TRUSTED_NV_CTR_ID>;
323		oid = NON_TRUSTED_FW_NVCOUNTER_OID;
324	};
325};
326