blob: 7bfa4eebb90ce53b174ff0cbd7fa05da3987d121 [file] [log] [blame]
Jan Kiszka4a88eb22021-09-18 08:17:52 +02001// SPDX-License-Identifier: GPL-2.0
2/*
Su Baocheng0dcd3372023-02-28 19:19:09 +01003 * Copyright (c) Siemens AG, 2020-2022
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/ {
13 binman {
14 filename = "flash.bin";
15 pad-byte = <0xff>;
16 size = <0x8c0000>;
Jan Kiszkacf422ca2023-02-28 19:19:15 +010017 allow-repack;
Jan Kiszka4a88eb22021-09-18 08:17:52 +020018
19 blob-ext@0x000000 {
20 offset = <0x000000>;
Su Baocheng0dcd3372023-02-28 19:19:09 +010021#ifdef CONFIG_TARGET_IOT2050_A53_PG1
22 filename = "seboot_pg1.bin";
23#else
24 filename = "seboot_pg2.bin";
25#endif
Ivan Mikhaylove1953e42021-12-09 16:10:53 +000026 missing-msg = "iot2050-seboot";
Jan Kiszka4a88eb22021-09-18 08:17:52 +020027 };
28
Neha Malcom Francis48183b02023-07-22 00:14:41 +053029 fit@0x180000 {
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>;
44 atf: atf-bl31 {
45 };
46 };
47
48 tee {
49 description = "OP-TEE";
50 type = "tee";
51 arch = "arm64";
52 compression = "none";
53 os = "tee";
54 load = <0x9e800000>;
55 entry = <0x9e800000>;
56 tee: tee-os {
57 };
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>;
81 u_boot_spl_nodtb: blob-ext {
82 filename = "spl/u-boot-spl-nodtb.bin";
83 };
84 };
85
86 fdt-0 {
87 description = "k3-am65-iot2050-spl.dtb";
88 type = "flat_dt";
89 arch = "arm";
90 compression = "none";
91 spl_am65x_evm_dtb: blob-ext {
92 filename = "spl/dts/k3-am65-iot2050-spl.dtb";
93 };
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 Kiszkaa59bc022023-02-28 19:19:11 +0100107 fit@0x380000 {
Jan Kiszka4a88eb22021-09-18 08:17:52 +0200108 description = "U-Boot for IOT2050";
Su Baocheng8999cc52023-02-28 19:19:10 +0100109 fit,fdt-list = "of-list";
Jan Kiszkaa59bc022023-02-28 19:19:11 +0100110 offset = <0x380000>;
Jan Kiszka4a88eb22021-09-18 08:17:52 +0200111 images {
112 u-boot {
113 description = "U-Boot";
114 type = "standalone";
115 arch = "arm64";
116 os = "u-boot";
117 compression = "none";
118 load = <0x80800000>;
119 entry = <0x80800000>;
120 u-boot-nodtb {
121 };
Jan Kiszkacf422ca2023-02-28 19:19:15 +0100122 hash {
123 algo = "sha256";
124 };
Jan Kiszka4a88eb22021-09-18 08:17:52 +0200125 };
126
Su Baocheng8999cc52023-02-28 19:19:10 +0100127 @fdt-SEQ {
128 description = "fdt-NAME";
Jan Kiszka4a88eb22021-09-18 08:17:52 +0200129 type = "flat_dt";
130 arch = "arm64";
131 compression = "none";
Jan Kiszkacf422ca2023-02-28 19:19:15 +0100132 hash {
133 algo = "sha256";
134 };
Jan Kiszka4a88eb22021-09-18 08:17:52 +0200135 };
136
Jan Kiszkae31f16c2023-02-28 19:19:23 +0100137#ifdef CONFIG_TARGET_IOT2050_A53_PG2
138 bkey-usb3-overlay {
139 description = "M.2-bkey-usb3-overlay";
140 type = "blob";
141 load = <0x82100000>;
142 arch = "arm64";
143 compression = "none";
144 blob-ext {
145 filename = "k3-am6548-iot2050-advanced-m2-bkey-usb3-overlay.dtbo";
146 };
147 hash {
148 algo = "sha256";
149 };
150 };
151
152 bkey-ekey-pcie-overlay {
153 description = "M.2-bkey-ekey-pcie-overlay";
154 type = "blob";
155 load = <0x82110000>;
156 arch = "arm64";
157 compression = "none";
158 blob-ext {
159 filename = "k3-am6548-iot2050-advanced-m2-bkey-ekey-pcie-overlay.dtbo";
160 };
161 hash {
162 algo = "sha256";
163 };
164 };
165#endif
166
Jan Kiszka14a2e812021-09-18 08:17:56 +0200167#ifdef CONFIG_WDT_K3_RTI_FW_FILE
168 k3-rti-wdt-firmware {
169 type = "firmware";
170 load = <0x82000000>;
171 arch = "arm";
172 compression = "none";
173 blob-ext {
174 filename = CONFIG_WDT_K3_RTI_FW_FILE;
175 missing-msg = "k3-rti-wdt-firmware";
176 };
Jan Kiszkacf422ca2023-02-28 19:19:15 +0100177 hash {
178 algo = "sha256";
179 };
Jan Kiszka14a2e812021-09-18 08:17:56 +0200180 };
181#endif
Jan Kiszka4a88eb22021-09-18 08:17:52 +0200182 };
183
184 configurations {
Su Baocheng8999cc52023-02-28 19:19:10 +0100185 default = "@config-DEFAULT-SEQ";
186 @config-SEQ {
187 description = "NAME";
Jan Kiszka4a88eb22021-09-18 08:17:52 +0200188 firmware = "u-boot";
Su Baocheng8999cc52023-02-28 19:19:10 +0100189 fdt = "fdt-SEQ";
Jan Kiszkae31f16c2023-02-28 19:19:23 +0100190 loadables =
191#ifdef CONFIG_TARGET_IOT2050_A53_PG2
192 "bkey-usb3-overlay",
193 "bkey-ekey-pcie-overlay",
194#endif
Jan Kiszka14a2e812021-09-18 08:17:56 +0200195#ifdef CONFIG_WDT_K3_RTI_FW_FILE
Jan Kiszkae31f16c2023-02-28 19:19:23 +0100196 "k3-rti-wdt-firmware",
Jan Kiszka14a2e812021-09-18 08:17:56 +0200197#endif
Jan Kiszkae31f16c2023-02-28 19:19:23 +0100198 <>;
Jan Kiszkacf422ca2023-02-28 19:19:15 +0100199 signature {
200 sign-images = "firmware", "fdt", "loadables";
201 };
Jan Kiszka4a88eb22021-09-18 08:17:52 +0200202 };
Jan Kiszka4a88eb22021-09-18 08:17:52 +0200203 };
204 };
205
Jan Kiszkacf422ca2023-02-28 19:19:15 +0100206 fdtmap {
207 };
208
Jan Kiszka4a88eb22021-09-18 08:17:52 +0200209 /* primary env */
210 fill@0x680000 {
211 offset = <0x680000>;
212 size = <0x020000>;
213 fill-byte = [00];
214 };
215 /* secondary env */
216 fill@0x6a0000 {
217 offset = <0x6a0000>;
218 size = <0x020000>;
219 fill-byte = [00];
220 };
221
Jan Kiszkaa59bc022023-02-28 19:19:11 +0100222 /* OTP update command block */
Jan Kiszkaaebb5b92023-02-28 19:19:18 +0100223#if CONFIG_IOT2050_EMBED_OTPCMD
224 blob-ext@0x6c0000 {
225 offset = <0x6c0000>;
226 size = <0x010000>;
227 filename = "otpcmd.bin";
228 missing-msg = "iot2050-otpcmd";
229 };
230#else
Jan Kiszkaa59bc022023-02-28 19:19:11 +0100231 fill@0x6c0000 {
Jan Kiszka4a88eb22021-09-18 08:17:52 +0200232 offset = <0x6c0000>;
Jan Kiszkaa59bc022023-02-28 19:19:11 +0100233 size = <0x010000>;
234 fill-byte = [ff];
Jan Kiszka4a88eb22021-09-18 08:17:52 +0200235 };
Jan Kiszkaaebb5b92023-02-28 19:19:18 +0100236#endif
Jan Kiszka4a88eb22021-09-18 08:17:52 +0200237 };
238};