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