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