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