blob: 5228eed19bf58cd556d5025102808a7d0912a711 [file] [log] [blame]
Wadim Egorov36e26d12024-02-28 09:42:16 +01001// SPDX-License-Identifier: GPL-2.0
2/*
3 * Based on k3-am64x-binman.dtsi
4 *
5 * Copyright (C) 2022 - 2024 PHYTEC Messtechnik GmbH
6 * Author: Wadim Egorov <w.egorov@phytec.de>
7 */
8
9#include "k3-binman.dtsi"
10
11#ifdef CONFIG_TARGET_PHYCORE_AM64X_R5
12&binman {
13 tiboot3-am64x_sr2-hs-phycore-som.bin {
14 filename = "tiboot3-am64x_sr2-hs-phycore-som.bin";
15 ti-secure-rom {
16 content = <&u_boot_spl>, <&ti_sci_enc>,
17 <&combined_sysfw_cfg>, <&sysfw_inner_cert>;
18 combined;
19 sysfw-inner-cert;
20 keyfile = "custMpk.pem";
21 sw-rev = <1>;
22 content-sbl = <&u_boot_spl>;
23 content-sysfw = <&ti_sci_enc>;
24 content-sysfw-data = <&combined_sysfw_cfg>;
25 content-sysfw-inner-cert = <&sysfw_inner_cert>;
26 load = <0x70000000>;
27 load-sysfw = <0x44000>;
28 load-sysfw-data = <0x7b000>;
29 };
30 u_boot_spl: u-boot-spl {
31 no-expanded;
32 };
33 ti_sci_enc: ti-fs-enc.bin {
34 filename = "ti-sysfw/ti-sci-firmware-am64x_sr2-hs-enc.bin";
35 type = "blob-ext";
36 optional;
37 };
38 combined_sysfw_cfg: combined-sysfw-cfg.bin {
39 filename = "combined-sysfw-cfg.bin";
40 type = "blob-ext";
41 };
42 sysfw_inner_cert: sysfw-inner-cert {
43 filename = "ti-sysfw/ti-sci-firmware-am64x_sr2-hs-cert.bin";
44 type = "blob-ext";
45 optional;
46 };
47
48 };
49};
50
51&binman {
52 tiboot3-am64x_sr2-hs-fs-phycore-som.bin {
53 filename = "tiboot3-am64x_sr2-hs-fs-phycore-som.bin";
54 symlink = "tiboot3.bin";
55 ti-secure-rom {
56 content = <&u_boot_spl_fs>, <&ti_sci_enc_fs>,
57 <&combined_sysfw_cfg_fs>, <&sysfw_inner_cert_fs>;
58 combined;
59 sysfw-inner-cert;
60 keyfile = "custMpk.pem";
61 sw-rev = <1>;
62 content-sbl = <&u_boot_spl_fs>;
63 content-sysfw = <&ti_sci_enc_fs>;
64 content-sysfw-data = <&combined_sysfw_cfg_fs>;
65 content-sysfw-inner-cert = <&sysfw_inner_cert_fs>;
66 load = <0x70000000>;
67 load-sysfw = <0x44000>;
68 load-sysfw-data = <0x7b000>;
69 };
70 u_boot_spl_fs: u-boot-spl {
71 no-expanded;
72 };
73 ti_sci_enc_fs: ti-fs-enc.bin {
74 filename = "ti-sysfw/ti-sci-firmware-am64x_sr2-hs-fs-enc.bin";
75 type = "blob-ext";
76 optional;
77 };
78 combined_sysfw_cfg_fs: combined-sysfw-cfg.bin {
79 filename = "combined-sysfw-cfg.bin";
80 type = "blob-ext";
81 };
82 sysfw_inner_cert_fs: sysfw-inner-cert {
83 filename = "ti-sysfw/ti-sci-firmware-am64x_sr2-hs-fs-cert.bin";
84 type = "blob-ext";
85 optional;
86 };
87
88 };
89};
90
91&binman {
92 tiboot3-am64x-gp-phycore-som.bin {
93 filename = "tiboot3-am64x-gp-phycore-som.bin";
94 ti-secure-rom {
95 content = <&u_boot_spl_unsigned>, <&ti_sci_gp>, <&combined_sysfw_cfg_gp>;
96 combined;
97 content-sbl = <&u_boot_spl_unsigned>;
98 load = <0x70000000>;
99 content-sysfw = <&ti_sci_gp>;
100 load-sysfw = <0x44000>;
101 content-sysfw-data = <&combined_sysfw_cfg_gp>;
102 load-sysfw-data = <0x7b000>;
103 sw-rev = <1>;
104 keyfile = "ti-degenerate-key.pem";
105 };
106 u_boot_spl_unsigned: u-boot-spl {
107 no-expanded;
108 };
109 ti_sci_gp: ti-sci-gp.bin {
110 filename = "ti-sysfw/ti-sci-firmware-am64x-gp.bin";
111 type = "blob-ext";
112 optional;
113 };
114 combined_sysfw_cfg_gp: combined-sysfw-cfg-gp.bin {
115 filename = "combined-sysfw-cfg.bin";
116 type = "blob-ext";
117 };
118 };
119};
120
Wadim Egorov180ef0e2024-11-27 13:17:34 +0100121#include "k3-binman-capsule-r5.dtsi"
122
123&capsule_tiboot3 {
124 efi-capsule {
125 /*
126 * The GUID is generated dynamically by taking a namespace UUID and hashing
127 * it with the board compatible and fw_image name:
128 * mkeficapsule guidgen k3-am642-r5-phycore-som-2gb.dtb PHYCORE_AM64X_TIBOOT3
129 */
130 image-guid = "B0A6B4FA-5DF0-5CD1-90EC-B60BDE798486";
131 };
132};
133
Wadim Egorov36e26d12024-02-28 09:42:16 +0100134#endif
135
136#ifdef CONFIG_TARGET_PHYCORE_AM64X_A53
Wadim Egorov48971832024-04-19 08:51:16 +0200137#define SPL_AM642_PHYBOARD_ELECTRA_DTB "spl/dts/ti/k3-am642-phyboard-electra-rdk.dtb"
Wadim Egorov36e26d12024-02-28 09:42:16 +0100138#define AM642_PHYBOARD_ELECTRA_DTB "u-boot.dtb"
139
140&binman {
141 ti-spl {
142 insert-template = <&ti_spl_template>;
143
144 fit {
145 description = "Configuration to load ATF and SPL";
146 #address-cells = <1>;
147
148 images {
149 dm {
150 blob-ext {
151 filename = "/dev/null";
152 };
153 };
154
155 fdt-0 {
156 description = "k3-am642-phyboard-electra-rdk";
157 type = "flat_dt";
158 arch = "arm";
159 compression = "none";
160 ti-secure {
161 content = <&spl_am642_phyboard_electra_dtb>;
162 keyfile = "custMpk.pem";
163 };
164 spl_am642_phyboard_electra_dtb: blob-ext {
165 filename = SPL_AM642_PHYBOARD_ELECTRA_DTB;
166 };
167
168 };
169 };
170
171 configurations {
172 default = "conf-0";
173
174 conf-0 {
175 description = "k3-am642-phyboard-electra-rdk";
176 firmware = "atf";
177 loadables = "tee", "dm", "spl";
178 fdt = "fdt-0";
179 };
180 };
181 };
182 };
183};
184
185&binman {
186 u-boot {
187 insert-template = <&u_boot_template>;
188
189 fit {
190 images {
191 uboot {
192 description = "U-Boot for AM64 board";
193 };
194
195 fdt-0 {
196 description = "k3-am642-phyboard-electra-rdk";
197 type = "flat_dt";
198 arch = "arm";
199 compression = "none";
200 ti-secure {
201 content = <&am642_phyboard_electra_dtb>;
202 keyfile = "custMpk.pem";
203 };
204 am642_phyboard_electra_dtb: blob-ext {
205 filename = AM642_PHYBOARD_ELECTRA_DTB;
206 };
207 hash {
208 algo = "crc32";
209 };
210 };
211 };
212
213 configurations {
214 default = "conf-0";
215
216 conf-0 {
217 description = "k3-am642-phyboard-electra-rdk";
218 firmware = "uboot";
219 loadables = "uboot";
220 fdt = "fdt-0";
221 };
222 };
223 };
224 };
225};
226
227&binman {
228 ti-spl_unsigned {
229 insert-template = <&ti_spl_unsigned_template>;
230
231 fit {
232 images {
233 dm {
234 blob-ext {
235 filename = "/dev/null";
236 };
237 };
238
239 fdt-0 {
240 description = "k3-am642-phyboard-electra-rdk";
241 type = "flat_dt";
242 arch = "arm";
243 compression = "none";
244 blob {
245 filename = SPL_AM642_PHYBOARD_ELECTRA_DTB;
246 };
247 };
248 };
249
250 configurations {
251 default = "conf-0";
252
253 conf-0 {
254 description = "k3-am642-phyboard-electra-rdk";
255 firmware = "atf";
256 loadables = "tee", "dm", "spl";
257 fdt = "fdt-0";
258 };
259 };
260 };
261 };
262};
263
264&binman {
265 u-boot_unsigned {
266 insert-template = <&u_boot_unsigned_template>;
267
268 fit {
269 images {
270 uboot {
271 description = "U-Boot for AM64 board";
272 };
273
274 fdt-0 {
275 description = "k3-am642-phyboard-electra-rdk";
276 type = "flat_dt";
277 arch = "arm";
278 compression = "none";
279 blob {
280 filename = AM642_PHYBOARD_ELECTRA_DTB;
281 };
282 hash {
283 algo = "crc32";
284 };
285 };
286 };
287
288 configurations {
289 default = "conf-0";
290
291 conf-0 {
292 description = "k3-am642-phyboard-electra-rdk";
293 firmware = "uboot";
294 loadables = "uboot";
295 fdt = "fdt-0";
296 };
297 };
298 };
299 };
300};
301#endif
302
303#ifdef CONFIG_TARGET_PHYCORE_AM64X_A53
304
Wadim Egorov36e26d12024-02-28 09:42:16 +0100305&binman {
306 ti-spl {
307 insert-template = <&ti_spl_template>;
308
309 fit {
310 description = "Configuration to load ATF and SPL";
311 #address-cells = <1>;
312
313 images {
314 dm {
315 blob-ext {
316 filename = "/dev/null";
317 };
318 };
319
320 fdt-0 {
321 description = "k3-am642-phyboard-electra-rdk";
322 type = "flat_dt";
323 arch = "arm";
324 compression = "none";
325 ti-secure {
326 content = <&spl_am642_phyboard_electra_dtb>;
327 keyfile = "custMpk.pem";
328 };
329 spl_am642_phyboard_electra_dtb: blob-ext {
330 filename = SPL_AM642_PHYBOARD_ELECTRA_DTB;
331 };
332
333 };
334 };
335
336 configurations {
337 default = "conf-0";
338
339 conf-0 {
340 description = "k3-am642-phyboard-electra-rdk";
341 firmware = "atf";
342 loadables = "tee", "dm", "spl";
343 fdt = "fdt-0";
344 };
345 };
346 };
347 };
348};
349
350&binman {
351 u-boot {
352 insert-template = <&u_boot_template>;
353
354 fit {
355 images {
356 uboot {
357 description = "U-Boot for AM64 board";
358 };
359
Wadim Egorov6310ae92024-10-30 17:48:14 +0100360 som-no-rtc {
361 description = "k3-am6xx-phycore-disable-rtc";
362 type = "flat_dt";
363 compression = "none";
364 load = <0x8F000000>;
365 arch = "arm";
Daniel Schultz64e056e2025-02-10 22:42:05 -0800366 ti-secure {
367 content = <&am6xx_phycore_disable_rtc_dtbo>;
368 keyfile = "custMpk.pem";
369 };
370 am6xx_phycore_disable_rtc_dtbo: blob-ext {
Wadim Egorov6310ae92024-10-30 17:48:14 +0100371 filename = "dts/upstream/src/arm64/ti/k3-am6xx-phycore-disable-rtc.dtbo";
372 };
373 };
374
375 som-no-spi {
376 description = "k3-am6xx-phycore-disable-spi-nor";
377 type = "flat_dt";
378 compression = "none";
379 load = <0x8F001000>;
380 arch = "arm";
Daniel Schultz64e056e2025-02-10 22:42:05 -0800381 ti-secure {
382 content = <&am6xx_phycore_disable_spi_not_dtbo>;
383 keyfile = "custMpk.pem";
384 };
385 am6xx_phycore_disable_spi_not_dtbo: blob-ext {
Wadim Egorov6310ae92024-10-30 17:48:14 +0100386 filename = "dts/upstream/src/arm64/ti/k3-am6xx-phycore-disable-spi-nor.dtbo";
387 };
388 };
389
390 som-no-eth {
391 description = "k3-am6xx-phycore-disable-eth-phy";
392 type = "flat_dt";
393 compression = "none";
394 load = <0x8F002000>;
395 arch = "arm";
Daniel Schultz64e056e2025-02-10 22:42:05 -0800396 ti-secure {
397 content = <&am6xx_phycore_disable_eth_phy_dtbo>;
398 keyfile = "custMpk.pem";
399 };
400 am6xx_phycore_disable_eth_phy_dtbo: blob-ext {
Wadim Egorov6310ae92024-10-30 17:48:14 +0100401 filename = "dts/upstream/src/arm64/ti/k3-am6xx-phycore-disable-eth-phy.dtbo";
402 };
403 };
404
405 som-qspi {
406 description = "k3-am6xx-phycore-qspi-nor";
407 type = "flat_dt";
408 compression = "none";
409 load = <0x8F003000>;
410 arch = "arm";
Daniel Schultz64e056e2025-02-10 22:42:05 -0800411 ti-secure {
412 content = <&am6xx_phycore_disable_qspi_nor_dtbo>;
413 keyfile = "custMpk.pem";
414 };
415 am6xx_phycore_disable_qspi_nor_dtbo: blob-ext {
Wadim Egorov6310ae92024-10-30 17:48:14 +0100416 filename = "dts/upstream/src/arm64/ti/k3-am6xx-phycore-qspi-nor.dtbo";
417 };
418 };
419
Wadim Egorov36e26d12024-02-28 09:42:16 +0100420 fdt-0 {
421 description = "k3-am642-phyboard-electra-rdk";
422 type = "flat_dt";
423 arch = "arm";
424 compression = "none";
425 ti-secure {
426 content = <&am642_phyboard_electra_dtb>;
427 keyfile = "custMpk.pem";
428 };
429 am642_phyboard_electra_dtb: blob-ext {
430 filename = AM642_PHYBOARD_ELECTRA_DTB;
431 };
432 hash {
433 algo = "crc32";
434 };
435 };
436 };
437
438 configurations {
439 default = "conf-0";
440
441 conf-0 {
442 description = "k3-am642-phyboard-electra-rdk";
443 firmware = "uboot";
Wadim Egorov6310ae92024-10-30 17:48:14 +0100444 loadables = "uboot",
445 "som-no-rtc",
446 "som-no-spi",
447 "som-no-eth",
448 "som-qspi";
Wadim Egorov36e26d12024-02-28 09:42:16 +0100449 fdt = "fdt-0";
450 };
451 };
452 };
453 };
454};
455
456&binman {
457 ti-spl_unsigned {
458 insert-template = <&ti_spl_unsigned_template>;
459
460 fit {
461 images {
462 dm {
463 blob-ext {
464 filename = "/dev/null";
465 };
466 };
467
468 fdt-0 {
469 description = "k3-am642-phyboard-electra-rdk";
470 type = "flat_dt";
471 arch = "arm";
472 compression = "none";
473 blob {
474 filename = SPL_AM642_PHYBOARD_ELECTRA_DTB;
475 };
476 };
477 };
478
479 configurations {
480 default = "conf-0";
481
482 conf-0 {
483 description = "k3-am642-phyboard-electra-rdk";
484 firmware = "atf";
485 loadables = "tee", "dm", "spl";
486 fdt = "fdt-0";
487 };
488 };
489 };
490 };
491};
492
493&binman {
494 u-boot_unsigned {
495 insert-template = <&u_boot_unsigned_template>;
496
497 fit {
498 images {
499 uboot {
500 description = "U-Boot for AM64 board";
501 };
502
503 fdt-0 {
504 description = "k3-am642-phyboard-electra-rdk";
505 type = "flat_dt";
506 arch = "arm";
507 compression = "none";
508 blob {
509 filename = AM642_PHYBOARD_ELECTRA_DTB;
510 };
511 hash {
512 algo = "crc32";
513 };
514 };
515 };
516
517 configurations {
518 default = "conf-0";
519
520 conf-0 {
521 description = "k3-am642-phyboard-electra-rdk";
522 firmware = "uboot";
523 loadables = "uboot";
524 fdt = "fdt-0";
525 };
526 };
527 };
528 };
529};
Wadim Egorov180ef0e2024-11-27 13:17:34 +0100530
531#include "k3-binman-capsule.dtsi"
532
533&capsule_tispl {
534 efi-capsule {
535 /*
536 * The GUID is generated dynamically by taking a namespace UUID and hashing
537 * it with the board compatible and fw_image name:
538 * mkeficapsule guidgen k3-am642-phyboard-electra-rdk.dtb PHYCORE_AM64X_SPL
539 */
540 image-guid = "D0F34382-C2C4-509C-A1D4-BC1CB1B992A8";
541 };
542};
543
544&capsule_uboot {
545 efi-capsule {
546 /*
547 * The GUID is generated dynamically by taking a namespace UUID and hashing
548 * it with the board compatible and fw_image name:
549 * mkeficapsule guidgen k3-am642-phyboard-electra-rdk.dtb PHYCORE_AM64X_UBOOT
550 */
551 image-guid = "0BB40539-DB41-5407-B4D4-EAD057FE10F4";
552 };
553};
554
Wadim Egorov36e26d12024-02-28 09:42:16 +0100555#endif /* CONFIG_TARGET_PHYCORE_AM64X_A53 */