xref: /arm-trusted-firmware/tools/fiptool/tbbr_config.c (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700Schasinglulu /*
2*91f16700Schasinglulu  * Copyright (c) 2016-2022, ARM Limited and Contributors. All rights reserved.
3*91f16700Schasinglulu  *
4*91f16700Schasinglulu  * SPDX-License-Identifier: BSD-3-Clause
5*91f16700Schasinglulu  */
6*91f16700Schasinglulu 
7*91f16700Schasinglulu #include <stddef.h>
8*91f16700Schasinglulu 
9*91f16700Schasinglulu #include <firmware_image_package.h>
10*91f16700Schasinglulu 
11*91f16700Schasinglulu #include "tbbr_config.h"
12*91f16700Schasinglulu 
13*91f16700Schasinglulu /* The images used depends on the platform. */
14*91f16700Schasinglulu toc_entry_t toc_entries[] = {
15*91f16700Schasinglulu 	{
16*91f16700Schasinglulu 		.name = "SCP Firmware Updater Configuration FWU SCP_BL2U",
17*91f16700Schasinglulu 		.uuid = UUID_TRUSTED_UPDATE_FIRMWARE_SCP_BL2U,
18*91f16700Schasinglulu 		.cmdline_name = "scp-fwu-cfg"
19*91f16700Schasinglulu 	},
20*91f16700Schasinglulu 	{
21*91f16700Schasinglulu 		.name = "AP Firmware Updater Configuration BL2U",
22*91f16700Schasinglulu 		.uuid = UUID_TRUSTED_UPDATE_FIRMWARE_BL2U,
23*91f16700Schasinglulu 		.cmdline_name = "ap-fwu-cfg"
24*91f16700Schasinglulu 	},
25*91f16700Schasinglulu 	{
26*91f16700Schasinglulu 		.name = "Firmware Updater NS_BL2U",
27*91f16700Schasinglulu 		.uuid = UUID_TRUSTED_UPDATE_FIRMWARE_NS_BL2U,
28*91f16700Schasinglulu 		.cmdline_name = "fwu"
29*91f16700Schasinglulu 	},
30*91f16700Schasinglulu 	{
31*91f16700Schasinglulu 		.name = "Non-Trusted Firmware Updater certificate",
32*91f16700Schasinglulu 		.uuid = UUID_TRUSTED_FWU_CERT,
33*91f16700Schasinglulu 		.cmdline_name = "fwu-cert"
34*91f16700Schasinglulu 	},
35*91f16700Schasinglulu 	{
36*91f16700Schasinglulu 		.name = "Trusted Boot Firmware BL2",
37*91f16700Schasinglulu 		.uuid = UUID_TRUSTED_BOOT_FIRMWARE_BL2,
38*91f16700Schasinglulu 		.cmdline_name = "tb-fw"
39*91f16700Schasinglulu 	},
40*91f16700Schasinglulu 	{
41*91f16700Schasinglulu 		.name = "SCP Firmware SCP_BL2",
42*91f16700Schasinglulu 		.uuid = UUID_SCP_FIRMWARE_SCP_BL2,
43*91f16700Schasinglulu 		.cmdline_name = "scp-fw"
44*91f16700Schasinglulu 	},
45*91f16700Schasinglulu 	{
46*91f16700Schasinglulu 		.name = "EL3 Runtime Firmware BL31",
47*91f16700Schasinglulu 		.uuid = UUID_EL3_RUNTIME_FIRMWARE_BL31,
48*91f16700Schasinglulu 		.cmdline_name = "soc-fw"
49*91f16700Schasinglulu 	},
50*91f16700Schasinglulu 	{
51*91f16700Schasinglulu 		.name = "Secure Payload BL32 (Trusted OS)",
52*91f16700Schasinglulu 		.uuid = UUID_SECURE_PAYLOAD_BL32,
53*91f16700Schasinglulu 		.cmdline_name = "tos-fw"
54*91f16700Schasinglulu 	},
55*91f16700Schasinglulu 	{
56*91f16700Schasinglulu 		.name = "Secure Payload BL32 Extra1 (Trusted OS Extra1)",
57*91f16700Schasinglulu 		.uuid = UUID_SECURE_PAYLOAD_BL32_EXTRA1,
58*91f16700Schasinglulu 		.cmdline_name = "tos-fw-extra1"
59*91f16700Schasinglulu 	},
60*91f16700Schasinglulu 	{
61*91f16700Schasinglulu 		.name = "Secure Payload BL32 Extra2 (Trusted OS Extra2)",
62*91f16700Schasinglulu 		.uuid = UUID_SECURE_PAYLOAD_BL32_EXTRA2,
63*91f16700Schasinglulu 		.cmdline_name = "tos-fw-extra2"
64*91f16700Schasinglulu 	},
65*91f16700Schasinglulu 	{
66*91f16700Schasinglulu 		.name = "Non-Trusted Firmware BL33",
67*91f16700Schasinglulu 		.uuid = UUID_NON_TRUSTED_FIRMWARE_BL33,
68*91f16700Schasinglulu 		.cmdline_name = "nt-fw"
69*91f16700Schasinglulu 	},
70*91f16700Schasinglulu 	{
71*91f16700Schasinglulu 		.name = "Realm Monitor Management Firmware",
72*91f16700Schasinglulu 		.uuid = UUID_REALM_MONITOR_MGMT_FIRMWARE,
73*91f16700Schasinglulu 		.cmdline_name = "rmm-fw"
74*91f16700Schasinglulu 	},
75*91f16700Schasinglulu 	/* Dynamic Configs */
76*91f16700Schasinglulu 	{
77*91f16700Schasinglulu 		.name = "FW_CONFIG",
78*91f16700Schasinglulu 		.uuid = UUID_FW_CONFIG,
79*91f16700Schasinglulu 		.cmdline_name = "fw-config"
80*91f16700Schasinglulu 	},
81*91f16700Schasinglulu 	{
82*91f16700Schasinglulu 		.name = "HW_CONFIG",
83*91f16700Schasinglulu 		.uuid = UUID_HW_CONFIG,
84*91f16700Schasinglulu 		.cmdline_name = "hw-config"
85*91f16700Schasinglulu 	},
86*91f16700Schasinglulu 	{
87*91f16700Schasinglulu 		.name = "TB_FW_CONFIG",
88*91f16700Schasinglulu 		.uuid = UUID_TB_FW_CONFIG,
89*91f16700Schasinglulu 		.cmdline_name = "tb-fw-config"
90*91f16700Schasinglulu 	},
91*91f16700Schasinglulu 	{
92*91f16700Schasinglulu 		.name = "SOC_FW_CONFIG",
93*91f16700Schasinglulu 		.uuid = UUID_SOC_FW_CONFIG,
94*91f16700Schasinglulu 		.cmdline_name = "soc-fw-config"
95*91f16700Schasinglulu 	},
96*91f16700Schasinglulu 	{
97*91f16700Schasinglulu 		.name = "TOS_FW_CONFIG",
98*91f16700Schasinglulu 		.uuid = UUID_TOS_FW_CONFIG,
99*91f16700Schasinglulu 		.cmdline_name = "tos-fw-config"
100*91f16700Schasinglulu 	},
101*91f16700Schasinglulu 	{
102*91f16700Schasinglulu 		.name = "NT_FW_CONFIG",
103*91f16700Schasinglulu 		.uuid = UUID_NT_FW_CONFIG,
104*91f16700Schasinglulu 		.cmdline_name = "nt-fw-config"
105*91f16700Schasinglulu 	},
106*91f16700Schasinglulu 	/* Key Certificates */
107*91f16700Schasinglulu 	{
108*91f16700Schasinglulu 		.name = "Root Of Trust key certificate",
109*91f16700Schasinglulu 		.uuid = UUID_ROT_KEY_CERT,
110*91f16700Schasinglulu 		.cmdline_name = "rot-cert"
111*91f16700Schasinglulu 	},
112*91f16700Schasinglulu 	{
113*91f16700Schasinglulu 		.name = "Trusted key certificate",
114*91f16700Schasinglulu 		.uuid = UUID_TRUSTED_KEY_CERT,
115*91f16700Schasinglulu 		.cmdline_name = "trusted-key-cert"
116*91f16700Schasinglulu 	},
117*91f16700Schasinglulu 	{
118*91f16700Schasinglulu 		.name = "SCP Firmware key certificate",
119*91f16700Schasinglulu 		.uuid = UUID_SCP_FW_KEY_CERT,
120*91f16700Schasinglulu 		.cmdline_name = "scp-fw-key-cert"
121*91f16700Schasinglulu 	},
122*91f16700Schasinglulu 	{
123*91f16700Schasinglulu 		.name = "SoC Firmware key certificate",
124*91f16700Schasinglulu 		.uuid = UUID_SOC_FW_KEY_CERT,
125*91f16700Schasinglulu 		.cmdline_name = "soc-fw-key-cert"
126*91f16700Schasinglulu 	},
127*91f16700Schasinglulu 	{
128*91f16700Schasinglulu 		.name = "Trusted OS Firmware key certificate",
129*91f16700Schasinglulu 		.uuid = UUID_TRUSTED_OS_FW_KEY_CERT,
130*91f16700Schasinglulu 		.cmdline_name = "tos-fw-key-cert"
131*91f16700Schasinglulu 	},
132*91f16700Schasinglulu 	{
133*91f16700Schasinglulu 		.name = "Non-Trusted Firmware key certificate",
134*91f16700Schasinglulu 		.uuid = UUID_NON_TRUSTED_FW_KEY_CERT,
135*91f16700Schasinglulu 		.cmdline_name = "nt-fw-key-cert"
136*91f16700Schasinglulu 	},
137*91f16700Schasinglulu 
138*91f16700Schasinglulu 	/* Content certificates */
139*91f16700Schasinglulu 	{
140*91f16700Schasinglulu 		.name = "Trusted Boot Firmware BL2 certificate",
141*91f16700Schasinglulu 		.uuid = UUID_TRUSTED_BOOT_FW_CERT,
142*91f16700Schasinglulu 		.cmdline_name = "tb-fw-cert"
143*91f16700Schasinglulu 	},
144*91f16700Schasinglulu 	{
145*91f16700Schasinglulu 		.name = "SCP Firmware content certificate",
146*91f16700Schasinglulu 		.uuid = UUID_SCP_FW_CONTENT_CERT,
147*91f16700Schasinglulu 		.cmdline_name = "scp-fw-cert"
148*91f16700Schasinglulu 	},
149*91f16700Schasinglulu 	{
150*91f16700Schasinglulu 		.name = "SoC Firmware content certificate",
151*91f16700Schasinglulu 		.uuid = UUID_SOC_FW_CONTENT_CERT,
152*91f16700Schasinglulu 		.cmdline_name = "soc-fw-cert"
153*91f16700Schasinglulu 	},
154*91f16700Schasinglulu 	{
155*91f16700Schasinglulu 		.name = "Trusted OS Firmware content certificate",
156*91f16700Schasinglulu 		.uuid = UUID_TRUSTED_OS_FW_CONTENT_CERT,
157*91f16700Schasinglulu 		.cmdline_name = "tos-fw-cert"
158*91f16700Schasinglulu 	},
159*91f16700Schasinglulu 	{
160*91f16700Schasinglulu 		.name = "Non-Trusted Firmware content certificate",
161*91f16700Schasinglulu 		.uuid = UUID_NON_TRUSTED_FW_CONTENT_CERT,
162*91f16700Schasinglulu 		.cmdline_name = "nt-fw-cert"
163*91f16700Schasinglulu 	},
164*91f16700Schasinglulu 	{
165*91f16700Schasinglulu 		.name = "SiP owned Secure Partition content certificate",
166*91f16700Schasinglulu 		.uuid = UUID_SIP_SECURE_PARTITION_CONTENT_CERT,
167*91f16700Schasinglulu 		.cmdline_name = "sip-sp-cert"
168*91f16700Schasinglulu 	},
169*91f16700Schasinglulu 	{
170*91f16700Schasinglulu 		.name = "Platform owned Secure Partition content certificate",
171*91f16700Schasinglulu 		.uuid = UUID_PLAT_SECURE_PARTITION_CONTENT_CERT,
172*91f16700Schasinglulu 		.cmdline_name = "plat-sp-cert"
173*91f16700Schasinglulu 	},
174*91f16700Schasinglulu 	{
175*91f16700Schasinglulu 		.name = "CCA Content Certificate",
176*91f16700Schasinglulu 		.uuid = UUID_CCA_CONTENT_CERT,
177*91f16700Schasinglulu 		.cmdline_name = "cca-cert"
178*91f16700Schasinglulu 	},
179*91f16700Schasinglulu 	{
180*91f16700Schasinglulu 		.name = "Core Secure World Key Certificate",
181*91f16700Schasinglulu 		.uuid = UUID_CORE_SWD_KEY_CERT,
182*91f16700Schasinglulu 		.cmdline_name = "core-swd-cert"
183*91f16700Schasinglulu 	},
184*91f16700Schasinglulu 	{
185*91f16700Schasinglulu 		.name = "Platform Key Certificate",
186*91f16700Schasinglulu 		.uuid = UUID_PLAT_KEY_CERT,
187*91f16700Schasinglulu 		.cmdline_name = "plat-key-cert"
188*91f16700Schasinglulu 	},
189*91f16700Schasinglulu 	{
190*91f16700Schasinglulu 		.name = NULL,
191*91f16700Schasinglulu 		.uuid = { {0} },
192*91f16700Schasinglulu 		.cmdline_name = NULL,
193*91f16700Schasinglulu 	}
194*91f16700Schasinglulu };
195