Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 1 | // SPDX-License-Identifier: GPL-2.0+ |
2 | /* | ||||
3 | * Copyright 2022 Logic PD, Inc dba Beacon EmbeddedWorks | ||||
4 | */ | ||||
5 | |||||
6 | / { | ||||
7 | binman: binman { | ||||
8 | multiple-images; | ||||
9 | }; | ||||
10 | |||||
Tim Harvey | 1f5a510 | 2023-08-24 12:01:44 -0700 | [diff] [blame] | 11 | #ifdef CONFIG_OPTEE |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 12 | firmware { |
13 | optee { | ||||
14 | compatible = "linaro,optee-tz"; | ||||
15 | method = "smc"; | ||||
16 | }; | ||||
17 | }; | ||||
Tim Harvey | 1f5a510 | 2023-08-24 12:01:44 -0700 | [diff] [blame] | 18 | #endif |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 19 | |
20 | wdt-reboot { | ||||
21 | compatible = "wdt-reboot"; | ||||
22 | wdt = <&wdog1>; | ||||
Simon Glass | d3a98cb | 2023-02-13 08:56:33 -0700 | [diff] [blame] | 23 | bootph-pre-ram; |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 24 | }; |
25 | }; | ||||
26 | |||||
27 | &{/soc@0} { | ||||
Simon Glass | d3a98cb | 2023-02-13 08:56:33 -0700 | [diff] [blame] | 28 | bootph-all; |
29 | bootph-pre-ram; | ||||
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 30 | }; |
31 | |||||
32 | &aips1 { | ||||
Simon Glass | d3a98cb | 2023-02-13 08:56:33 -0700 | [diff] [blame] | 33 | bootph-pre-ram; |
34 | bootph-all; | ||||
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 35 | }; |
36 | |||||
37 | &aips2 { | ||||
Simon Glass | d3a98cb | 2023-02-13 08:56:33 -0700 | [diff] [blame] | 38 | bootph-pre-ram; |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 39 | }; |
40 | |||||
41 | &aips3 { | ||||
Simon Glass | d3a98cb | 2023-02-13 08:56:33 -0700 | [diff] [blame] | 42 | bootph-pre-ram; |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 43 | }; |
44 | |||||
45 | &aips4 { | ||||
Simon Glass | d3a98cb | 2023-02-13 08:56:33 -0700 | [diff] [blame] | 46 | bootph-pre-ram; |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 47 | }; |
48 | |||||
49 | &clk { | ||||
Simon Glass | d3a98cb | 2023-02-13 08:56:33 -0700 | [diff] [blame] | 50 | bootph-pre-ram; |
51 | bootph-all; | ||||
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 52 | /delete-property/ assigned-clocks; |
53 | /delete-property/ assigned-clock-parents; | ||||
54 | /delete-property/ assigned-clock-rates; | ||||
55 | }; | ||||
56 | |||||
Tim Harvey | 0951b9a | 2023-08-24 12:03:56 -0700 | [diff] [blame] | 57 | #ifdef CONFIG_FSL_CAAM |
58 | &crypto { | ||||
59 | bootph-pre-ram; | ||||
60 | }; | ||||
61 | #endif | ||||
62 | |||||
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 63 | &iomuxc { |
Simon Glass | d3a98cb | 2023-02-13 08:56:33 -0700 | [diff] [blame] | 64 | bootph-pre-ram; |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 65 | }; |
66 | |||||
67 | &osc_24m { | ||||
Simon Glass | d3a98cb | 2023-02-13 08:56:33 -0700 | [diff] [blame] | 68 | bootph-pre-ram; |
69 | bootph-all; | ||||
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 70 | }; |
Tim Harvey | 0951b9a | 2023-08-24 12:03:56 -0700 | [diff] [blame] | 71 | |
72 | #ifdef CONFIG_FSL_CAAM | ||||
73 | &sec_jr0 { | ||||
74 | bootph-pre-ram; | ||||
75 | }; | ||||
76 | |||||
77 | &sec_jr1 { | ||||
78 | bootph-pre-ram; | ||||
79 | }; | ||||
80 | |||||
81 | &sec_jr2 { | ||||
82 | bootph-pre-ram; | ||||
83 | }; | ||||
84 | #endif | ||||
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 85 | |
86 | &spba1 { | ||||
Simon Glass | d3a98cb | 2023-02-13 08:56:33 -0700 | [diff] [blame] | 87 | bootph-pre-ram; |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 88 | }; |
89 | |||||
90 | &wdog1 { | ||||
Simon Glass | d3a98cb | 2023-02-13 08:56:33 -0700 | [diff] [blame] | 91 | bootph-pre-ram; |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 92 | }; |
93 | |||||
94 | &binman { | ||||
95 | u-boot-spl-ddr { | ||||
96 | filename = "u-boot-spl-ddr.bin"; | ||||
97 | pad-byte = <0xff>; | ||||
98 | align-size = <4>; | ||||
99 | align = <4>; | ||||
100 | |||||
101 | u-boot-spl { | ||||
102 | align-end = <4>; | ||||
103 | filename = "u-boot-spl.bin"; | ||||
104 | }; | ||||
105 | |||||
106 | ddr-1d-imem-fw { | ||||
107 | #ifdef CONFIG_IMX8M_LPDDR4 | ||||
108 | filename = "lpddr4_pmu_train_1d_imem.bin"; | ||||
109 | #elif CONFIG_IMX8M_DDR4 | ||||
Oleksandr Suvorov | 8d2982f | 2023-01-16 17:21:27 +0200 | [diff] [blame] | 110 | filename = "ddr4_imem_1d_201810.bin"; |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 111 | #else |
112 | filename = "ddr3_imem_1d.bin"; | ||||
113 | #endif | ||||
114 | type = "blob-ext"; | ||||
115 | align-end = <4>; | ||||
116 | }; | ||||
117 | |||||
118 | ddr-1d-dmem-fw { | ||||
119 | #ifdef CONFIG_IMX8M_LPDDR4 | ||||
120 | filename = "lpddr4_pmu_train_1d_dmem.bin"; | ||||
121 | #elif CONFIG_IMX8M_DDR4 | ||||
Oleksandr Suvorov | 8d2982f | 2023-01-16 17:21:27 +0200 | [diff] [blame] | 122 | filename = "ddr4_dmem_1d_201810.bin"; |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 123 | #else |
124 | filename = "ddr3_dmem_1d.bin"; | ||||
125 | #endif | ||||
126 | type = "blob-ext"; | ||||
127 | align-end = <4>; | ||||
128 | }; | ||||
129 | |||||
Dario Binacchi | 39ae820 | 2023-01-28 17:04:04 +0100 | [diff] [blame] | 130 | #if defined(CONFIG_IMX8M_LPDDR4) || defined(CONFIG_IMX8M_DDR4) |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 131 | ddr-2d-imem-fw { |
132 | #ifdef CONFIG_IMX8M_LPDDR4 | ||||
133 | filename = "lpddr4_pmu_train_2d_imem.bin"; | ||||
Dario Binacchi | 39ae820 | 2023-01-28 17:04:04 +0100 | [diff] [blame] | 134 | #else |
Oleksandr Suvorov | 8d2982f | 2023-01-16 17:21:27 +0200 | [diff] [blame] | 135 | filename = "ddr4_imem_2d_201810.bin"; |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 136 | #endif |
137 | type = "blob-ext"; | ||||
138 | align-end = <4>; | ||||
139 | }; | ||||
140 | |||||
141 | ddr-2d-dmem-fw { | ||||
142 | #ifdef CONFIG_IMX8M_LPDDR4 | ||||
143 | filename = "lpddr4_pmu_train_2d_dmem.bin"; | ||||
Dario Binacchi | 39ae820 | 2023-01-28 17:04:04 +0100 | [diff] [blame] | 144 | #else |
Oleksandr Suvorov | 8d2982f | 2023-01-16 17:21:27 +0200 | [diff] [blame] | 145 | filename = "ddr4_dmem_2d_201810.bin"; |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 146 | #endif |
147 | type = "blob-ext"; | ||||
148 | align-end = <4>; | ||||
149 | }; | ||||
Dario Binacchi | 39ae820 | 2023-01-28 17:04:04 +0100 | [diff] [blame] | 150 | #endif |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 151 | }; |
152 | |||||
153 | spl { | ||||
154 | filename = "spl.bin"; | ||||
155 | |||||
156 | mkimage { | ||||
157 | args = "-n spl/u-boot-spl.cfgout -T imx8mimage -e 0x912000"; | ||||
158 | |||||
159 | blob { | ||||
160 | filename = "u-boot-spl-ddr.bin"; | ||||
161 | }; | ||||
162 | }; | ||||
163 | }; | ||||
164 | |||||
165 | itb { | ||||
166 | filename = "u-boot.itb"; | ||||
167 | |||||
168 | fit { | ||||
169 | description = "Configuration to load ATF before U-Boot"; | ||||
Marek Vasut | a7416eb | 2023-05-28 23:00:30 +0200 | [diff] [blame] | 170 | #ifndef CONFIG_IMX_HAB |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 171 | fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>; |
Marek Vasut | a7416eb | 2023-05-28 23:00:30 +0200 | [diff] [blame] | 172 | #endif |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 173 | fit,fdt-list = "of-list"; |
174 | #address-cells = <1>; | ||||
175 | |||||
176 | images { | ||||
177 | uboot { | ||||
178 | arch = "arm64"; | ||||
179 | compression = "none"; | ||||
180 | description = "U-Boot (64-bit)"; | ||||
Simon Glass | 72cc538 | 2022-10-20 18:22:39 -0600 | [diff] [blame] | 181 | load = <CONFIG_TEXT_BASE>; |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 182 | type = "standalone"; |
183 | |||||
184 | uboot-blob { | ||||
185 | filename = "u-boot-nodtb.bin"; | ||||
186 | type = "blob-ext"; | ||||
187 | }; | ||||
188 | }; | ||||
189 | |||||
Marek Vasut | 1de0eb1 | 2022-12-22 01:46:37 +0100 | [diff] [blame] | 190 | #ifndef CONFIG_ARMV8_PSCI |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 191 | atf { |
192 | arch = "arm64"; | ||||
193 | compression = "none"; | ||||
194 | description = "ARM Trusted Firmware"; | ||||
195 | entry = <0x960000>; | ||||
196 | load = <0x960000>; | ||||
197 | type = "firmware"; | ||||
198 | |||||
199 | atf-blob { | ||||
200 | filename = "bl31.bin"; | ||||
201 | type = "atf-bl31"; | ||||
202 | }; | ||||
203 | }; | ||||
Marek Vasut | 1de0eb1 | 2022-12-22 01:46:37 +0100 | [diff] [blame] | 204 | #endif |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 205 | |
206 | binman_fip: fip { | ||||
207 | arch = "arm64"; | ||||
208 | compression = "none"; | ||||
209 | description = "Trusted Firmware FIP"; | ||||
210 | load = <0x40310000>; | ||||
211 | type = "firmware"; | ||||
212 | }; | ||||
213 | |||||
214 | @fdt-SEQ { | ||||
215 | compression = "none"; | ||||
216 | description = "NAME"; | ||||
217 | type = "flat_dt"; | ||||
218 | |||||
219 | uboot-fdt-blob { | ||||
220 | filename = "u-boot.dtb"; | ||||
221 | type = "blob-ext"; | ||||
222 | }; | ||||
223 | }; | ||||
224 | }; | ||||
225 | |||||
226 | configurations { | ||||
227 | default = "@config-DEFAULT-SEQ"; | ||||
228 | |||||
Simon Glass | ceea784 | 2023-08-23 19:18:01 -0600 | [diff] [blame] | 229 | @config-SEQ { |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 230 | description = "NAME"; |
231 | fdt = "fdt-SEQ"; | ||||
232 | firmware = "uboot"; | ||||
Marek Vasut | 1de0eb1 | 2022-12-22 01:46:37 +0100 | [diff] [blame] | 233 | #ifndef CONFIG_ARMV8_PSCI |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 234 | loadables = "atf"; |
Marek Vasut | 1de0eb1 | 2022-12-22 01:46:37 +0100 | [diff] [blame] | 235 | #endif |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 236 | }; |
237 | }; | ||||
238 | }; | ||||
239 | }; | ||||
240 | |||||
241 | imx-boot { | ||||
242 | filename = "flash.bin"; | ||||
243 | pad-byte = <0x00>; | ||||
244 | |||||
245 | #ifdef CONFIG_FSPI_CONF_HEADER | ||||
246 | fspi_conf_block { | ||||
247 | filename = CONFIG_FSPI_CONF_FILE; | ||||
248 | type = "blob-ext"; | ||||
249 | offset = <0x400>; | ||||
250 | }; | ||||
251 | |||||
252 | spl { | ||||
253 | filename = "spl.bin"; | ||||
254 | offset = <0x1000>; | ||||
255 | type = "blob-ext"; | ||||
256 | }; | ||||
257 | |||||
258 | binman_uboot: uboot { | ||||
259 | filename = "u-boot.itb"; | ||||
260 | offset = <0x59000>; | ||||
261 | type = "blob-ext"; | ||||
262 | }; | ||||
263 | #else | ||||
264 | |||||
265 | spl { | ||||
266 | offset = <0x0>; | ||||
267 | filename = "spl.bin"; | ||||
268 | type = "blob-ext"; | ||||
269 | }; | ||||
270 | |||||
271 | binman_uboot: uboot { | ||||
272 | offset = <0x58000>; | ||||
273 | filename = "u-boot.itb"; | ||||
274 | type = "blob-ext"; | ||||
275 | }; | ||||
276 | #endif | ||||
277 | }; | ||||
278 | }; |