xref: /rk3399_ARM-atf/tools/fiptool/tbbr_config.c (revision b04efccece789d9b8d8a455a86f20917436d7bd2)
1819281eeSdp-arm /*
2819281eeSdp-arm  * Copyright (c) 2016, ARM Limited and Contributors. All rights reserved.
3819281eeSdp-arm  *
4819281eeSdp-arm  * Redistribution and use in source and binary forms, with or without
5819281eeSdp-arm  * modification, are permitted provided that the following conditions are met:
6819281eeSdp-arm  *
7819281eeSdp-arm  * Redistributions of source code must retain the above copyright notice, this
8819281eeSdp-arm  * list of conditions and the following disclaimer.
9819281eeSdp-arm  *
10819281eeSdp-arm  * Redistributions in binary form must reproduce the above copyright notice,
11819281eeSdp-arm  * this list of conditions and the following disclaimer in the documentation
12819281eeSdp-arm  * and/or other materials provided with the distribution.
13819281eeSdp-arm  *
14819281eeSdp-arm  * Neither the name of ARM nor the names of its contributors may be used
15819281eeSdp-arm  * to endorse or promote products derived from this software without specific
16819281eeSdp-arm  * prior written permission.
17819281eeSdp-arm  *
18819281eeSdp-arm  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19819281eeSdp-arm  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20819281eeSdp-arm  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21819281eeSdp-arm  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22819281eeSdp-arm  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23819281eeSdp-arm  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24819281eeSdp-arm  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25819281eeSdp-arm  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26819281eeSdp-arm  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27819281eeSdp-arm  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28819281eeSdp-arm  * POSSIBILITY OF SUCH DAMAGE.
29819281eeSdp-arm  */
30819281eeSdp-arm 
31819281eeSdp-arm #include <stddef.h>
32819281eeSdp-arm 
33819281eeSdp-arm #include "firmware_image_package.h"
34819281eeSdp-arm #include "tbbr_config.h"
35819281eeSdp-arm 
36819281eeSdp-arm /* The images used depends on the platform. */
37819281eeSdp-arm toc_entry_t toc_entries[] = {
38*b04efcceSdp-arm 	{
39*b04efcceSdp-arm 		.name = "SCP Firmware Updater Configuration FWU SCP_BL2U",
40*b04efcceSdp-arm 		.uuid = UUID_TRUSTED_UPDATE_FIRMWARE_SCP_BL2U,
41*b04efcceSdp-arm 		.cmdline_name = "scp-fwu-cfg",
42*b04efcceSdp-arm 		.action = 0,
43*b04efcceSdp-arm 		.action_arg = NULL
44*b04efcceSdp-arm 	},
45*b04efcceSdp-arm 	{
46*b04efcceSdp-arm 		.name = "AP Firmware Updater Configuration BL2U",
47*b04efcceSdp-arm 		.uuid = UUID_TRUSTED_UPDATE_FIRMWARE_BL2U,
48*b04efcceSdp-arm 		.cmdline_name = "ap-fwu-cfg",
49*b04efcceSdp-arm 		.action = 0,
50*b04efcceSdp-arm 		.action_arg = NULL
51*b04efcceSdp-arm 	},
52*b04efcceSdp-arm 	{
53*b04efcceSdp-arm 		.name = "Firmware Updater NS_BL2U",
54*b04efcceSdp-arm 		.uuid = UUID_TRUSTED_UPDATE_FIRMWARE_NS_BL2U,
55*b04efcceSdp-arm 		.cmdline_name = "fwu",
56*b04efcceSdp-arm 		.action = 0,
57*b04efcceSdp-arm 		.action_arg = NULL
58*b04efcceSdp-arm 	},
59*b04efcceSdp-arm 	{
60*b04efcceSdp-arm 		.name = "Non-Trusted Firmware Updater certificate",
61*b04efcceSdp-arm 		.uuid = UUID_TRUSTED_FWU_CERT,
62*b04efcceSdp-arm 		.cmdline_name = "fwu-cert",
63*b04efcceSdp-arm 		.action = 0,
64*b04efcceSdp-arm 		.action_arg = NULL
65*b04efcceSdp-arm 	},
66*b04efcceSdp-arm 	{
67*b04efcceSdp-arm 		.name = "Trusted Boot Firmware BL2",
68*b04efcceSdp-arm 		.uuid = UUID_TRUSTED_BOOT_FIRMWARE_BL2,
69*b04efcceSdp-arm 		.cmdline_name = "tb-fw",
70*b04efcceSdp-arm 		.action = 0,
71*b04efcceSdp-arm 		.action_arg = NULL
72*b04efcceSdp-arm 	},
73*b04efcceSdp-arm 	{
74*b04efcceSdp-arm 		.name = "SCP Firmware SCP_BL2",
75*b04efcceSdp-arm 		.uuid = UUID_SCP_FIRMWARE_SCP_BL2,
76*b04efcceSdp-arm 		.cmdline_name = "scp-fw",
77*b04efcceSdp-arm 		.action = 0,
78*b04efcceSdp-arm 		.action_arg = NULL
79*b04efcceSdp-arm 	},
80*b04efcceSdp-arm 	{
81*b04efcceSdp-arm 		.name = "EL3 Runtime Firmware BL31",
82*b04efcceSdp-arm 		.uuid = UUID_EL3_RUNTIME_FIRMWARE_BL31,
83*b04efcceSdp-arm 		.cmdline_name = "soc-fw",
84*b04efcceSdp-arm 		.action = 0,
85*b04efcceSdp-arm 		.action_arg = NULL
86*b04efcceSdp-arm 	},
87*b04efcceSdp-arm 	{
88*b04efcceSdp-arm 		.name = "Secure Payload BL32 (Trusted OS)",
89*b04efcceSdp-arm 		.uuid = UUID_SECURE_PAYLOAD_BL32,
90*b04efcceSdp-arm 		.cmdline_name = "tos-fw",
91*b04efcceSdp-arm 		.action = 0,
92*b04efcceSdp-arm 		.action_arg = NULL
93*b04efcceSdp-arm 	},
94*b04efcceSdp-arm 	{
95*b04efcceSdp-arm 		.name = "Non-Trusted Firmware BL33",
96*b04efcceSdp-arm 		.uuid = UUID_NON_TRUSTED_FIRMWARE_BL33,
97*b04efcceSdp-arm 		.cmdline_name = "nt-fw",
98*b04efcceSdp-arm 		.action = 0,
99*b04efcceSdp-arm 		.action_arg = NULL
100*b04efcceSdp-arm 	},
101819281eeSdp-arm 	/* Key Certificates */
102*b04efcceSdp-arm 	{
103*b04efcceSdp-arm 		.name = "Root Of Trust key certificate",
104*b04efcceSdp-arm 		.uuid = UUID_ROT_KEY_CERT,
105*b04efcceSdp-arm 		.cmdline_name = "rot-cert",
106*b04efcceSdp-arm 		.action = 0,
107*b04efcceSdp-arm 		.action_arg = NULL
108*b04efcceSdp-arm 	},
109*b04efcceSdp-arm 	{
110*b04efcceSdp-arm 		.name = "Trusted key certificate",
111*b04efcceSdp-arm 		.uuid = UUID_TRUSTED_KEY_CERT,
112*b04efcceSdp-arm 		.cmdline_name = "trusted-key-cert",
113*b04efcceSdp-arm 		.action = 0,
114*b04efcceSdp-arm 		.action_arg = NULL
115*b04efcceSdp-arm 	},
116*b04efcceSdp-arm 	{
117*b04efcceSdp-arm 		.name = "SCP Firmware key certificate",
118*b04efcceSdp-arm 		.uuid = UUID_SCP_FW_KEY_CERT,
119*b04efcceSdp-arm 		.cmdline_name = "scp-fw-key-cert",
120*b04efcceSdp-arm 		.action = 0,
121*b04efcceSdp-arm 		.action_arg = NULL
122*b04efcceSdp-arm 	},
123*b04efcceSdp-arm 	{
124*b04efcceSdp-arm 		.name = "SoC Firmware key certificate",
125*b04efcceSdp-arm 		.uuid = UUID_SOC_FW_KEY_CERT,
126*b04efcceSdp-arm 		.cmdline_name = "soc-fw-key-cert",
127*b04efcceSdp-arm 		.action = 0,
128*b04efcceSdp-arm 		.action_arg = NULL
129*b04efcceSdp-arm 	},
130*b04efcceSdp-arm 	{
131*b04efcceSdp-arm 		.name = "Trusted OS Firmware key certificate",
132*b04efcceSdp-arm 		.uuid = UUID_TRUSTED_OS_FW_KEY_CERT,
133*b04efcceSdp-arm 		.cmdline_name = "tos-fw-key-cert",
134*b04efcceSdp-arm 		.action = 0,
135*b04efcceSdp-arm 		.action_arg = NULL
136*b04efcceSdp-arm 	},
137*b04efcceSdp-arm 	{
138*b04efcceSdp-arm 		.name = "Non-Trusted Firmware key certificate",
139*b04efcceSdp-arm 		.uuid = UUID_NON_TRUSTED_FW_KEY_CERT,
140*b04efcceSdp-arm 		.cmdline_name = "nt-fw-key-cert",
141*b04efcceSdp-arm 		.action = 0,
142*b04efcceSdp-arm 		.action_arg = NULL
143*b04efcceSdp-arm 	},
144819281eeSdp-arm 	/* Content certificates */
145*b04efcceSdp-arm 	{
146*b04efcceSdp-arm 		.name = "Trusted Boot Firmware BL2 certificate",
147*b04efcceSdp-arm 		.uuid = UUID_TRUSTED_BOOT_FW_CERT,
148*b04efcceSdp-arm 		.cmdline_name = "tb-fw-cert",
149*b04efcceSdp-arm 		.action = 0,
150*b04efcceSdp-arm 		.action_arg = NULL
151*b04efcceSdp-arm 	},
152*b04efcceSdp-arm 	{
153*b04efcceSdp-arm 		.name = "SCP Firmware content certificate",
154*b04efcceSdp-arm 		.uuid = UUID_SCP_FW_CONTENT_CERT,
155*b04efcceSdp-arm 		.cmdline_name = "scp-fw-cert",
156*b04efcceSdp-arm 		.action = 0,
157*b04efcceSdp-arm 		.action_arg = NULL
158*b04efcceSdp-arm 	},
159*b04efcceSdp-arm 	{
160*b04efcceSdp-arm 		.name = "SoC Firmware content certificate",
161*b04efcceSdp-arm 		.uuid = UUID_SOC_FW_CONTENT_CERT,
162*b04efcceSdp-arm 		.cmdline_name = "soc-fw-cert",
163*b04efcceSdp-arm 		.action = 0,
164*b04efcceSdp-arm 		.action_arg = NULL
165*b04efcceSdp-arm 	},
166*b04efcceSdp-arm 	{
167*b04efcceSdp-arm 		.name = "Trusted OS Firmware content certificate",
168*b04efcceSdp-arm 		.uuid = UUID_TRUSTED_OS_FW_CONTENT_CERT,
169*b04efcceSdp-arm 		.cmdline_name = "tos-fw-cert",
170*b04efcceSdp-arm 		.action = 0,
171*b04efcceSdp-arm 		.action_arg = NULL
172*b04efcceSdp-arm 	},
173*b04efcceSdp-arm 	{
174*b04efcceSdp-arm 		.name = "Non-Trusted Firmware content certificate",
175*b04efcceSdp-arm 		.uuid = UUID_NON_TRUSTED_FW_CONTENT_CERT,
176*b04efcceSdp-arm 		.cmdline_name = "nt-fw-cert",
177*b04efcceSdp-arm 		.action = 0,
178*b04efcceSdp-arm 		.action_arg = NULL
179*b04efcceSdp-arm 	},
180*b04efcceSdp-arm 	{
181*b04efcceSdp-arm 		.name = NULL,
182*b04efcceSdp-arm 		.uuid = { 0 },
183*b04efcceSdp-arm 		.cmdline_name = NULL,
184*b04efcceSdp-arm 		.action = 0,
185*b04efcceSdp-arm 		.action_arg = NULL
186*b04efcceSdp-arm 	}
187819281eeSdp-arm };
188819281eeSdp-arm 
189819281eeSdp-arm size_t toc_entries_len = sizeof(toc_entries) / sizeof(toc_entries[0]);
190