xref: /rk3399_ARM-atf/tools/fiptool/tbbr_config.c (revision e0f083a09b295306e0b31ebc9ea5e3a848d12b84)
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[] = {
38b04efcceSdp-arm 	{
39b04efcceSdp-arm 		.name = "SCP Firmware Updater Configuration FWU SCP_BL2U",
40b04efcceSdp-arm 		.uuid = UUID_TRUSTED_UPDATE_FIRMWARE_SCP_BL2U,
41*e0f083a0Sdp-arm 		.cmdline_name = "scp-fwu-cfg"
42b04efcceSdp-arm 	},
43b04efcceSdp-arm 	{
44b04efcceSdp-arm 		.name = "AP Firmware Updater Configuration BL2U",
45b04efcceSdp-arm 		.uuid = UUID_TRUSTED_UPDATE_FIRMWARE_BL2U,
46*e0f083a0Sdp-arm 		.cmdline_name = "ap-fwu-cfg"
47b04efcceSdp-arm 	},
48b04efcceSdp-arm 	{
49b04efcceSdp-arm 		.name = "Firmware Updater NS_BL2U",
50b04efcceSdp-arm 		.uuid = UUID_TRUSTED_UPDATE_FIRMWARE_NS_BL2U,
51*e0f083a0Sdp-arm 		.cmdline_name = "fwu"
52b04efcceSdp-arm 	},
53b04efcceSdp-arm 	{
54b04efcceSdp-arm 		.name = "Non-Trusted Firmware Updater certificate",
55b04efcceSdp-arm 		.uuid = UUID_TRUSTED_FWU_CERT,
56*e0f083a0Sdp-arm 		.cmdline_name = "fwu-cert"
57b04efcceSdp-arm 	},
58b04efcceSdp-arm 	{
59b04efcceSdp-arm 		.name = "Trusted Boot Firmware BL2",
60b04efcceSdp-arm 		.uuid = UUID_TRUSTED_BOOT_FIRMWARE_BL2,
61*e0f083a0Sdp-arm 		.cmdline_name = "tb-fw"
62b04efcceSdp-arm 	},
63b04efcceSdp-arm 	{
64b04efcceSdp-arm 		.name = "SCP Firmware SCP_BL2",
65b04efcceSdp-arm 		.uuid = UUID_SCP_FIRMWARE_SCP_BL2,
66*e0f083a0Sdp-arm 		.cmdline_name = "scp-fw"
67b04efcceSdp-arm 	},
68b04efcceSdp-arm 	{
69b04efcceSdp-arm 		.name = "EL3 Runtime Firmware BL31",
70b04efcceSdp-arm 		.uuid = UUID_EL3_RUNTIME_FIRMWARE_BL31,
71*e0f083a0Sdp-arm 		.cmdline_name = "soc-fw"
72b04efcceSdp-arm 	},
73b04efcceSdp-arm 	{
74b04efcceSdp-arm 		.name = "Secure Payload BL32 (Trusted OS)",
75b04efcceSdp-arm 		.uuid = UUID_SECURE_PAYLOAD_BL32,
76*e0f083a0Sdp-arm 		.cmdline_name = "tos-fw"
77b04efcceSdp-arm 	},
78b04efcceSdp-arm 	{
79b04efcceSdp-arm 		.name = "Non-Trusted Firmware BL33",
80b04efcceSdp-arm 		.uuid = UUID_NON_TRUSTED_FIRMWARE_BL33,
81*e0f083a0Sdp-arm 		.cmdline_name = "nt-fw"
82b04efcceSdp-arm 	},
83*e0f083a0Sdp-arm 
84819281eeSdp-arm 	/* Key Certificates */
85b04efcceSdp-arm 	{
86b04efcceSdp-arm 		.name = "Root Of Trust key certificate",
87b04efcceSdp-arm 		.uuid = UUID_ROT_KEY_CERT,
88*e0f083a0Sdp-arm 		.cmdline_name = "rot-cert"
89b04efcceSdp-arm 	},
90b04efcceSdp-arm 	{
91b04efcceSdp-arm 		.name = "Trusted key certificate",
92b04efcceSdp-arm 		.uuid = UUID_TRUSTED_KEY_CERT,
93*e0f083a0Sdp-arm 		.cmdline_name = "trusted-key-cert"
94b04efcceSdp-arm 	},
95b04efcceSdp-arm 	{
96b04efcceSdp-arm 		.name = "SCP Firmware key certificate",
97b04efcceSdp-arm 		.uuid = UUID_SCP_FW_KEY_CERT,
98*e0f083a0Sdp-arm 		.cmdline_name = "scp-fw-key-cert"
99b04efcceSdp-arm 	},
100b04efcceSdp-arm 	{
101b04efcceSdp-arm 		.name = "SoC Firmware key certificate",
102b04efcceSdp-arm 		.uuid = UUID_SOC_FW_KEY_CERT,
103*e0f083a0Sdp-arm 		.cmdline_name = "soc-fw-key-cert"
104b04efcceSdp-arm 	},
105b04efcceSdp-arm 	{
106b04efcceSdp-arm 		.name = "Trusted OS Firmware key certificate",
107b04efcceSdp-arm 		.uuid = UUID_TRUSTED_OS_FW_KEY_CERT,
108*e0f083a0Sdp-arm 		.cmdline_name = "tos-fw-key-cert"
109b04efcceSdp-arm 	},
110b04efcceSdp-arm 	{
111b04efcceSdp-arm 		.name = "Non-Trusted Firmware key certificate",
112b04efcceSdp-arm 		.uuid = UUID_NON_TRUSTED_FW_KEY_CERT,
113*e0f083a0Sdp-arm 		.cmdline_name = "nt-fw-key-cert"
114b04efcceSdp-arm 	},
115*e0f083a0Sdp-arm 
116819281eeSdp-arm 	/* Content certificates */
117b04efcceSdp-arm 	{
118b04efcceSdp-arm 		.name = "Trusted Boot Firmware BL2 certificate",
119b04efcceSdp-arm 		.uuid = UUID_TRUSTED_BOOT_FW_CERT,
120*e0f083a0Sdp-arm 		.cmdline_name = "tb-fw-cert"
121b04efcceSdp-arm 	},
122b04efcceSdp-arm 	{
123b04efcceSdp-arm 		.name = "SCP Firmware content certificate",
124b04efcceSdp-arm 		.uuid = UUID_SCP_FW_CONTENT_CERT,
125*e0f083a0Sdp-arm 		.cmdline_name = "scp-fw-cert"
126b04efcceSdp-arm 	},
127b04efcceSdp-arm 	{
128b04efcceSdp-arm 		.name = "SoC Firmware content certificate",
129b04efcceSdp-arm 		.uuid = UUID_SOC_FW_CONTENT_CERT,
130*e0f083a0Sdp-arm 		.cmdline_name = "soc-fw-cert"
131b04efcceSdp-arm 	},
132b04efcceSdp-arm 	{
133b04efcceSdp-arm 		.name = "Trusted OS Firmware content certificate",
134b04efcceSdp-arm 		.uuid = UUID_TRUSTED_OS_FW_CONTENT_CERT,
135*e0f083a0Sdp-arm 		.cmdline_name = "tos-fw-cert"
136b04efcceSdp-arm 	},
137b04efcceSdp-arm 	{
138b04efcceSdp-arm 		.name = "Non-Trusted Firmware content certificate",
139b04efcceSdp-arm 		.uuid = UUID_NON_TRUSTED_FW_CONTENT_CERT,
140*e0f083a0Sdp-arm 		.cmdline_name = "nt-fw-cert"
141b04efcceSdp-arm 	},
142b04efcceSdp-arm 	{
143b04efcceSdp-arm 		.name = NULL,
144b04efcceSdp-arm 		.uuid = { 0 },
145b04efcceSdp-arm 		.cmdline_name = NULL,
146b04efcceSdp-arm 	}
147819281eeSdp-arm };
148819281eeSdp-arm 
149819281eeSdp-arm size_t toc_entries_len = sizeof(toc_entries) / sizeof(toc_entries[0]);
150