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"; | ||||
Marek Vasut | a7416eb | 2023-05-28 23:00:30 +0200 | [diff] [blame] | 148 | #ifndef CONFIG_IMX_HAB |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 149 | fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>; |
Marek Vasut | a7416eb | 2023-05-28 23:00:30 +0200 | [diff] [blame] | 150 | #endif |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 151 | fit,fdt-list = "of-list"; |
152 | #address-cells = <1>; | ||||
153 | |||||
154 | images { | ||||
155 | uboot { | ||||
156 | arch = "arm64"; | ||||
157 | compression = "none"; | ||||
158 | description = "U-Boot (64-bit)"; | ||||
Simon Glass | 72cc538 | 2022-10-20 18:22:39 -0600 | [diff] [blame] | 159 | load = <CONFIG_TEXT_BASE>; |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 160 | type = "standalone"; |
161 | |||||
162 | uboot-blob { | ||||
163 | filename = "u-boot-nodtb.bin"; | ||||
164 | type = "blob-ext"; | ||||
165 | }; | ||||
166 | }; | ||||
167 | |||||
Marek Vasut | 1de0eb1 | 2022-12-22 01:46:37 +0100 | [diff] [blame] | 168 | #ifndef CONFIG_ARMV8_PSCI |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 169 | atf { |
170 | arch = "arm64"; | ||||
171 | compression = "none"; | ||||
172 | description = "ARM Trusted Firmware"; | ||||
173 | entry = <0x960000>; | ||||
174 | load = <0x960000>; | ||||
175 | type = "firmware"; | ||||
176 | |||||
177 | atf-blob { | ||||
178 | filename = "bl31.bin"; | ||||
179 | type = "atf-bl31"; | ||||
180 | }; | ||||
181 | }; | ||||
Marek Vasut | 1de0eb1 | 2022-12-22 01:46:37 +0100 | [diff] [blame] | 182 | #endif |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 183 | |
184 | binman_fip: fip { | ||||
185 | arch = "arm64"; | ||||
186 | compression = "none"; | ||||
187 | description = "Trusted Firmware FIP"; | ||||
188 | load = <0x40310000>; | ||||
189 | type = "firmware"; | ||||
190 | }; | ||||
191 | |||||
192 | @fdt-SEQ { | ||||
193 | compression = "none"; | ||||
194 | description = "NAME"; | ||||
195 | type = "flat_dt"; | ||||
196 | |||||
197 | uboot-fdt-blob { | ||||
198 | filename = "u-boot.dtb"; | ||||
199 | type = "blob-ext"; | ||||
200 | }; | ||||
201 | }; | ||||
202 | }; | ||||
203 | |||||
204 | configurations { | ||||
205 | default = "@config-DEFAULT-SEQ"; | ||||
206 | |||||
207 | binman_configuration: @config-SEQ { | ||||
208 | description = "NAME"; | ||||
209 | fdt = "fdt-SEQ"; | ||||
210 | firmware = "uboot"; | ||||
Marek Vasut | 1de0eb1 | 2022-12-22 01:46:37 +0100 | [diff] [blame] | 211 | #ifndef CONFIG_ARMV8_PSCI |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 212 | loadables = "atf"; |
Marek Vasut | 1de0eb1 | 2022-12-22 01:46:37 +0100 | [diff] [blame] | 213 | #endif |
Adam Ford | 2d9310b | 2022-10-21 19:58:31 -0500 | [diff] [blame] | 214 | }; |
215 | }; | ||||
216 | }; | ||||
217 | }; | ||||
218 | |||||
219 | imx-boot { | ||||
220 | filename = "flash.bin"; | ||||
221 | pad-byte = <0x00>; | ||||
222 | |||||
223 | #ifdef CONFIG_FSPI_CONF_HEADER | ||||
224 | fspi_conf_block { | ||||
225 | filename = CONFIG_FSPI_CONF_FILE; | ||||
226 | type = "blob-ext"; | ||||
227 | offset = <0x400>; | ||||
228 | }; | ||||
229 | |||||
230 | spl { | ||||
231 | filename = "spl.bin"; | ||||
232 | offset = <0x1000>; | ||||
233 | type = "blob-ext"; | ||||
234 | }; | ||||
235 | |||||
236 | binman_uboot: uboot { | ||||
237 | filename = "u-boot.itb"; | ||||
238 | offset = <0x59000>; | ||||
239 | type = "blob-ext"; | ||||
240 | }; | ||||
241 | #else | ||||
242 | |||||
243 | spl { | ||||
244 | offset = <0x0>; | ||||
245 | filename = "spl.bin"; | ||||
246 | type = "blob-ext"; | ||||
247 | }; | ||||
248 | |||||
249 | binman_uboot: uboot { | ||||
250 | offset = <0x58000>; | ||||
251 | filename = "u-boot.itb"; | ||||
252 | type = "blob-ext"; | ||||
253 | }; | ||||
254 | #endif | ||||
255 | }; | ||||
256 | }; |