blob: 7b426729eb81d4a4d29d3bc70fcc2eca6addd5f8 [file] [log] [blame]
Neha Malcom Francis20a90042023-07-22 00:14:28 +05301// SPDX-License-Identifier: GPL-2.0
2/*
Tom Rinidec7ea02024-05-20 13:35:03 -06003 * Copyright (C) 2022-2024 Texas Instruments Incorporated - https://www.ti.com/
Neha Malcom Francis20a90042023-07-22 00:14:28 +05304 */
5
6#include "k3-binman.dtsi"
7
8#ifdef CONFIG_TARGET_J721E_R5_EVM
9
10&binman {
11 tiboot3-j721e_sr1_1-hs-evm.bin {
12 filename = "tiboot3-j721e_sr1_1-hs-evm.bin";
13 ti-secure-rom {
14 content = <&u_boot_spl>;
15 core = "public";
16 load = <CONFIG_SPL_TEXT_BASE>;
17 keyfile = "custMpk.pem";
18 };
19 u_boot_spl: u-boot-spl {
20 no-expanded;
21 };
22 };
Neha Malcom Francis20b15972023-12-20 17:04:33 +053023
24 tiboot3-j721e_sr2-hs-evm.bin {
25 filename = "tiboot3-j721e_sr2-hs-evm.bin";
26 ti-secure-rom {
27 content = <&u_boot_spl_sr2>;
28 core = "public";
29 load = <CONFIG_SPL_TEXT_BASE>;
30 keyfile = "custMpk.pem";
31 };
32 u_boot_spl_sr2: u-boot-spl {
33 no-expanded;
34 };
35 };
36
Neha Malcom Francis20a90042023-07-22 00:14:28 +053037 sysfw {
38 filename = "sysfw.bin";
39 ti-secure-rom {
40 content = <&ti_fs_cert>;
41 core = "secure";
42 load = <0x40000>;
43 keyfile = "custMpk.pem";
44 countersign;
45 };
46 ti_fs_cert: ti-fs-cert.bin {
47 filename = "ti-sysfw/ti-fs-firmware-j721e_sr1_1-hs-cert.bin";
48 type = "blob-ext";
49 optional;
50 };
51 ti-fs-firmware-j721e_sr1_1-hs-enc.bin {
52 filename = "ti-sysfw/ti-fs-firmware-j721e_sr1_1-hs-enc.bin";
53 type = "blob-ext";
54 optional;
55 };
56 };
Neha Malcom Francis20b15972023-12-20 17:04:33 +053057
58 sysfw_sr2 {
59 filename = "sysfw.bin_sr2";
60 ti-secure-rom {
61 content = <&ti_fs_cert_sr2>;
62 core = "secure";
63 load = <0x40000>;
64 keyfile = "custMpk.pem";
65 countersign;
66 };
67 ti_fs_cert_sr2: ti-fs-cert.bin {
68 filename = "ti-sysfw/ti-fs-firmware-j721e_sr2-hs-cert.bin";
69 type = "blob-ext";
70 optional;
71 };
72 ti-fs-firmware-j721e_sr2-hs-enc.bin {
73 filename = "ti-sysfw/ti-fs-firmware-j721e_sr2-hs-enc.bin";
74 type = "blob-ext";
75 optional;
76 };
77 };
78
Neha Malcom Francis20a90042023-07-22 00:14:28 +053079 itb {
80 filename = "sysfw-j721e_sr1_1-hs-evm.itb";
Neha Malcom Francis806b6f82023-11-15 15:40:24 +053081 insert-template = <&itb_template>;
Neha Malcom Francis20a90042023-07-22 00:14:28 +053082 };
Neha Malcom Francis20b15972023-12-20 17:04:33 +053083
84 itb_sr2 {
85 filename = "sysfw-j721e_sr2-hs-evm.itb";
86 insert-template = <&itb_template>;
87 fit {
88 images {
89 sysfw.bin {
90 blob-ext {
91 filename = "sysfw.bin_sr2";
92 };
93 };
94 board-cfg.bin {
95 ti-secure {
96 content = <&board_cfg_sr2>;
97 };
98 board_cfg_sr2: board-cfg {
99 filename = "board-cfg.bin";
100 };
101 };
102 pm-cfg.bin {
103 ti-secure {
104 content = <&pm_cfg_sr2>;
105 };
106 pm_cfg_sr2: pm-cfg {
107 filename = "pm-cfg.bin";
108 };
109 };
110 rm-cfg.bin {
111 ti-secure {
112 content = <&rm_cfg_sr2>;
113 };
114 rm_cfg_sr2: rm-cfg {
115 filename = "rm-cfg.bin";
116 };
117 };
118 sec-cfg.bin {
119 ti-secure {
120 content = <&sec_cfg_sr2>;
121 };
122 sec_cfg_sr2: sec-cfg {
123 filename = "sec-cfg.bin";
124 };
125 };
126
127 };
128 };
129 };
Neha Malcom Francis20a90042023-07-22 00:14:28 +0530130};
131
132&binman {
Tom Rinidec7ea02024-05-20 13:35:03 -0600133 tiboot3-j721e_sr1_1-hs-fs-evm.bin {
134 filename = "tiboot3-j721e_sr1_1-hs-fs-evm.bin";
135 ti-secure-rom {
136 content = <&u_boot_spl_fs_sr1_1>;
137 core = "public";
138 core-opts = <2>;
139 load = <CONFIG_SPL_TEXT_BASE>;
140 keyfile = "custMpk.pem";
141 };
142 u_boot_spl_fs_sr1_1: u-boot-spl {
143 no-expanded;
144 };
145 };
146 sysfw_fs_sr1_1 {
147 filename = "sysfw.bin_fs_sr1_1";
148 ti-fs-cert-fs.bin {
149 filename = "ti-sysfw/ti-fs-firmware-j721e_sr1_1-hs-fs-cert.bin";
150 type = "blob-ext";
151 optional;
152 };
153 ti-fs-firmware-j721e-hs-fs-enc.bin {
154 filename = "ti-sysfw/ti-fs-firmware-j721e_sr1_1-hs-fs-enc.bin";
155 type = "blob-ext";
156 optional;
157 };
158 };
159 itb_fs_sr1_1 {
160 filename = "sysfw-j721e_sr1_1-hs-fs-evm.itb";
161 fit {
162 description = "SYSFW and Config fragments";
163 #address-cells = <1>;
164 images {
165 sysfw.bin {
166 description = "sysfw";
167 type = "firmware";
168 arch = "arm";
169 compression = "none";
170 blob-ext {
171 filename = "sysfw.bin_fs_sr1_1";
172 };
173 };
174 board-cfg.bin {
175 description = "board-cfg";
176 type = "firmware";
177 arch = "arm";
178 compression = "none";
179 board-cfg {
180 filename = "board-cfg.bin";
181 type = "blob-ext";
182 };
183
184 };
185 pm-cfg.bin {
186 description = "pm-cfg";
187 type = "firmware";
188 arch = "arm";
189 compression = "none";
190 pm-cfg {
191 filename = "pm-cfg.bin";
192 type = "blob-ext";
193 };
194 };
195 rm-cfg.bin {
196 description = "rm-cfg";
197 type = "firmware";
198 arch = "arm";
199 compression = "none";
200 rm-cfg {
201 filename = "rm-cfg.bin";
202 type = "blob-ext";
203 };
204 };
205 sec-cfg.bin {
206 description = "sec-cfg";
207 type = "firmware";
208 arch = "arm";
209 compression = "none";
210 sec-cfg {
211 filename = "sec-cfg.bin";
212 type = "blob-ext";
213 };
214 };
215 };
216 };
217 };
218};
219
220&binman {
Neha Malcom Francis20a90042023-07-22 00:14:28 +0530221 tiboot3-j721e_sr2-hs-fs-evm.bin {
222 filename = "tiboot3-j721e_sr2-hs-fs-evm.bin";
223 ti-secure-rom {
224 content = <&u_boot_spl_fs>;
225 core = "public";
226 load = <CONFIG_SPL_TEXT_BASE>;
227 keyfile = "custMpk.pem";
228 };
229 u_boot_spl_fs: u-boot-spl {
230 no-expanded;
231 };
232 };
233 sysfw_fs {
234 filename = "sysfw.bin_fs";
235 ti-fs-cert-fs.bin {
236 filename = "ti-sysfw/ti-fs-firmware-j721e_sr2-hs-fs-cert.bin";
237 type = "blob-ext";
238 optional;
239 };
240 ti-fs-firmware-j721e-hs-fs-enc.bin {
241 filename = "ti-sysfw/ti-fs-firmware-j721e_sr2-hs-fs-enc.bin";
242 type = "blob-ext";
243 optional;
244 };
245 };
246 itb_fs {
247 filename = "sysfw-j721e_sr2-hs-fs-evm.itb";
Neha Malcom Francis806b6f82023-11-15 15:40:24 +0530248 insert-template = <&itb_unsigned_template>;
Neha Malcom Francis20a90042023-07-22 00:14:28 +0530249 };
250};
251
252&binman {
253 tiboot3-j721e-gp-evm.bin {
254 filename = "tiboot3-j721e-gp-evm.bin";
255 symlink = "tiboot3.bin";
256 ti-secure-rom {
257 content = <&u_boot_spl_unsigned>;
258 core = "public";
259 load = <CONFIG_SPL_TEXT_BASE>;
260 sw-rev = <CONFIG_K3_X509_SWRV>;
261 keyfile = "ti-degenerate-key.pem";
262 };
263 u_boot_spl_unsigned: u-boot-spl {
264 no-expanded;
265 };
266 };
267 sysfw_gp {
268 filename = "sysfw.bin_gp";
269 ti-secure-rom {
270 content = <&ti_fs>;
271 core = "secure";
272 load = <0x40000>;
273 sw-rev = <CONFIG_K3_X509_SWRV>;
274 keyfile = "ti-degenerate-key.pem";
275 };
276 ti_fs: ti-fs.bin {
277 filename = "ti-sysfw/ti-fs-firmware-j721e-gp.bin";
278 type = "blob-ext";
279 optional;
280 };
281 };
282 itb_gp {
283 filename = "sysfw-j721e-gp-evm.itb";
284 symlink = "sysfw.itb";
Neha Malcom Francis806b6f82023-11-15 15:40:24 +0530285 insert-template = <&itb_unsigned_template>;
286
Neha Malcom Francis20a90042023-07-22 00:14:28 +0530287 fit {
Neha Malcom Francis20a90042023-07-22 00:14:28 +0530288 images {
289 sysfw.bin {
Neha Malcom Francis20a90042023-07-22 00:14:28 +0530290 blob-ext {
291 filename = "sysfw.bin_gp";
292 };
293 };
Neha Malcom Francis20a90042023-07-22 00:14:28 +0530294 };
295 };
296 };
297};
Jonathan Humphreys324cb4d2024-05-31 17:51:05 -0500298
299#include "k3-binman-capsule-r5.dtsi"
300
301// Capsule update GUIDs in string form. See j721e_evm.h
302#define J721E_SK_TIBOOT3_IMAGE_GUID_STR "e672b518-7cd7-4014-bd8d-40724d0ad4dc"
303#define J721E_SK_SYSFW_IMAGE_GUID_STR "6fd10680-361b-431f-80aa-899455819e11"
304
305&capsule_tiboot3 {
306 efi-capsule {
307 image-guid = J721E_SK_TIBOOT3_IMAGE_GUID_STR;
308 };
309};
310
311&binman {
312 capsule-sysfw {
313 filename = "sysfw-capsule.bin";
314 efi-capsule {
315 image-index = <0x4>;
316 image-guid = J721E_SK_SYSFW_IMAGE_GUID_STR;
317 private-key = "arch/arm/mach-k3/keys/custMpk.pem";
318 public-key-cert = "arch/arm/mach-k3/keys/custMpk.crt";
319 monotonic-count = <0x1>;
320
321 blob {
322 filename = "sysfw.itb";
323 };
324 };
325 };
326};
327
Neha Malcom Francis20a90042023-07-22 00:14:28 +0530328#endif
329
330#ifdef CONFIG_TARGET_J721E_A72_EVM
331
Neha Malcom Francis20a90042023-07-22 00:14:28 +0530332#define SPL_J721E_EVM_DTB "spl/dts/k3-j721e-common-proc-board.dtb"
333#define SPL_J721E_SK_DTB "spl/dts/k3-j721e-sk.dtb"
334
Manorit Chawdhry64ebddb2023-07-14 11:22:38 +0530335#define J721E_EVM_DTB "u-boot.dtb"
Neha Malcom Francis20a90042023-07-22 00:14:28 +0530336#define J721E_SK_DTB "arch/arm/dts/k3-j721e-sk.dtb"
337
338&binman {
339 ti-dm {
340 filename = "ti-dm.bin";
341 blob-ext {
342 filename = "ti-dm/j721e/ipc_echo_testb_mcu1_0_release_strip.xer5f";
343 };
344 };
345 ti-spl {
Neha Malcom Francis806b6f82023-11-15 15:40:24 +0530346 insert-template = <&ti_spl_template>;
Neha Malcom Francis20a90042023-07-22 00:14:28 +0530347
348 fit {
Neha Malcom Francis20a90042023-07-22 00:14:28 +0530349 images {
Manorit Chawdhry5fa5cd42023-12-29 16:16:29 +0530350 atf {
351 ti-secure {
352 auth-in-place = <0xa02>;
353
354 firewall-257-0 {
355 /* cpu_0_cpu_0_msmc Background Firewall */
356 insert-template = <&firewall_bg_1>;
357 id = <257>;
358 region = <0>;
359 };
360
361 firewall-257-1 {
362 /* cpu_0_cpu_0_msmc Foreground Firewall */
363 insert-template = <&firewall_armv8_atf_fg>;
364 id = <257>;
365 region = <1>;
366 };
367
368 firewall-284-0 {
369 /* dru_0_msmc Background Firewall */
370 insert-template = <&firewall_bg_3>;
371 id = <284>;
372 region = <0>;
373 };
374
375 firewall-284-1 {
376 /* dru_0_msmc Foreground Firewall */
377 insert-template = <&firewall_armv8_atf_fg>;
378 id = <284>;
379 region = <1>;
380 };
381
382 /* firewall-4760-0 {
383 * nb_slv0__mem0 Background Firewall
384 * Already configured by the secure entity
385 * };
386 */
387
388 firewall-4760-1 {
389 /* nb_slv0__mem0 Foreground Firewall */
390 insert-template = <&firewall_armv8_atf_fg>;
391 id = <4760>;
392 region = <1>;
393 };
394
395 /* firewall-4761-0 {
396 * nb_slv1__mem0 Background Firewall
397 * Already configured by the secure entity
398 * };
399 */
400
401 firewall-4761-1 {
402 /* nb_slv1__mem0 Foreground Firewall */
403 insert-template = <&firewall_armv8_atf_fg>;
404 id = <4761>;
405 region = <1>;
406 };
407
408 };
409 };
410
411 tee {
412 ti-secure {
413 auth-in-place = <0xa02>;
414
415 /* cpu_0_cpu_0_msmc region 0 and 1 configured
416 * during ATF Firewalling
417 */
418
419 firewall-257-2 {
420 /* cpu_0_cpu_0_msmc Foreground Firewall */
421 insert-template = <&firewall_armv8_optee_fg>;
422 id = <257>;
423 region = <2>;
424 };
425
426 /* dru_0_msmc region 0 and 1 configured
427 * during ATF Firewalling
428 */
429
430 firewall-284-2 {
431 /* dru_0_msmc Foreground Firewall */
432 insert-template = <&firewall_armv8_optee_fg>;
433 id = <284>;
434 region = <2>;
435 };
436
437 firewall-4762-0 {
438 /* nb_slv2__mem0 Background Firewall */
439 insert-template = <&firewall_bg_3>;
440 id = <4762>;
441 region = <0>;
442 };
443
444 firewall-4762-1 {
445 /* nb_slv2__mem0 Foreground Firewall */
446 insert-template = <&firewall_armv8_optee_fg>;
447 id = <4762>;
448 region = <1>;
449 };
450
451 firewall-4763-0 {
452 /* nb_slv3__mem0 Background Firewall */
453 insert-template = <&firewall_bg_3>;
454 id = <4763>;
455 region = <0>;
456 };
457
458 firewall-4763-1 {
459 /* nb_slv3__mem0 Foreground Firewall */
460 insert-template = <&firewall_armv8_optee_fg>;
461 id = <4763>;
462 region = <1>;
463 };
464 };
465 };
Neha Malcom Francis20a90042023-07-22 00:14:28 +0530466 dm {
Neha Malcom Francis20a90042023-07-22 00:14:28 +0530467 ti-secure {
468 content = <&dm>;
469 keyfile = "custMpk.pem";
470 };
Neha Malcom Francis82378212023-12-05 15:12:19 +0530471 dm: ti-dm {
Neha Malcom Francis20a90042023-07-22 00:14:28 +0530472 filename = "ti-dm.bin";
473 };
474 };
475
Neha Malcom Francis20a90042023-07-22 00:14:28 +0530476 fdt-0 {
477 description = "k3-j721e-common-proc-board";
478 type = "flat_dt";
479 arch = "arm";
480 compression = "none";
481 ti-secure {
482 content = <&spl_j721e_evm_dtb>;
483 keyfile = "custMpk.pem";
484 };
485 spl_j721e_evm_dtb: blob-ext {
486 filename = SPL_J721E_EVM_DTB;
487 };
488 };
489
490 fdt-1 {
491 description = "k3-j721e-sk";
492 type = "flat_dt";
493 arch = "arm";
494 compression = "none";
495 ti-secure {
496 content = <&spl_j721e_sk_dtb>;
497 keyfile = "custMpk.pem";
498
499 };
500 spl_j721e_sk_dtb: blob-ext {
501 filename = SPL_J721E_SK_DTB;
502 };
503 };
504 };
505
506 configurations {
507 default = "conf-0";
508
509 conf-0 {
510 description = "k3-j721e-common-proc-board";
511 firmware = "atf";
512 loadables = "tee", "dm", "spl";
513 fdt = "fdt-0";
514 };
515
516 conf-1 {
517 description = "k3-j721e-sk";
518 firmware = "atf";
519 loadables = "tee", "dm", "spl";
520 fdt = "fdt-1";
521 };
522 };
523 };
524 };
525};
526
527&binman {
528 u-boot {
Neha Malcom Francis806b6f82023-11-15 15:40:24 +0530529 insert-template = <&u_boot_template>;
Neha Malcom Francis20a90042023-07-22 00:14:28 +0530530 fit {
Neha Malcom Francis20a90042023-07-22 00:14:28 +0530531
532 images {
533 uboot {
Neha Malcom Francis806b6f82023-11-15 15:40:24 +0530534 description = "U-Boot for J721E Board";
Neha Malcom Francis20a90042023-07-22 00:14:28 +0530535 };
536
537 fdt-0 {
538 description = "k3-j721e-common-proc-board";
539 type = "flat_dt";
540 arch = "arm";
541 compression = "none";
542 ti-secure {
543 content = <&j721e_evm_dtb>;
544 keyfile = "custMpk.pem";
545
546 };
547 j721e_evm_dtb: blob-ext {
548 filename = J721E_EVM_DTB;
549 };
550 hash {
551 algo = "crc32";
552 };
553 };
554
555 fdt-1 {
556 description = "k3-j721e-sk";
557 type = "flat_dt";
558 arch = "arm";
559 compression = "none";
560 ti-secure {
561 content = <&j721e_sk_dtb>;
562 keyfile = "custMpk.pem";
563
564 };
565 j721e_sk_dtb: blob-ext {
566 filename = J721E_SK_DTB;
567 };
568 hash {
569 algo = "crc32";
570 };
571 };
572 };
573
574 configurations {
575 default = "conf-0";
576
577 conf-0 {
578 description = "k3-j721e-common-proc-board";
579 firmware = "uboot";
580 loadables = "uboot";
581 fdt = "fdt-0";
582 };
583
584 conf-1 {
585 description = "k3-j721e-sk";
586 firmware = "uboot";
587 loadables = "uboot";
588 fdt = "fdt-1";
589 };
590 };
591 };
592 };
593};
594
595&binman {
596 ti-spl_unsigned {
Neha Malcom Francis806b6f82023-11-15 15:40:24 +0530597 insert-template = <&ti_spl_unsigned_template>;
Neha Malcom Francis20a90042023-07-22 00:14:28 +0530598
599 fit {
Neha Malcom Francis20a90042023-07-22 00:14:28 +0530600 images {
Neha Malcom Francis20a90042023-07-22 00:14:28 +0530601 dm {
Neha Malcom Francis82378212023-12-05 15:12:19 +0530602 ti-dm {
Neha Malcom Francis20a90042023-07-22 00:14:28 +0530603 filename = "ti-dm.bin";
604 };
605 };
606
Neha Malcom Francis20a90042023-07-22 00:14:28 +0530607 fdt-0 {
608 description = "k3-j721e-common-proc-board";
609 type = "flat_dt";
610 arch = "arm";
611 compression = "none";
612 blob {
613 filename = SPL_J721E_EVM_DTB;
614 };
615 };
616
617 fdt-1 {
618 description = "k3-j721e-sk";
619 type = "flat_dt";
620 arch = "arm";
621 compression = "none";
622 blob {
623 filename = SPL_J721E_SK_DTB;
624 };
625 };
626 };
627
628 configurations {
629 default = "conf-0";
630
631 conf-0 {
632 description = "k3-j721e-common-proc-board";
633 firmware = "atf";
634 loadables = "tee", "dm", "spl";
635 fdt = "fdt-0";
636 };
637
638 conf-1 {
639 description = "k3-j721e-sk";
640 firmware = "atf";
641 loadables = "tee", "dm", "spl";
642 fdt = "fdt-1";
643 };
644 };
645 };
646 };
647};
648
649&binman {
650 u-boot_unsigned {
Neha Malcom Francis806b6f82023-11-15 15:40:24 +0530651 insert-template = <&u_boot_unsigned_template>;
Neha Malcom Francis20a90042023-07-22 00:14:28 +0530652
653 fit {
Neha Malcom Francis20a90042023-07-22 00:14:28 +0530654 images {
655 uboot {
Neha Malcom Francis806b6f82023-11-15 15:40:24 +0530656 description = "U-Boot for J721E Board";
Neha Malcom Francis20a90042023-07-22 00:14:28 +0530657 };
658
659 fdt-0 {
660 description = "k3-j721e-common-proc-board";
661 type = "flat_dt";
662 arch = "arm";
663 compression = "none";
664 blob {
665 filename = J721E_EVM_DTB;
666 };
667 hash {
668 algo = "crc32";
669 };
670 };
671
672 fdt-1 {
673 description = "k3-j721e-sk";
674 type = "flat_dt";
675 arch = "arm";
676 compression = "none";
677 blob {
678 filename = J721E_SK_DTB;
679 };
680 hash {
681 algo = "crc32";
682 };
683 };
684 };
685
686 configurations {
687 default = "conf-0";
688
689 conf-0 {
690 description = "k3-j721e-common-proc-board";
691 firmware = "uboot";
692 loadables = "uboot";
693 fdt = "fdt-0";
694 };
695
696 conf-1 {
697 description = "k3-j721e-sk";
698 firmware = "uboot";
699 loadables = "uboot";
700 fdt = "fdt-1";
701 };
702 };
703 };
704 };
705};
Jonathan Humphreys324cb4d2024-05-31 17:51:05 -0500706
707#include "k3-binman-capsule.dtsi"
708
709// Capsule update GUIDs in string form. See j721e_evm.h
710#define J721E_SK_SPL_IMAGE_GUID_STR "86f710ad-10cf-46ea-ac67-856ae06efad2"
711#define J721E_SK_UBOOT_IMAGE_GUID_STR "81b58fb0-3b00-4add-a20a-c185bbaca1ed"
712
713&capsule_tispl {
714 efi-capsule {
715 image-guid = J721E_SK_SPL_IMAGE_GUID_STR;
716 };
717};
718
719&capsule_uboot {
720 efi-capsule {
721 image-guid = J721E_SK_UBOOT_IMAGE_GUID_STR;
722 };
723};
724
Neha Malcom Francis20a90042023-07-22 00:14:28 +0530725#endif