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