blob: f49d6f262f2ed12562e02d44851558e5c0248853 [file] [log] [blame]
Jan Kiszka4a88eb22021-09-18 08:17:52 +02001// SPDX-License-Identifier: GPL-2.0
2/*
Jan Kiszkab2d24f92023-07-27 06:34:54 +02003 * Copyright (c) Siemens AG, 2020-2023
Jan Kiszka4a88eb22021-09-18 08:17:52 +02004 *
5 * Authors:
6 * Jan Kiszka <jan.kiszka@siemens.com>
7 * Chao Zeng <chao.zeng@siemens.com>
8 */
9
10#include <config.h>
11
12/ {
Jan Kiszkab2d24f92023-07-27 06:34:54 +020013 binman: binman {
14 multiple-images;
15 };
16};
17
18&binman {
19 common_part: template {
Jan Kiszka4a88eb22021-09-18 08:17:52 +020020 pad-byte = <0xff>;
21 size = <0x8c0000>;
Jan Kiszkacf422ca2023-02-28 19:19:15 +010022 allow-repack;
Jan Kiszka4a88eb22021-09-18 08:17:52 +020023
Jan Kiszkab2d24f92023-07-27 06:34:54 +020024 blob-ext@0 {
Jan Kiszka4a88eb22021-09-18 08:17:52 +020025 offset = <0x000000>;
Ivan Mikhaylove1953e42021-12-09 16:10:53 +000026 missing-msg = "iot2050-seboot";
Jan Kiszka4a88eb22021-09-18 08:17:52 +020027 };
28
Jan Kiszkab2d24f92023-07-27 06:34:54 +020029 fit@180000 {
Jan Kiszkaa59bc022023-02-28 19:19:11 +010030 offset = <0x180000>;
Jan Kiszka4a88eb22021-09-18 08:17:52 +020031 filename = "tispl.bin";
Neha Malcom Francis48183b02023-07-22 00:14:41 +053032 pad-byte = <0xff>;
33 description = "Configuration to load ATF and SPL";
34
35 images {
36 atf {
37 description = "ARM Trusted Firmware";
38 type = "firmware";
39 arch = "arm64";
40 compression = "none";
41 os = "arm-trusted-firmware";
42 load = <CONFIG_K3_ATF_LOAD_ADDR>;
43 entry = <CONFIG_K3_ATF_LOAD_ADDR>;
Simon Glassceea7842023-08-23 19:18:01 -060044 atf-bl31 {
Neha Malcom Francis48183b02023-07-22 00:14:41 +053045 };
46 };
47
48 tee {
49 description = "OP-TEE";
50 type = "tee";
51 arch = "arm64";
52 compression = "none";
53 os = "tee";
Andrew Davis27df8602024-02-14 10:30:05 -060054 load = <CONFIG_K3_OPTEE_LOAD_ADDR>;
55 entry = <CONFIG_K3_OPTEE_LOAD_ADDR>;
Simon Glassceea7842023-08-23 19:18:01 -060056 tee-os {
Neha Malcom Francis48183b02023-07-22 00:14:41 +053057 };
58 };
59
60 dm {
61 description = "DM binary";
62 type = "firmware";
63 arch = "arm32";
64 compression = "none";
65 os = "DM";
66 load = <0x89000000>;
67 entry = <0x89000000>;
68 blob-ext {
69 filename = "/dev/null";
70 };
71 };
72
73 spl {
74 description = "SPL (64-bit)";
75 type = "standalone";
76 os = "U-Boot";
77 arch = "arm64";
78 compression = "none";
79 load = <CONFIG_SPL_TEXT_BASE>;
80 entry = <CONFIG_SPL_TEXT_BASE>;
Simon Glassceea7842023-08-23 19:18:01 -060081 blob-ext {
Neha Malcom Francis48183b02023-07-22 00:14:41 +053082 filename = "spl/u-boot-spl-nodtb.bin";
83 };
84 };
85
86 fdt-0 {
Jan Kiszka3fedadf2024-10-22 08:04:26 +020087 description = "ti/k3-am6528-iot2050-basic.dtb";
Neha Malcom Francis48183b02023-07-22 00:14:41 +053088 type = "flat_dt";
89 arch = "arm";
90 compression = "none";
Simon Glassceea7842023-08-23 19:18:01 -060091 blob-ext {
Jan Kiszka3fedadf2024-10-22 08:04:26 +020092 filename = "spl/dts/ti/k3-am6528-iot2050-basic.dtb";
Neha Malcom Francis48183b02023-07-22 00:14:41 +053093 };
94 };
95 };
96
97 configurations {
98 default = "spl";
99 spl {
100 fdt = "fdt-0";
101 firmware = "atf";
102 loadables = "tee", "dm", "spl";
103 };
104 };
Jan Kiszka4a88eb22021-09-18 08:17:52 +0200105 };
106
Jan Kiszkab2d24f92023-07-27 06:34:54 +0200107 fit@380000 {
Jan Kiszka4a88eb22021-09-18 08:17:52 +0200108 description = "U-Boot for IOT2050";
Jan Kiszkaa59bc022023-02-28 19:19:11 +0100109 offset = <0x380000>;
Jan Kiszka4a88eb22021-09-18 08:17:52 +0200110 images {
111 u-boot {
112 description = "U-Boot";
113 type = "standalone";
114 arch = "arm64";
115 os = "u-boot";
116 compression = "none";
117 load = <0x80800000>;
118 entry = <0x80800000>;
119 u-boot-nodtb {
120 };
Jan Kiszkacf422ca2023-02-28 19:19:15 +0100121 hash {
122 algo = "sha256";
123 };
Jan Kiszka4a88eb22021-09-18 08:17:52 +0200124 };
125
Su Baocheng8999cc52023-02-28 19:19:10 +0100126 @fdt-SEQ {
127 description = "fdt-NAME";
Jan Kiszka4a88eb22021-09-18 08:17:52 +0200128 type = "flat_dt";
129 arch = "arm64";
130 compression = "none";
Jan Kiszkae31f16c2023-02-28 19:19:23 +0100131 hash {
132 algo = "sha256";
133 };
134 };
Jan Kiszkae31f16c2023-02-28 19:19:23 +0100135
Jan Kiszka14a2e812021-09-18 08:17:56 +0200136#ifdef CONFIG_WDT_K3_RTI_FW_FILE
137 k3-rti-wdt-firmware {
138 type = "firmware";
139 load = <0x82000000>;
140 arch = "arm";
141 compression = "none";
142 blob-ext {
143 filename = CONFIG_WDT_K3_RTI_FW_FILE;
144 missing-msg = "k3-rti-wdt-firmware";
145 };
Jan Kiszkacf422ca2023-02-28 19:19:15 +0100146 hash {
147 algo = "sha256";
148 };
Jan Kiszka14a2e812021-09-18 08:17:56 +0200149 };
150#endif
Jan Kiszka4a88eb22021-09-18 08:17:52 +0200151 };
152
153 configurations {
Su Baocheng8999cc52023-02-28 19:19:10 +0100154 @config-SEQ {
155 description = "NAME";
Jan Kiszka4a88eb22021-09-18 08:17:52 +0200156 firmware = "u-boot";
Su Baocheng8999cc52023-02-28 19:19:10 +0100157 fdt = "fdt-SEQ";
Jan Kiszkacf422ca2023-02-28 19:19:15 +0100158 signature {
159 sign-images = "firmware", "fdt", "loadables";
160 };
Jan Kiszka4a88eb22021-09-18 08:17:52 +0200161 };
Jan Kiszka4a88eb22021-09-18 08:17:52 +0200162 };
163 };
164
Jan Kiszkacf422ca2023-02-28 19:19:15 +0100165 fdtmap {
166 };
167
Jan Kiszka4a88eb22021-09-18 08:17:52 +0200168 /* primary env */
Jan Kiszkab2d24f92023-07-27 06:34:54 +0200169 fill@680000 {
Jan Kiszka4a88eb22021-09-18 08:17:52 +0200170 offset = <0x680000>;
171 size = <0x020000>;
172 fill-byte = [00];
173 };
174 /* secondary env */
Jan Kiszkab2d24f92023-07-27 06:34:54 +0200175 fill@6a0000 {
Jan Kiszka4a88eb22021-09-18 08:17:52 +0200176 offset = <0x6a0000>;
177 size = <0x020000>;
178 fill-byte = [00];
179 };
180
Jan Kiszkab2d24f92023-07-27 06:34:54 +0200181/* OTP update command block */
182#ifdef CONFIG_IOT2050_EMBED_OTPCMD
183 blob-ext@6c0000 {
Jan Kiszkaaebb5b92023-02-28 19:19:18 +0100184 offset = <0x6c0000>;
Jan Kiszkab2d24f92023-07-27 06:34:54 +0200185
Jan Kiszkaaebb5b92023-02-28 19:19:18 +0100186 size = <0x010000>;
187 filename = "otpcmd.bin";
188 missing-msg = "iot2050-otpcmd";
189 };
190#else
Jan Kiszkab2d24f92023-07-27 06:34:54 +0200191 fill@6c0000 {
Jan Kiszka4a88eb22021-09-18 08:17:52 +0200192 offset = <0x6c0000>;
Jan Kiszkaa59bc022023-02-28 19:19:11 +0100193 size = <0x010000>;
194 fill-byte = [ff];
Jan Kiszka4a88eb22021-09-18 08:17:52 +0200195 };
Jan Kiszkab2d24f92023-07-27 06:34:54 +0200196#endif
197 };
198
199 flash-pg1 {
200 filename = "flash-pg1.bin";
201 insert-template = <&common_part>;
202
203 blob-ext@0 {
204 filename = "seboot_pg1.bin";
205 };
206
207 fit@380000 {
Jan Kiszka3fedadf2024-10-22 08:04:26 +0200208 fit,fdt-list-val = "ti/k3-am6528-iot2050-basic", "ti/k3-am6548-iot2050-advanced";
Jan Kiszkab2d24f92023-07-27 06:34:54 +0200209
210 configurations {
Jan Kiszka3fedadf2024-10-22 08:04:26 +0200211 default = "ti/k3-am6528-iot2050-basic";
Jan Kiszkab2d24f92023-07-27 06:34:54 +0200212 @config-SEQ {
213 loadables =
214#ifdef CONFIG_WDT_K3_RTI_FW_FILE
215 "k3-rti-wdt-firmware",
216#endif
217 <>;
218 };
219 };
220 };
221 };
222
223 flash-pg2 {
224 filename = "flash-pg2.bin";
225 insert-template = <&common_part>;
226
227 blob-ext@0 {
228 filename = "seboot_pg2.bin";
229 };
230
231 fit@380000 {
Baocheng Su0b064eb2024-10-22 08:04:27 +0200232 fit,fdt-list-val = "ti/k3-am6528-iot2050-basic-pg2",
233 "ti/k3-am6548-iot2050-advanced-pg2",
234 "ti/k3-am6548-iot2050-advanced-m2",
235 "ti/k3-am6548-iot2050-advanced-sm";
Jan Kiszkab2d24f92023-07-27 06:34:54 +0200236
237 images {
238 bkey-usb3-overlay {
239 description = "M.2-bkey-usb3-overlay";
240 type = "blob";
241 load = <0x82100000>;
242 arch = "arm64";
243 compression = "none";
244 blob-ext {
Jan Kiszka3fedadf2024-10-22 08:04:26 +0200245 filename = "ti/k3-am6548-iot2050-advanced-m2-bkey-usb3.dtbo";
Jan Kiszkab2d24f92023-07-27 06:34:54 +0200246 };
247 hash {
248 algo = "sha256";
249 };
250 };
251
252 bkey-ekey-pcie-overlay {
253 description = "M.2-bkey-ekey-pcie-overlay";
254 type = "blob";
255 load = <0x82110000>;
256 arch = "arm64";
257 compression = "none";
258 blob-ext {
Jan Kiszka3fedadf2024-10-22 08:04:26 +0200259 filename = "ti/k3-am6548-iot2050-advanced-m2-bkey-ekey-pcie.dtbo";
Jan Kiszkab2d24f92023-07-27 06:34:54 +0200260 };
261 hash {
262 algo = "sha256";
263 };
264 };
265 };
266
267 configurations {
Jan Kiszka3fedadf2024-10-22 08:04:26 +0200268 default = "ti/k3-am6528-iot2050-basic-pg2";
Jan Kiszkab2d24f92023-07-27 06:34:54 +0200269 @config-SEQ {
270 loadables =
271#ifdef CONFIG_WDT_K3_RTI_FW_FILE
272 "k3-rti-wdt-firmware",
Jan Kiszkaaebb5b92023-02-28 19:19:18 +0100273#endif
Jan Kiszkab2d24f92023-07-27 06:34:54 +0200274 "bkey-usb3-overlay",
275 "bkey-ekey-pcie-overlay";
276 };
277 };
278 };
Jan Kiszka4a88eb22021-09-18 08:17:52 +0200279 };
280};