Commit 7b055443be6b03583bdb3f3110c30803cdf872dd
1 parent
0d6d880779
Exists in
smarc_8mm-imx_v2018.03_4.14.98_2.0.0_ga
and in
4 other branches
Initial Release, U-Boot v2018.03 for SMARC-FiMX7 CPU Modules
Showing 38 changed files with 5764 additions and 12 deletions Side-by-side Diff
- arch/arm/dts/Makefile
- arch/arm/dts/imx7d-smarcfimx7.dts
- arch/arm/dts/imx7s-smarcfimx7.dts
- arch/arm/dts/imx7s.dtsi
- arch/arm/include/asm/arch-mx7/imx-rdc.h
- arch/arm/mach-imx/init.c
- arch/arm/mach-imx/mx7/Kconfig
- arch/arm/mach-imx/mx7/soc.c
- board/embedian/smarcfimx7/Kconfig
- board/embedian/smarcfimx7/MAINTAINERS
- board/embedian/smarcfimx7/Makefile
- board/embedian/smarcfimx7/ddr3l/mx7d_2x_k4b4g1646q.cfg
- board/embedian/smarcfimx7/ddr3l/mx7d_2x_mt41k512m16ha.cfg
- board/embedian/smarcfimx7/ddr3l/mx7s_2x_k4b2g1646q.cfg
- board/embedian/smarcfimx7/plugin.S
- board/embedian/smarcfimx7/smarcfimx7.c
- configs/smarcfimx7d_2g_ser0_defconfig
- configs/smarcfimx7d_2g_ser1_defconfig
- configs/smarcfimx7d_2g_ser2_defconfig
- configs/smarcfimx7d_2g_ser3_defconfig
- configs/smarcfimx7d_ser0_defconfig
- configs/smarcfimx7d_ser1_defconfig
- configs/smarcfimx7d_ser2_defconfig
- configs/smarcfimx7d_ser3_defconfig
- configs/smarcfimx7s_ser0_defconfig
- configs/smarcfimx7s_ser1_defconfig
- configs/smarcfimx7s_ser2_defconfig
- configs/smarcfimx7s_ser3_defconfig
- drivers/mmc/mmc.c
- drivers/mtd/spi/spi_flash_ids.c
- drivers/ram/Kconfig
- drivers/serial/Kconfig
- drivers/watchdog/imx_watchdog.c
- include/configs/mx7smarc_common.h
- include/configs/smarcfimx7.h
- include/configs/smarcfimx7_androidthings.h
- include/configs/smarcfimx7android.h
- qspi_header
arch/arm/dts/Makefile
... | ... | @@ -447,6 +447,8 @@ |
447 | 447 | imx7d-sdb-gpmi-weim.dtb \ |
448 | 448 | imx7d-sdb-qspi.dtb \ |
449 | 449 | imx7d-sdb-reva.dtb \ |
450 | + imx7d-smarcfimx7.dtb \ | |
451 | + imx7s-smarcfimx7.dtb \ | |
450 | 452 | imx7d-12x12-lpddr3-arm2.dtb \ |
451 | 453 | imx7d-12x12-lpddr3-arm2-ecspi.dtb \ |
452 | 454 | imx7d-12x12-lpddr3-arm2-qspi.dtb \ |
arch/arm/dts/imx7d-smarcfimx7.dts
Changes suppressed. Click to show
1 | +/* | |
2 | + * Copyright 2017 NXP | |
3 | + * | |
4 | + * SPDX-License-Identifier: GPL-2.0+ | |
5 | + */ | |
6 | + | |
7 | +/dts-v1/; | |
8 | + | |
9 | +#include "imx7d.dtsi" | |
10 | + | |
11 | +/ { | |
12 | + model = "Embedian i.MX7D SMARC 2.0 Module"; | |
13 | + compatible = "fsl,imx7d-smarcfimx7", "fsl,imx7d"; | |
14 | + | |
15 | + memory { | |
16 | + reg = <0x80000000 0x80000000>; | |
17 | + }; | |
18 | + | |
19 | + aliases { | |
20 | + ethernet1 = &fec2; /* Let eth1addr mac address pass from U-Boot EEPROM */ | |
21 | + }; | |
22 | + | |
23 | + regulators { | |
24 | + compatible = "simple-bus"; | |
25 | + #address-cells = <1>; | |
26 | + #size-cells = <0>; | |
27 | + | |
28 | + reg_usb_otg1_vbus: regulator@0 { | |
29 | + compatible = "regulator-fixed"; | |
30 | + reg = <0>; | |
31 | + regulator-name = "usb_otg1_vbus"; | |
32 | + regulator-min-microvolt = <5000000>; | |
33 | + regulator-max-microvolt = <5000000>; | |
34 | + gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>; | |
35 | + enable-active-high; | |
36 | + }; | |
37 | + | |
38 | + reg_usb_otg2_vbus: regulator@1 { | |
39 | + compatible = "regulator-fixed"; | |
40 | + reg = <1>; | |
41 | + regulator-name = "usb_otg2_vbus"; | |
42 | + regulator-min-microvolt = <5000000>; | |
43 | + regulator-max-microvolt = <5000000>; | |
44 | + gpio = <&gpio1 7 GPIO_ACTIVE_HIGH>; | |
45 | + enable-active-high; | |
46 | + }; | |
47 | + | |
48 | + reg_sd1_vmmc: regulator@3 { | |
49 | + compatible = "regulator-fixed"; | |
50 | + regulator-name = "VDD_SD1"; | |
51 | + regulator-min-microvolt = <3300000>; | |
52 | + regulator-max-microvolt = <3300000>; | |
53 | + startup-delay-us = <70000>; | |
54 | + off-on-delay = <20000>; | |
55 | + enable-active-high; | |
56 | + }; | |
57 | + | |
58 | + reg_aud_3v3: regulator@4 { | |
59 | + compatible = "regulator-fixed"; | |
60 | + reg = <4>; | |
61 | + regulator-name = "aud-3v3"; | |
62 | + regulator-min-microvolt = <3300000>; | |
63 | + regulator-max-microvolt = <3300000>; | |
64 | + }; | |
65 | + | |
66 | + reg_vref_1v8: regulator@5 { | |
67 | + compatible = "regulator-fixed"; | |
68 | + reg = <5>; | |
69 | + regulator-name = "vref-1v8"; | |
70 | + regulator-min-microvolt = <1800000>; | |
71 | + regulator-max-microvolt = <1800000>; | |
72 | + }; | |
73 | + }; | |
74 | + | |
75 | + backlight { | |
76 | + compatible = "pwm-backlight"; | |
77 | + enable-gpios = <&gpio6 17 GPIO_ACTIVE_HIGH>; /* Backlight Enable Pin*/ | |
78 | + pwms = <&pwm2 0 5000000>; | |
79 | + brightness-levels = <0 4 8 16 32 64 128 255>; | |
80 | + default-brightness-level = <7>; | |
81 | + status = "okay"; | |
82 | + }; | |
83 | + | |
84 | + pxp_v4l2_out { | |
85 | + compatible = "fsl,imx7d-pxp-v4l2", "fsl,imx6sx-pxp-v4l2", "fsl,imx6sl-pxp-v4l2"; | |
86 | + status = "okay"; | |
87 | + }; | |
88 | + | |
89 | + sound { | |
90 | + compatible = "fsl,imx7d-smarcfimx7-sgtl5000", | |
91 | + "fsl,imx-audio-sgtl5000"; | |
92 | + model = "sgtl5000-audio"; | |
93 | + cpu-dai = <&sai1>; | |
94 | + audio-codec = <&codec>; | |
95 | + codec-master; | |
96 | + audio-routing = | |
97 | + "LINE_IN", "Line In Jack", | |
98 | + "MIC_IN", "Mic Jack", | |
99 | + "Mic Jack", "Mic Bias", | |
100 | + "Headphone Jack", "HP_OUT"; | |
101 | + }; | |
102 | +}; | |
103 | + | |
104 | +&cpu0 { | |
105 | + arm-supply = <&sw1a_reg>; | |
106 | +}; | |
107 | + | |
108 | +/* SPI0 */ | |
109 | +&ecspi1 { | |
110 | + fsl,spi-num-chipselects = <2>; | |
111 | + cs-gpios = <&gpio4 19 GPIO_ACTIVE_HIGH>, <&gpio4 0 GPIO_ACTIVE_HIGH>; | |
112 | + pinctrl-names = "default"; | |
113 | + pinctrl-0 = <&pinctrl_ecspi1 &pinctrl_ecspi1_cs>; | |
114 | + dmas = <&sdma 36 4 0>, <&sdma 37 4 0>; | |
115 | + dma-names = "rx", "tx"; | |
116 | + status = "okay"; | |
117 | + | |
118 | + spidev1: spidev@0 { | |
119 | + compatible = "spidev"; | |
120 | + spi-max-frequency = <24000000>; | |
121 | + reg = <0>; | |
122 | + }; | |
123 | + spidev2: spidev@1 { | |
124 | + compatible = "spidev"; | |
125 | + spi-max-frequency = <24000000>; | |
126 | + reg = <1>; | |
127 | + }; | |
128 | +}; | |
129 | + | |
130 | +/* SPINOR */ | |
131 | +&ecspi2 { | |
132 | + fsl,spi-num-chipselects = <1>; | |
133 | + pinctrl-names = "default"; | |
134 | + pinctrl-0 = <&pinctrl_ecspi2 &pinctrl_ecspi2_cs>; | |
135 | + cs-gpios = <&gpio4 23 GPIO_ACTIVE_HIGH>; | |
136 | + dmas = <&sdma 38 4 0>, <&sdma 39 4 0>; | |
137 | + dma-names = "rx", "tx"; | |
138 | + status = "okay"; | |
139 | + | |
140 | + flash: mx25u3235f@0 { | |
141 | + #address-cells = <1>; | |
142 | + #size-cells = <1>; | |
143 | + compatible = "macronix,mx25u3235f", "jedec,spi-nor"; | |
144 | + spi-max-frequency = <24000000>; | |
145 | + reg = <0>; | |
146 | + partition@0 { | |
147 | + label = "U-Boot"; | |
148 | + reg = <0x0 0x100000>; | |
149 | + }; | |
150 | + | |
151 | + partition@100000 { | |
152 | + label = "U-Boot Environment"; | |
153 | + reg = <0x100000 0x080000>; | |
154 | + }; | |
155 | + | |
156 | + partition@180000 { | |
157 | + label = "Flattened Device Tree"; | |
158 | + reg = <0x180000 0x200000>; | |
159 | + }; | |
160 | + | |
161 | + }; | |
162 | +}; | |
163 | + | |
164 | +/* ECSPI */ | |
165 | +&ecspi3 { | |
166 | + fsl,spi-num-chipselects = <2>; | |
167 | + pinctrl-names = "default"; | |
168 | + pinctrl-0 = <&pinctrl_ecspi3 &pinctrl_ecspi3_cs>; | |
169 | + cs-gpios = <&gpio6 22 GPIO_ACTIVE_HIGH>, <&gpio5 9 GPIO_ACTIVE_HIGH>; | |
170 | + dmas = <&sdma 40 4 0>, <&sdma 41 4 0>; | |
171 | + dma-names = "rx", "tx"; | |
172 | + status = "okay"; | |
173 | + | |
174 | + spidev3: spidev@0 { | |
175 | + compatible = "spidev"; | |
176 | + spi-max-frequency = <24000000>; | |
177 | + reg = <0>; | |
178 | + }; | |
179 | + spidev4: spidev@4 { | |
180 | + compatible = "spidev"; | |
181 | + spi-max-frequency = <24000000>; | |
182 | + reg = <1>; | |
183 | + }; | |
184 | +}; | |
185 | + | |
186 | +&clks { | |
187 | + assigned-clocks = <&clks IMX7D_PLL_AUDIO_POST_DIV>; | |
188 | + assigned-clock-rates = <884736000>; | |
189 | +}; | |
190 | + | |
191 | +&csi1 { | |
192 | + csi-mux-mipi = <&gpr 0x14 4>; | |
193 | + fsl,mipi-mode; | |
194 | + status = "okay"; | |
195 | + | |
196 | + port { | |
197 | + csi_ep: endpoint { | |
198 | + remote-endpoint = <&csi_mipi_ep>; | |
199 | + }; | |
200 | + }; | |
201 | +}; | |
202 | + | |
203 | +&epxp { | |
204 | + status = "okay"; | |
205 | +}; | |
206 | + | |
207 | +&fec1 { | |
208 | + pinctrl-names = "default"; | |
209 | + pinctrl-0 = <&pinctrl_enet1>; | |
210 | + assigned-clocks = <&clks IMX7D_ENET_PHY_REF_ROOT_SRC>, | |
211 | + <&clks IMX7D_ENET_AXI_ROOT_SRC>, | |
212 | + <&clks IMX7D_ENET1_TIME_ROOT_SRC>, | |
213 | + <&clks IMX7D_ENET1_TIME_ROOT_CLK>, | |
214 | + <&clks IMX7D_ENET_AXI_ROOT_CLK>; | |
215 | + assigned-clock-parents = <&clks IMX7D_PLL_ENET_MAIN_25M_CLK>, | |
216 | + <&clks IMX7D_PLL_ENET_MAIN_250M_CLK>, | |
217 | + <&clks IMX7D_PLL_ENET_MAIN_100M_CLK>; | |
218 | + assigned-clock-rates = <0>, <0>, <0>, <100000000>, <250000000>; | |
219 | + phy-mode = "rgmii"; | |
220 | + phy-handle = <ðphy0>; | |
221 | + fsl,magic-packet; | |
222 | + status = "okay"; | |
223 | + | |
224 | + mdio { | |
225 | + #address-cells = <1>; | |
226 | + #size-cells = <0>; | |
227 | + | |
228 | + ethphy0: ethernet-phy@6 { | |
229 | + compatible = "ethernet-phy-ieee802.3-c22"; | |
230 | + reg = <0>; | |
231 | + }; | |
232 | + | |
233 | + ethphy1: ethernet-phy@7 { | |
234 | + compatible = "ethernet-phy-ieee802.3-c22"; | |
235 | + reg = <1>; | |
236 | + }; | |
237 | + }; | |
238 | +}; | |
239 | + | |
240 | +&fec2 { | |
241 | + pinctrl-names = "default"; | |
242 | + pinctrl-0 = <&pinctrl_enet2>; | |
243 | + assigned-clocks = <&clks IMX7D_ENET_PHY_REF_ROOT_SRC>, | |
244 | + <&clks IMX7D_ENET_AXI_ROOT_SRC>, | |
245 | + <&clks IMX7D_ENET2_TIME_ROOT_SRC>, | |
246 | + <&clks IMX7D_ENET2_TIME_ROOT_CLK>, | |
247 | + <&clks IMX7D_ENET_AXI_ROOT_CLK>; | |
248 | + assigned-clock-parents = <&clks IMX7D_PLL_ENET_MAIN_25M_CLK>, | |
249 | + <&clks IMX7D_PLL_ENET_MAIN_250M_CLK>, | |
250 | + <&clks IMX7D_PLL_ENET_MAIN_100M_CLK>; | |
251 | + assigned-clock-rates = <0>, <0>, <0>, <100000000>, <250000000>; | |
252 | + phy-mode = "rgmii"; | |
253 | + phy-handle = <ðphy1>; | |
254 | + fsl,magic-packet; | |
255 | + status = "okay"; | |
256 | +}; | |
257 | + | |
258 | +&mipi_csi { | |
259 | + clock-frequency = <240000000>; | |
260 | + status = "okay"; | |
261 | + port { | |
262 | + mipi_sensor_ep: endpoint1 { | |
263 | + remote-endpoint = <&ov5640_mipi_ep>; | |
264 | + data-lanes = <2>; | |
265 | + csis-hs-settle = <13>; | |
266 | + csis-clk-settle = <2>; | |
267 | + csis-wclk; | |
268 | + }; | |
269 | + | |
270 | + csi_mipi_ep: endpoint2 { | |
271 | + remote-endpoint = <&csi_ep>; | |
272 | + }; | |
273 | + }; | |
274 | +}; | |
275 | + | |
276 | +&flexcan1 { | |
277 | + pinctrl-names = "default"; | |
278 | + pinctrl-0 = <&pinctrl_flexcan1>; | |
279 | + xceiver-supply = <®_vref_1v8>; | |
280 | + status = "okay"; | |
281 | +}; | |
282 | + | |
283 | +&flexcan2 { | |
284 | + pinctrl-names = "default"; | |
285 | + pinctrl-0 = <&pinctrl_flexcan2>; | |
286 | + xceiver-supply = <®_vref_1v8>; | |
287 | + status = "okay"; | |
288 | +}; | |
289 | + | |
290 | +&i2c1 { | |
291 | + clock-frequency = <100000>; | |
292 | + pinctrl-names = "default", "gpio"; | |
293 | + pinctrl-0 = <&pinctrl_i2c1>; | |
294 | + pinctrl-1 = <&pinctrl_i2c1_gpio>; | |
295 | + scl-gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>; | |
296 | + sda-gpios = <&gpio4 9 GPIO_ACTIVE_HIGH>; | |
297 | + status = "okay"; | |
298 | + | |
299 | + pmic: pfuze3000@08 { | |
300 | + compatible = "fsl,pfuze3000"; | |
301 | + reg = <0x08>; | |
302 | + | |
303 | + regulators { | |
304 | + sw1a_reg: sw1a { | |
305 | + regulator-min-microvolt = <700000>; | |
306 | + regulator-max-microvolt = <3300000>; | |
307 | + regulator-boot-on; | |
308 | + regulator-always-on; | |
309 | + regulator-ramp-delay = <6250>; | |
310 | + }; | |
311 | + | |
312 | + /* use sw1c_reg to align with pfuze100/pfuze200 */ | |
313 | + sw1c_reg: sw1b { | |
314 | + regulator-min-microvolt = <700000>; | |
315 | + regulator-max-microvolt = <1475000>; | |
316 | + regulator-boot-on; | |
317 | + regulator-always-on; | |
318 | + regulator-ramp-delay = <6250>; | |
319 | + }; | |
320 | + | |
321 | + sw2_reg: sw2 { | |
322 | + regulator-min-microvolt = <1500000>; | |
323 | + regulator-max-microvolt = <1850000>; | |
324 | + regulator-boot-on; | |
325 | + regulator-always-on; | |
326 | + }; | |
327 | + | |
328 | + sw3a_reg: sw3 { | |
329 | + regulator-min-microvolt = <900000>; | |
330 | + regulator-max-microvolt = <1650000>; | |
331 | + regulator-boot-on; | |
332 | + regulator-always-on; | |
333 | + }; | |
334 | + | |
335 | + swbst_reg: swbst { | |
336 | + regulator-min-microvolt = <5000000>; | |
337 | + regulator-max-microvolt = <5150000>; | |
338 | + }; | |
339 | + | |
340 | + snvs_reg: vsnvs { | |
341 | + regulator-min-microvolt = <1000000>; | |
342 | + regulator-max-microvolt = <3000000>; | |
343 | + regulator-boot-on; | |
344 | + regulator-always-on; | |
345 | + }; | |
346 | + | |
347 | + vref_reg: vrefddr { | |
348 | + regulator-boot-on; | |
349 | + regulator-always-on; | |
350 | + }; | |
351 | + | |
352 | + vgen1_reg: vldo1 { | |
353 | + regulator-min-microvolt = <1800000>; | |
354 | + regulator-max-microvolt = <3300000>; | |
355 | + regulator-always-on; | |
356 | + }; | |
357 | + | |
358 | + vgen2_reg: vldo2 { | |
359 | + regulator-min-microvolt = <800000>; | |
360 | + regulator-max-microvolt = <1550000>; | |
361 | + regulator-always-on; | |
362 | + }; | |
363 | + | |
364 | + vgen3_reg: vccsd { | |
365 | + regulator-min-microvolt = <2850000>; | |
366 | + regulator-max-microvolt = <3300000>; | |
367 | + regulator-always-on; | |
368 | + }; | |
369 | + | |
370 | + vgen4_reg: v33 { | |
371 | + regulator-min-microvolt = <2850000>; | |
372 | + regulator-max-microvolt = <3300000>; | |
373 | + regulator-always-on; | |
374 | + }; | |
375 | + | |
376 | + vgen5_reg: vldo3 { | |
377 | + regulator-min-microvolt = <1800000>; | |
378 | + regulator-max-microvolt = <3300000>; | |
379 | + regulator-always-on; | |
380 | + }; | |
381 | + | |
382 | + vgen6_reg: vldo4 { | |
383 | + regulator-min-microvolt = <1800000>; | |
384 | + regulator-max-microvolt = <3300000>; | |
385 | + regulator-always-on; | |
386 | + }; | |
387 | + }; | |
388 | + }; | |
389 | + | |
390 | + s35390a: s35390a@30 { | |
391 | + compatible = "s35390a"; | |
392 | + reg = <0x30>; | |
393 | + }; | |
394 | + | |
395 | + cape_eeprom0: cape_eeprom@57 { | |
396 | + compatible = "at,24c256"; | |
397 | + reg = <0x57>; | |
398 | + }; | |
399 | + | |
400 | + codec: sgtl5000@0a { | |
401 | + compatible = "fsl,sgtl5000"; | |
402 | + reg = <0x0a>; | |
403 | + pinctrl-names = "default"; | |
404 | + pinctrl-0 = <&pinctrl_sai1_mclk>; | |
405 | + VDDA-supply = <®_aud_3v3>; | |
406 | + VDDIO-supply = <®_vref_1v8>; | |
407 | + clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>; | |
408 | + clock-names = "mclk"; | |
409 | + }; | |
410 | +}; | |
411 | + | |
412 | +&i2c2 { | |
413 | + clock-frequency = <100000>; | |
414 | + pinctrl-names = "default", "gpio"; | |
415 | + pinctrl-0 = <&pinctrl_i2c2>; | |
416 | + pinctrl-1 = <&pinctrl_i2c2_gpio>; | |
417 | + scl-gpios = <&gpio4 10 GPIO_ACTIVE_HIGH>; | |
418 | + sda-gpios = <&gpio4 11 GPIO_ACTIVE_HIGH>; | |
419 | + status = "okay"; | |
420 | + | |
421 | + baseboard_eeprom: baseboard_eeprom@50 { | |
422 | + compatible = "at,24c256"; | |
423 | + reg = <0x50>; | |
424 | + }; | |
425 | +}; | |
426 | + | |
427 | +&i2c3 { | |
428 | + clock-frequency = <100000>; | |
429 | + pinctrl-names = "default", "gpio"; | |
430 | + pinctrl-0 = <&pinctrl_i2c3>; | |
431 | + pinctrl-1 = <&pinctrl_i2c3_gpio>; | |
432 | + scl-gpios = <&gpio4 12 GPIO_ACTIVE_HIGH>; | |
433 | + sda-gpios = <&gpio4 13 GPIO_ACTIVE_HIGH>; | |
434 | + status = "okay"; | |
435 | +}; | |
436 | + | |
437 | +&i2c4 { | |
438 | + clock-frequency = <100000>; | |
439 | + pinctrl-names = "default", "gpio"; | |
440 | + pinctrl-0 = <&pinctrl_i2c4>; | |
441 | + pinctrl-1 = <&pinctrl_i2c4_gpio>; | |
442 | + scl-gpios = <&gpio6 16 GPIO_ACTIVE_HIGH>; | |
443 | + sda-gpios = <&gpio6 17 GPIO_ACTIVE_HIGH>; | |
444 | + status = "okay"; | |
445 | + | |
446 | + ov5640_mipi: ov5640_mipi@3c { | |
447 | + compatible = "ovti,ov5640_mipi"; | |
448 | + reg = <0x3c>; | |
449 | + clocks = <&clks IMX7D_CLK_DUMMY>; | |
450 | + clock-names = "csi_mclk"; | |
451 | + csi_id = <0>; | |
452 | + pwn-gpios = <&gpio2 0 GPIO_ACTIVE_HIGH>; /* GPIO0 */ | |
453 | + AVDD-supply = <&vgen6_reg>; | |
454 | + mclk = <24000000>; | |
455 | + mclk_source = <0>; | |
456 | + port { | |
457 | + ov5640_mipi_ep: endpoint { | |
458 | + remote-endpoint = <&mipi_sensor_ep>; | |
459 | + }; | |
460 | + }; | |
461 | + }; | |
462 | +}; | |
463 | + | |
464 | +&lcdif { | |
465 | + pinctrl-names = "default"; | |
466 | + pinctrl-0 = <&pinctrl_lcdif>; | |
467 | + enable-gpios = <&gpio3 4 0>; /* Enable LCD_VDD_EN pin */ | |
468 | + display = <&display0>; | |
469 | + status = "okay"; | |
470 | + | |
471 | + display0: display@0 { | |
472 | + bits-per-pixel = <32>; | |
473 | + bus-width = <24>; | |
474 | + | |
475 | + display-timings { | |
476 | + native-mode = <&timing0>; | |
477 | + /*timing0: g070vw01 {*/ | |
478 | + timing0: timing0 { | |
479 | + clock-frequency = <33300000>; | |
480 | + hactive = <800>; | |
481 | + vactive = <480>; | |
482 | + hfront-porch = <64>; | |
483 | + hback-porch = <64>; | |
484 | + hsync-len = <128>; | |
485 | + vback-porch = <12>; | |
486 | + vfront-porch = <4>; | |
487 | + vsync-len = <12>; | |
488 | + hsync-active = <0>; | |
489 | + vsync-active = <0>; | |
490 | + de-active = <1>; | |
491 | + pixelclk-active = <0>; | |
492 | + }; | |
493 | + }; | |
494 | + }; | |
495 | +}; | |
496 | + | |
497 | +&pcie_phy{ | |
498 | + status = "okay"; | |
499 | +}; | |
500 | + | |
501 | +&pcie { | |
502 | + pinctrl-names = "default"; | |
503 | + reset-gpio = <&gpio2 28 GPIO_ACTIVE_LOW>; | |
504 | + status = "okay"; | |
505 | +}; | |
506 | + | |
507 | +&sai1 { | |
508 | + pinctrl-names = "default"; | |
509 | + pinctrl-0 = <&pinctrl_sai1>; | |
510 | + assigned-clocks = <&clks IMX7D_SAI1_ROOT_SRC>, | |
511 | + <&clks IMX7D_SAI1_ROOT_CLK>; | |
512 | + assigned-clock-parents = <&clks IMX7D_PLL_AUDIO_POST_DIV>; | |
513 | + assigned-clock-rates = <0>, <36864000>; | |
514 | + status = "okay"; | |
515 | +}; | |
516 | + | |
517 | +&sdma { | |
518 | + status = "okay"; | |
519 | +}; | |
520 | + | |
521 | +&pwm1 { | |
522 | + pinctrl-names = "default"; | |
523 | + pinctrl-0 = <&pinctrl_pwm1>; | |
524 | + status = "okay"; | |
525 | +}; | |
526 | + | |
527 | +&pwm2 { | |
528 | + pinctrl-names = "default"; | |
529 | + pinctrl-0 = <&pinctrl_pwm2>; | |
530 | + status = "okay"; | |
531 | +}; | |
532 | + | |
533 | +&iomuxc_lpsr { | |
534 | + pinctrl-names = "default"; | |
535 | + pinctrl-0 = <&pinctrl_hog_2 &pinctrl_usbotg2_pwr_2>; | |
536 | + | |
537 | + imx7d-smarcfimx7 { | |
538 | + pinctrl_hog_2: hoggrp-2 { | |
539 | + fsl,pins = < | |
540 | + MX7D_PAD_GPIO1_IO05__GPIO1_IO5 0x14 | |
541 | + >; | |
542 | + }; | |
543 | + | |
544 | + pinctrl_pwm1: pwm1grp { | |
545 | + fsl,pins = < | |
546 | + MX7D_PAD_GPIO1_IO01__PWM1_OUT 0x30 | |
547 | + >; | |
548 | + }; | |
549 | + | |
550 | + pinctrl_pwm2: pwm2grp { | |
551 | + fsl,pins = < | |
552 | + MX7D_PAD_GPIO1_IO02__PWM2_OUT 0x30 | |
553 | + >; | |
554 | + }; | |
555 | + | |
556 | + pinctrl_usbotg2_pwr_2: usbotg2-2 { | |
557 | + fsl,pins = < | |
558 | + MX7D_PAD_GPIO1_IO07__GPIO1_IO7 0x14 | |
559 | + >; | |
560 | + }; | |
561 | + | |
562 | + pinctrl_wdog: wdoggrp { | |
563 | + fsl,pins = < | |
564 | + MX7D_PAD_GPIO1_IO00__WDOD1_WDOG_B 0x74 | |
565 | + >; | |
566 | + }; | |
567 | + | |
568 | + pinctrl_enet2_epdc0_en: enet2_epdc0_grp { | |
569 | + fsl,pins = < | |
570 | + MX7D_PAD_GPIO1_IO04__GPIO1_IO4 0x80000000 | |
571 | + >; | |
572 | + }; | |
573 | + | |
574 | + pinctrl_sai3_mclk: sai3grp_mclk { | |
575 | + fsl,pins = < | |
576 | + MX7D_PAD_GPIO1_IO03__SAI3_MCLK 0x1f | |
577 | + >; | |
578 | + }; | |
579 | + }; | |
580 | +}; | |
581 | + | |
582 | +/* SER0/UART6 */ | |
583 | +&uart6 { | |
584 | + pinctrl-names = "default"; | |
585 | + pinctrl-0 = <&pinctrl_uart6>; | |
586 | + assigned-clocks = <&clks IMX7D_UART6_ROOT_SRC>; | |
587 | + assigned-clock-parents = <&clks IMX7D_PLL_SYS_MAIN_240M_CLK>; | |
588 | + fsl,uart-has-rtscts; | |
589 | + status = "okay"; | |
590 | +}; | |
591 | + | |
592 | +/* SER1/UART2 */ | |
593 | +&uart2 { | |
594 | + pinctrl-names = "default"; | |
595 | + pinctrl-0 = <&pinctrl_uart2>; | |
596 | + assigned-clocks = <&clks IMX7D_UART2_ROOT_SRC>; | |
597 | + assigned-clock-parents = <&clks IMX7D_OSC_24M_CLK>; | |
598 | + status = "okay"; | |
599 | +}; | |
600 | + | |
601 | +/* SER2/UART7 */ | |
602 | +&uart7 { | |
603 | + pinctrl-names = "default"; | |
604 | + pinctrl-0 = <&pinctrl_uart7>; | |
605 | + assigned-clocks = <&clks IMX7D_UART7_ROOT_SRC>; | |
606 | + assigned-clock-parents = <&clks IMX7D_OSC_24M_CLK>; | |
607 | + fsl,uart-has-rtscts; | |
608 | + status = "okay"; | |
609 | +}; | |
610 | + | |
611 | +/* SER3/UART3 */ | |
612 | +&uart3 { | |
613 | + pinctrl-names = "default"; | |
614 | + pinctrl-0 = <&pinctrl_uart3>; | |
615 | + assigned-clocks = <&clks IMX7D_UART3_ROOT_SRC>; | |
616 | + assigned-clock-parents = <&clks IMX7D_PLL_SYS_MAIN_240M_CLK>; | |
617 | + status = "okay"; | |
618 | +}; | |
619 | + | |
620 | +&usbotg1 { | |
621 | + vbus-supply = <®_usb_otg1_vbus>; | |
622 | + gpios = <&gpio1 4 2>; | |
623 | + srp-disable; | |
624 | + hnp-disable; | |
625 | + adp-disable; | |
626 | + status = "okay"; | |
627 | +}; | |
628 | + | |
629 | +&usbotg2 { | |
630 | + vbus-supply = <®_usb_otg2_vbus>; | |
631 | + gpios = <&gpio1 6 2>; | |
632 | + dr_mode = "host"; | |
633 | + status = "okay"; | |
634 | +}; | |
635 | + | |
636 | +&usdhc1 { | |
637 | + pinctrl-names = "default"; | |
638 | + pinctrl-0 = <&pinctrl_usdhc1>; | |
639 | + cd-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>; | |
640 | + wp-gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>; | |
641 | + no-1-8-v; | |
642 | + vmmc-supply = <®_sd1_vmmc>; | |
643 | + enable-sdio-wakeup; | |
644 | + keep-power-in-suspend; | |
645 | + status = "okay"; | |
646 | +}; | |
647 | + | |
648 | +&usdhc3 { | |
649 | + pinctrl-names = "default"; | |
650 | + pinctrl-0 = <&pinctrl_usdhc3>; | |
651 | + assigned-clocks = <&clks IMX7D_USDHC3_ROOT_CLK>; | |
652 | + assigned-clock-rates = <400000000>; | |
653 | + bus-width = <8>; | |
654 | + fsl,tuning-step = <2>; | |
655 | + non-removable; | |
656 | + status = "okay"; | |
657 | +}; | |
658 | + | |
659 | +&wdog1 { | |
660 | + pinctrl-names = "default"; | |
661 | + pinctrl-0 = <&pinctrl_wdog>; | |
662 | + fsl,ext-reset-output; | |
663 | +}; | |
664 | + | |
665 | +&iomuxc { | |
666 | + pinctrl-names = "default"; | |
667 | + pinctrl-0 = <&pinctrl_hog_1>; | |
668 | + | |
669 | + imx7d-smarcfimx7 { | |
670 | + | |
671 | + pinctrl_hog_1: hoggrp-1 { | |
672 | + fsl,pins = < | |
673 | + MX7D_PAD_SD2_CMD__GPIO5_IO13 0x80000000 /* lvds channel select */ | |
674 | + MX7D_PAD_EPDC_PWR_STAT__GPIO2_IO31 0x80000000 /* pcie_wake# */ | |
675 | + MX7D_PAD_EPDC_DATA00__GPIO2_IO0 0x80000000 /* GPIO0 */ | |
676 | + MX7D_PAD_EPDC_DATA01__GPIO2_IO1 0x80000000 /* GPIO1 */ | |
677 | + MX7D_PAD_EPDC_DATA02__GPIO2_IO2 0x80000000 /* GPIO2 */ | |
678 | + MX7D_PAD_EPDC_DATA03__GPIO2_IO3 0x80000000 /* GPIO3 */ | |
679 | + MX7D_PAD_EPDC_DATA04__GPIO2_IO4 0x80000000 /* GPIO4 */ | |
680 | + MX7D_PAD_EPDC_DATA05__GPIO2_IO5 0x80000000 /* GPIO6 */ | |
681 | + MX7D_PAD_EPDC_DATA07__GPIO2_IO7 0x80000000 /* GPIO7 */ | |
682 | + MX7D_PAD_EPDC_DATA06__GPIO2_IO6 0x80000000 /* GPIO8 */ | |
683 | + MX7D_PAD_UART1_TX_DATA__GPIO4_IO1 0x80000000 /* GPIO9 */ | |
684 | + MX7D_PAD_UART3_RTS_B__GPIO4_IO6 0x80000000 /* GPIO10 */ | |
685 | + MX7D_PAD_UART3_CTS_B__GPIO4_IO7 0x80000000 /* GPIO11 */ | |
686 | + MX7D_PAD_SD2_DATA0__GPIO5_IO14 0x80000000 /* SLEEP# */ | |
687 | + MX7D_PAD_GPIO1_IO09__GPIO1_IO9 0x80000000 /* CHARGER_PRSNT# */ | |
688 | + MX7D_PAD_GPIO1_IO08__GPIO1_IO8 0x80000000 /* CHARGING# */ | |
689 | + MX7D_PAD_SAI1_RX_SYNC__GPIO6_IO16 0x80000000 /* CARRIER_STBY# */ | |
690 | + MX7D_PAD_SD2_RESET_B__GPIO5_IO11 0x80000000 /* BATLOW# */ | |
691 | + MX7D_PAD_SD1_RESET_B__GPIO5_IO2 0x80000000 /* SDIO_PWR_EN */ | |
692 | + MX7D_PAD_LCD_RESET__GPIO3_IO4 0x80000000 /* LCD POWER */ | |
693 | + MX7D_PAD_EPDC_BDR1__GPIO2_IO29 0x80000000 /* RESET_OUT# */ | |
694 | + MX7D_PAD_ENET1_COL__GPIO7_IO15 0x80000000 /* ENET1_INT# */ | |
695 | + MX7D_PAD_ENET1_RX_CLK__GPIO7_IO13 0x80000000 /* ENET2_INT# */ | |
696 | + MX7D_PAD_ENET1_CRS__GPIO7_IO14 0x80000000 /* WDT_TIME_OUT# */ | |
697 | + MX7D_PAD_SD3_RESET_B__GPIO6_IO11 0x5d /* eMMC_Reset# */ | |
698 | + >; | |
699 | + }; | |
700 | + | |
701 | + pinctrl_ecspi1_cs: ecspi1_cs_grp { | |
702 | + fsl,pins = < | |
703 | + MX7D_PAD_ECSPI1_SS0__GPIO4_IO19 0x14 | |
704 | + MX7D_PAD_UART1_RX_DATA__GPIO4_IO0 0x14 | |
705 | + >; | |
706 | + }; | |
707 | + | |
708 | + pinctrl_ecspi1: ecspi1grp { | |
709 | + fsl,pins = < | |
710 | + MX7D_PAD_ECSPI1_MISO__ECSPI1_MISO 0x2 | |
711 | + MX7D_PAD_ECSPI1_MOSI__ECSPI1_MOSI 0x2 | |
712 | + MX7D_PAD_ECSPI1_SCLK__ECSPI1_SCLK 0x2 | |
713 | + >; | |
714 | + }; | |
715 | + | |
716 | + pinctrl_ecspi2_cs: ecspi2_cs_grp { | |
717 | + fsl,pins = < | |
718 | + MX7D_PAD_ECSPI2_SS0__GPIO4_IO23 0x14 | |
719 | + >; | |
720 | + }; | |
721 | + | |
722 | + pinctrl_ecspi2: ecspi2grp { | |
723 | + fsl,pins = < | |
724 | + MX7D_PAD_ECSPI2_MISO__ECSPI2_MISO 0x2 | |
725 | + MX7D_PAD_ECSPI2_MOSI__ECSPI2_MOSI 0x2 | |
726 | + MX7D_PAD_ECSPI2_SCLK__ECSPI2_SCLK 0x2 | |
727 | + >; | |
728 | + }; | |
729 | + | |
730 | + pinctrl_ecspi3_cs: ecspi3_cs_grp { | |
731 | + fsl,pins = < | |
732 | + MX7D_PAD_SAI2_TX_DATA__GPIO6_IO22 0x14 | |
733 | + MX7D_PAD_SD2_CD_B__GPIO5_IO9 0x14 | |
734 | + >; | |
735 | + }; | |
736 | + | |
737 | + pinctrl_ecspi3: ecspi3grp { | |
738 | + fsl,pins = < | |
739 | + MX7D_PAD_SAI2_TX_SYNC__ECSPI3_MISO 0x2 | |
740 | + MX7D_PAD_SAI2_TX_BCLK__ECSPI3_MOSI 0x2 | |
741 | + MX7D_PAD_SAI2_RX_DATA__ECSPI3_SCLK 0x2 | |
742 | + >; | |
743 | + }; | |
744 | + | |
745 | + pinctrl_enet1: enet1grp { | |
746 | + fsl,pins = < | |
747 | + MX7D_PAD_GPIO1_IO10__ENET1_MDIO 0x3 | |
748 | + MX7D_PAD_GPIO1_IO11__ENET1_MDC 0x3 | |
749 | + MX7D_PAD_ENET1_RGMII_TXC__ENET1_RGMII_TXC 0x1 | |
750 | + MX7D_PAD_ENET1_RGMII_TD0__ENET1_RGMII_TD0 0x1 | |
751 | + MX7D_PAD_ENET1_RGMII_TD1__ENET1_RGMII_TD1 0x1 | |
752 | + MX7D_PAD_ENET1_RGMII_TD2__ENET1_RGMII_TD2 0x1 | |
753 | + MX7D_PAD_ENET1_RGMII_TD3__ENET1_RGMII_TD3 0x1 | |
754 | + MX7D_PAD_ENET1_RGMII_TX_CTL__ENET1_RGMII_TX_CTL 0x1 | |
755 | + MX7D_PAD_ENET1_RGMII_RXC__ENET1_RGMII_RXC 0x1 | |
756 | + MX7D_PAD_ENET1_RGMII_RD0__ENET1_RGMII_RD0 0x1 | |
757 | + MX7D_PAD_ENET1_RGMII_RD1__ENET1_RGMII_RD1 0x1 | |
758 | + MX7D_PAD_ENET1_RGMII_RD2__ENET1_RGMII_RD2 0x1 | |
759 | + MX7D_PAD_ENET1_RGMII_RD3__ENET1_RGMII_RD3 0x1 | |
760 | + MX7D_PAD_ENET1_RGMII_RX_CTL__ENET1_RGMII_RX_CTL 0x1 | |
761 | + >; | |
762 | + }; | |
763 | + | |
764 | + pinctrl_enet2: enet2grp { | |
765 | + fsl,pins = < | |
766 | + MX7D_PAD_EPDC_GDSP__ENET2_RGMII_TXC 0x1 | |
767 | + MX7D_PAD_EPDC_SDCE2__ENET2_RGMII_TD0 0x1 | |
768 | + MX7D_PAD_EPDC_SDCE3__ENET2_RGMII_TD1 0x1 | |
769 | + MX7D_PAD_EPDC_GDCLK__ENET2_RGMII_TD2 0x1 | |
770 | + MX7D_PAD_EPDC_GDOE__ENET2_RGMII_TD3 0x1 | |
771 | + MX7D_PAD_EPDC_GDRL__ENET2_RGMII_TX_CTL 0x1 | |
772 | + MX7D_PAD_EPDC_SDCE1__ENET2_RGMII_RXC 0x1 | |
773 | + MX7D_PAD_EPDC_SDCLK__ENET2_RGMII_RD0 0x1 | |
774 | + MX7D_PAD_EPDC_SDLE__ENET2_RGMII_RD1 0x1 | |
775 | + MX7D_PAD_EPDC_SDOE__ENET2_RGMII_RD2 0x1 | |
776 | + MX7D_PAD_EPDC_SDSHR__ENET2_RGMII_RD3 0x1 | |
777 | + MX7D_PAD_EPDC_SDCE0__ENET2_RGMII_RX_CTL 0x1 | |
778 | + >; | |
779 | + }; | |
780 | + | |
781 | + pinctrl_epdc0: epdcgrp0 { | |
782 | + fsl,pins = < | |
783 | + MX7D_PAD_EPDC_DATA00__EPDC_DATA0 0x2 | |
784 | + MX7D_PAD_EPDC_DATA01__EPDC_DATA1 0x2 | |
785 | + MX7D_PAD_EPDC_DATA02__EPDC_DATA2 0x2 | |
786 | + MX7D_PAD_EPDC_DATA03__EPDC_DATA3 0x2 | |
787 | + MX7D_PAD_EPDC_DATA04__EPDC_DATA4 0x2 | |
788 | + MX7D_PAD_EPDC_DATA05__EPDC_DATA5 0x2 | |
789 | + MX7D_PAD_EPDC_DATA06__EPDC_DATA6 0x2 | |
790 | + MX7D_PAD_EPDC_DATA07__EPDC_DATA7 0x2 | |
791 | + MX7D_PAD_EPDC_DATA08__EPDC_DATA8 0x2 | |
792 | + MX7D_PAD_EPDC_DATA09__EPDC_DATA9 0x2 | |
793 | + MX7D_PAD_EPDC_DATA10__EPDC_DATA10 0x2 | |
794 | + MX7D_PAD_EPDC_DATA11__EPDC_DATA11 0x2 | |
795 | + MX7D_PAD_EPDC_DATA12__EPDC_DATA12 0x2 | |
796 | + MX7D_PAD_EPDC_DATA13__EPDC_DATA13 0x2 | |
797 | + MX7D_PAD_EPDC_DATA14__EPDC_DATA14 0x2 | |
798 | + MX7D_PAD_EPDC_DATA15__EPDC_DATA15 0x2 | |
799 | + MX7D_PAD_EPDC_SDCLK__EPDC_SDCLK 0x2 | |
800 | + MX7D_PAD_EPDC_SDLE__EPDC_SDLE 0x2 | |
801 | + MX7D_PAD_EPDC_SDOE__EPDC_SDOE 0x2 | |
802 | + MX7D_PAD_EPDC_SDSHR__EPDC_SDSHR 0x2 | |
803 | + MX7D_PAD_EPDC_SDCE0__EPDC_SDCE0 0x2 | |
804 | + MX7D_PAD_EPDC_SDCE1__EPDC_SDCE1 0x2 | |
805 | + MX7D_PAD_EPDC_GDCLK__EPDC_GDCLK 0x2 | |
806 | + MX7D_PAD_EPDC_GDOE__EPDC_GDOE 0x2 | |
807 | + MX7D_PAD_EPDC_GDRL__EPDC_GDRL 0x2 | |
808 | + MX7D_PAD_EPDC_GDSP__EPDC_GDSP 0x2 | |
809 | + >; | |
810 | + }; | |
811 | + | |
812 | + pinctrl_flexcan1: flexcan1grp { | |
813 | + fsl,pins = < | |
814 | + MX7D_PAD_GPIO1_IO12__FLEXCAN1_RX 0x59 | |
815 | + MX7D_PAD_GPIO1_IO13__FLEXCAN1_TX 0x59 | |
816 | + >; | |
817 | + }; | |
818 | + | |
819 | + pinctrl_flexcan2: flexcan2grp { | |
820 | + fsl,pins = < | |
821 | + MX7D_PAD_GPIO1_IO14__FLEXCAN2_RX 0x59 | |
822 | + MX7D_PAD_GPIO1_IO15__FLEXCAN2_TX 0x59 | |
823 | + >; | |
824 | + }; | |
825 | + | |
826 | + pinctrl_gpmi_nand_1: gpmi-nand-1 { | |
827 | + fsl,pins = < | |
828 | + MX7D_PAD_SD3_CLK__NAND_CLE 0x71 | |
829 | + MX7D_PAD_SD3_CMD__NAND_ALE 0x71 | |
830 | + MX7D_PAD_SAI1_MCLK__NAND_WP_B 0x71 | |
831 | + MX7D_PAD_SAI1_TX_BCLK__NAND_CE0_B 0x71 | |
832 | + MX7D_PAD_SAI1_RX_DATA__NAND_CE1_B 0x71 | |
833 | + MX7D_PAD_SAI1_TX_DATA__NAND_READY_B 0x74 | |
834 | + MX7D_PAD_SD3_STROBE__NAND_RE_B 0x71 | |
835 | + MX7D_PAD_SD3_RESET_B__NAND_WE_B 0x71 | |
836 | + MX7D_PAD_SD3_DATA0__NAND_DATA00 0x71 | |
837 | + MX7D_PAD_SD3_DATA1__NAND_DATA01 0x71 | |
838 | + MX7D_PAD_SD3_DATA2__NAND_DATA02 0x71 | |
839 | + MX7D_PAD_SD3_DATA3__NAND_DATA03 0x71 | |
840 | + MX7D_PAD_SD3_DATA4__NAND_DATA04 0x71 | |
841 | + MX7D_PAD_SD3_DATA5__NAND_DATA05 0x71 | |
842 | + MX7D_PAD_SD3_DATA6__NAND_DATA06 0x71 | |
843 | + MX7D_PAD_SD3_DATA7__NAND_DATA07 0x71 | |
844 | + >; | |
845 | + }; | |
846 | + | |
847 | + pinctrl_i2c1: i2c1grp { | |
848 | + fsl,pins = < | |
849 | + MX7D_PAD_I2C1_SDA__I2C1_SDA 0x4000007f | |
850 | + MX7D_PAD_I2C1_SCL__I2C1_SCL 0x4000007f | |
851 | + >; | |
852 | + }; | |
853 | + | |
854 | + pinctrl_i2c1_gpio: i2c1grp_gpio { | |
855 | + fsl,pins = < | |
856 | + MX7D_PAD_I2C1_SDA__GPIO4_IO9 0x7f | |
857 | + MX7D_PAD_I2C1_SCL__GPIO4_IO8 0x7f | |
858 | + >; | |
859 | + }; | |
860 | + | |
861 | + pinctrl_i2c2: i2c2grp { | |
862 | + fsl,pins = < | |
863 | + MX7D_PAD_I2C2_SDA__I2C2_SDA 0x4000007f | |
864 | + MX7D_PAD_I2C2_SCL__I2C2_SCL 0x4000007f | |
865 | + >; | |
866 | + }; | |
867 | + | |
868 | + pinctrl_i2c2_gpio: i2c2grp_gpio { | |
869 | + fsl,pins = < | |
870 | + MX7D_PAD_I2C2_SDA__GPIO4_IO11 0x7f | |
871 | + MX7D_PAD_I2C2_SCL__GPIO4_IO10 0x7f | |
872 | + >; | |
873 | + }; | |
874 | + | |
875 | + pinctrl_i2c3: i2c3grp { | |
876 | + fsl,pins = < | |
877 | + MX7D_PAD_I2C3_SDA__I2C3_SDA 0x4000007f | |
878 | + MX7D_PAD_I2C3_SCL__I2C3_SCL 0x4000007f | |
879 | + >; | |
880 | + }; | |
881 | + | |
882 | + pinctrl_i2c3_gpio: i2c3grp_gpio { | |
883 | + fsl,pins = < | |
884 | + MX7D_PAD_I2C3_SDA__GPIO4_IO13 0x7f | |
885 | + MX7D_PAD_I2C3_SCL__GPIO4_IO12 0x7f | |
886 | + >; | |
887 | + }; | |
888 | + | |
889 | + pinctrl_i2c4: i2c4grp { | |
890 | + fsl,pins = < | |
891 | + MX7D_PAD_SAI1_RX_BCLK__I2C4_SDA 0x4000007f | |
892 | + MX7D_PAD_SAI1_RX_SYNC__I2C4_SCL 0x4000007f | |
893 | + >; | |
894 | + }; | |
895 | + | |
896 | + pinctrl_i2c4_gpio: i2c4grp_gpio { | |
897 | + fsl,pins = < | |
898 | + MX7D_PAD_SAI1_RX_BCLK__GPIO6_IO17 0x7f | |
899 | + MX7D_PAD_SAI1_RX_SYNC__GPIO6_IO16 0x7f | |
900 | + >; | |
901 | + }; | |
902 | + | |
903 | + pinctrl_lcdif: lcdifgrp { | |
904 | + fsl,pins = < | |
905 | + MX7D_PAD_LCD_DATA00__LCD_DATA0 0x79 | |
906 | + MX7D_PAD_LCD_DATA01__LCD_DATA1 0x79 | |
907 | + MX7D_PAD_LCD_DATA02__LCD_DATA2 0x79 | |
908 | + MX7D_PAD_LCD_DATA03__LCD_DATA3 0x79 | |
909 | + MX7D_PAD_LCD_DATA04__LCD_DATA4 0x79 | |
910 | + MX7D_PAD_LCD_DATA05__LCD_DATA5 0x79 | |
911 | + MX7D_PAD_LCD_DATA06__LCD_DATA6 0x79 | |
912 | + MX7D_PAD_LCD_DATA07__LCD_DATA7 0x79 | |
913 | + MX7D_PAD_LCD_DATA08__LCD_DATA8 0x79 | |
914 | + MX7D_PAD_LCD_DATA09__LCD_DATA9 0x79 | |
915 | + MX7D_PAD_LCD_DATA10__LCD_DATA10 0x79 | |
916 | + MX7D_PAD_LCD_DATA11__LCD_DATA11 0x79 | |
917 | + MX7D_PAD_LCD_DATA12__LCD_DATA12 0x79 | |
918 | + MX7D_PAD_LCD_DATA13__LCD_DATA13 0x79 | |
919 | + MX7D_PAD_LCD_DATA14__LCD_DATA14 0x79 | |
920 | + MX7D_PAD_LCD_DATA15__LCD_DATA15 0x79 | |
921 | + MX7D_PAD_LCD_DATA16__LCD_DATA16 0x79 | |
922 | + MX7D_PAD_LCD_DATA17__LCD_DATA17 0x79 | |
923 | + MX7D_PAD_LCD_DATA18__LCD_DATA18 0x79 | |
924 | + MX7D_PAD_LCD_DATA19__LCD_DATA19 0x79 | |
925 | + MX7D_PAD_LCD_DATA20__LCD_DATA20 0x79 | |
926 | + MX7D_PAD_LCD_DATA21__LCD_DATA21 0x79 | |
927 | + MX7D_PAD_LCD_DATA22__LCD_DATA22 0x79 | |
928 | + MX7D_PAD_LCD_DATA23__LCD_DATA23 0x79 | |
929 | + MX7D_PAD_LCD_CLK__LCD_CLK 0x79 | |
930 | + MX7D_PAD_LCD_ENABLE__LCD_ENABLE 0x79 | |
931 | + MX7D_PAD_LCD_VSYNC__LCD_VSYNC 0x79 | |
932 | + MX7D_PAD_LCD_HSYNC__LCD_HSYNC 0x79 | |
933 | + >; | |
934 | + }; | |
935 | + | |
936 | + pinctrl_sai1: sai1grp { | |
937 | + fsl,pins = < | |
938 | + MX7D_PAD_SAI1_TX_BCLK__SAI1_TX_BCLK 0x1f | |
939 | + MX7D_PAD_SAI1_TX_SYNC__SAI1_TX_SYNC 0x1f | |
940 | + MX7D_PAD_SAI1_TX_DATA__SAI1_TX_DATA0 0x30 | |
941 | + MX7D_PAD_SAI1_RX_DATA__SAI1_RX_DATA0 0x1f | |
942 | + >; | |
943 | + }; | |
944 | + | |
945 | + pinctrl_sai1_mclk: sai1grp_mclk { | |
946 | + fsl,pins = < | |
947 | + MX7D_PAD_SAI1_MCLK__SAI1_MCLK 0x1f | |
948 | + >; | |
949 | + }; | |
950 | + | |
951 | + pinctrl_sai2: sai2grp { | |
952 | + fsl,pins = < | |
953 | + MX7D_PAD_SAI2_TX_BCLK__SAI2_TX_BCLK 0x1f | |
954 | + MX7D_PAD_SAI2_TX_SYNC__SAI2_TX_SYNC 0x1f | |
955 | + MX7D_PAD_SAI2_TX_DATA__SAI2_TX_DATA0 0x30 | |
956 | + MX7D_PAD_SAI2_RX_DATA__SAI2_RX_DATA0 0x1f | |
957 | + >; | |
958 | + }; | |
959 | + | |
960 | + pinctrl_sai3: sai3grp { | |
961 | + fsl,pins = < | |
962 | + MX7D_PAD_UART3_TX_DATA__SAI3_TX_BCLK 0x1f | |
963 | + MX7D_PAD_UART3_CTS_B__SAI3_TX_SYNC 0x1f | |
964 | + MX7D_PAD_UART3_RTS_B__SAI3_TX_DATA0 0x30 | |
965 | + >; | |
966 | + }; | |
967 | + | |
968 | + pinctrl_uart1: uart1grp { | |
969 | + fsl,pins = < | |
970 | + MX7D_PAD_UART1_TX_DATA__UART1_DCE_TX 0x79 | |
971 | + MX7D_PAD_UART1_RX_DATA__UART1_DCE_RX 0x79 | |
972 | + >; | |
973 | + }; | |
974 | + | |
975 | + pinctrl_uart2: uart2grp { | |
976 | + fsl,pins = < | |
977 | + MX7D_PAD_UART2_RX_DATA__UART2_DCE_RX 0x79 | |
978 | + MX7D_PAD_UART2_TX_DATA__UART2_DCE_TX 0x79 | |
979 | + >; | |
980 | + }; | |
981 | + | |
982 | + pinctrl_uart3: uart3grp { | |
983 | + fsl,pins = < | |
984 | + MX7D_PAD_UART3_RX_DATA__UART3_DCE_RX 0x79 | |
985 | + MX7D_PAD_UART3_TX_DATA__UART3_DCE_TX 0x79 | |
986 | + >; | |
987 | + }; | |
988 | + | |
989 | + pinctrl_uart5: uart5grp { | |
990 | + fsl,pins = < | |
991 | + MX7D_PAD_SAI1_TX_BCLK__UART5_DCE_TX 0x79 | |
992 | + MX7D_PAD_SAI1_RX_DATA__UART5_DCE_RX 0x79 | |
993 | + >; | |
994 | + }; | |
995 | + | |
996 | + pinctrl_uart5dte: uart5dtegrp { | |
997 | + fsl,pins = < | |
998 | + MX7D_PAD_SAI1_TX_BCLK__UART5_DTE_RX 0x79 | |
999 | + MX7D_PAD_SAI1_RX_DATA__UART5_DTE_TX 0x79 | |
1000 | + >; | |
1001 | + }; | |
1002 | + | |
1003 | + pinctrl_uart6: uart6grp { | |
1004 | + fsl,pins = < | |
1005 | + MX7D_PAD_EPDC_DATA09__UART6_DCE_TX 0x79 | |
1006 | + MX7D_PAD_EPDC_DATA08__UART6_DCE_RX 0x79 | |
1007 | + MX7D_PAD_EPDC_DATA10__UART6_DTE_CTS 0x79 | |
1008 | + MX7D_PAD_EPDC_DATA11__UART6_DTE_RTS 0x79 | |
1009 | + >; | |
1010 | + }; | |
1011 | + | |
1012 | + pinctrl_uart7: uart7grp { | |
1013 | + fsl,pins = < | |
1014 | + MX7D_PAD_EPDC_DATA13__UART7_DCE_TX 0x79 | |
1015 | + MX7D_PAD_EPDC_DATA12__UART7_DCE_RX 0x79 | |
1016 | + MX7D_PAD_EPDC_DATA14__UART7_DTE_CTS 0x79 | |
1017 | + MX7D_PAD_EPDC_DATA15__UART7_DTE_RTS 0x79 | |
1018 | + >; | |
1019 | + }; | |
1020 | + | |
1021 | + pinctrl_usdhc1_gpio: usdhc1_gpiogrp { | |
1022 | + fsl,pins = < | |
1023 | + MX7D_PAD_SD1_CD_B__GPIO5_IO0 0x59 /* CD */ | |
1024 | + MX7D_PAD_SD1_WP__GPIO5_IO1 0x59 /* WP */ | |
1025 | + >; | |
1026 | + }; | |
1027 | + | |
1028 | + pinctrl_usbotg2_pwr_1: usbotg2-1 { | |
1029 | + fsl,pins = < | |
1030 | + MX7D_PAD_UART3_CTS_B__GPIO4_IO7 0x14 | |
1031 | + >; | |
1032 | + }; | |
1033 | + | |
1034 | + pinctrl_usdhc1: usdhc1grp { | |
1035 | + fsl,pins = < | |
1036 | + MX7D_PAD_SD1_CMD__SD1_CMD 0x59 | |
1037 | + MX7D_PAD_SD1_CLK__SD1_CLK 0x19 | |
1038 | + MX7D_PAD_SD1_DATA0__SD1_DATA0 0x59 | |
1039 | + MX7D_PAD_SD1_DATA1__SD1_DATA1 0x59 | |
1040 | + MX7D_PAD_SD1_DATA2__SD1_DATA2 0x59 | |
1041 | + MX7D_PAD_SD1_DATA3__SD1_DATA3 0x59 | |
1042 | + | |
1043 | + >; | |
1044 | + }; | |
1045 | + | |
1046 | + pinctrl_usdhc1_100mhz: usdhc1grp_100mhz { | |
1047 | + fsl,pins = < | |
1048 | + MX7D_PAD_SD1_CMD__SD1_CMD 0x5a | |
1049 | + MX7D_PAD_SD1_CLK__SD1_CLK 0x1a | |
1050 | + MX7D_PAD_SD1_DATA0__SD1_DATA0 0x5a | |
1051 | + MX7D_PAD_SD1_DATA1__SD1_DATA1 0x5a | |
1052 | + MX7D_PAD_SD1_DATA2__SD1_DATA2 0x5a | |
1053 | + MX7D_PAD_SD1_DATA3__SD1_DATA3 0x5a | |
1054 | + >; | |
1055 | + }; | |
1056 | + | |
1057 | + pinctrl_usdhc1_200mhz: usdhc1grp_200mhz { | |
1058 | + fsl,pins = < | |
1059 | + MX7D_PAD_SD1_CMD__SD1_CMD 0x5b | |
1060 | + MX7D_PAD_SD1_CLK__SD1_CLK 0x1b | |
1061 | + MX7D_PAD_SD1_DATA0__SD1_DATA0 0x5b | |
1062 | + MX7D_PAD_SD1_DATA1__SD1_DATA1 0x5b | |
1063 | + MX7D_PAD_SD1_DATA2__SD1_DATA2 0x5b | |
1064 | + MX7D_PAD_SD1_DATA3__SD1_DATA3 0x5b | |
1065 | + >; | |
1066 | + }; | |
1067 | + | |
1068 | + pinctrl_usdhc2: usdhc2grp { | |
1069 | + fsl,pins = < | |
1070 | + MX7D_PAD_SD2_CMD__SD2_CMD 0x59 | |
1071 | + MX7D_PAD_SD2_CLK__SD2_CLK 0x19 | |
1072 | + MX7D_PAD_SD2_DATA0__SD2_DATA0 0x59 | |
1073 | + MX7D_PAD_SD2_DATA1__SD2_DATA1 0x59 | |
1074 | + MX7D_PAD_SD2_DATA2__SD2_DATA2 0x59 | |
1075 | + MX7D_PAD_SD2_DATA3__SD2_DATA3 0x59 | |
1076 | + MX7D_PAD_ECSPI2_MOSI__GPIO4_IO21 0x19 /* WL_REG_ON */ | |
1077 | + MX7D_PAD_ECSPI2_SCLK__GPIO4_IO20 0x19 /* WL_HOST_WAKE */ | |
1078 | + >; | |
1079 | + }; | |
1080 | + | |
1081 | + pinctrl_usdhc2_100mhz: usdhc2grp_100mhz { | |
1082 | + fsl,pins = < | |
1083 | + MX7D_PAD_SD2_CMD__SD2_CMD 0x5a | |
1084 | + MX7D_PAD_SD2_CLK__SD2_CLK 0x1a | |
1085 | + MX7D_PAD_SD2_DATA0__SD2_DATA0 0x5a | |
1086 | + MX7D_PAD_SD2_DATA1__SD2_DATA1 0x5a | |
1087 | + MX7D_PAD_SD2_DATA2__SD2_DATA2 0x5a | |
1088 | + MX7D_PAD_SD2_DATA3__SD2_DATA3 0x5a | |
1089 | + >; | |
1090 | + }; | |
1091 | + | |
1092 | + pinctrl_usdhc2_200mhz: usdhc2grp_200mhz { | |
1093 | + fsl,pins = < | |
1094 | + MX7D_PAD_SD2_CMD__SD2_CMD 0x5b | |
1095 | + MX7D_PAD_SD2_CLK__SD2_CLK 0x1b | |
1096 | + MX7D_PAD_SD2_DATA0__SD2_DATA0 0x5b | |
1097 | + MX7D_PAD_SD2_DATA1__SD2_DATA1 0x5b | |
1098 | + MX7D_PAD_SD2_DATA2__SD2_DATA2 0x5b | |
1099 | + MX7D_PAD_SD2_DATA3__SD2_DATA3 0x5b | |
1100 | + >; | |
1101 | + }; | |
1102 | + | |
1103 | + | |
1104 | + pinctrl_usdhc3: usdhc3grp { | |
1105 | + fsl,pins = < | |
1106 | + MX7D_PAD_SD3_CMD__SD3_CMD 0x59 | |
1107 | + MX7D_PAD_SD3_CLK__SD3_CLK 0x19 | |
1108 | + MX7D_PAD_SD3_DATA0__SD3_DATA0 0x59 | |
1109 | + MX7D_PAD_SD3_DATA1__SD3_DATA1 0x59 | |
1110 | + MX7D_PAD_SD3_DATA2__SD3_DATA2 0x59 | |
1111 | + MX7D_PAD_SD3_DATA3__SD3_DATA3 0x59 | |
1112 | + MX7D_PAD_SD3_DATA4__SD3_DATA4 0x59 | |
1113 | + MX7D_PAD_SD3_DATA5__SD3_DATA5 0x59 | |
1114 | + MX7D_PAD_SD3_DATA6__SD3_DATA6 0x59 | |
1115 | + MX7D_PAD_SD3_DATA7__SD3_DATA7 0x59 | |
1116 | + MX7D_PAD_SD3_STROBE__SD3_STROBE 0x19 | |
1117 | + >; | |
1118 | + }; | |
1119 | + | |
1120 | + pinctrl_usdhc3_100mhz: usdhc3grp_100mhz { | |
1121 | + fsl,pins = < | |
1122 | + MX7D_PAD_SD3_CMD__SD3_CMD 0x5a | |
1123 | + MX7D_PAD_SD3_CLK__SD3_CLK 0x1a | |
1124 | + MX7D_PAD_SD3_DATA0__SD3_DATA0 0x5a | |
1125 | + MX7D_PAD_SD3_DATA1__SD3_DATA1 0x5a | |
1126 | + MX7D_PAD_SD3_DATA2__SD3_DATA2 0x5a | |
1127 | + MX7D_PAD_SD3_DATA3__SD3_DATA3 0x5a | |
1128 | + MX7D_PAD_SD3_DATA4__SD3_DATA4 0x5a | |
1129 | + MX7D_PAD_SD3_DATA5__SD3_DATA5 0x5a | |
1130 | + MX7D_PAD_SD3_DATA6__SD3_DATA6 0x5a | |
1131 | + MX7D_PAD_SD3_DATA7__SD3_DATA7 0x5a | |
1132 | + MX7D_PAD_SD3_STROBE__SD3_STROBE 0x1a | |
1133 | + >; | |
1134 | + }; | |
1135 | + | |
1136 | + pinctrl_usdhc3_200mhz: usdhc3grp_200mhz { | |
1137 | + fsl,pins = < | |
1138 | + MX7D_PAD_SD3_CMD__SD3_CMD 0x5b | |
1139 | + MX7D_PAD_SD3_CLK__SD3_CLK 0x1b | |
1140 | + MX7D_PAD_SD3_DATA0__SD3_DATA0 0x5b | |
1141 | + MX7D_PAD_SD3_DATA1__SD3_DATA1 0x5b | |
1142 | + MX7D_PAD_SD3_DATA2__SD3_DATA2 0x5b | |
1143 | + MX7D_PAD_SD3_DATA3__SD3_DATA3 0x5b | |
1144 | + MX7D_PAD_SD3_DATA4__SD3_DATA4 0x5b | |
1145 | + MX7D_PAD_SD3_DATA5__SD3_DATA5 0x5b | |
1146 | + MX7D_PAD_SD3_DATA6__SD3_DATA6 0x5b | |
1147 | + MX7D_PAD_SD3_DATA7__SD3_DATA7 0x5b | |
1148 | + MX7D_PAD_SD3_STROBE__SD3_STROBE 0x1b | |
1149 | + >; | |
1150 | + }; | |
1151 | + | |
1152 | + }; | |
1153 | +}; |
arch/arm/dts/imx7s-smarcfimx7.dts
1 | +/* | |
2 | + * Copyright 2017 NXP | |
3 | + * | |
4 | + * SPDX-License-Identifier: GPL-2.0+ | |
5 | + */ | |
6 | + | |
7 | +/dts-v1/; | |
8 | + | |
9 | +#include "imx7s.dtsi" | |
10 | + | |
11 | +/ { | |
12 | + model = "Embedian i.MX7S SMARC 2.0 Module"; | |
13 | + compatible = "fsl,imx7s-smarcfimx7", "fsl,imx7s"; | |
14 | + | |
15 | + memory { | |
16 | + reg = <0x80000000 0x20000000>; | |
17 | + }; | |
18 | + | |
19 | + regulators { | |
20 | + compatible = "simple-bus"; | |
21 | + #address-cells = <1>; | |
22 | + #size-cells = <0>; | |
23 | + | |
24 | + reg_usb_otg1_vbus: regulator@0 { | |
25 | + compatible = "regulator-fixed"; | |
26 | + reg = <0>; | |
27 | + regulator-name = "usb_otg1_vbus"; | |
28 | + regulator-min-microvolt = <5000000>; | |
29 | + regulator-max-microvolt = <5000000>; | |
30 | + gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>; | |
31 | + enable-active-high; | |
32 | + }; | |
33 | + | |
34 | + reg_sd1_vmmc: regulator@3 { | |
35 | + compatible = "regulator-fixed"; | |
36 | + regulator-name = "VDD_SD1"; | |
37 | + regulator-min-microvolt = <3300000>; | |
38 | + regulator-max-microvolt = <3300000>; | |
39 | + startup-delay-us = <70000>; | |
40 | + off-on-delay = <20000>; | |
41 | + enable-active-high; | |
42 | + }; | |
43 | + | |
44 | + reg_aud_3v3: regulator@4 { | |
45 | + compatible = "regulator-fixed"; | |
46 | + reg = <4>; | |
47 | + regulator-name = "aud-3v3"; | |
48 | + regulator-min-microvolt = <3300000>; | |
49 | + regulator-max-microvolt = <3300000>; | |
50 | + }; | |
51 | + | |
52 | + reg_vref_1v8: regulator@5 { | |
53 | + compatible = "regulator-fixed"; | |
54 | + reg = <5>; | |
55 | + regulator-name = "vref-1v8"; | |
56 | + regulator-min-microvolt = <1800000>; | |
57 | + regulator-max-microvolt = <1800000>; | |
58 | + }; | |
59 | + }; | |
60 | + | |
61 | + backlight { | |
62 | + compatible = "pwm-backlight"; | |
63 | + enable-gpios = <&gpio6 17 GPIO_ACTIVE_HIGH>; /* Backlight Enable Pin*/ | |
64 | + pwms = <&pwm2 0 5000000>; | |
65 | + brightness-levels = <0 4 8 16 32 64 128 255>; | |
66 | + default-brightness-level = <7>; | |
67 | + status = "okay"; | |
68 | + }; | |
69 | + | |
70 | + sound { | |
71 | + compatible = "fsl,imx7d-smarcfimx7-sgtl5000", | |
72 | + "fsl,imx-audio-sgtl5000"; | |
73 | + model = "sgtl5000-audio"; | |
74 | + cpu-dai = <&sai1>; | |
75 | + audio-codec = <&codec>; | |
76 | + codec-master; | |
77 | + audio-routing = | |
78 | + "LINE_IN", "Line In Jack", | |
79 | + "MIC_IN", "Mic Jack", | |
80 | + "Mic Jack", "Mic Bias", | |
81 | + "Headphone Jack", "HP_OUT"; | |
82 | + }; | |
83 | +}; | |
84 | + | |
85 | +&cpu0 { | |
86 | + arm-supply = <&sw1a_reg>; | |
87 | +}; | |
88 | + | |
89 | +/* SPI0 */ | |
90 | +&ecspi1 { | |
91 | + fsl,spi-num-chipselects = <2>; | |
92 | + cs-gpios = <&gpio4 19 GPIO_ACTIVE_HIGH>, <&gpio4 0 GPIO_ACTIVE_HIGH>; | |
93 | + pinctrl-names = "default"; | |
94 | + pinctrl-0 = <&pinctrl_ecspi1 &pinctrl_ecspi1_cs>; | |
95 | + dmas = <&sdma 36 4 0>, <&sdma 37 4 0>; | |
96 | + dma-names = "rx", "tx"; | |
97 | + status = "okay"; | |
98 | + | |
99 | + spidev1: spidev@0 { | |
100 | + compatible = "spidev"; | |
101 | + spi-max-frequency = <24000000>; | |
102 | + reg = <0>; | |
103 | + }; | |
104 | + spidev2: spidev@1 { | |
105 | + compatible = "spidev"; | |
106 | + spi-max-frequency = <24000000>; | |
107 | + reg = <1>; | |
108 | + }; | |
109 | +}; | |
110 | + | |
111 | +/* SPINOR */ | |
112 | +&ecspi2 { | |
113 | + fsl,spi-num-chipselects = <1>; | |
114 | + pinctrl-names = "default"; | |
115 | + pinctrl-0 = <&pinctrl_ecspi2 &pinctrl_ecspi2_cs>; | |
116 | + cs-gpios = <&gpio4 23 GPIO_ACTIVE_HIGH>; | |
117 | + dmas = <&sdma 38 4 0>, <&sdma 39 4 0>; | |
118 | + dma-names = "rx", "tx"; | |
119 | + status = "okay"; | |
120 | + | |
121 | + flash: mx25u3235f@0 { | |
122 | + #address-cells = <1>; | |
123 | + #size-cells = <1>; | |
124 | + compatible = "macronix,mx25u3235f", "jedec,spi-nor"; | |
125 | + spi-max-frequency = <24000000>; | |
126 | + reg = <0>; | |
127 | + partition@0 { | |
128 | + label = "U-Boot"; | |
129 | + reg = <0x0 0x100000>; | |
130 | + }; | |
131 | + | |
132 | + partition@100000 { | |
133 | + label = "U-Boot Environment"; | |
134 | + reg = <0x100000 0x080000>; | |
135 | + }; | |
136 | + | |
137 | + partition@180000 { | |
138 | + label = "Flattened Device Tree"; | |
139 | + reg = <0x180000 0x200000>; | |
140 | + }; | |
141 | + | |
142 | + }; | |
143 | +}; | |
144 | + | |
145 | +/* ECSPI */ | |
146 | +&ecspi3 { | |
147 | + fsl,spi-num-chipselects = <2>; | |
148 | + pinctrl-names = "default"; | |
149 | + pinctrl-0 = <&pinctrl_ecspi3 &pinctrl_ecspi3_cs>; | |
150 | + cs-gpios = <&gpio6 22 GPIO_ACTIVE_HIGH>, <&gpio5 9 GPIO_ACTIVE_HIGH>; | |
151 | + dmas = <&sdma 40 4 0>, <&sdma 41 4 0>; | |
152 | + dma-names = "rx", "tx"; | |
153 | + status = "okay"; | |
154 | + | |
155 | + spidev3: spidev@0 { | |
156 | + compatible = "spidev"; | |
157 | + spi-max-frequency = <24000000>; | |
158 | + reg = <0>; | |
159 | + }; | |
160 | + spidev4: spidev@4 { | |
161 | + compatible = "spidev"; | |
162 | + spi-max-frequency = <24000000>; | |
163 | + reg = <1>; | |
164 | + }; | |
165 | +}; | |
166 | + | |
167 | +&clks { | |
168 | + assigned-clocks = <&clks IMX7D_PLL_AUDIO_POST_DIV>; | |
169 | + assigned-clock-rates = <884736000>; | |
170 | +}; | |
171 | + | |
172 | +&fec1 { | |
173 | + pinctrl-names = "default"; | |
174 | + pinctrl-0 = <&pinctrl_enet1>; | |
175 | + assigned-clocks = <&clks IMX7D_ENET_PHY_REF_ROOT_SRC>, | |
176 | + <&clks IMX7D_ENET_AXI_ROOT_SRC>, | |
177 | + <&clks IMX7D_ENET1_TIME_ROOT_SRC>, | |
178 | + <&clks IMX7D_ENET1_TIME_ROOT_CLK>, | |
179 | + <&clks IMX7D_ENET_AXI_ROOT_CLK>; | |
180 | + assigned-clock-parents = <&clks IMX7D_PLL_ENET_MAIN_25M_CLK>, | |
181 | + <&clks IMX7D_PLL_ENET_MAIN_250M_CLK>, | |
182 | + <&clks IMX7D_PLL_ENET_MAIN_100M_CLK>; | |
183 | + assigned-clock-rates = <0>, <0>, <0>, <100000000>, <250000000>; | |
184 | + phy-mode = "rgmii"; | |
185 | + phy-handle = <ðphy0>; | |
186 | + fsl,magic-packet; | |
187 | + status = "okay"; | |
188 | + | |
189 | + mdio { | |
190 | + #address-cells = <1>; | |
191 | + #size-cells = <0>; | |
192 | + | |
193 | + ethphy0: ethernet-phy@6 { | |
194 | + compatible = "ethernet-phy-ieee802.3-c22"; | |
195 | + reg = <0>; | |
196 | + }; | |
197 | + }; | |
198 | +}; | |
199 | + | |
200 | +&flexcan1 { | |
201 | + pinctrl-names = "default"; | |
202 | + pinctrl-0 = <&pinctrl_flexcan1>; | |
203 | + xceiver-supply = <®_vref_1v8>; | |
204 | + status = "okay"; | |
205 | +}; | |
206 | + | |
207 | +&flexcan2 { | |
208 | + pinctrl-names = "default"; | |
209 | + pinctrl-0 = <&pinctrl_flexcan2>; | |
210 | + xceiver-supply = <®_vref_1v8>; | |
211 | + status = "okay"; | |
212 | +}; | |
213 | + | |
214 | +&i2c1 { | |
215 | + clock-frequency = <100000>; | |
216 | + pinctrl-names = "default", "gpio"; | |
217 | + pinctrl-0 = <&pinctrl_i2c1>; | |
218 | + pinctrl-1 = <&pinctrl_i2c1_gpio>; | |
219 | + scl-gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>; | |
220 | + sda-gpios = <&gpio4 9 GPIO_ACTIVE_HIGH>; | |
221 | + status = "okay"; | |
222 | + | |
223 | + pmic: pfuze3000@08 { | |
224 | + compatible = "fsl,pfuze3000"; | |
225 | + reg = <0x08>; | |
226 | + | |
227 | + regulators { | |
228 | + sw1a_reg: sw1a { | |
229 | + regulator-min-microvolt = <700000>; | |
230 | + regulator-max-microvolt = <3300000>; | |
231 | + regulator-boot-on; | |
232 | + regulator-always-on; | |
233 | + regulator-ramp-delay = <6250>; | |
234 | + }; | |
235 | + | |
236 | + /* use sw1c_reg to align with pfuze100/pfuze200 */ | |
237 | + sw1c_reg: sw1b { | |
238 | + regulator-min-microvolt = <700000>; | |
239 | + regulator-max-microvolt = <1475000>; | |
240 | + regulator-boot-on; | |
241 | + regulator-always-on; | |
242 | + regulator-ramp-delay = <6250>; | |
243 | + }; | |
244 | + | |
245 | + sw2_reg: sw2 { | |
246 | + regulator-min-microvolt = <1500000>; | |
247 | + regulator-max-microvolt = <1850000>; | |
248 | + regulator-boot-on; | |
249 | + regulator-always-on; | |
250 | + }; | |
251 | + | |
252 | + sw3a_reg: sw3 { | |
253 | + regulator-min-microvolt = <900000>; | |
254 | + regulator-max-microvolt = <1650000>; | |
255 | + regulator-boot-on; | |
256 | + regulator-always-on; | |
257 | + }; | |
258 | + | |
259 | + swbst_reg: swbst { | |
260 | + regulator-min-microvolt = <5000000>; | |
261 | + regulator-max-microvolt = <5150000>; | |
262 | + }; | |
263 | + | |
264 | + snvs_reg: vsnvs { | |
265 | + regulator-min-microvolt = <1000000>; | |
266 | + regulator-max-microvolt = <3000000>; | |
267 | + regulator-boot-on; | |
268 | + regulator-always-on; | |
269 | + }; | |
270 | + | |
271 | + vref_reg: vrefddr { | |
272 | + regulator-boot-on; | |
273 | + regulator-always-on; | |
274 | + }; | |
275 | + | |
276 | + vgen1_reg: vldo1 { | |
277 | + regulator-min-microvolt = <1800000>; | |
278 | + regulator-max-microvolt = <3300000>; | |
279 | + regulator-always-on; | |
280 | + }; | |
281 | + | |
282 | + vgen2_reg: vldo2 { | |
283 | + regulator-min-microvolt = <800000>; | |
284 | + regulator-max-microvolt = <1550000>; | |
285 | + regulator-always-on; | |
286 | + }; | |
287 | + | |
288 | + vgen3_reg: vccsd { | |
289 | + regulator-min-microvolt = <2850000>; | |
290 | + regulator-max-microvolt = <3300000>; | |
291 | + regulator-always-on; | |
292 | + }; | |
293 | + | |
294 | + vgen4_reg: v33 { | |
295 | + regulator-min-microvolt = <2850000>; | |
296 | + regulator-max-microvolt = <3300000>; | |
297 | + regulator-always-on; | |
298 | + }; | |
299 | + | |
300 | + vgen5_reg: vldo3 { | |
301 | + regulator-min-microvolt = <1800000>; | |
302 | + regulator-max-microvolt = <3300000>; | |
303 | + regulator-always-on; | |
304 | + }; | |
305 | + | |
306 | + vgen6_reg: vldo4 { | |
307 | + regulator-min-microvolt = <1800000>; | |
308 | + regulator-max-microvolt = <3300000>; | |
309 | + regulator-always-on; | |
310 | + }; | |
311 | + }; | |
312 | + }; | |
313 | + | |
314 | + s35390a: s35390a@30 { | |
315 | + compatible = "s35390a"; | |
316 | + reg = <0x30>; | |
317 | + }; | |
318 | + | |
319 | + cape_eeprom0: cape_eeprom@57 { | |
320 | + compatible = "at,24c256"; | |
321 | + reg = <0x57>; | |
322 | + }; | |
323 | + | |
324 | + codec: sgtl5000@0a { | |
325 | + compatible = "fsl,sgtl5000"; | |
326 | + reg = <0x0a>; | |
327 | + pinctrl-names = "default"; | |
328 | + pinctrl-0 = <&pinctrl_sai1_mclk>; | |
329 | + VDDA-supply = <®_aud_3v3>; | |
330 | + VDDIO-supply = <®_vref_1v8>; | |
331 | + clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>; | |
332 | + clock-names = "mclk"; | |
333 | + }; | |
334 | +}; | |
335 | + | |
336 | +&i2c2 { | |
337 | + clock-frequency = <100000>; | |
338 | + pinctrl-names = "default", "gpio"; | |
339 | + pinctrl-0 = <&pinctrl_i2c2>; | |
340 | + pinctrl-1 = <&pinctrl_i2c2_gpio>; | |
341 | + scl-gpios = <&gpio4 10 GPIO_ACTIVE_HIGH>; | |
342 | + sda-gpios = <&gpio4 11 GPIO_ACTIVE_HIGH>; | |
343 | + status = "okay"; | |
344 | + | |
345 | + baseboard_eeprom: baseboard_eeprom@50 { | |
346 | + compatible = "at,24c256"; | |
347 | + reg = <0x50>; | |
348 | + }; | |
349 | +}; | |
350 | + | |
351 | +&i2c3 { | |
352 | + clock-frequency = <100000>; | |
353 | + pinctrl-names = "default", "gpio"; | |
354 | + pinctrl-0 = <&pinctrl_i2c3>; | |
355 | + pinctrl-1 = <&pinctrl_i2c3_gpio>; | |
356 | + scl-gpios = <&gpio4 12 GPIO_ACTIVE_HIGH>; | |
357 | + sda-gpios = <&gpio4 13 GPIO_ACTIVE_HIGH>; | |
358 | + status = "okay"; | |
359 | +}; | |
360 | + | |
361 | +&i2c4 { | |
362 | + clock-frequency = <100000>; | |
363 | + pinctrl-names = "default", "gpio"; | |
364 | + pinctrl-0 = <&pinctrl_i2c4>; | |
365 | + pinctrl-1 = <&pinctrl_i2c4_gpio>; | |
366 | + scl-gpios = <&gpio6 16 GPIO_ACTIVE_HIGH>; | |
367 | + sda-gpios = <&gpio6 17 GPIO_ACTIVE_HIGH>; | |
368 | + status = "okay"; | |
369 | +}; | |
370 | + | |
371 | +&lcdif { | |
372 | + pinctrl-names = "default"; | |
373 | + pinctrl-0 = <&pinctrl_lcdif>; | |
374 | + enable-gpios = <&gpio3 4 0>; /* Enable LCD_VDD_EN pin */ | |
375 | + display = <&display0>; | |
376 | + status = "okay"; | |
377 | + | |
378 | + display0: display@0 { | |
379 | + bits-per-pixel = <32>; | |
380 | + bus-width = <24>; | |
381 | + | |
382 | + display-timings { | |
383 | + native-mode = <&timing0>; | |
384 | + /*timing0: g070vw01 {*/ | |
385 | + timing0: timing0 { | |
386 | + clock-frequency = <33300000>; | |
387 | + hactive = <800>; | |
388 | + vactive = <480>; | |
389 | + hfront-porch = <64>; | |
390 | + hback-porch = <64>; | |
391 | + hsync-len = <128>; | |
392 | + vback-porch = <12>; | |
393 | + vfront-porch = <4>; | |
394 | + vsync-len = <12>; | |
395 | + hsync-active = <0>; | |
396 | + vsync-active = <0>; | |
397 | + de-active = <1>; | |
398 | + pixelclk-active = <0>; | |
399 | + }; | |
400 | + }; | |
401 | + }; | |
402 | +}; | |
403 | + | |
404 | +&sai1 { | |
405 | + pinctrl-names = "default"; | |
406 | + pinctrl-0 = <&pinctrl_sai1>; | |
407 | + assigned-clocks = <&clks IMX7D_SAI1_ROOT_SRC>, | |
408 | + <&clks IMX7D_SAI1_ROOT_CLK>; | |
409 | + assigned-clock-parents = <&clks IMX7D_PLL_AUDIO_POST_DIV>; | |
410 | + assigned-clock-rates = <0>, <36864000>; | |
411 | + status = "okay"; | |
412 | +}; | |
413 | + | |
414 | +&sdma { | |
415 | + status = "okay"; | |
416 | +}; | |
417 | + | |
418 | +&pwm1 { | |
419 | + pinctrl-names = "default"; | |
420 | + pinctrl-0 = <&pinctrl_pwm1>; | |
421 | + status = "okay"; | |
422 | +}; | |
423 | + | |
424 | +&pwm2 { | |
425 | + pinctrl-names = "default"; | |
426 | + pinctrl-0 = <&pinctrl_pwm2>; | |
427 | + status = "okay"; | |
428 | +}; | |
429 | + | |
430 | +&iomuxc_lpsr { | |
431 | + pinctrl-names = "default"; | |
432 | + pinctrl-0 = <&pinctrl_hog_2>; | |
433 | + | |
434 | + imx7d-smarcfimx7 { | |
435 | + pinctrl_hog_2: hoggrp-2 { | |
436 | + fsl,pins = < | |
437 | + MX7D_PAD_GPIO1_IO05__GPIO1_IO5 0x14 | |
438 | + >; | |
439 | + }; | |
440 | + | |
441 | + pinctrl_pwm1: pwm1grp { | |
442 | + fsl,pins = < | |
443 | + MX7D_PAD_GPIO1_IO01__PWM1_OUT 0x30 | |
444 | + >; | |
445 | + }; | |
446 | + | |
447 | + pinctrl_pwm2: pwm2grp { | |
448 | + fsl,pins = < | |
449 | + MX7D_PAD_GPIO1_IO02__PWM2_OUT 0x30 | |
450 | + >; | |
451 | + }; | |
452 | + | |
453 | + pinctrl_wdog: wdoggrp { | |
454 | + fsl,pins = < | |
455 | + MX7D_PAD_GPIO1_IO00__WDOD1_WDOG_B 0x74 | |
456 | + >; | |
457 | + }; | |
458 | + | |
459 | + pinctrl_sai3_mclk: sai3grp_mclk { | |
460 | + fsl,pins = < | |
461 | + MX7D_PAD_GPIO1_IO03__SAI3_MCLK 0x1f | |
462 | + >; | |
463 | + }; | |
464 | + }; | |
465 | +}; | |
466 | + | |
467 | +/* SER0/UART6 */ | |
468 | +&uart6 { | |
469 | + pinctrl-names = "default"; | |
470 | + pinctrl-0 = <&pinctrl_uart6>; | |
471 | + assigned-clocks = <&clks IMX7D_UART6_ROOT_SRC>; | |
472 | + assigned-clock-parents = <&clks IMX7D_PLL_SYS_MAIN_240M_CLK>; | |
473 | + fsl,uart-has-rtscts; | |
474 | + status = "okay"; | |
475 | +}; | |
476 | + | |
477 | +/* SER1/UART2 */ | |
478 | +&uart2 { | |
479 | + pinctrl-names = "default"; | |
480 | + pinctrl-0 = <&pinctrl_uart2>; | |
481 | + assigned-clocks = <&clks IMX7D_UART2_ROOT_SRC>; | |
482 | + assigned-clock-parents = <&clks IMX7D_OSC_24M_CLK>; | |
483 | + status = "okay"; | |
484 | +}; | |
485 | + | |
486 | +/* SER2/UART7 */ | |
487 | +&uart7 { | |
488 | + pinctrl-names = "default"; | |
489 | + pinctrl-0 = <&pinctrl_uart7>; | |
490 | + assigned-clocks = <&clks IMX7D_UART7_ROOT_SRC>; | |
491 | + assigned-clock-parents = <&clks IMX7D_OSC_24M_CLK>; | |
492 | + fsl,uart-has-rtscts; | |
493 | + status = "okay"; | |
494 | +}; | |
495 | + | |
496 | +/* SER3/UART3 */ | |
497 | +&uart3 { | |
498 | + pinctrl-names = "default"; | |
499 | + pinctrl-0 = <&pinctrl_uart3>; | |
500 | + assigned-clocks = <&clks IMX7D_UART3_ROOT_SRC>; | |
501 | + assigned-clock-parents = <&clks IMX7D_PLL_SYS_MAIN_240M_CLK>; | |
502 | + status = "okay"; | |
503 | +}; | |
504 | + | |
505 | +&usbotg1 { | |
506 | + vbus-supply = <®_usb_otg1_vbus>; | |
507 | + gpios = <&gpio1 4 2>; | |
508 | + srp-disable; | |
509 | + hnp-disable; | |
510 | + adp-disable; | |
511 | + status = "okay"; | |
512 | +}; | |
513 | + | |
514 | +&usdhc1 { | |
515 | + pinctrl-names = "default"; | |
516 | + pinctrl-0 = <&pinctrl_usdhc1>; | |
517 | + cd-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>; | |
518 | + wp-gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>; | |
519 | + no-1-8-v; | |
520 | + vmmc-supply = <®_sd1_vmmc>; | |
521 | + enable-sdio-wakeup; | |
522 | + keep-power-in-suspend; | |
523 | + status = "okay"; | |
524 | +}; | |
525 | + | |
526 | +&usdhc3 { | |
527 | + pinctrl-names = "default"; | |
528 | + pinctrl-0 = <&pinctrl_usdhc3>; | |
529 | + assigned-clocks = <&clks IMX7D_USDHC3_ROOT_CLK>; | |
530 | + assigned-clock-rates = <400000000>; | |
531 | + bus-width = <8>; | |
532 | + fsl,tuning-step = <2>; | |
533 | + non-removable; | |
534 | + status = "okay"; | |
535 | +}; | |
536 | + | |
537 | +&wdog1 { | |
538 | + pinctrl-names = "default"; | |
539 | + pinctrl-0 = <&pinctrl_wdog>; | |
540 | + fsl,ext-reset-output; | |
541 | +}; | |
542 | + | |
543 | +&iomuxc { | |
544 | + pinctrl-names = "default"; | |
545 | + pinctrl-0 = <&pinctrl_hog_1>; | |
546 | + | |
547 | + imx7d-smarcfimx7 { | |
548 | + | |
549 | + pinctrl_hog_1: hoggrp-1 { | |
550 | + fsl,pins = < | |
551 | + MX7D_PAD_SD2_CMD__GPIO5_IO13 0x80000000 /* lvds channel select */ | |
552 | + MX7D_PAD_EPDC_PWR_STAT__GPIO2_IO31 0x80000000 /* pcie_wake# */ | |
553 | + MX7D_PAD_EPDC_DATA00__GPIO2_IO0 0x80000000 /* GPIO0 */ | |
554 | + MX7D_PAD_EPDC_DATA01__GPIO2_IO1 0x80000000 /* GPIO1 */ | |
555 | + MX7D_PAD_EPDC_DATA02__GPIO2_IO2 0x80000000 /* GPIO2 */ | |
556 | + MX7D_PAD_EPDC_DATA03__GPIO2_IO3 0x80000000 /* GPIO3 */ | |
557 | + MX7D_PAD_EPDC_DATA04__GPIO2_IO4 0x80000000 /* GPIO4 */ | |
558 | + MX7D_PAD_EPDC_DATA05__GPIO2_IO5 0x80000000 /* GPIO6 */ | |
559 | + MX7D_PAD_EPDC_DATA07__GPIO2_IO7 0x80000000 /* GPIO7 */ | |
560 | + MX7D_PAD_EPDC_DATA06__GPIO2_IO6 0x80000000 /* GPIO8 */ | |
561 | + MX7D_PAD_UART1_TX_DATA__GPIO4_IO1 0x80000000 /* GPIO9 */ | |
562 | + MX7D_PAD_UART3_RTS_B__GPIO4_IO6 0x80000000 /* GPIO10 */ | |
563 | + MX7D_PAD_UART3_CTS_B__GPIO4_IO7 0x80000000 /* GPIO11 */ | |
564 | + MX7D_PAD_SD2_DATA0__GPIO5_IO14 0x80000000 /* SLEEP# */ | |
565 | + MX7D_PAD_GPIO1_IO09__GPIO1_IO9 0x80000000 /* CHARGER_PRSNT# */ | |
566 | + MX7D_PAD_GPIO1_IO08__GPIO1_IO8 0x80000000 /* CHARGING# */ | |
567 | + MX7D_PAD_SAI1_RX_SYNC__GPIO6_IO16 0x80000000 /* CARRIER_STBY# */ | |
568 | + MX7D_PAD_SD2_RESET_B__GPIO5_IO11 0x80000000 /* BATLOW# */ | |
569 | + MX7D_PAD_SD1_RESET_B__GPIO5_IO2 0x80000000 /* SDIO_PWR_EN */ | |
570 | + MX7D_PAD_LCD_RESET__GPIO3_IO4 0x80000000 /* LCD POWER */ | |
571 | + MX7D_PAD_EPDC_BDR1__GPIO2_IO29 0x80000000 /* RESET_OUT# */ | |
572 | + MX7D_PAD_ENET1_COL__GPIO7_IO15 0x80000000 /* ENET1_INT# */ | |
573 | + MX7D_PAD_ENET1_RX_CLK__GPIO7_IO13 0x80000000 /* ENET2_INT# */ | |
574 | + MX7D_PAD_ENET1_CRS__GPIO7_IO14 0x80000000 /* WDT_TIME_OUT# */ | |
575 | + MX7D_PAD_SD3_RESET_B__GPIO6_IO11 0x5d /* eMMC_Reset# */ | |
576 | + >; | |
577 | + }; | |
578 | + | |
579 | + pinctrl_ecspi1_cs: ecspi1_cs_grp { | |
580 | + fsl,pins = < | |
581 | + MX7D_PAD_ECSPI1_SS0__GPIO4_IO19 0x14 | |
582 | + MX7D_PAD_UART1_RX_DATA__GPIO4_IO0 0x14 | |
583 | + >; | |
584 | + }; | |
585 | + | |
586 | + pinctrl_ecspi1: ecspi1grp { | |
587 | + fsl,pins = < | |
588 | + MX7D_PAD_ECSPI1_MISO__ECSPI1_MISO 0x2 | |
589 | + MX7D_PAD_ECSPI1_MOSI__ECSPI1_MOSI 0x2 | |
590 | + MX7D_PAD_ECSPI1_SCLK__ECSPI1_SCLK 0x2 | |
591 | + >; | |
592 | + }; | |
593 | + | |
594 | + pinctrl_ecspi2_cs: ecspi2_cs_grp { | |
595 | + fsl,pins = < | |
596 | + MX7D_PAD_ECSPI2_SS0__GPIO4_IO23 0x14 | |
597 | + >; | |
598 | + }; | |
599 | + | |
600 | + pinctrl_ecspi2: ecspi2grp { | |
601 | + fsl,pins = < | |
602 | + MX7D_PAD_ECSPI2_MISO__ECSPI2_MISO 0x2 | |
603 | + MX7D_PAD_ECSPI2_MOSI__ECSPI2_MOSI 0x2 | |
604 | + MX7D_PAD_ECSPI2_SCLK__ECSPI2_SCLK 0x2 | |
605 | + >; | |
606 | + }; | |
607 | + | |
608 | + pinctrl_ecspi3_cs: ecspi3_cs_grp { | |
609 | + fsl,pins = < | |
610 | + MX7D_PAD_SAI2_TX_DATA__GPIO6_IO22 0x14 | |
611 | + MX7D_PAD_SD2_CD_B__GPIO5_IO9 0x14 | |
612 | + >; | |
613 | + }; | |
614 | + | |
615 | + pinctrl_ecspi3: ecspi3grp { | |
616 | + fsl,pins = < | |
617 | + MX7D_PAD_SAI2_TX_SYNC__ECSPI3_MISO 0x2 | |
618 | + MX7D_PAD_SAI2_TX_BCLK__ECSPI3_MOSI 0x2 | |
619 | + MX7D_PAD_SAI2_RX_DATA__ECSPI3_SCLK 0x2 | |
620 | + >; | |
621 | + }; | |
622 | + | |
623 | + pinctrl_enet1: enet1grp { | |
624 | + fsl,pins = < | |
625 | + MX7D_PAD_GPIO1_IO10__ENET1_MDIO 0x3 | |
626 | + MX7D_PAD_GPIO1_IO11__ENET1_MDC 0x3 | |
627 | + MX7D_PAD_ENET1_RGMII_TXC__ENET1_RGMII_TXC 0x1 | |
628 | + MX7D_PAD_ENET1_RGMII_TD0__ENET1_RGMII_TD0 0x1 | |
629 | + MX7D_PAD_ENET1_RGMII_TD1__ENET1_RGMII_TD1 0x1 | |
630 | + MX7D_PAD_ENET1_RGMII_TD2__ENET1_RGMII_TD2 0x1 | |
631 | + MX7D_PAD_ENET1_RGMII_TD3__ENET1_RGMII_TD3 0x1 | |
632 | + MX7D_PAD_ENET1_RGMII_TX_CTL__ENET1_RGMII_TX_CTL 0x1 | |
633 | + MX7D_PAD_ENET1_RGMII_RXC__ENET1_RGMII_RXC 0x1 | |
634 | + MX7D_PAD_ENET1_RGMII_RD0__ENET1_RGMII_RD0 0x1 | |
635 | + MX7D_PAD_ENET1_RGMII_RD1__ENET1_RGMII_RD1 0x1 | |
636 | + MX7D_PAD_ENET1_RGMII_RD2__ENET1_RGMII_RD2 0x1 | |
637 | + MX7D_PAD_ENET1_RGMII_RD3__ENET1_RGMII_RD3 0x1 | |
638 | + MX7D_PAD_ENET1_RGMII_RX_CTL__ENET1_RGMII_RX_CTL 0x1 | |
639 | + >; | |
640 | + }; | |
641 | + | |
642 | + pinctrl_flexcan1: flexcan1grp { | |
643 | + fsl,pins = < | |
644 | + MX7D_PAD_GPIO1_IO12__FLEXCAN1_RX 0x59 | |
645 | + MX7D_PAD_GPIO1_IO13__FLEXCAN1_TX 0x59 | |
646 | + >; | |
647 | + }; | |
648 | + | |
649 | + pinctrl_flexcan2: flexcan2grp { | |
650 | + fsl,pins = < | |
651 | + MX7D_PAD_GPIO1_IO14__FLEXCAN2_RX 0x59 | |
652 | + MX7D_PAD_GPIO1_IO15__FLEXCAN2_TX 0x59 | |
653 | + >; | |
654 | + }; | |
655 | + | |
656 | + pinctrl_gpmi_nand_1: gpmi-nand-1 { | |
657 | + fsl,pins = < | |
658 | + MX7D_PAD_SD3_CLK__NAND_CLE 0x71 | |
659 | + MX7D_PAD_SD3_CMD__NAND_ALE 0x71 | |
660 | + MX7D_PAD_SAI1_MCLK__NAND_WP_B 0x71 | |
661 | + MX7D_PAD_SAI1_TX_BCLK__NAND_CE0_B 0x71 | |
662 | + MX7D_PAD_SAI1_RX_DATA__NAND_CE1_B 0x71 | |
663 | + MX7D_PAD_SAI1_TX_DATA__NAND_READY_B 0x74 | |
664 | + MX7D_PAD_SD3_STROBE__NAND_RE_B 0x71 | |
665 | + MX7D_PAD_SD3_RESET_B__NAND_WE_B 0x71 | |
666 | + MX7D_PAD_SD3_DATA0__NAND_DATA00 0x71 | |
667 | + MX7D_PAD_SD3_DATA1__NAND_DATA01 0x71 | |
668 | + MX7D_PAD_SD3_DATA2__NAND_DATA02 0x71 | |
669 | + MX7D_PAD_SD3_DATA3__NAND_DATA03 0x71 | |
670 | + MX7D_PAD_SD3_DATA4__NAND_DATA04 0x71 | |
671 | + MX7D_PAD_SD3_DATA5__NAND_DATA05 0x71 | |
672 | + MX7D_PAD_SD3_DATA6__NAND_DATA06 0x71 | |
673 | + MX7D_PAD_SD3_DATA7__NAND_DATA07 0x71 | |
674 | + >; | |
675 | + }; | |
676 | + | |
677 | + pinctrl_i2c1: i2c1grp { | |
678 | + fsl,pins = < | |
679 | + MX7D_PAD_I2C1_SDA__I2C1_SDA 0x4000007f | |
680 | + MX7D_PAD_I2C1_SCL__I2C1_SCL 0x4000007f | |
681 | + >; | |
682 | + }; | |
683 | + | |
684 | + pinctrl_i2c1_gpio: i2c1grp_gpio { | |
685 | + fsl,pins = < | |
686 | + MX7D_PAD_I2C1_SDA__GPIO4_IO9 0x7f | |
687 | + MX7D_PAD_I2C1_SCL__GPIO4_IO8 0x7f | |
688 | + >; | |
689 | + }; | |
690 | + | |
691 | + pinctrl_i2c2: i2c2grp { | |
692 | + fsl,pins = < | |
693 | + MX7D_PAD_I2C2_SDA__I2C2_SDA 0x4000007f | |
694 | + MX7D_PAD_I2C2_SCL__I2C2_SCL 0x4000007f | |
695 | + >; | |
696 | + }; | |
697 | + | |
698 | + pinctrl_i2c2_gpio: i2c2grp_gpio { | |
699 | + fsl,pins = < | |
700 | + MX7D_PAD_I2C2_SDA__GPIO4_IO11 0x7f | |
701 | + MX7D_PAD_I2C2_SCL__GPIO4_IO10 0x7f | |
702 | + >; | |
703 | + }; | |
704 | + | |
705 | + pinctrl_i2c3: i2c3grp { | |
706 | + fsl,pins = < | |
707 | + MX7D_PAD_I2C3_SDA__I2C3_SDA 0x4000007f | |
708 | + MX7D_PAD_I2C3_SCL__I2C3_SCL 0x4000007f | |
709 | + >; | |
710 | + }; | |
711 | + | |
712 | + pinctrl_i2c3_gpio: i2c3grp_gpio { | |
713 | + fsl,pins = < | |
714 | + MX7D_PAD_I2C3_SDA__GPIO4_IO13 0x7f | |
715 | + MX7D_PAD_I2C3_SCL__GPIO4_IO12 0x7f | |
716 | + >; | |
717 | + }; | |
718 | + | |
719 | + pinctrl_i2c4: i2c4grp { | |
720 | + fsl,pins = < | |
721 | + MX7D_PAD_SAI1_RX_BCLK__I2C4_SDA 0x4000007f | |
722 | + MX7D_PAD_SAI1_RX_SYNC__I2C4_SCL 0x4000007f | |
723 | + >; | |
724 | + }; | |
725 | + | |
726 | + pinctrl_i2c4_gpio: i2c4grp_gpio { | |
727 | + fsl,pins = < | |
728 | + MX7D_PAD_SAI1_RX_BCLK__GPIO6_IO17 0x7f | |
729 | + MX7D_PAD_SAI1_RX_SYNC__GPIO6_IO16 0x7f | |
730 | + >; | |
731 | + }; | |
732 | + | |
733 | + pinctrl_lcdif: lcdifgrp { | |
734 | + fsl,pins = < | |
735 | + MX7D_PAD_LCD_DATA00__LCD_DATA0 0x79 | |
736 | + MX7D_PAD_LCD_DATA01__LCD_DATA1 0x79 | |
737 | + MX7D_PAD_LCD_DATA02__LCD_DATA2 0x79 | |
738 | + MX7D_PAD_LCD_DATA03__LCD_DATA3 0x79 | |
739 | + MX7D_PAD_LCD_DATA04__LCD_DATA4 0x79 | |
740 | + MX7D_PAD_LCD_DATA05__LCD_DATA5 0x79 | |
741 | + MX7D_PAD_LCD_DATA06__LCD_DATA6 0x79 | |
742 | + MX7D_PAD_LCD_DATA07__LCD_DATA7 0x79 | |
743 | + MX7D_PAD_LCD_DATA08__LCD_DATA8 0x79 | |
744 | + MX7D_PAD_LCD_DATA09__LCD_DATA9 0x79 | |
745 | + MX7D_PAD_LCD_DATA10__LCD_DATA10 0x79 | |
746 | + MX7D_PAD_LCD_DATA11__LCD_DATA11 0x79 | |
747 | + MX7D_PAD_LCD_DATA12__LCD_DATA12 0x79 | |
748 | + MX7D_PAD_LCD_DATA13__LCD_DATA13 0x79 | |
749 | + MX7D_PAD_LCD_DATA14__LCD_DATA14 0x79 | |
750 | + MX7D_PAD_LCD_DATA15__LCD_DATA15 0x79 | |
751 | + MX7D_PAD_LCD_DATA16__LCD_DATA16 0x79 | |
752 | + MX7D_PAD_LCD_DATA17__LCD_DATA17 0x79 | |
753 | + MX7D_PAD_LCD_DATA18__LCD_DATA18 0x79 | |
754 | + MX7D_PAD_LCD_DATA19__LCD_DATA19 0x79 | |
755 | + MX7D_PAD_LCD_DATA20__LCD_DATA20 0x79 | |
756 | + MX7D_PAD_LCD_DATA21__LCD_DATA21 0x79 | |
757 | + MX7D_PAD_LCD_DATA22__LCD_DATA22 0x79 | |
758 | + MX7D_PAD_LCD_DATA23__LCD_DATA23 0x79 | |
759 | + MX7D_PAD_LCD_CLK__LCD_CLK 0x79 | |
760 | + MX7D_PAD_LCD_ENABLE__LCD_ENABLE 0x79 | |
761 | + MX7D_PAD_LCD_VSYNC__LCD_VSYNC 0x79 | |
762 | + MX7D_PAD_LCD_HSYNC__LCD_HSYNC 0x79 | |
763 | + >; | |
764 | + }; | |
765 | + | |
766 | + pinctrl_sai1: sai1grp { | |
767 | + fsl,pins = < | |
768 | + MX7D_PAD_SAI1_TX_BCLK__SAI1_TX_BCLK 0x1f | |
769 | + MX7D_PAD_SAI1_TX_SYNC__SAI1_TX_SYNC 0x1f | |
770 | + MX7D_PAD_SAI1_TX_DATA__SAI1_TX_DATA0 0x30 | |
771 | + MX7D_PAD_SAI1_RX_DATA__SAI1_RX_DATA0 0x1f | |
772 | + >; | |
773 | + }; | |
774 | + | |
775 | + pinctrl_sai1_mclk: sai1grp_mclk { | |
776 | + fsl,pins = < | |
777 | + MX7D_PAD_SAI1_MCLK__SAI1_MCLK 0x1f | |
778 | + >; | |
779 | + }; | |
780 | + | |
781 | + pinctrl_sai2: sai2grp { | |
782 | + fsl,pins = < | |
783 | + MX7D_PAD_SAI2_TX_BCLK__SAI2_TX_BCLK 0x1f | |
784 | + MX7D_PAD_SAI2_TX_SYNC__SAI2_TX_SYNC 0x1f | |
785 | + MX7D_PAD_SAI2_TX_DATA__SAI2_TX_DATA0 0x30 | |
786 | + MX7D_PAD_SAI2_RX_DATA__SAI2_RX_DATA0 0x1f | |
787 | + >; | |
788 | + }; | |
789 | + | |
790 | + pinctrl_sai3: sai3grp { | |
791 | + fsl,pins = < | |
792 | + MX7D_PAD_UART3_TX_DATA__SAI3_TX_BCLK 0x1f | |
793 | + MX7D_PAD_UART3_CTS_B__SAI3_TX_SYNC 0x1f | |
794 | + MX7D_PAD_UART3_RTS_B__SAI3_TX_DATA0 0x30 | |
795 | + >; | |
796 | + }; | |
797 | + | |
798 | + pinctrl_uart1: uart1grp { | |
799 | + fsl,pins = < | |
800 | + MX7D_PAD_UART1_TX_DATA__UART1_DCE_TX 0x79 | |
801 | + MX7D_PAD_UART1_RX_DATA__UART1_DCE_RX 0x79 | |
802 | + >; | |
803 | + }; | |
804 | + | |
805 | + pinctrl_uart2: uart2grp { | |
806 | + fsl,pins = < | |
807 | + MX7D_PAD_UART2_RX_DATA__UART2_DCE_RX 0x79 | |
808 | + MX7D_PAD_UART2_TX_DATA__UART2_DCE_TX 0x79 | |
809 | + >; | |
810 | + }; | |
811 | + | |
812 | + pinctrl_uart3: uart3grp { | |
813 | + fsl,pins = < | |
814 | + MX7D_PAD_UART3_RX_DATA__UART3_DCE_RX 0x79 | |
815 | + MX7D_PAD_UART3_TX_DATA__UART3_DCE_TX 0x79 | |
816 | + >; | |
817 | + }; | |
818 | + | |
819 | + pinctrl_uart5: uart5grp { | |
820 | + fsl,pins = < | |
821 | + MX7D_PAD_SAI1_TX_BCLK__UART5_DCE_TX 0x79 | |
822 | + MX7D_PAD_SAI1_RX_DATA__UART5_DCE_RX 0x79 | |
823 | + >; | |
824 | + }; | |
825 | + | |
826 | + pinctrl_uart5dte: uart5dtegrp { | |
827 | + fsl,pins = < | |
828 | + MX7D_PAD_SAI1_TX_BCLK__UART5_DTE_RX 0x79 | |
829 | + MX7D_PAD_SAI1_RX_DATA__UART5_DTE_TX 0x79 | |
830 | + >; | |
831 | + }; | |
832 | + | |
833 | + pinctrl_uart6: uart6grp { | |
834 | + fsl,pins = < | |
835 | + MX7D_PAD_EPDC_DATA09__UART6_DCE_TX 0x79 | |
836 | + MX7D_PAD_EPDC_DATA08__UART6_DCE_RX 0x79 | |
837 | + MX7D_PAD_EPDC_DATA10__UART6_DTE_CTS 0x79 | |
838 | + MX7D_PAD_EPDC_DATA11__UART6_DTE_RTS 0x79 | |
839 | + >; | |
840 | + }; | |
841 | + | |
842 | + pinctrl_uart7: uart7grp { | |
843 | + fsl,pins = < | |
844 | + MX7D_PAD_EPDC_DATA13__UART7_DCE_TX 0x79 | |
845 | + MX7D_PAD_EPDC_DATA12__UART7_DCE_RX 0x79 | |
846 | + MX7D_PAD_EPDC_DATA14__UART7_DTE_CTS 0x79 | |
847 | + MX7D_PAD_EPDC_DATA15__UART7_DTE_RTS 0x79 | |
848 | + >; | |
849 | + }; | |
850 | + | |
851 | + pinctrl_usdhc1_gpio: usdhc1_gpiogrp { | |
852 | + fsl,pins = < | |
853 | + MX7D_PAD_SD1_CD_B__GPIO5_IO0 0x59 /* CD */ | |
854 | + MX7D_PAD_SD1_WP__GPIO5_IO1 0x59 /* WP */ | |
855 | + >; | |
856 | + }; | |
857 | + | |
858 | + pinctrl_usdhc1: usdhc1grp { | |
859 | + fsl,pins = < | |
860 | + MX7D_PAD_SD1_CMD__SD1_CMD 0x59 | |
861 | + MX7D_PAD_SD1_CLK__SD1_CLK 0x19 | |
862 | + MX7D_PAD_SD1_DATA0__SD1_DATA0 0x59 | |
863 | + MX7D_PAD_SD1_DATA1__SD1_DATA1 0x59 | |
864 | + MX7D_PAD_SD1_DATA2__SD1_DATA2 0x59 | |
865 | + MX7D_PAD_SD1_DATA3__SD1_DATA3 0x59 | |
866 | + | |
867 | + >; | |
868 | + }; | |
869 | + | |
870 | + pinctrl_usdhc1_100mhz: usdhc1grp_100mhz { | |
871 | + fsl,pins = < | |
872 | + MX7D_PAD_SD1_CMD__SD1_CMD 0x5a | |
873 | + MX7D_PAD_SD1_CLK__SD1_CLK 0x1a | |
874 | + MX7D_PAD_SD1_DATA0__SD1_DATA0 0x5a | |
875 | + MX7D_PAD_SD1_DATA1__SD1_DATA1 0x5a | |
876 | + MX7D_PAD_SD1_DATA2__SD1_DATA2 0x5a | |
877 | + MX7D_PAD_SD1_DATA3__SD1_DATA3 0x5a | |
878 | + >; | |
879 | + }; | |
880 | + | |
881 | + pinctrl_usdhc1_200mhz: usdhc1grp_200mhz { | |
882 | + fsl,pins = < | |
883 | + MX7D_PAD_SD1_CMD__SD1_CMD 0x5b | |
884 | + MX7D_PAD_SD1_CLK__SD1_CLK 0x1b | |
885 | + MX7D_PAD_SD1_DATA0__SD1_DATA0 0x5b | |
886 | + MX7D_PAD_SD1_DATA1__SD1_DATA1 0x5b | |
887 | + MX7D_PAD_SD1_DATA2__SD1_DATA2 0x5b | |
888 | + MX7D_PAD_SD1_DATA3__SD1_DATA3 0x5b | |
889 | + >; | |
890 | + }; | |
891 | + | |
892 | + pinctrl_usdhc2: usdhc2grp { | |
893 | + fsl,pins = < | |
894 | + MX7D_PAD_SD2_CMD__SD2_CMD 0x59 | |
895 | + MX7D_PAD_SD2_CLK__SD2_CLK 0x19 | |
896 | + MX7D_PAD_SD2_DATA0__SD2_DATA0 0x59 | |
897 | + MX7D_PAD_SD2_DATA1__SD2_DATA1 0x59 | |
898 | + MX7D_PAD_SD2_DATA2__SD2_DATA2 0x59 | |
899 | + MX7D_PAD_SD2_DATA3__SD2_DATA3 0x59 | |
900 | + MX7D_PAD_ECSPI2_MOSI__GPIO4_IO21 0x19 /* WL_REG_ON */ | |
901 | + MX7D_PAD_ECSPI2_SCLK__GPIO4_IO20 0x19 /* WL_HOST_WAKE */ | |
902 | + >; | |
903 | + }; | |
904 | + | |
905 | + pinctrl_usdhc2_100mhz: usdhc2grp_100mhz { | |
906 | + fsl,pins = < | |
907 | + MX7D_PAD_SD2_CMD__SD2_CMD 0x5a | |
908 | + MX7D_PAD_SD2_CLK__SD2_CLK 0x1a | |
909 | + MX7D_PAD_SD2_DATA0__SD2_DATA0 0x5a | |
910 | + MX7D_PAD_SD2_DATA1__SD2_DATA1 0x5a | |
911 | + MX7D_PAD_SD2_DATA2__SD2_DATA2 0x5a | |
912 | + MX7D_PAD_SD2_DATA3__SD2_DATA3 0x5a | |
913 | + >; | |
914 | + }; | |
915 | + | |
916 | + pinctrl_usdhc2_200mhz: usdhc2grp_200mhz { | |
917 | + fsl,pins = < | |
918 | + MX7D_PAD_SD2_CMD__SD2_CMD 0x5b | |
919 | + MX7D_PAD_SD2_CLK__SD2_CLK 0x1b | |
920 | + MX7D_PAD_SD2_DATA0__SD2_DATA0 0x5b | |
921 | + MX7D_PAD_SD2_DATA1__SD2_DATA1 0x5b | |
922 | + MX7D_PAD_SD2_DATA2__SD2_DATA2 0x5b | |
923 | + MX7D_PAD_SD2_DATA3__SD2_DATA3 0x5b | |
924 | + >; | |
925 | + }; | |
926 | + | |
927 | + | |
928 | + pinctrl_usdhc3: usdhc3grp { | |
929 | + fsl,pins = < | |
930 | + MX7D_PAD_SD3_CMD__SD3_CMD 0x59 | |
931 | + MX7D_PAD_SD3_CLK__SD3_CLK 0x19 | |
932 | + MX7D_PAD_SD3_DATA0__SD3_DATA0 0x59 | |
933 | + MX7D_PAD_SD3_DATA1__SD3_DATA1 0x59 | |
934 | + MX7D_PAD_SD3_DATA2__SD3_DATA2 0x59 | |
935 | + MX7D_PAD_SD3_DATA3__SD3_DATA3 0x59 | |
936 | + MX7D_PAD_SD3_DATA4__SD3_DATA4 0x59 | |
937 | + MX7D_PAD_SD3_DATA5__SD3_DATA5 0x59 | |
938 | + MX7D_PAD_SD3_DATA6__SD3_DATA6 0x59 | |
939 | + MX7D_PAD_SD3_DATA7__SD3_DATA7 0x59 | |
940 | + MX7D_PAD_SD3_STROBE__SD3_STROBE 0x19 | |
941 | + >; | |
942 | + }; | |
943 | + | |
944 | + pinctrl_usdhc3_100mhz: usdhc3grp_100mhz { | |
945 | + fsl,pins = < | |
946 | + MX7D_PAD_SD3_CMD__SD3_CMD 0x5a | |
947 | + MX7D_PAD_SD3_CLK__SD3_CLK 0x1a | |
948 | + MX7D_PAD_SD3_DATA0__SD3_DATA0 0x5a | |
949 | + MX7D_PAD_SD3_DATA1__SD3_DATA1 0x5a | |
950 | + MX7D_PAD_SD3_DATA2__SD3_DATA2 0x5a | |
951 | + MX7D_PAD_SD3_DATA3__SD3_DATA3 0x5a | |
952 | + MX7D_PAD_SD3_DATA4__SD3_DATA4 0x5a | |
953 | + MX7D_PAD_SD3_DATA5__SD3_DATA5 0x5a | |
954 | + MX7D_PAD_SD3_DATA6__SD3_DATA6 0x5a | |
955 | + MX7D_PAD_SD3_DATA7__SD3_DATA7 0x5a | |
956 | + MX7D_PAD_SD3_STROBE__SD3_STROBE 0x1a | |
957 | + >; | |
958 | + }; | |
959 | + | |
960 | + pinctrl_usdhc3_200mhz: usdhc3grp_200mhz { | |
961 | + fsl,pins = < | |
962 | + MX7D_PAD_SD3_CMD__SD3_CMD 0x5b | |
963 | + MX7D_PAD_SD3_CLK__SD3_CLK 0x1b | |
964 | + MX7D_PAD_SD3_DATA0__SD3_DATA0 0x5b | |
965 | + MX7D_PAD_SD3_DATA1__SD3_DATA1 0x5b | |
966 | + MX7D_PAD_SD3_DATA2__SD3_DATA2 0x5b | |
967 | + MX7D_PAD_SD3_DATA3__SD3_DATA3 0x5b | |
968 | + MX7D_PAD_SD3_DATA4__SD3_DATA4 0x5b | |
969 | + MX7D_PAD_SD3_DATA5__SD3_DATA5 0x5b | |
970 | + MX7D_PAD_SD3_DATA6__SD3_DATA6 0x5b | |
971 | + MX7D_PAD_SD3_DATA7__SD3_DATA7 0x5b | |
972 | + MX7D_PAD_SD3_STROBE__SD3_STROBE 0x1b | |
973 | + >; | |
974 | + }; | |
975 | + | |
976 | + }; | |
977 | +}; |
arch/arm/dts/imx7s.dtsi
... | ... | @@ -80,11 +80,10 @@ |
80 | 80 | serial4 = &uart5; |
81 | 81 | serial5 = &uart6; |
82 | 82 | serial6 = &uart7; |
83 | - spi1 = &qspi1; | |
84 | - spi2 = &ecspi1; | |
85 | - spi3 = &ecspi2; | |
86 | - spi4 = &ecspi3; | |
87 | - spi5 = &ecspi4; | |
83 | + spi1 = &ecspi1; | |
84 | + spi2 = &ecspi2; | |
85 | + spi3 = &ecspi3; | |
86 | + spi4 = &ecspi4; | |
88 | 87 | usb0 = &usbotg1; |
89 | 88 | }; |
90 | 89 |
arch/arm/include/asm/arch-mx7/imx-rdc.h
arch/arm/mach-imx/init.c
... | ... | @@ -70,7 +70,7 @@ |
70 | 70 | struct wdog_regs *wdog1 = (struct wdog_regs *)WDOG1_BASE_ADDR; |
71 | 71 | struct wdog_regs *wdog2 = (struct wdog_regs *)WDOG2_BASE_ADDR; |
72 | 72 | struct wdog_regs *wdog3 = (struct wdog_regs *)WDOG3_BASE_ADDR; |
73 | -#ifdef CONFIG_MX7D | |
73 | +#if defined(CONFIG_MX7D) || defined(CONFIG_MX7S) | |
74 | 74 | struct wdog_regs *wdog4 = (struct wdog_regs *)WDOG4_BASE_ADDR; |
75 | 75 | #endif |
76 | 76 | |
... | ... | @@ -80,7 +80,7 @@ |
80 | 80 | |
81 | 81 | if (is_mx6sx() || is_mx6ul() || is_mx6ull() || is_mx7()) |
82 | 82 | writew(0, &wdog3->wmcr); |
83 | -#ifdef CONFIG_MX7D | |
83 | +#if defined(CONFIG_MX7D) || defined(CONFIG_MX7S) | |
84 | 84 | writew(0, &wdog4->wmcr); |
85 | 85 | #endif |
86 | 86 | } |
arch/arm/mach-imx/mx7/Kconfig
... | ... | @@ -16,6 +16,12 @@ |
16 | 16 | imply CMD_FUSE |
17 | 17 | bool |
18 | 18 | |
19 | +config MX7S | |
20 | + select HAS_CAAM | |
21 | + select ROM_UNIFIED_SECTIONS | |
22 | + imply CMD_FUSE | |
23 | + bool | |
24 | + | |
19 | 25 | config IMX_TAMPER |
20 | 26 | bool "Enable commands for SNVS tamper pin configuration and test" |
21 | 27 | help |
... | ... | @@ -39,6 +45,13 @@ |
39 | 45 | select DM |
40 | 46 | select DM_THERMAL |
41 | 47 | |
48 | +config TARGET_SMARCFIMX7 | |
49 | + bool "smarcfimx7" | |
50 | + select BOARD_LATE_INIT | |
51 | + select MX7D | |
52 | + select DM | |
53 | + select DM_THERMAL | |
54 | + | |
42 | 55 | config TARGET_MX7D_12X12_LPDDR3_ARM2 |
43 | 56 | bool "Support mx7d_12x12_lpddr3_arm2" |
44 | 57 | select BOARD_LATE_INIT |
... | ... | @@ -107,6 +120,7 @@ |
107 | 120 | config SYS_SOC |
108 | 121 | default "mx7" |
109 | 122 | |
123 | +source "board/embedian/smarcfimx7/Kconfig" | |
110 | 124 | source "board/compulab/cl-som-imx7/Kconfig" |
111 | 125 | source "board/freescale/mx7dsabresd/Kconfig" |
112 | 126 | source "board/freescale/mx7d_12x12_lpddr3_arm2/Kconfig" |
arch/arm/mach-imx/mx7/soc.c
board/embedian/smarcfimx7/Kconfig
board/embedian/smarcfimx7/MAINTAINERS
1 | +SMARCFIMX7D BOARD | |
2 | +M: Eric Lee <eric.lee@embedian.com> | |
3 | +S: Maintained | |
4 | +F: board/embedian/smarcfimx7 | |
5 | +F: include/configs/smarcfimx7.h | |
6 | +F: include/configs/mx7smarc_common.h | |
7 | +F: configs/smarcfimx7d_ser0_defconfig | |
8 | +F: configs/smarcfimx7d_ser1_defconfig | |
9 | +F: configs/smarcfimx7d_ser2_defconfig | |
10 | +F: configs/smarcfimx7d_ser3_defconfig | |
11 | +F: configs/smarcfimx7s_ser0_defconfig | |
12 | +F: configs/smarcfimx7s_ser1_defconfig | |
13 | +F: configs/smarcfimx7s_ser2_defconfig | |
14 | +F: configs/smarcfimx7s_ser3_defconfig |
board/embedian/smarcfimx7/Makefile
board/embedian/smarcfimx7/ddr3l/mx7d_2x_k4b4g1646q.cfg
1 | +/* | |
2 | + * Copyright (C) 2015-2016 Freescale Semiconductor, Inc. | |
3 | + * | |
4 | + * SPDX-License-Identifier: GPL-2.0+ | |
5 | + * | |
6 | + * Refer docs/README.imxmage for more details about how-to configure | |
7 | + * and create imximage boot image | |
8 | + * | |
9 | + * The syntax is taken as close as possible with the kwbimage | |
10 | + */ | |
11 | + | |
12 | +#define __ASSEMBLY__ | |
13 | +#include <config.h> | |
14 | + | |
15 | +/* image version */ | |
16 | + | |
17 | +IMAGE_VERSION 2 | |
18 | + | |
19 | +/* | |
20 | + * Boot Device : one of | |
21 | + * spi/sd/nand/onenand, qspi/nor | |
22 | + */ | |
23 | + | |
24 | +BOOT_FROM spi | |
25 | + | |
26 | +/* | |
27 | + * Secure boot support | |
28 | + */ | |
29 | +#ifdef CONFIG_SECURE_BOOT | |
30 | +CSF CONFIG_CSF_SIZE | |
31 | +#endif | |
32 | + | |
33 | +/* | |
34 | + * Device Configuration Data (DCD) | |
35 | + * | |
36 | + * Each entry must have the format: | |
37 | + * Addr-type Address Value | |
38 | + * | |
39 | + * where: | |
40 | + * Addr-type register length (1,2 or 4 bytes) | |
41 | + * Address absolute address of the register | |
42 | + * value value to be stored in the register | |
43 | + */ | |
44 | + | |
45 | +/* IOMUXC_GPR_GPR1 */ | |
46 | +DATA 4 0x30340004 0x4F400005 | |
47 | +/* Clear then set bit30 to ensure exit from DDR retention */ | |
48 | +DATA 4 0x30360388 0x40000000 | |
49 | +DATA 4 0x30360384 0x40000000 | |
50 | +/* SRC_DDRC_RCR */ | |
51 | +DATA 4 0x30391000 0x00000002 | |
52 | +/* DDRC_MSTR */ | |
53 | +DATA 4 0x307a0000 0x01040001 | |
54 | +/* DDRC_DFIUPD0 */ | |
55 | +DATA 4 0x307a01a0 0x80400003 | |
56 | +/* DDRC_DFIUPD1 */ | |
57 | +DATA 4 0x307a01a4 0x00100020 | |
58 | +/* DDRC_DFIUPD2 */ | |
59 | +DATA 4 0x307a01a8 0x80100004 | |
60 | +/* DDRC_RFSHTMG */ | |
61 | +DATA 4 0x307a0064 0x00400046 | |
62 | +/* DDRC_MP_PCTRL_0 */ | |
63 | +DATA 4 0x307a0490 0x00000001 | |
64 | +/* DDRC_INIT0 */ | |
65 | +DATA 4 0x307a00d0 0x00020083 | |
66 | +/* DDRC_INIT1 */ | |
67 | +DATA 4 0x307a00d4 0x00690000 | |
68 | +/* DDRC_INIT3 MR0/MR1 */ | |
69 | +DATA 4 0x307a00dc 0x09300004 | |
70 | +/* DDRC_INIT4 MR2/MR3 */ | |
71 | +DATA 4 0x307a00e0 0x04080000 | |
72 | +/* DDRC_INIT5 */ | |
73 | +DATA 4 0x307a00e4 0x00100004 | |
74 | +/* DDRC_RANKCTL */ | |
75 | +DATA 4 0x307a00f4 0x0000033f | |
76 | +/* DDRC_DRAMTMG0 */ | |
77 | +DATA 4 0x307a0100 0x09081109 | |
78 | +/* DDRC_DRAMTMG1 */ | |
79 | +DATA 4 0x307a0104 0x0007020d | |
80 | +/* DDRC_DRAMTMG2 */ | |
81 | +DATA 4 0x307a0108 0x03040407 | |
82 | +/* DDRC_DRAMTMG3 */ | |
83 | +DATA 4 0x307a010c 0x00002006 | |
84 | +/* DDRC_DRAMTMG4 */ | |
85 | +DATA 4 0x307a0110 0x04020205 | |
86 | +/* DDRC_DRAMTMG5 */ | |
87 | +DATA 4 0x307a0114 0x03030202 | |
88 | +/* DDRC_DRAMTMG8 */ | |
89 | +DATA 4 0x307a0120 0x00000803 | |
90 | +/* DDRC_ZQCTL0 */ | |
91 | +DATA 4 0x307a0180 0x00800020 | |
92 | +/* DDRC_ZQCTL1 */ | |
93 | +DATA 4 0x307a0184 0x02001000 | |
94 | +/* DDRC_DFITMG0 */ | |
95 | +DATA 4 0x307a0190 0x02098204 | |
96 | +/* DDRC_DFITMG1 */ | |
97 | +DATA 4 0x307a0194 0x00030303 | |
98 | +/* DDRC_ADDRMAP0 */ | |
99 | +DATA 4 0x307a0200 0x0000001f | |
100 | +/* DDRC_ADDRMAP1 */ | |
101 | +DATA 4 0x307a0204 0x00080808 | |
102 | +/* DDRC_ADDRMAP4 */ | |
103 | +DATA 4 0x307a0210 0x00000f0f | |
104 | +/* DDRC_ADDRMAP5 */ | |
105 | +DATA 4 0x307a0214 0x07070707 | |
106 | +/* DDRC_ADDRMAP6 */ | |
107 | +DATA 4 0x307a0218 0x0f070707 | |
108 | +/* DDRC_ODTCFG */ | |
109 | +DATA 4 0x307a0240 0x06000604 | |
110 | +/* DDRC_ODTMAP */ | |
111 | +DATA 4 0x307a0244 0x00000001 | |
112 | +/* SRC_DDRC_RCR */ | |
113 | +DATA 4 0x30391000 0x00000000 | |
114 | +/* DDR_PHY_PHY_CON0 */ | |
115 | +DATA 4 0x30790000 0x17420f40 | |
116 | +/* DDR_PHY_PHY_CON1 */ | |
117 | +DATA 4 0x30790004 0x10210100 | |
118 | +/* DDR_PHY_PHY_CON4 */ | |
119 | +DATA 4 0x30790010 0x00060807 | |
120 | +/* DDR_PHY_MDLL_CON0 */ | |
121 | +DATA 4 0x307900b0 0x1010007e | |
122 | +/* DDR_PHY_DRVDS_CON0 */ | |
123 | +DATA 4 0x3079009c 0x00000d6e | |
124 | +/* DDR_PHY_OFFSET_RD_CON0 */ | |
125 | +DATA 4 0x30790020 0x0a0a0a0a | |
126 | +/* DDR_PHY_OFFSET_WR_CON0 */ | |
127 | +DATA 4 0x30790030 0x04040404 | |
128 | +/* DDR_PHY_OFFSETD_CON0 */ | |
129 | +DATA 4 0x30790050 0x01000010 | |
130 | +DATA 4 0x30790050 0x00000010 | |
131 | + | |
132 | +/* DDR_PHY_ZQ_CON0 */ | |
133 | +DATA 4 0x307900c0 0x0e407304 | |
134 | +DATA 4 0x307900c0 0x0e447304 | |
135 | +DATA 4 0x307900c0 0x0e447306 | |
136 | + | |
137 | +/* DDR_PHY_ZQ_CON1 */ | |
138 | +CHECK_BITS_SET 4 0x307900c4 0x1 | |
139 | + | |
140 | +/* DDR_PHY_ZQ_CON0 */ | |
141 | +DATA 4 0x307900c0 0x0e447304 | |
142 | +DATA 4 0x307900c0 0x0e407304 | |
143 | + | |
144 | +/* CCM_CCGRn */ | |
145 | +DATA 4 0x30384130 0x00000000 | |
146 | +/* IOMUXC_GPR_GPR8 */ | |
147 | +DATA 4 0x30340020 0x00000178 | |
148 | +/* CCM_CCGRn */ | |
149 | +DATA 4 0x30384130 0x00000002 | |
150 | +/* DDR_PHY_LP_CON0 */ | |
151 | +DATA 4 0x30790018 0x0000000f | |
152 | + | |
153 | +/* DDRC_STAT */ | |
154 | +CHECK_BITS_SET 4 0x307a0004 0x1 |
board/embedian/smarcfimx7/ddr3l/mx7d_2x_mt41k512m16ha.cfg
1 | +/* | |
2 | + * Copyright (C) 2015-2016 Freescale Semiconductor, Inc. | |
3 | + * | |
4 | + * SPDX-License-Identifier: GPL-2.0+ | |
5 | + * | |
6 | + * Refer docs/README.imxmage for more details about how-to configure | |
7 | + * and create imximage boot image | |
8 | + * | |
9 | + * The syntax is taken as close as possible with the kwbimage | |
10 | + */ | |
11 | + | |
12 | +#define __ASSEMBLY__ | |
13 | +#include <config.h> | |
14 | + | |
15 | +/* image version */ | |
16 | + | |
17 | +IMAGE_VERSION 2 | |
18 | + | |
19 | +/* | |
20 | + * Boot Device : one of | |
21 | + * spi/sd/nand/onenand, qspi/nor | |
22 | + */ | |
23 | + | |
24 | +BOOT_FROM spi | |
25 | + | |
26 | +/* | |
27 | + * Secure boot support | |
28 | + */ | |
29 | +#ifdef CONFIG_SECURE_BOOT | |
30 | +CSF CONFIG_CSF_SIZE | |
31 | +#endif | |
32 | + | |
33 | +/* | |
34 | + * Device Configuration Data (DCD) | |
35 | + * | |
36 | + * Each entry must have the format: | |
37 | + * Addr-type Address Value | |
38 | + * | |
39 | + * where: | |
40 | + * Addr-type register length (1,2 or 4 bytes) | |
41 | + * Address absolute address of the register | |
42 | + * value value to be stored in the register | |
43 | + */ | |
44 | + | |
45 | +/* IOMUXC_GPR_GPR1 */ | |
46 | +DATA 4 0x30340004 0x4F400005 | |
47 | +/* Clear then set bit30 to ensure exit from DDR retention */ | |
48 | +DATA 4 0x30360388 0x40000000 | |
49 | +DATA 4 0x30360384 0x40000000 | |
50 | +/* SRC_DDRC_RCR */ | |
51 | +DATA 4 0x30391000 0x00000002 | |
52 | +/* DDRC_MSTR */ | |
53 | +DATA 4 0x307a0000 0x01040001 | |
54 | +/* DDRC_DFIUPD0 */ | |
55 | +DATA 4 0x307a01a0 0x80400003 | |
56 | +/* DDRC_DFIUPD1 */ | |
57 | +DATA 4 0x307a01a4 0x00100020 | |
58 | +/* DDRC_DFIUPD2 */ | |
59 | +DATA 4 0x307a01a8 0x80100004 | |
60 | +/* DDRC_RFSHTMG */ | |
61 | +DATA 4 0x307a0064 0x0040005e | |
62 | +/* DDRC_MP_PCTRL_0 */ | |
63 | +DATA 4 0x307a0490 0x00000001 | |
64 | +/* DDRC_INIT0 */ | |
65 | +DATA 4 0x307a00d0 0x00020083 | |
66 | +/* DDRC_INIT1 */ | |
67 | +DATA 4 0x307a00d4 0x00690000 | |
68 | +/* DDRC_INIT2 */ | |
69 | +DATA 4 0x307a00d8 0x00000000 | |
70 | +/* DDRC_INIT3 MR0/MR1 */ | |
71 | +DATA 4 0x307a00dc 0x09300004 | |
72 | +/* DDRC_INIT4 MR2/MR3 */ | |
73 | +DATA 4 0x307a00e0 0x04080000 | |
74 | +/* DDRC_INIT5 */ | |
75 | +DATA 4 0x307a00e4 0x00100004 | |
76 | +/* DDRC_RANKCTL */ | |
77 | +DATA 4 0x307a00f4 0x0000033f | |
78 | +/* DDRC_DRAMTMG0 */ | |
79 | +DATA 4 0x307a0100 0x090a1109 | |
80 | +/* DDRC_DRAMTMG1 */ | |
81 | +DATA 4 0x307a0104 0x0007020d | |
82 | +/* DDRC_DRAMTMG2 */ | |
83 | +DATA 4 0x307a0108 0x03040407 | |
84 | +/* DDRC_DRAMTMG3 */ | |
85 | +DATA 4 0x307a010c 0x00002006 | |
86 | +/* DDRC_DRAMTMG4 */ | |
87 | +DATA 4 0x307a0110 0x04020205 | |
88 | +/* DDRC_DRAMTMG5 */ | |
89 | +DATA 4 0x307a0114 0x03030202 | |
90 | +/* DDRC_DRAMTMG8 */ | |
91 | +DATA 4 0x307a0120 0x00000803 | |
92 | +/* DDRC_ZQCTL0 */ | |
93 | +DATA 4 0x307a0180 0x00800020 | |
94 | +/* DDRC_DFITMG0 */ | |
95 | +DATA 4 0x307a0190 0x02098204 | |
96 | +/* DDRC_DFITMG1 */ | |
97 | +DATA 4 0x307a0194 0x00030303 | |
98 | +/* DDRC_ADDRMAP0 */ | |
99 | +DATA 4 0x307a0200 0x0000001f | |
100 | +/* DDRC_ADDRMAP1 */ | |
101 | +DATA 4 0x307a0204 0x00181818 | |
102 | +/* DDRC_ADDRMAP4 */ | |
103 | +DATA 4 0x307a0210 0x00000f0f | |
104 | +/* DDRC_ADDRMAP5 */ | |
105 | +DATA 4 0x307a0214 0x04040404 | |
106 | +/* DDRC_ADDRMAP6 */ | |
107 | +DATA 4 0x307a0218 0x04040404 | |
108 | +/* DDRC_ODTCFG */ | |
109 | +DATA 4 0x307a0240 0x06000604 | |
110 | +/* DDRC_ODTMAP */ | |
111 | +DATA 4 0x307a0244 0x00000001 | |
112 | +/* SRC_DDRC_RCR */ | |
113 | +DATA 4 0x30391000 0x00000000 | |
114 | +/* DDR_PHY_PHY_CON0 */ | |
115 | +DATA 4 0x30790000 0x17420f40 | |
116 | +/* DDR_PHY_PHY_CON1 */ | |
117 | +DATA 4 0x30790004 0x10210100 | |
118 | +/* DDR_PHY_PHY_CON4 */ | |
119 | +DATA 4 0x30790010 0x00060807 | |
120 | +/* DDR_PHY_MDLL_CON0 */ | |
121 | +DATA 4 0x307900b0 0x1010007e | |
122 | +/* DDR_PHY_DRVDS_CON0 */ | |
123 | +DATA 4 0x3079009c 0x00000d6e | |
124 | +/* DDR_PHY_OFFSET_RD_CON0 */ | |
125 | +DATA 4 0x30790020 0x0c0c0c0c | |
126 | +/* DDR_PHY_OFFSET_WR_CON0 */ | |
127 | +DATA 4 0x30790030 0x04040404 | |
128 | +/* DDR_PHY_OFFSETD_CON0 */ | |
129 | +DATA 4 0x30790050 0x01000010 | |
130 | +DATA 4 0x30790050 0x00000010 | |
131 | + | |
132 | +/* DDR_PHY_ZQ_CON0 */ | |
133 | +DATA 4 0x307900c0 0x0e407304 | |
134 | +DATA 4 0x307900c0 0x0e447304 | |
135 | +DATA 4 0x307900c0 0x0e447306 | |
136 | + | |
137 | +/* DDR_PHY_ZQ_CON1 */ | |
138 | +CHECK_BITS_SET 4 0x307900c4 0x1 | |
139 | + | |
140 | +/* DDR_PHY_ZQ_CON0 */ | |
141 | +DATA 4 0x307900c0 0x0e447304 | |
142 | +DATA 4 0x307900c0 0x0e407304 | |
143 | + | |
144 | +/* CCM_CCGRn */ | |
145 | +DATA 4 0x30384130 0x00000000 | |
146 | +/* IOMUXC_GPR_GPR8 */ | |
147 | +DATA 4 0x30340020 0x00000178 | |
148 | +/* CCM_CCGRn */ | |
149 | +DATA 4 0x30384130 0x00000002 | |
150 | +/* DDR_PHY_LP_CON0 */ | |
151 | +DATA 4 0x30790018 0x0000000f | |
152 | + | |
153 | +/* DDRC_STAT */ | |
154 | +CHECK_BITS_SET 4 0x307a0004 0x1 |
board/embedian/smarcfimx7/ddr3l/mx7s_2x_k4b2g1646q.cfg
1 | +/* | |
2 | + * Copyright (C) 2015-2016 Freescale Semiconductor, Inc. | |
3 | + * | |
4 | + * SPDX-License-Identifier: GPL-2.0+ | |
5 | + * | |
6 | + * Refer docs/README.imxmage for more details about how-to configure | |
7 | + * and create imximage boot image | |
8 | + * | |
9 | + * The syntax is taken as close as possible with the kwbimage | |
10 | + */ | |
11 | + | |
12 | +#define __ASSEMBLY__ | |
13 | +#include <config.h> | |
14 | + | |
15 | +/* image version */ | |
16 | + | |
17 | +IMAGE_VERSION 2 | |
18 | + | |
19 | +/* | |
20 | + * Boot Device : one of | |
21 | + * spi/sd/nand/onenand, qspi/nor | |
22 | + */ | |
23 | + | |
24 | +BOOT_FROM spi | |
25 | + | |
26 | +/* | |
27 | + * Secure boot support | |
28 | + */ | |
29 | +#ifdef CONFIG_SECURE_BOOT | |
30 | +CSF CONFIG_CSF_SIZE | |
31 | +#endif | |
32 | + | |
33 | +/* | |
34 | + * Device Configuration Data (DCD) | |
35 | + * | |
36 | + * Each entry must have the format: | |
37 | + * Addr-type Address Value | |
38 | + * | |
39 | + * where: | |
40 | + * Addr-type register length (1,2 or 4 bytes) | |
41 | + * Address absolute address of the register | |
42 | + * value value to be stored in the register | |
43 | + */ | |
44 | + | |
45 | +/* IOMUXC_GPR_GPR1 */ | |
46 | +DATA 4 0x30340004 0x4F400005 | |
47 | +/* Clear then set bit30 to ensure exit from DDR retention */ | |
48 | +DATA 4 0x30360388 0x40000000 | |
49 | +DATA 4 0x30360384 0x40000000 | |
50 | +/* SRC_DDRC_RCR */ | |
51 | +DATA 4 0x30391000 0x00000002 | |
52 | +/* DDRC_MSTR */ | |
53 | +DATA 4 0x307a0000 0x01040001 | |
54 | +/* DDRC_DFIUPD0 */ | |
55 | +DATA 4 0x307a01a0 0x80400003 | |
56 | +/* DDRC_DFIUPD1 */ | |
57 | +DATA 4 0x307a01a4 0x00100020 | |
58 | +/* DDRC_DFIUPD2 */ | |
59 | +DATA 4 0x307a01a8 0x80100004 | |
60 | +/* DDRC_RFSHTMG */ | |
61 | +DATA 4 0x307a0064 0x00400046 | |
62 | +/* DDRC_MP_PCTRL_0 */ | |
63 | +DATA 4 0x307a0490 0x00000001 | |
64 | +/* DDRC_INIT0 */ | |
65 | +DATA 4 0x307a00d0 0x00020083 | |
66 | +/* DDRC_INIT1 */ | |
67 | +DATA 4 0x307a00d4 0x00690000 | |
68 | +/* DDRC_INIT3 MR0/MR1 */ | |
69 | +DATA 4 0x307a00dc 0x09300004 | |
70 | +/* DDRC_INIT4 MR2/MR3 */ | |
71 | +DATA 4 0x307a00e0 0x04080000 | |
72 | +/* DDRC_INIT5 */ | |
73 | +DATA 4 0x307a00e4 0x00100004 | |
74 | +/* DDRC_RANKCTL */ | |
75 | +DATA 4 0x307a00f4 0x0000033f | |
76 | +/* DDRC_DRAMTMG0 */ | |
77 | +DATA 4 0x307a0100 0x09081109 | |
78 | +/* DDRC_DRAMTMG1 */ | |
79 | +DATA 4 0x307a0104 0x0007020d | |
80 | +/* DDRC_DRAMTMG2 */ | |
81 | +DATA 4 0x307a0108 0x03040407 | |
82 | +/* DDRC_DRAMTMG3 */ | |
83 | +DATA 4 0x307a010c 0x00002006 | |
84 | +/* DDRC_DRAMTMG4 */ | |
85 | +DATA 4 0x307a0110 0x04020205 | |
86 | +/* DDRC_DRAMTMG5 */ | |
87 | +DATA 4 0x307a0114 0x03030202 | |
88 | +/* DDRC_DRAMTMG8 */ | |
89 | +DATA 4 0x307a0120 0x00000803 | |
90 | +/* DDRC_ZQCTL0 */ | |
91 | +DATA 4 0x307a0180 0x00800020 | |
92 | +/* DDRC_ZQCTL1 */ | |
93 | +DATA 4 0x307a0184 0x02001000 | |
94 | +/* DDRC_DFITMG0 */ | |
95 | +DATA 4 0x307a0190 0x02098204 | |
96 | +/* DDRC_DFITMG1 */ | |
97 | +DATA 4 0x307a0194 0x00030303 | |
98 | +/* DDRC_ADDRMAP0 */ | |
99 | +DATA 4 0x307a0200 0x0000001f | |
100 | +/* DDRC_ADDRMAP1 */ | |
101 | +DATA 4 0x307a0204 0x00080808 | |
102 | +/* DDRC_ADDRMAP4 */ | |
103 | +DATA 4 0x307a0210 0x00000f0f | |
104 | +/* DDRC_ADDRMAP5 */ | |
105 | +DATA 4 0x307a0214 0x07070707 | |
106 | +/* DDRC_ADDRMAP6 */ | |
107 | +DATA 4 0x307a0218 0x0f070707 | |
108 | +/* DDRC_ODTCFG */ | |
109 | +DATA 4 0x307a0240 0x06000604 | |
110 | +/* DDRC_ODTMAP */ | |
111 | +DATA 4 0x307a0244 0x00000001 | |
112 | +/* SRC_DDRC_RCR */ | |
113 | +DATA 4 0x30391000 0x00000000 | |
114 | +/* DDR_PHY_PHY_CON0 */ | |
115 | +DATA 4 0x30790000 0x17420f40 | |
116 | +/* DDR_PHY_PHY_CON1 */ | |
117 | +DATA 4 0x30790004 0x10210100 | |
118 | +/* DDR_PHY_PHY_CON4 */ | |
119 | +DATA 4 0x30790010 0x00060807 | |
120 | +/* DDR_PHY_MDLL_CON0 */ | |
121 | +DATA 4 0x307900b0 0x1010007e | |
122 | +/* DDR_PHY_DRVDS_CON0 */ | |
123 | +DATA 4 0x3079009c 0x00000d6e | |
124 | +/* DDR_PHY_OFFSET_RD_CON0 */ | |
125 | +DATA 4 0x30790020 0x0c0c0c0c | |
126 | +/* DDR_PHY_OFFSET_WR_CON0 */ | |
127 | +DATA 4 0x30790030 0x04040404 | |
128 | +/* DDR_PHY_OFFSETD_CON0 */ | |
129 | +DATA 4 0x30790050 0x01000010 | |
130 | +DATA 4 0x30790050 0x00000010 | |
131 | + | |
132 | +/* DDR_PHY_ZQ_CON0 */ | |
133 | +DATA 4 0x307900c0 0x0e407304 | |
134 | +DATA 4 0x307900c0 0x0e447304 | |
135 | +DATA 4 0x307900c0 0x0e447306 | |
136 | + | |
137 | +/* DDR_PHY_ZQ_CON1 */ | |
138 | +CHECK_BITS_SET 4 0x307900c4 0x1 | |
139 | + | |
140 | +/* DDR_PHY_ZQ_CON0 */ | |
141 | +DATA 4 0x307900c0 0x0e447304 | |
142 | +DATA 4 0x307900c0 0x0e407304 | |
143 | + | |
144 | +/* CCM_CCGRn */ | |
145 | +DATA 4 0x30384130 0x00000000 | |
146 | +/* IOMUXC_GPR_GPR8 */ | |
147 | +DATA 4 0x30340020 0x00000178 | |
148 | +/* CCM_CCGRn */ | |
149 | +DATA 4 0x30384130 0x00000002 | |
150 | +/* DDR_PHY_LP_CON0 */ | |
151 | +DATA 4 0x30790018 0x0000000f | |
152 | + | |
153 | +/* DDRC_STAT */ | |
154 | +CHECK_BITS_SET 4 0x307a0004 0x1 |
board/embedian/smarcfimx7/plugin.S
1 | +/* | |
2 | + * Copyright (C) 2014-2016 Freescale Semiconductor, Inc. | |
3 | + * Copyright 2017 NXP | |
4 | + * | |
5 | + * SPDX-License-Identifier: GPL-2.0+ | |
6 | + */ | |
7 | + | |
8 | +#include <config.h> | |
9 | + | |
10 | +/* DDR script */ | |
11 | +.macro imx7d_ddrphy_latency_setting | |
12 | + ldr r2, =ANATOP_BASE_ADDR | |
13 | + ldr r3, [r2, #0x800] | |
14 | + and r3, r3, #0xFF | |
15 | + cmp r3, #0x11 | |
16 | + bne NO_DELAY | |
17 | + | |
18 | + /*TO 1.1*/ | |
19 | + ldr r1, =0x00000dee | |
20 | + str r1, [r0, #0x9c] | |
21 | + ldr r1, =0x18181818 | |
22 | + str r1, [r0, #0x7c] | |
23 | + ldr r1, =0x18181818 | |
24 | + str r1, [r0, #0x80] | |
25 | + ldr r1, =0x40401818 | |
26 | + str r1, [r0, #0x84] | |
27 | + ldr r1, =0x00000040 | |
28 | + str r1, [r0, #0x88] | |
29 | + ldr r1, =0x40404040 | |
30 | + str r1, [r0, #0x6c] | |
31 | + b TUNE_END | |
32 | + | |
33 | +NO_DELAY: | |
34 | + /*TO 1.0*/ | |
35 | + ldr r1, =0x00000b24 | |
36 | + str r1, [r0, #0x9c] | |
37 | + | |
38 | +TUNE_END: | |
39 | +.endm | |
40 | + | |
41 | +.macro imx7d_ddr_freq_setting | |
42 | + ldr r2, =ANATOP_BASE_ADDR | |
43 | + ldr r3, [r2, #0x800] | |
44 | + and r3, r3, #0xFF | |
45 | + cmp r3, #0x11 | |
46 | + bne FREQ_DEFAULT_533 | |
47 | + | |
48 | + /* Change to 400Mhz for TO1.1 */ | |
49 | + ldr r0, =ANATOP_BASE_ADDR | |
50 | + ldr r1, =0x70 | |
51 | + ldr r2, =0x00703021 | |
52 | + str r2, [r0, r1] | |
53 | + ldr r1, =0x90 | |
54 | + ldr r2, =0x0 | |
55 | + str r2, [r0, r1] | |
56 | + ldr r1, =0x70 | |
57 | + ldr r2, =0x00603021 | |
58 | + str r2, [r0, r1] | |
59 | + | |
60 | + ldr r3, =0x80000000 | |
61 | +wait_lock: | |
62 | + ldr r2, [r0, r1] | |
63 | + and r2, r3 | |
64 | + cmp r2, r3 | |
65 | + bne wait_lock | |
66 | + | |
67 | + ldr r0, =CCM_BASE_ADDR | |
68 | + ldr r1, =0x9880 | |
69 | + ldr r2, =0x1 | |
70 | + str r2, [r0, r1] | |
71 | + | |
72 | +FREQ_DEFAULT_533: | |
73 | +.endm | |
74 | + | |
75 | +.macro imx7d_sabresd_ddr_setting | |
76 | + imx7d_ddr_freq_setting | |
77 | + | |
78 | + /* Configure ocram_epdc */ | |
79 | + ldr r0, =IOMUXC_GPR_BASE_ADDR | |
80 | + ldr r1, =0x4f400005 | |
81 | + str r1, [r0, #0x4] | |
82 | + | |
83 | + /* clear/set bit30 of SNVS_MISC_CTRL to ensure exit from ddr retention */ | |
84 | + ldr r0, =ANATOP_BASE_ADDR | |
85 | + ldr r1, =(0x1 << 30) | |
86 | + str r1, [r0, #0x388] | |
87 | + str r1, [r0, #0x384] | |
88 | + | |
89 | + ldr r0, =SRC_BASE_ADDR | |
90 | + ldr r1, =0x2 | |
91 | + ldr r2, =0x1000 | |
92 | + str r1, [r0, r2] | |
93 | + | |
94 | + ldr r0, =DDRC_IPS_BASE_ADDR | |
95 | + ldr r1, =0x01040001 | |
96 | + str r1, [r0] | |
97 | + ldr r1, =0x80400003 | |
98 | + str r1, [r0, #0x1a0] | |
99 | + ldr r1, =0x00100020 | |
100 | + str r1, [r0, #0x1a4] | |
101 | + ldr r1, =0x80100004 | |
102 | + str r1, [r0, #0x1a8] | |
103 | + ldr r1, =0x00400046 | |
104 | + str r1, [r0, #0x64] | |
105 | + ldr r1, =0x1 | |
106 | + str r1, [r0, #0x490] | |
107 | + ldr r1, =0x00020001 | |
108 | + str r1, [r0, #0xd0] | |
109 | + ldr r1, =0x00690000 | |
110 | + str r1, [r0, #0xd4] | |
111 | + ldr r1, =0x09300004 | |
112 | + str r1, [r0, #0xdc] | |
113 | + ldr r1, =0x04080000 | |
114 | + str r1, [r0, #0xe0] | |
115 | + ldr r1, =0x00100004 | |
116 | + str r1, [r0, #0xe4] | |
117 | + ldr r1, =0x33f | |
118 | + str r1, [r0, #0xf4] | |
119 | + ldr r1, =0x09081109 | |
120 | + str r1, [r0, #0x100] | |
121 | + ldr r1, =0x0007020d | |
122 | + str r1, [r0, #0x104] | |
123 | + ldr r1, =0x03040407 | |
124 | + str r1, [r0, #0x108] | |
125 | + ldr r1, =0x00002006 | |
126 | + str r1, [r0, #0x10c] | |
127 | + ldr r1, =0x04020205 | |
128 | + str r1, [r0, #0x110] | |
129 | + ldr r1, =0x03030202 | |
130 | + str r1, [r0, #0x114] | |
131 | + ldr r1, =0x00000803 | |
132 | + str r1, [r0, #0x120] | |
133 | + ldr r1, =0x00800020 | |
134 | + str r1, [r0, #0x180] | |
135 | + ldr r1, =0x02000100 | |
136 | + str r1, [r0, #0x184] | |
137 | + ldr r1, =0x02098204 | |
138 | + str r1, [r0, #0x190] | |
139 | + ldr r1, =0x00030303 | |
140 | + str r1, [r0, #0x194] | |
141 | + | |
142 | + ldr r1, =0x00000016 | |
143 | + str r1, [r0, #0x200] | |
144 | + ldr r1, =0x00080808 | |
145 | + str r1, [r0, #0x204] | |
146 | + ldr r1, =0x00000f0f | |
147 | + str r1, [r0, #0x210] | |
148 | + ldr r1, =0x07070707 | |
149 | + str r1, [r0, #0x214] | |
150 | + ldr r1, =0x0f070707 | |
151 | + str r1, [r0, #0x218] | |
152 | + | |
153 | + ldr r1, =0x06000604 | |
154 | + str r1, [r0, #0x240] | |
155 | + ldr r1, =0x00000001 | |
156 | + str r1, [r0, #0x244] | |
157 | + | |
158 | + ldr r0, =SRC_BASE_ADDR | |
159 | + mov r1, #0x0 | |
160 | + ldr r2, =0x1000 | |
161 | + str r1, [r0, r2] | |
162 | + | |
163 | + ldr r0, =DDRPHY_IPS_BASE_ADDR | |
164 | + ldr r1, =0x17420f40 | |
165 | + str r1, [r0] | |
166 | + ldr r1, =0x10210100 | |
167 | + str r1, [r0, #0x4] | |
168 | + ldr r1, =0x00060807 | |
169 | + str r1, [r0, #0x10] | |
170 | + ldr r1, =0x1010007e | |
171 | + str r1, [r0, #0xb0] | |
172 | + imx7d_ddrphy_latency_setting | |
173 | + ldr r1, =0x08080808 | |
174 | + str r1, [r0, #0x20] | |
175 | + ldr r1, =0x08080808 | |
176 | + str r1, [r0, #0x30] | |
177 | + ldr r1, =0x01000010 | |
178 | + str r1, [r0, #0x50] | |
179 | + | |
180 | + ldr r1, =0x0e407304 | |
181 | + str r1, [r0, #0xc0] | |
182 | + ldr r1, =0x0e447304 | |
183 | + str r1, [r0, #0xc0] | |
184 | + ldr r1, =0x0e447306 | |
185 | + str r1, [r0, #0xc0] | |
186 | + | |
187 | +wait_zq: | |
188 | + ldr r1, [r0, #0xc4] | |
189 | + tst r1, #0x1 | |
190 | + beq wait_zq | |
191 | + | |
192 | + ldr r1, =0x0e407304 | |
193 | + str r1, [r0, #0xc0] | |
194 | + | |
195 | + ldr r0, =CCM_BASE_ADDR | |
196 | + mov r1, #0x0 | |
197 | + ldr r2, =0x4130 | |
198 | + str r1, [r0, r2] | |
199 | + ldr r0, =IOMUXC_GPR_BASE_ADDR | |
200 | + mov r1, #0x178 | |
201 | + str r1, [r0, #0x20] | |
202 | + ldr r0, =CCM_BASE_ADDR | |
203 | + mov r1, #0x2 | |
204 | + ldr r2, =0x4130 | |
205 | + str r1, [r0, r2] | |
206 | + ldr r0, =DDRPHY_IPS_BASE_ADDR | |
207 | + ldr r1, =0x0000000f | |
208 | + str r1, [r0, #0x18] | |
209 | + | |
210 | + ldr r0, =DDRC_IPS_BASE_ADDR | |
211 | +wait_stat: | |
212 | + ldr r1, [r0, #0x4] | |
213 | + tst r1, #0x1 | |
214 | + beq wait_stat | |
215 | +.endm | |
216 | + | |
217 | +.macro imx7_clock_gating | |
218 | +#ifdef CONFIG_IMX_OPTEE | |
219 | + ldr r0, =0x30340024 | |
220 | + ldr r1, =0x1 | |
221 | + str r1, [r0] | |
222 | +#endif | |
223 | +.endm | |
224 | + | |
225 | +.macro imx7_qos_setting | |
226 | +.endm | |
227 | + | |
228 | +.macro imx7_ddr_setting | |
229 | + imx7d_sabresd_ddr_setting | |
230 | +.endm | |
231 | + | |
232 | +/* include the common plugin code here */ | |
233 | +#include <asm/arch/mx7_plugin.S> |
board/embedian/smarcfimx7/smarcfimx7.c
Changes suppressed. Click to show
1 | +/* | |
2 | + * Copyright (C) 2015 Freescale Semiconductor, Inc. | |
3 | + * Copyright 2017 NXP | |
4 | + * | |
5 | + * SPDX-License-Identifier: GPL-2.0+ | |
6 | + */ | |
7 | + | |
8 | +#include <asm/arch/clock.h> | |
9 | +#include <asm/arch/imx-regs.h> | |
10 | +#include <asm/arch/mx7-pins.h> | |
11 | +#include <asm/arch/sys_proto.h> | |
12 | +#include <asm/gpio.h> | |
13 | +#include <asm/mach-imx/iomux-v3.h> | |
14 | +#include <asm/mach-imx/boot_mode.h> | |
15 | +#include <asm/io.h> | |
16 | +#include <linux/sizes.h> | |
17 | +#include <common.h> | |
18 | +#include <i2c.h> | |
19 | +#include <asm/mach-imx/mxc_i2c.h> | |
20 | +#include <fsl_esdhc.h> | |
21 | +#include <mmc.h> | |
22 | +#include <miiphy.h> | |
23 | +#include <netdev.h> | |
24 | +#include <power/pmic.h> | |
25 | +#include <power/pfuze3000_pmic.h> | |
26 | +#include "../../freescale/common/pfuze.h" | |
27 | +#include <i2c.h> | |
28 | +#include <asm/mach-imx/mxc_i2c.h> | |
29 | +#include <asm/arch/crm_regs.h> | |
30 | +#if defined(CONFIG_MXC_EPDC) | |
31 | +#include <lcd.h> | |
32 | +#include <mxc_epdc_fb.h> | |
33 | +#endif | |
34 | +#include <asm/mach-imx/video.h> | |
35 | + | |
36 | +#ifdef CONFIG_FSL_FASTBOOT | |
37 | +#include <fsl_fastboot.h> | |
38 | +#ifdef CONFIG_ANDROID_RECOVERY | |
39 | +#include <recovery.h> | |
40 | +#endif | |
41 | +#endif /*CONFIG_FSL_FASTBOOT*/ | |
42 | + | |
43 | +DECLARE_GLOBAL_DATA_PTR; | |
44 | + | |
45 | +#define UART_PAD_CTRL (PAD_CTL_DSE_3P3V_49OHM | \ | |
46 | + PAD_CTL_PUS_PU100KOHM | PAD_CTL_HYS) | |
47 | + | |
48 | +#define ENET_PAD_CTRL (PAD_CTL_PUS_PU100KOHM | PAD_CTL_DSE_3P3V_49OHM) | |
49 | +#define ENET_PAD_CTRL_MII (PAD_CTL_DSE_3P3V_32OHM) | |
50 | + | |
51 | +#define ENET_RX_PAD_CTRL (PAD_CTL_PUS_PU100KOHM | PAD_CTL_DSE_3P3V_49OHM) | |
52 | + | |
53 | +#define LCD_PAD_CTRL (PAD_CTL_HYS | PAD_CTL_PUS_PU100KOHM | \ | |
54 | + PAD_CTL_DSE_3P3V_49OHM) | |
55 | + | |
56 | +#define QSPI_PAD_CTRL \ | |
57 | + (PAD_CTL_DSE_3P3V_49OHM | PAD_CTL_PUE | PAD_CTL_PUS_PU47KOHM) | |
58 | + | |
59 | +#define NAND_PAD_CTRL (PAD_CTL_DSE_3P3V_49OHM | PAD_CTL_SRE_SLOW | PAD_CTL_HYS) | |
60 | + | |
61 | +#define SPI_PAD_CTRL (PAD_CTL_DSE_3P3V_49OHM | PAD_CTL_SRE_FAST | PAD_CTL_HYS) | |
62 | + | |
63 | +#define NAND_PAD_READY0_CTRL (PAD_CTL_DSE_3P3V_49OHM | PAD_CTL_PUS_PU5KOHM) | |
64 | + | |
65 | +#define BUTTON_PAD_CTRL (PAD_CTL_PUS_PU5KOHM | PAD_CTL_DSE_3P3V_98OHM) | |
66 | + | |
67 | +#define EPDC_PAD_CTRL 0x0 | |
68 | + | |
69 | +#define WEAK_PULLUP (PAD_CTL_PUS_PU100KOHM | PAD_CTL_DSE_3P3V_49OHM | \ | |
70 | + PAD_CTL_HYS | PAD_CTL_SRE_SLOW) | |
71 | + | |
72 | +#ifdef CONFIG_MXC_SPI | |
73 | +/* SPI2 (SPINOR) */ | |
74 | +static iomux_v3_cfg_t const ecspi2_pads[] = { | |
75 | + MX7D_PAD_ECSPI2_SCLK__ECSPI2_SCLK | MUX_PAD_CTRL(SPI_PAD_CTRL), | |
76 | + MX7D_PAD_ECSPI2_MOSI__ECSPI2_MOSI | MUX_PAD_CTRL(SPI_PAD_CTRL), | |
77 | + MX7D_PAD_ECSPI2_MISO__ECSPI2_MISO | MUX_PAD_CTRL(SPI_PAD_CTRL), | |
78 | + MX7D_PAD_ECSPI2_SS0__GPIO4_IO23 | MUX_PAD_CTRL(NO_PAD_CTRL), /*SS0#*/ | |
79 | +}; | |
80 | + | |
81 | +int board_spi_cs_gpio(unsigned bus, unsigned cs) | |
82 | +{ | |
83 | + gpio_request(IMX_GPIO_NR(4, 23), "espi2_cs0"); | |
84 | + return (bus == 1 && cs == 0) ? (IMX_GPIO_NR(4, 23)) : -1; | |
85 | +} | |
86 | + | |
87 | +static void setup_spinor(void) | |
88 | +{ | |
89 | + imx_iomux_v3_setup_multiple_pads(ecspi2_pads, ARRAY_SIZE(ecspi2_pads)); | |
90 | +} | |
91 | +#endif | |
92 | + | |
93 | +int dram_init(void) | |
94 | +{ | |
95 | + gd->ram_size = PHYS_SDRAM_SIZE; | |
96 | + | |
97 | + return 0; | |
98 | +} | |
99 | + | |
100 | +static iomux_v3_cfg_t const wdog_pads[] = { | |
101 | + MX7D_PAD_GPIO1_IO00__WDOG1_WDOG_B | MUX_PAD_CTRL(NO_PAD_CTRL), | |
102 | +}; | |
103 | + | |
104 | +/* SER0/UART6 */ | |
105 | +static iomux_v3_cfg_t const uart6_pads[] = { | |
106 | + MX7D_PAD_EPDC_DATA09__UART6_DCE_TX | MUX_PAD_CTRL(UART_PAD_CTRL), | |
107 | + MX7D_PAD_EPDC_DATA08__UART6_DCE_RX | MUX_PAD_CTRL(UART_PAD_CTRL), | |
108 | + MX7D_PAD_EPDC_DATA10__UART6_DTE_CTS | MUX_PAD_CTRL(UART_PAD_CTRL), | |
109 | + MX7D_PAD_EPDC_DATA11__UART6_DTE_RTS | MUX_PAD_CTRL(UART_PAD_CTRL), | |
110 | +}; | |
111 | + | |
112 | +/* SER1/UART2 */ | |
113 | +static iomux_v3_cfg_t const uart2_pads[] = { | |
114 | + MX7D_PAD_UART2_TX_DATA__UART2_DCE_TX | MUX_PAD_CTRL(UART_PAD_CTRL), | |
115 | + MX7D_PAD_UART2_RX_DATA__UART2_DCE_RX | MUX_PAD_CTRL(UART_PAD_CTRL), | |
116 | +}; | |
117 | + | |
118 | +/* SER2/UART7 */ | |
119 | +static iomux_v3_cfg_t const uart7_pads[] = { | |
120 | + MX7D_PAD_EPDC_DATA13__UART7_DCE_TX | MUX_PAD_CTRL(UART_PAD_CTRL), | |
121 | + MX7D_PAD_EPDC_DATA12__UART7_DCE_RX | MUX_PAD_CTRL(UART_PAD_CTRL), | |
122 | + MX7D_PAD_EPDC_DATA14__UART7_DTE_CTS | MUX_PAD_CTRL(UART_PAD_CTRL), | |
123 | + MX7D_PAD_EPDC_DATA15__UART7_DTE_RTS | MUX_PAD_CTRL(UART_PAD_CTRL), | |
124 | +}; | |
125 | + | |
126 | +/* SER3/UART3 Debug Port */ | |
127 | +static iomux_v3_cfg_t const uart3_pads[] = { | |
128 | + MX7D_PAD_UART3_TX_DATA__UART3_DCE_TX | MUX_PAD_CTRL(UART_PAD_CTRL), | |
129 | + MX7D_PAD_UART3_RX_DATA__UART3_DCE_RX | MUX_PAD_CTRL(UART_PAD_CTRL), | |
130 | +}; | |
131 | + | |
132 | +/* RESET_OUT# */ | |
133 | +static iomux_v3_cfg_t const reset_out_pads[] = { | |
134 | + MX7D_PAD_EPDC_BDR1__GPIO2_IO29 | MUX_PAD_CTRL(NO_PAD_CTRL), | |
135 | +}; | |
136 | + | |
137 | +/* SPI0 */ | |
138 | +static iomux_v3_cfg_t const ecspi1_pads[] = { | |
139 | + MX7D_PAD_ECSPI1_SCLK__ECSPI1_SCLK | MUX_PAD_CTRL(SPI_PAD_CTRL), | |
140 | + MX7D_PAD_ECSPI1_MOSI__ECSPI1_MOSI | MUX_PAD_CTRL(SPI_PAD_CTRL), | |
141 | + MX7D_PAD_ECSPI1_MISO__ECSPI1_MISO | MUX_PAD_CTRL(SPI_PAD_CTRL), | |
142 | + MX7D_PAD_ECSPI1_SS0__ECSPI1_SS0 | MUX_PAD_CTRL(NO_PAD_CTRL), /*SS0#*/ | |
143 | + MX7D_PAD_UART1_RX_DATA__ECSPI1_SS1 | MUX_PAD_CTRL(NO_PAD_CTRL), /*SS1#*/ | |
144 | +}; | |
145 | + | |
146 | +/* ESPI */ | |
147 | +static iomux_v3_cfg_t const ecspi3_pads[] = { | |
148 | + MX7D_PAD_SAI2_RX_DATA__ECSPI3_SCLK | MUX_PAD_CTRL(SPI_PAD_CTRL), | |
149 | + MX7D_PAD_SAI2_TX_BCLK__ECSPI3_MOSI | MUX_PAD_CTRL(SPI_PAD_CTRL), | |
150 | + MX7D_PAD_SAI2_TX_SYNC__ECSPI3_MISO | MUX_PAD_CTRL(SPI_PAD_CTRL), | |
151 | + MX7D_PAD_SAI2_TX_DATA__ECSPI3_SS0 | MUX_PAD_CTRL(NO_PAD_CTRL), /*SS0#*/ | |
152 | + MX7D_PAD_SD2_CD_B__ECSPI3_SS2 | MUX_PAD_CTRL(NO_PAD_CTRL), /*SS2#*/ | |
153 | +}; | |
154 | + | |
155 | +/* CAN0/FLEXCAN1 */ | |
156 | +static iomux_v3_cfg_t const flexcan1_pads[] = { | |
157 | + MX7D_PAD_GPIO1_IO13__FLEXCAN1_TX | MUX_PAD_CTRL(WEAK_PULLUP), | |
158 | + MX7D_PAD_GPIO1_IO12__FLEXCAN1_RX | MUX_PAD_CTRL(WEAK_PULLUP), | |
159 | +}; | |
160 | + | |
161 | +/* CAN1/FLEXCAN2 */ | |
162 | +static iomux_v3_cfg_t const flexcan2_pads[] = { | |
163 | + MX7D_PAD_GPIO1_IO15__FLEXCAN2_TX | MUX_PAD_CTRL(WEAK_PULLUP), | |
164 | + MX7D_PAD_GPIO1_IO14__FLEXCAN2_RX | MUX_PAD_CTRL(WEAK_PULLUP), | |
165 | +}; | |
166 | + | |
167 | +/* GPIOs */ | |
168 | +static iomux_v3_cfg_t const gpios_pads[] = { | |
169 | + MX7D_PAD_EPDC_DATA00__GPIO2_IO0 | MUX_PAD_CTRL(WEAK_PULLUP), /* GPIO0 */ | |
170 | + MX7D_PAD_EPDC_DATA01__GPIO2_IO1 | MUX_PAD_CTRL(WEAK_PULLUP), /* GPIO1 */ | |
171 | + MX7D_PAD_EPDC_DATA02__GPIO2_IO2 | MUX_PAD_CTRL(WEAK_PULLUP), /* GPIO2 */ | |
172 | + MX7D_PAD_EPDC_DATA03__GPIO2_IO3 | MUX_PAD_CTRL(WEAK_PULLUP), /* GPIO3 */ | |
173 | + MX7D_PAD_EPDC_DATA04__GPIO2_IO4 | MUX_PAD_CTRL(WEAK_PULLUP), /* GPIO4 */ | |
174 | + MX7D_PAD_EPDC_DATA05__GPIO2_IO5 | MUX_PAD_CTRL(WEAK_PULLUP), /* GPIO6 */ | |
175 | + MX7D_PAD_EPDC_DATA07__GPIO2_IO7 | MUX_PAD_CTRL(WEAK_PULLUP), /* GPIO7 */ | |
176 | + MX7D_PAD_EPDC_DATA06__GPIO2_IO6 | MUX_PAD_CTRL(WEAK_PULLUP), /* GPIO8 */ | |
177 | + MX7D_PAD_UART1_TX_DATA__GPIO4_IO1 | MUX_PAD_CTRL(WEAK_PULLUP), /* GPIO9 */ | |
178 | + MX7D_PAD_UART3_RTS_B__GPIO4_IO6 | MUX_PAD_CTRL(WEAK_PULLUP), /* GPIO10 */ | |
179 | + MX7D_PAD_UART3_CTS_B__GPIO4_IO7 | MUX_PAD_CTRL(WEAK_PULLUP), /* GPIO11 */ | |
180 | +}; | |
181 | + | |
182 | +/* LVDS channel selection, set low as single channel LVDS and high as dual channel LVDS */ | |
183 | +static iomux_v3_cfg_t const lvds_ch_sel_pads[] = { | |
184 | + MX7D_PAD_SD2_CMD__GPIO5_IO13 | MUX_PAD_CTRL(WEAK_PULLUP), /* LVDS_CH_SEL */ | |
185 | +}; | |
186 | + | |
187 | +/* Misc. pins */ | |
188 | +static iomux_v3_cfg_t const misc_pads[] = { | |
189 | + MX7D_PAD_SD2_DATA0__GPIO5_IO14 | MUX_PAD_CTRL(WEAK_PULLUP), /* SLEEP# */ | |
190 | + MX7D_PAD_GPIO1_IO09__GPIO1_IO9 | MUX_PAD_CTRL(WEAK_PULLUP), /* CHARGER_PRSNT# */ | |
191 | + MX7D_PAD_GPIO1_IO08__GPIO1_IO8 | MUX_PAD_CTRL(WEAK_PULLUP), /* CHARGING# */ | |
192 | + MX7D_PAD_SAI1_RX_SYNC__GPIO6_IO16 | MUX_PAD_CTRL(WEAK_PULLUP), /* CARRIER_STBY# */ | |
193 | + MX7D_PAD_SD2_RESET_B__GPIO5_IO11 | MUX_PAD_CTRL(WEAK_PULLUP), /* BATLOW# */ | |
194 | + MX7D_PAD_EPDC_BDR0__GPIO2_IO28 | MUX_PAD_CTRL(NO_PAD_CTRL), /* PCIe_RST# */ | |
195 | + MX7D_PAD_EPDC_PWR_STAT__GPIO2_IO31 | MUX_PAD_CTRL(NO_PAD_CTRL), /* PCIe_WAKE# */ | |
196 | + MX7D_PAD_ENET1_CRS__GPIO7_IO14 | MUX_PAD_CTRL(NO_PAD_CTRL), /* WDT_TIME_OUT# */ | |
197 | +}; | |
198 | + | |
199 | +#ifdef CONFIG_NAND_MXS | |
200 | +static iomux_v3_cfg_t const gpmi_pads[] = { | |
201 | + MX7D_PAD_SD3_DATA0__NAND_DATA00 | MUX_PAD_CTRL(NAND_PAD_CTRL), | |
202 | + MX7D_PAD_SD3_DATA1__NAND_DATA01 | MUX_PAD_CTRL(NAND_PAD_CTRL), | |
203 | + MX7D_PAD_SD3_DATA2__NAND_DATA02 | MUX_PAD_CTRL(NAND_PAD_CTRL), | |
204 | + MX7D_PAD_SD3_DATA3__NAND_DATA03 | MUX_PAD_CTRL(NAND_PAD_CTRL), | |
205 | + MX7D_PAD_SD3_DATA4__NAND_DATA04 | MUX_PAD_CTRL(NAND_PAD_CTRL), | |
206 | + MX7D_PAD_SD3_DATA5__NAND_DATA05 | MUX_PAD_CTRL(NAND_PAD_CTRL), | |
207 | + MX7D_PAD_SD3_DATA6__NAND_DATA06 | MUX_PAD_CTRL(NAND_PAD_CTRL), | |
208 | + MX7D_PAD_SD3_DATA7__NAND_DATA07 | MUX_PAD_CTRL(NAND_PAD_CTRL), | |
209 | + MX7D_PAD_SD3_CLK__NAND_CLE | MUX_PAD_CTRL(NAND_PAD_CTRL), | |
210 | + MX7D_PAD_SD3_CMD__NAND_ALE | MUX_PAD_CTRL(NAND_PAD_CTRL), | |
211 | + MX7D_PAD_SD3_STROBE__NAND_RE_B | MUX_PAD_CTRL(NAND_PAD_CTRL), | |
212 | + MX7D_PAD_SD3_RESET_B__NAND_WE_B | MUX_PAD_CTRL(NAND_PAD_CTRL), | |
213 | + MX7D_PAD_SAI1_MCLK__NAND_WP_B | MUX_PAD_CTRL(NAND_PAD_CTRL), | |
214 | + MX7D_PAD_SAI1_RX_BCLK__NAND_CE3_B | MUX_PAD_CTRL(NAND_PAD_CTRL), | |
215 | + MX7D_PAD_SAI1_RX_SYNC__NAND_CE2_B | MUX_PAD_CTRL(NAND_PAD_CTRL), | |
216 | + MX7D_PAD_SAI1_RX_DATA__NAND_CE1_B | MUX_PAD_CTRL(NAND_PAD_CTRL), | |
217 | + MX7D_PAD_SAI1_TX_BCLK__NAND_CE0_B | MUX_PAD_CTRL(NAND_PAD_CTRL), | |
218 | + MX7D_PAD_SAI1_TX_SYNC__NAND_DQS | MUX_PAD_CTRL(NAND_PAD_CTRL), | |
219 | + MX7D_PAD_SAI1_TX_DATA__NAND_READY_B | MUX_PAD_CTRL(NAND_PAD_READY0_CTRL), | |
220 | +}; | |
221 | + | |
222 | +static void setup_gpmi_nand(void) | |
223 | +{ | |
224 | + imx_iomux_v3_setup_multiple_pads(gpmi_pads, ARRAY_SIZE(gpmi_pads)); | |
225 | + | |
226 | + /* NAND_USDHC_BUS_CLK is set in rom */ | |
227 | + set_clk_nand(); | |
228 | +} | |
229 | +#endif | |
230 | + | |
231 | +#ifdef CONFIG_VIDEO_MXS | |
232 | +static iomux_v3_cfg_t const lcd_pads[] = { | |
233 | + MX7D_PAD_LCD_CLK__LCD_CLK | MUX_PAD_CTRL(LCD_PAD_CTRL), | |
234 | + MX7D_PAD_LCD_ENABLE__LCD_ENABLE | MUX_PAD_CTRL(LCD_PAD_CTRL), | |
235 | + MX7D_PAD_LCD_HSYNC__LCD_HSYNC | MUX_PAD_CTRL(LCD_PAD_CTRL), | |
236 | + MX7D_PAD_LCD_VSYNC__LCD_VSYNC | MUX_PAD_CTRL(LCD_PAD_CTRL), | |
237 | + MX7D_PAD_LCD_DATA00__LCD_DATA0 | MUX_PAD_CTRL(LCD_PAD_CTRL), | |
238 | + MX7D_PAD_LCD_DATA01__LCD_DATA1 | MUX_PAD_CTRL(LCD_PAD_CTRL), | |
239 | + MX7D_PAD_LCD_DATA02__LCD_DATA2 | MUX_PAD_CTRL(LCD_PAD_CTRL), | |
240 | + MX7D_PAD_LCD_DATA03__LCD_DATA3 | MUX_PAD_CTRL(LCD_PAD_CTRL), | |
241 | + MX7D_PAD_LCD_DATA04__LCD_DATA4 | MUX_PAD_CTRL(LCD_PAD_CTRL), | |
242 | + MX7D_PAD_LCD_DATA05__LCD_DATA5 | MUX_PAD_CTRL(LCD_PAD_CTRL), | |
243 | + MX7D_PAD_LCD_DATA06__LCD_DATA6 | MUX_PAD_CTRL(LCD_PAD_CTRL), | |
244 | + MX7D_PAD_LCD_DATA07__LCD_DATA7 | MUX_PAD_CTRL(LCD_PAD_CTRL), | |
245 | + MX7D_PAD_LCD_DATA08__LCD_DATA8 | MUX_PAD_CTRL(LCD_PAD_CTRL), | |
246 | + MX7D_PAD_LCD_DATA09__LCD_DATA9 | MUX_PAD_CTRL(LCD_PAD_CTRL), | |
247 | + MX7D_PAD_LCD_DATA10__LCD_DATA10 | MUX_PAD_CTRL(LCD_PAD_CTRL), | |
248 | + MX7D_PAD_LCD_DATA11__LCD_DATA11 | MUX_PAD_CTRL(LCD_PAD_CTRL), | |
249 | + MX7D_PAD_LCD_DATA12__LCD_DATA12 | MUX_PAD_CTRL(LCD_PAD_CTRL), | |
250 | + MX7D_PAD_LCD_DATA13__LCD_DATA13 | MUX_PAD_CTRL(LCD_PAD_CTRL), | |
251 | + MX7D_PAD_LCD_DATA14__LCD_DATA14 | MUX_PAD_CTRL(LCD_PAD_CTRL), | |
252 | + MX7D_PAD_LCD_DATA15__LCD_DATA15 | MUX_PAD_CTRL(LCD_PAD_CTRL), | |
253 | + MX7D_PAD_LCD_DATA16__LCD_DATA16 | MUX_PAD_CTRL(LCD_PAD_CTRL), | |
254 | + MX7D_PAD_LCD_DATA17__LCD_DATA17 | MUX_PAD_CTRL(LCD_PAD_CTRL), | |
255 | + MX7D_PAD_LCD_DATA18__LCD_DATA18 | MUX_PAD_CTRL(LCD_PAD_CTRL), | |
256 | + MX7D_PAD_LCD_DATA19__LCD_DATA19 | MUX_PAD_CTRL(LCD_PAD_CTRL), | |
257 | + MX7D_PAD_LCD_DATA20__LCD_DATA20 | MUX_PAD_CTRL(LCD_PAD_CTRL), | |
258 | + MX7D_PAD_LCD_DATA21__LCD_DATA21 | MUX_PAD_CTRL(LCD_PAD_CTRL), | |
259 | + MX7D_PAD_LCD_DATA22__LCD_DATA22 | MUX_PAD_CTRL(LCD_PAD_CTRL), | |
260 | + MX7D_PAD_LCD_DATA23__LCD_DATA23 | MUX_PAD_CTRL(LCD_PAD_CTRL), | |
261 | + | |
262 | + MX7D_PAD_LCD_RESET__GPIO3_IO4 | MUX_PAD_CTRL(LCD_PAD_CTRL), | |
263 | +}; | |
264 | + | |
265 | +static iomux_v3_cfg_t const backlight_pads[] = { | |
266 | + /* Backlight Enable for RGB: S127 */ | |
267 | + MX7D_PAD_SAI1_RX_BCLK__GPIO6_IO17 | MUX_PAD_CTRL(WEAK_PULLUP), | |
268 | + | |
269 | + /* PWM Backlight Control: S141. Use GPIO for Brightness adjustment, duty cycle = period */ | |
270 | + MX7D_PAD_GPIO1_IO02__GPIO1_IO2 | MUX_PAD_CTRL(NO_PAD_CTRL), | |
271 | +}; | |
272 | + | |
273 | +void do_enable_parallel_lcd(struct display_info_t const *dev) | |
274 | +{ | |
275 | + imx_iomux_v3_setup_multiple_pads(lcd_pads, ARRAY_SIZE(lcd_pads)); | |
276 | + | |
277 | + imx_iomux_v3_setup_multiple_pads(backlight_pads, ARRAY_SIZE(backlight_pads)); | |
278 | + | |
279 | + /* Reset LCD */ | |
280 | + gpio_request(IMX_GPIO_NR(3, 4), "lcd reset"); | |
281 | + gpio_direction_output(IMX_GPIO_NR(3, 4) , 0); | |
282 | + udelay(500); | |
283 | + gpio_direction_output(IMX_GPIO_NR(3, 4) , 1); | |
284 | + | |
285 | + /* Turn on Backlight */ | |
286 | + gpio_request(IMX_GPIO_NR(6, 17), "backlight_enable"); | |
287 | + gpio_direction_output(IMX_GPIO_NR(6, 17), 1); | |
288 | + | |
289 | + /* Set Brightness to high */ | |
290 | + gpio_request(IMX_GPIO_NR(1, 2), "backlight_pwm"); | |
291 | + gpio_direction_output(IMX_GPIO_NR(1, 2) , 1); | |
292 | +} | |
293 | + | |
294 | +/* LVDS Panel for AUO G070VW01 V0 7-inch Color TFT 800x480 Panel Settings */ | |
295 | +struct display_info_t const displays[] = {{ | |
296 | + .bus = ELCDIF1_IPS_BASE_ADDR, | |
297 | + .addr = 0, | |
298 | + .pixfmt = 24, | |
299 | + .detect = NULL, | |
300 | + .enable = do_enable_parallel_lcd, | |
301 | + .mode = { | |
302 | + .name = "G070VW01", | |
303 | + .xres = 800, | |
304 | + .yres = 480, | |
305 | + .pixclock = 31069, | |
306 | + .left_margin = 64, | |
307 | + .right_margin = 64, | |
308 | + .upper_margin = 12, | |
309 | + .lower_margin = 4, | |
310 | + .hsync_len = 128, | |
311 | + .vsync_len = 12, | |
312 | + .sync = 0, | |
313 | + .vmode = FB_VMODE_NONINTERLACED | |
314 | +} } }; | |
315 | +size_t display_count = ARRAY_SIZE(displays); | |
316 | +#endif | |
317 | + | |
318 | +static void setup_iomux_uart6(void) | |
319 | +{ | |
320 | + imx_iomux_v3_setup_multiple_pads(uart6_pads, ARRAY_SIZE(uart6_pads)); | |
321 | +} | |
322 | + | |
323 | +static void setup_iomux_uart2(void) | |
324 | +{ | |
325 | + imx_iomux_v3_setup_multiple_pads(uart2_pads, ARRAY_SIZE(uart2_pads)); | |
326 | +} | |
327 | + | |
328 | +static void setup_iomux_uart7(void) | |
329 | +{ | |
330 | + imx_iomux_v3_setup_multiple_pads(uart7_pads, ARRAY_SIZE(uart7_pads)); | |
331 | +} | |
332 | + | |
333 | +static void setup_iomux_uart3(void) | |
334 | +{ | |
335 | + imx_iomux_v3_setup_multiple_pads(uart3_pads, ARRAY_SIZE(uart3_pads)); | |
336 | +} | |
337 | + | |
338 | +static void setup_iomux_reset_out(void) | |
339 | +{ | |
340 | + imx_iomux_v3_setup_multiple_pads(reset_out_pads, ARRAY_SIZE(reset_out_pads)); | |
341 | + | |
342 | + /* Set CPU RESET_OUT as Output */ | |
343 | + gpio_request(IMX_GPIO_NR(2, 29), "reset_out"); | |
344 | + gpio_direction_output(IMX_GPIO_NR(2, 29) , 0); | |
345 | +} | |
346 | + | |
347 | +static void setup_iomux_spi1(void) | |
348 | +{ | |
349 | + imx_iomux_v3_setup_multiple_pads(ecspi1_pads, ARRAY_SIZE(ecspi1_pads)); | |
350 | + gpio_request(IMX_GPIO_NR(4, 19), "spi1_cs0"); | |
351 | + gpio_direction_output(IMX_GPIO_NR(4, 19), 0); | |
352 | + gpio_request(IMX_GPIO_NR(4, 0), "spi1_cs1"); | |
353 | + gpio_direction_output(IMX_GPIO_NR(4, 0), 0); | |
354 | +} | |
355 | + | |
356 | +static void setup_iomux_spi3(void) | |
357 | +{ | |
358 | + imx_iomux_v3_setup_multiple_pads(ecspi3_pads, ARRAY_SIZE(ecspi3_pads)); | |
359 | + gpio_request(IMX_GPIO_NR(6, 22), "spi3_cs0"); | |
360 | + gpio_direction_output(IMX_GPIO_NR(6, 22), 0); | |
361 | + gpio_request(IMX_GPIO_NR(5, 9), "spi3_cs2"); | |
362 | + gpio_direction_output(IMX_GPIO_NR(5, 9), 0); | |
363 | +} | |
364 | + | |
365 | +static void setup_iomux_gpios(void) | |
366 | +{ | |
367 | + imx_iomux_v3_setup_multiple_pads(gpios_pads, ARRAY_SIZE(gpios_pads)); | |
368 | + gpio_request(IMX_GPIO_NR(2, 0), "GPIO0"); | |
369 | + gpio_direction_output(IMX_GPIO_NR(2, 0), 0); | |
370 | + gpio_request(IMX_GPIO_NR(2, 1), "GPIO1"); | |
371 | + gpio_direction_output(IMX_GPIO_NR(2, 1), 0); | |
372 | + gpio_request(IMX_GPIO_NR(2, 2), "GPIO2"); | |
373 | + gpio_direction_output(IMX_GPIO_NR(2, 2), 0); | |
374 | + gpio_request(IMX_GPIO_NR(2, 3), "GPIO3"); | |
375 | + gpio_direction_output(IMX_GPIO_NR(2, 3), 0); | |
376 | + gpio_request(IMX_GPIO_NR(2, 4), "GPIO4"); | |
377 | + gpio_direction_output(IMX_GPIO_NR(2, 4), 0); | |
378 | + gpio_request(IMX_GPIO_NR(2, 5), "GPIO6"); | |
379 | + gpio_direction_input(IMX_GPIO_NR(2, 5)); | |
380 | + gpio_request(IMX_GPIO_NR(2, 7), "GPIO7"); | |
381 | + gpio_direction_input(IMX_GPIO_NR(2, 7)); | |
382 | + gpio_request(IMX_GPIO_NR(2, 6), "GPIO8"); | |
383 | + gpio_direction_input(IMX_GPIO_NR(2, 6)); | |
384 | + gpio_request(IMX_GPIO_NR(4, 1), "GPIO9"); | |
385 | + gpio_direction_input(IMX_GPIO_NR(4, 1)); | |
386 | + gpio_request(IMX_GPIO_NR(4, 6), "GPIO10"); | |
387 | + gpio_direction_input(IMX_GPIO_NR(4, 6)); | |
388 | + gpio_request(IMX_GPIO_NR(4, 7), "GPIO11"); | |
389 | + gpio_direction_input(IMX_GPIO_NR(4, 7)); | |
390 | +} | |
391 | + | |
392 | +static void setup_iomux_lvds_ch_sel(void) | |
393 | +{ | |
394 | + imx_iomux_v3_setup_multiple_pads(lvds_ch_sel_pads, ARRAY_SIZE(lvds_ch_sel_pads)); | |
395 | + gpio_request(IMX_GPIO_NR(5, 13), "LVDS_CH_SEL"); | |
396 | + gpio_direction_output(IMX_GPIO_NR(5, 13), 0); | |
397 | +} | |
398 | + | |
399 | +static void setup_iomux_misc(void) | |
400 | +{ | |
401 | + imx_iomux_v3_setup_multiple_pads(misc_pads, ARRAY_SIZE(misc_pads)); | |
402 | + gpio_request(IMX_GPIO_NR(5, 14), "SLEEP#"); | |
403 | + gpio_direction_input(IMX_GPIO_NR(5, 14)); | |
404 | + gpio_request(IMX_GPIO_NR(1, 8), "CHARGING#"); | |
405 | + gpio_direction_input(IMX_GPIO_NR(1, 8)); | |
406 | + gpio_request(IMX_GPIO_NR(1, 9), "CHARGER_PRSNT#"); | |
407 | + gpio_direction_input(IMX_GPIO_NR(1, 9)); | |
408 | + gpio_request(IMX_GPIO_NR(5, 11), "BATLOW#"); | |
409 | + gpio_direction_input(IMX_GPIO_NR(5, 11)); | |
410 | + gpio_request(IMX_GPIO_NR(6, 16), "CARRIER_STBY#"); | |
411 | + gpio_direction_output(IMX_GPIO_NR(6, 16), 1); | |
412 | + gpio_request(IMX_GPIO_NR(2, 28), "PCIE_RST#"); | |
413 | + gpio_direction_output(IMX_GPIO_NR(2, 28), 0); | |
414 | + udelay(500); | |
415 | + gpio_direction_output(IMX_GPIO_NR(2, 28), 1); | |
416 | + gpio_request(IMX_GPIO_NR(2, 31), "PCIE_WAKE#"); | |
417 | + gpio_direction_input(IMX_GPIO_NR(2, 31)); | |
418 | + /* Set WDT_TIME_OUT# as Output High */ | |
419 | + gpio_request(IMX_GPIO_NR(7, 14), "WDT_TIME_OUT#"); | |
420 | + gpio_direction_output(IMX_GPIO_NR(7, 14), 1); | |
421 | +} | |
422 | + | |
423 | +static void setup_iomux_flexcan1(void) | |
424 | +{ | |
425 | + imx_iomux_v3_setup_multiple_pads(flexcan1_pads, ARRAY_SIZE(flexcan1_pads)); | |
426 | +} | |
427 | + | |
428 | +static void setup_iomux_flexcan2(void) | |
429 | +{ | |
430 | + imx_iomux_v3_setup_multiple_pads(flexcan2_pads, ARRAY_SIZE(flexcan2_pads)); | |
431 | +} | |
432 | + | |
433 | +int board_mmc_get_env_dev(int devno) | |
434 | +{ | |
435 | + if (devno == 2) | |
436 | + devno--; | |
437 | + | |
438 | + return devno; | |
439 | +} | |
440 | + | |
441 | +int mmc_map_to_kernel_blk(int dev_no) | |
442 | +{ | |
443 | + if (dev_no == 1) | |
444 | + dev_no++; | |
445 | + | |
446 | + return dev_no; | |
447 | +} | |
448 | + | |
449 | +#ifdef CONFIG_FEC_MXC | |
450 | +static int setup_fec(int fec_id) | |
451 | +{ | |
452 | + struct iomuxc_gpr_base_regs *const iomuxc_gpr_regs | |
453 | + = (struct iomuxc_gpr_base_regs *) IOMUXC_GPR_BASE_ADDR; | |
454 | + | |
455 | + if (0 == fec_id) { | |
456 | + /* Use 125M anatop REF_CLK1 for ENET1, clear gpr1[13], gpr1[17]*/ | |
457 | + clrsetbits_le32(&iomuxc_gpr_regs->gpr[1], | |
458 | + (IOMUXC_GPR_GPR1_GPR_ENET1_TX_CLK_SEL_MASK | | |
459 | + IOMUXC_GPR_GPR1_GPR_ENET1_CLK_DIR_MASK), 0); | |
460 | + } else { | |
461 | + /* Use 125M anatop REF_CLK2 for ENET2, clear gpr1[14], gpr1[18]*/ | |
462 | + clrsetbits_le32(&iomuxc_gpr_regs->gpr[1], | |
463 | + (IOMUXC_GPR_GPR1_GPR_ENET2_TX_CLK_SEL_MASK | | |
464 | + IOMUXC_GPR_GPR1_GPR_ENET2_CLK_DIR_MASK), 0); | |
465 | + } | |
466 | + | |
467 | + return set_clk_enet(ENET_125MHZ); | |
468 | +} | |
469 | + | |
470 | +int board_phy_config(struct phy_device *phydev) | |
471 | +{ | |
472 | + /* enable rgmii rxc skew and phy mode select to RGMII copper */ | |
473 | + /*phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x21); | |
474 | + phy_write(phydev, MDIO_DEVAD_NONE, 0x1f, 0x7ea8); | |
475 | + phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x2f); | |
476 | + phy_write(phydev, MDIO_DEVAD_NONE, 0x1f, 0x71b7);*/ | |
477 | + | |
478 | + if (phydev->drv->config) | |
479 | + phydev->drv->config(phydev); | |
480 | + return 0; | |
481 | +} | |
482 | +#endif | |
483 | + | |
484 | +#ifdef CONFIG_FSL_QSPI | |
485 | +#ifndef CONFIG_DM_SPI | |
486 | +static iomux_v3_cfg_t const quadspi_pads[] = { | |
487 | + MX7D_PAD_EPDC_DATA00__QSPI_A_DATA0 | MUX_PAD_CTRL(QSPI_PAD_CTRL), | |
488 | + MX7D_PAD_EPDC_DATA01__QSPI_A_DATA1 | MUX_PAD_CTRL(QSPI_PAD_CTRL), | |
489 | + MX7D_PAD_EPDC_DATA02__QSPI_A_DATA2 | MUX_PAD_CTRL(QSPI_PAD_CTRL), | |
490 | + MX7D_PAD_EPDC_DATA03__QSPI_A_DATA3 | MUX_PAD_CTRL(QSPI_PAD_CTRL), | |
491 | + MX7D_PAD_EPDC_DATA05__QSPI_A_SCLK | MUX_PAD_CTRL(QSPI_PAD_CTRL), | |
492 | + MX7D_PAD_EPDC_DATA06__QSPI_A_SS0_B | MUX_PAD_CTRL(QSPI_PAD_CTRL), | |
493 | +}; | |
494 | +#endif | |
495 | + | |
496 | +int board_qspi_init(void) | |
497 | +{ | |
498 | +#ifndef CONFIG_DM_SPI | |
499 | + /* Set the iomux */ | |
500 | + imx_iomux_v3_setup_multiple_pads(quadspi_pads, | |
501 | + ARRAY_SIZE(quadspi_pads)); | |
502 | +#endif | |
503 | + | |
504 | + /* Set the clock */ | |
505 | + set_clk_qspi(); | |
506 | + | |
507 | + return 0; | |
508 | +} | |
509 | +#endif | |
510 | + | |
511 | +#ifdef CONFIG_MXC_EPDC | |
512 | +iomux_v3_cfg_t const epdc_en_pads[] = { | |
513 | + MX7D_PAD_GPIO1_IO04__GPIO1_IO4 | MUX_PAD_CTRL(NO_PAD_CTRL), | |
514 | +}; | |
515 | + | |
516 | +static iomux_v3_cfg_t const epdc_enable_pads[] = { | |
517 | + MX7D_PAD_EPDC_DATA00__EPDC_DATA0 | MUX_PAD_CTRL(EPDC_PAD_CTRL), | |
518 | + MX7D_PAD_EPDC_DATA01__EPDC_DATA1 | MUX_PAD_CTRL(EPDC_PAD_CTRL), | |
519 | + MX7D_PAD_EPDC_DATA02__EPDC_DATA2 | MUX_PAD_CTRL(EPDC_PAD_CTRL), | |
520 | + MX7D_PAD_EPDC_DATA03__EPDC_DATA3 | MUX_PAD_CTRL(EPDC_PAD_CTRL), | |
521 | + MX7D_PAD_EPDC_DATA04__EPDC_DATA4 | MUX_PAD_CTRL(EPDC_PAD_CTRL), | |
522 | + MX7D_PAD_EPDC_DATA05__EPDC_DATA5 | MUX_PAD_CTRL(EPDC_PAD_CTRL), | |
523 | + MX7D_PAD_EPDC_DATA06__EPDC_DATA6 | MUX_PAD_CTRL(EPDC_PAD_CTRL), | |
524 | + MX7D_PAD_EPDC_DATA07__EPDC_DATA7 | MUX_PAD_CTRL(EPDC_PAD_CTRL), | |
525 | + MX7D_PAD_EPDC_SDCLK__EPDC_SDCLK | MUX_PAD_CTRL(EPDC_PAD_CTRL), | |
526 | + MX7D_PAD_EPDC_SDLE__EPDC_SDLE | MUX_PAD_CTRL(EPDC_PAD_CTRL), | |
527 | + MX7D_PAD_EPDC_SDOE__EPDC_SDOE | MUX_PAD_CTRL(EPDC_PAD_CTRL), | |
528 | + MX7D_PAD_EPDC_SDSHR__EPDC_SDSHR | MUX_PAD_CTRL(EPDC_PAD_CTRL), | |
529 | + MX7D_PAD_EPDC_SDCE0__EPDC_SDCE0 | MUX_PAD_CTRL(EPDC_PAD_CTRL), | |
530 | + MX7D_PAD_EPDC_SDCE1__EPDC_SDCE1 | MUX_PAD_CTRL(EPDC_PAD_CTRL), | |
531 | + MX7D_PAD_EPDC_GDCLK__EPDC_GDCLK | MUX_PAD_CTRL(EPDC_PAD_CTRL), | |
532 | + MX7D_PAD_EPDC_GDOE__EPDC_GDOE | MUX_PAD_CTRL(EPDC_PAD_CTRL), | |
533 | + MX7D_PAD_EPDC_GDRL__EPDC_GDRL | MUX_PAD_CTRL(EPDC_PAD_CTRL), | |
534 | + MX7D_PAD_EPDC_GDSP__EPDC_GDSP | MUX_PAD_CTRL(EPDC_PAD_CTRL), | |
535 | + MX7D_PAD_EPDC_BDR0__EPDC_BDR0 | MUX_PAD_CTRL(EPDC_PAD_CTRL), | |
536 | + MX7D_PAD_EPDC_BDR1__EPDC_BDR1 | MUX_PAD_CTRL(EPDC_PAD_CTRL), | |
537 | +}; | |
538 | + | |
539 | +static iomux_v3_cfg_t const epdc_disable_pads[] = { | |
540 | + MX7D_PAD_EPDC_DATA00__GPIO2_IO0, | |
541 | + MX7D_PAD_EPDC_DATA01__GPIO2_IO1, | |
542 | + MX7D_PAD_EPDC_DATA02__GPIO2_IO2, | |
543 | + MX7D_PAD_EPDC_DATA03__GPIO2_IO3, | |
544 | + MX7D_PAD_EPDC_DATA04__GPIO2_IO4, | |
545 | + MX7D_PAD_EPDC_DATA05__GPIO2_IO5, | |
546 | + MX7D_PAD_EPDC_DATA06__GPIO2_IO6, | |
547 | + MX7D_PAD_EPDC_DATA07__GPIO2_IO7, | |
548 | + MX7D_PAD_EPDC_SDCLK__GPIO2_IO16, | |
549 | + MX7D_PAD_EPDC_SDLE__GPIO2_IO17, | |
550 | + MX7D_PAD_EPDC_SDOE__GPIO2_IO18, | |
551 | + MX7D_PAD_EPDC_SDSHR__GPIO2_IO19, | |
552 | + MX7D_PAD_EPDC_SDCE0__GPIO2_IO20, | |
553 | + MX7D_PAD_EPDC_SDCE1__GPIO2_IO21, | |
554 | + MX7D_PAD_EPDC_GDCLK__GPIO2_IO24, | |
555 | + MX7D_PAD_EPDC_GDOE__GPIO2_IO25, | |
556 | + MX7D_PAD_EPDC_GDRL__GPIO2_IO26, | |
557 | + MX7D_PAD_EPDC_GDSP__GPIO2_IO27, | |
558 | + MX7D_PAD_EPDC_BDR0__GPIO2_IO28, | |
559 | + MX7D_PAD_EPDC_BDR1__GPIO2_IO29, | |
560 | +}; | |
561 | + | |
562 | +vidinfo_t panel_info = { | |
563 | + .vl_refresh = 85, | |
564 | + .vl_col = 1024, | |
565 | + .vl_row = 758, | |
566 | + .vl_pixclock = 40000000, | |
567 | + .vl_left_margin = 12, | |
568 | + .vl_right_margin = 76, | |
569 | + .vl_upper_margin = 4, | |
570 | + .vl_lower_margin = 5, | |
571 | + .vl_hsync = 12, | |
572 | + .vl_vsync = 2, | |
573 | + .vl_sync = 0, | |
574 | + .vl_mode = 0, | |
575 | + .vl_flag = 0, | |
576 | + .vl_bpix = 3, | |
577 | + .cmap = 0, | |
578 | +}; | |
579 | + | |
580 | +struct epdc_timing_params panel_timings = { | |
581 | + .vscan_holdoff = 4, | |
582 | + .sdoed_width = 10, | |
583 | + .sdoed_delay = 20, | |
584 | + .sdoez_width = 10, | |
585 | + .sdoez_delay = 20, | |
586 | + .gdclk_hp_offs = 524, | |
587 | + .gdsp_offs = 327, | |
588 | + .gdoe_offs = 0, | |
589 | + .gdclk_offs = 19, | |
590 | + .num_ce = 1, | |
591 | +}; | |
592 | + | |
593 | +static void setup_epdc_power(void) | |
594 | +{ | |
595 | + /* IOMUX_GPR1: bit30: Disable On-chip RAM EPDC Function */ | |
596 | + struct iomuxc_gpr_base_regs *const iomuxc_gpr_regs | |
597 | + = (struct iomuxc_gpr_base_regs *) IOMUXC_GPR_BASE_ADDR; | |
598 | + | |
599 | + clrsetbits_le32(&iomuxc_gpr_regs->gpr[1], | |
600 | + IOMUXC_GPR_GPR1_GPR_ENABLE_OCRAM_EPDC_MASK, 0); | |
601 | + | |
602 | + /* Setup epdc voltage */ | |
603 | + | |
604 | + /* EPDC_PWRSTAT - GPIO2[31] for PWR_GOOD status */ | |
605 | + imx_iomux_v3_setup_pad(MX7D_PAD_EPDC_PWR_STAT__GPIO2_IO31 | | |
606 | + MUX_PAD_CTRL(EPDC_PAD_CTRL)); | |
607 | + gpio_request(IMX_GPIO_NR(2, 31), "epdc_pwrstat"); | |
608 | + gpio_direction_input(IMX_GPIO_NR(2, 31)); | |
609 | + | |
610 | + /* EPDC_VCOM0 - GPIO4[14] for VCOM control */ | |
611 | + imx_iomux_v3_setup_pad(MX7D_PAD_I2C4_SCL__GPIO4_IO14 | | |
612 | + MUX_PAD_CTRL(EPDC_PAD_CTRL)); | |
613 | + | |
614 | + /* Set as output */ | |
615 | + gpio_request(IMX_GPIO_NR(4, 14), "epdc_vcom"); | |
616 | + gpio_direction_output(IMX_GPIO_NR(4, 14), 1); | |
617 | + | |
618 | + /* EPDC_PWRWAKEUP - GPIO2[23] for EPD PMIC WAKEUP */ | |
619 | + imx_iomux_v3_setup_pad(MX7D_PAD_EPDC_SDCE3__GPIO2_IO23 | | |
620 | + MUX_PAD_CTRL(EPDC_PAD_CTRL)); | |
621 | + /* Set as output */ | |
622 | + gpio_request(IMX_GPIO_NR(2, 23), "epdc_pmic"); | |
623 | + gpio_direction_output(IMX_GPIO_NR(2, 23), 1); | |
624 | + | |
625 | + /* EPDC_PWRCTRL0 - GPIO2[30] for EPD PWR CTL0 */ | |
626 | + imx_iomux_v3_setup_pad(MX7D_PAD_EPDC_PWR_COM__GPIO2_IO30 | | |
627 | + MUX_PAD_CTRL(EPDC_PAD_CTRL)); | |
628 | + /* Set as output */ | |
629 | + gpio_request(IMX_GPIO_NR(2, 30), "epdc_pwr_ctl0"); | |
630 | + gpio_direction_output(IMX_GPIO_NR(2, 30), 1); | |
631 | +} | |
632 | + | |
633 | +static void epdc_enable_pins(void) | |
634 | +{ | |
635 | + /* epdc iomux settings */ | |
636 | + imx_iomux_v3_setup_multiple_pads(epdc_enable_pads, | |
637 | + ARRAY_SIZE(epdc_enable_pads)); | |
638 | +} | |
639 | + | |
640 | +static void epdc_disable_pins(void) | |
641 | +{ | |
642 | + /* Configure MUX settings for EPDC pins to GPIO and drive to 0 */ | |
643 | + imx_iomux_v3_setup_multiple_pads(epdc_disable_pads, | |
644 | + ARRAY_SIZE(epdc_disable_pads)); | |
645 | +} | |
646 | + | |
647 | +static void setup_epdc(void) | |
648 | +{ | |
649 | + /*** epdc Maxim PMIC settings ***/ | |
650 | + | |
651 | + /* EPDC_PWRSTAT - GPIO2[31] for PWR_GOOD status */ | |
652 | + imx_iomux_v3_setup_pad(MX7D_PAD_EPDC_PWR_STAT__GPIO2_IO31 | | |
653 | + MUX_PAD_CTRL(EPDC_PAD_CTRL)); | |
654 | + | |
655 | + /* EPDC_VCOM0 - GPIO4[14] for VCOM control */ | |
656 | + imx_iomux_v3_setup_pad(MX7D_PAD_I2C4_SCL__GPIO4_IO14 | | |
657 | + MUX_PAD_CTRL(EPDC_PAD_CTRL)); | |
658 | + | |
659 | + /* EPDC_PWRWAKEUP - GPIO4[23] for EPD PMIC WAKEUP */ | |
660 | + imx_iomux_v3_setup_pad(MX7D_PAD_EPDC_SDCE3__GPIO2_IO23 | | |
661 | + MUX_PAD_CTRL(EPDC_PAD_CTRL)); | |
662 | + | |
663 | + /* EPDC_PWRCTRL0 - GPIO4[20] for EPD PWR CTL0 */ | |
664 | + imx_iomux_v3_setup_pad(MX7D_PAD_EPDC_PWR_COM__GPIO2_IO30 | | |
665 | + MUX_PAD_CTRL(EPDC_PAD_CTRL)); | |
666 | + | |
667 | + /* Set pixel clock rates for EPDC in clock.c */ | |
668 | + | |
669 | + panel_info.epdc_data.wv_modes.mode_init = 0; | |
670 | + panel_info.epdc_data.wv_modes.mode_du = 1; | |
671 | + panel_info.epdc_data.wv_modes.mode_gc4 = 3; | |
672 | + panel_info.epdc_data.wv_modes.mode_gc8 = 2; | |
673 | + panel_info.epdc_data.wv_modes.mode_gc16 = 2; | |
674 | + panel_info.epdc_data.wv_modes.mode_gc32 = 2; | |
675 | + | |
676 | + panel_info.epdc_data.epdc_timings = panel_timings; | |
677 | + | |
678 | + setup_epdc_power(); | |
679 | +} | |
680 | + | |
681 | +void epdc_power_on(void) | |
682 | +{ | |
683 | + unsigned int reg; | |
684 | + struct gpio_regs *gpio_regs = (struct gpio_regs *)GPIO2_BASE_ADDR; | |
685 | + | |
686 | + /* Set EPD_PWR_CTL0 to high - enable EINK_VDD (3.15) */ | |
687 | + gpio_set_value(IMX_GPIO_NR(2, 30), 1); | |
688 | + udelay(1000); | |
689 | + | |
690 | + /* Enable epdc signal pin */ | |
691 | + epdc_enable_pins(); | |
692 | + | |
693 | + /* Set PMIC Wakeup to high - enable Display power */ | |
694 | + gpio_set_value(IMX_GPIO_NR(2, 23), 1); | |
695 | + | |
696 | + /* Wait for PWRGOOD == 1 */ | |
697 | + while (1) { | |
698 | + reg = readl(&gpio_regs->gpio_psr); | |
699 | + if (!(reg & (1 << 31))) | |
700 | + break; | |
701 | + | |
702 | + udelay(100); | |
703 | + } | |
704 | + | |
705 | + /* Enable VCOM */ | |
706 | + gpio_set_value(IMX_GPIO_NR(4, 14), 1); | |
707 | + | |
708 | + udelay(500); | |
709 | +} | |
710 | + | |
711 | +void epdc_power_off(void) | |
712 | +{ | |
713 | + /* Set PMIC Wakeup to low - disable Display power */ | |
714 | + gpio_set_value(IMX_GPIO_NR(2, 23), 0); | |
715 | + | |
716 | + /* Disable VCOM */ | |
717 | + gpio_set_value(IMX_GPIO_NR(4, 14), 0); | |
718 | + | |
719 | + epdc_disable_pins(); | |
720 | + | |
721 | + /* Set EPD_PWR_CTL0 to low - disable EINK_VDD (3.15) */ | |
722 | + gpio_set_value(IMX_GPIO_NR(2, 30), 0); | |
723 | +} | |
724 | +#endif | |
725 | + | |
726 | +static void setup_usb(void) | |
727 | +{ | |
728 | + /* OTG1 Over Current */ | |
729 | + gpio_request(IMX_GPIO_NR(1, 4), "OTG1_OC"); | |
730 | + gpio_direction_input(IMX_GPIO_NR(1, 4)); | |
731 | + gpio_request(IMX_GPIO_NR(1, 5), "OTG1_PWR"); | |
732 | + gpio_direction_output(IMX_GPIO_NR(1, 5), 1); | |
733 | + /* OTG2 */ | |
734 | + gpio_request(IMX_GPIO_NR(1, 6), "OTG2_OC"); | |
735 | + gpio_direction_input(IMX_GPIO_NR(1, 6)); | |
736 | + gpio_request(IMX_GPIO_NR(1, 7), "OTG2_PWR"); | |
737 | + gpio_direction_output(IMX_GPIO_NR(1, 7), 1); | |
738 | +} | |
739 | + | |
740 | +int board_early_init_f(void) | |
741 | +{ | |
742 | + setup_iomux_uart6(); | |
743 | + setup_iomux_uart2(); | |
744 | + setup_iomux_uart7(); | |
745 | + setup_iomux_uart3(); | |
746 | + | |
747 | +#ifdef CONFIG_MXC_SPI | |
748 | + setup_spinor(); | |
749 | +#endif | |
750 | + | |
751 | + setup_iomux_flexcan1(); | |
752 | + setup_iomux_flexcan2(); | |
753 | + | |
754 | + return 0; | |
755 | +} | |
756 | + | |
757 | +int board_init(void) | |
758 | +{ | |
759 | + /* address of boot parameters */ | |
760 | + gd->bd->bi_boot_params = PHYS_SDRAM + 0x100; | |
761 | + | |
762 | +#ifdef CONFIG_FEC_MXC | |
763 | + setup_fec(CONFIG_FEC_ENET_DEV); | |
764 | +#endif | |
765 | + | |
766 | +#ifdef CONFIG_NAND_MXS | |
767 | + setup_gpmi_nand(); | |
768 | +#endif | |
769 | + | |
770 | +#ifdef CONFIG_FSL_QSPI | |
771 | + board_qspi_init(); | |
772 | +#endif | |
773 | + | |
774 | +#ifdef CONFIG_MXC_EPDC | |
775 | + setup_epdc(); | |
776 | +#endif | |
777 | + | |
778 | + return 0; | |
779 | +} | |
780 | + | |
781 | +#ifdef CONFIG_CMD_BMODE | |
782 | +static const struct boot_mode board_boot_modes[] = { | |
783 | + /* 4 bit bus width */ | |
784 | + {"sd1", MAKE_CFGVAL(0x10, 0x10, 0x00, 0x00)}, | |
785 | + {"emmc", MAKE_CFGVAL(0x10, 0x2a, 0x00, 0x00)}, | |
786 | + /* TODO: Nand */ | |
787 | + {"qspi", MAKE_CFGVAL(0x00, 0x40, 0x00, 0x00)}, | |
788 | + {NULL, 0}, | |
789 | +}; | |
790 | +#endif | |
791 | + | |
792 | +#ifdef CONFIG_DM_PMIC | |
793 | +int power_init_board(void) | |
794 | +{ | |
795 | + struct udevice *dev; | |
796 | + int ret, dev_id, rev_id; | |
797 | + u32 sw3mode; | |
798 | + | |
799 | + ret = pmic_get("pfuze3000", &dev); | |
800 | + if (ret == -ENODEV) | |
801 | + return 0; | |
802 | + if (ret != 0) | |
803 | + return ret; | |
804 | + | |
805 | + dev_id = pmic_reg_read(dev, PFUZE3000_DEVICEID); | |
806 | + rev_id = pmic_reg_read(dev, PFUZE3000_REVID); | |
807 | + printf("PMIC: PFUZE3000 DEV_ID=0x%x REV_ID=0x%x\n", dev_id, rev_id); | |
808 | + | |
809 | + pmic_clrsetbits(dev, PFUZE3000_LDOGCTL, 0, 1); | |
810 | + | |
811 | + /* change sw3 mode to avoid DDR power off */ | |
812 | + sw3mode = pmic_reg_read(dev, PFUZE3000_SW3MODE); | |
813 | + ret = pmic_reg_write(dev, PFUZE3000_SW3MODE, sw3mode | 0x20); | |
814 | + if (ret < 0) | |
815 | + printf("PMIC: PFUZE3000 change sw3 mode failed\n"); | |
816 | + | |
817 | + return 0; | |
818 | +} | |
819 | +#endif | |
820 | + | |
821 | +int board_late_init(void) | |
822 | +{ | |
823 | + struct wdog_regs *wdog = (struct wdog_regs *)WDOG1_BASE_ADDR; | |
824 | +#ifdef CONFIG_CMD_BMODE | |
825 | + add_board_boot_modes(board_boot_modes); | |
826 | +#endif | |
827 | + | |
828 | + env_set("tee", "no"); | |
829 | +#ifdef CONFIG_IMX_OPTEE | |
830 | + env_set("tee", "yes"); | |
831 | +#endif | |
832 | + | |
833 | +#ifdef CONFIG_ENV_IS_IN_MMC | |
834 | + board_late_mmc_env_init(); | |
835 | +#endif | |
836 | + | |
837 | + imx_iomux_v3_setup_multiple_pads(wdog_pads, ARRAY_SIZE(wdog_pads)); | |
838 | + | |
839 | + set_wdog_reset(wdog); | |
840 | + | |
841 | + /* | |
842 | + * Do not assert internal WDOG_RESET_B_DEB(controlled by bit 4), | |
843 | + * since we use PMIC_PWRON to reset the board. | |
844 | + */ | |
845 | + clrsetbits_le16(&wdog->wcr, 0, 0x10); | |
846 | + | |
847 | + puts("---------Embedian SMARC-FiMX7------------\n"); | |
848 | + /* Read Module Information from on module EEPROM and pass | |
849 | + * mac address to kernel | |
850 | + */ | |
851 | + struct udevice *dev; | |
852 | + int ret; | |
853 | + u8 name[8]; | |
854 | + u8 serial[12]; | |
855 | + u8 revision[4]; | |
856 | + u8 mac[6]; | |
857 | + u8 mac1[6]; | |
858 | + | |
859 | + ret = i2c_get_chip_for_busnum(1, 0x50, 2, &dev); | |
860 | + if (ret) { | |
861 | + debug("failed to get eeprom\n"); | |
862 | + return 0; | |
863 | + } | |
864 | + | |
865 | + /* Board ID */ | |
866 | + ret = dm_i2c_read(dev, 0x4, name, 8); | |
867 | + if (ret) { | |
868 | + debug("failed to read board ID from EEPROM\n"); | |
869 | + return 0; | |
870 | + } | |
871 | + printf(" Board ID: %c%c%c%c%c%c%c%c\n", | |
872 | + name[0], name[1], name[2], name[3], name[4], name[5], name[6], name[7]); | |
873 | + | |
874 | + /* Board Hardware Revision */ | |
875 | + ret = dm_i2c_read(dev, 0xc, revision, 4); | |
876 | + if (ret) { | |
877 | + debug("failed to read hardware revison from EEPROM\n"); | |
878 | + return 0; | |
879 | + } | |
880 | + printf(" Hardware Revision: %c%c%c%c\n", | |
881 | + revision[0], revision[1], revision[2], revision[3]); | |
882 | + | |
883 | + /* Serial number */ | |
884 | + ret = dm_i2c_read(dev, 0x10, serial, 12); | |
885 | + if (ret) { | |
886 | + debug("failed to read srial number from EEPROM\n"); | |
887 | + return 0; | |
888 | + } | |
889 | + printf(" Serial Number#: %c%c%c%c%c%c%c%c%c%c%c%c\n", | |
890 | + serial[0], serial[1], serial[2], serial[3], serial[4], serial[5], serial[6], serial[7], serial[8], serial[9], serial[10], serial[11]); | |
891 | + | |
892 | + /*MAC address*/ | |
893 | + ret = dm_i2c_read(dev, 0x3c, mac, 6); | |
894 | + if (ret) { | |
895 | + debug("failed to read eth0 mac address from EEPROM\n"); | |
896 | + return 0; | |
897 | + } | |
898 | + | |
899 | + if (is_valid_ethaddr(mac)) | |
900 | + printf(" MAC Address: %02x:%02x:%02x:%02x:%02x:%02x\n", | |
901 | + mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); | |
902 | + eth_env_set_enetaddr("ethaddr", mac); | |
903 | +#ifdef CONFIG_MX7D | |
904 | + ret = dm_i2c_read(dev, 0x42, mac1, 6); | |
905 | + if (ret) { | |
906 | + debug("failed to read eth1 mac address from EEPROM\n"); | |
907 | + return 0; | |
908 | + } | |
909 | + | |
910 | + if (is_valid_ethaddr(mac1)) | |
911 | + printf(" MAC1 Address: %02x:%02x:%02x:%02x:%02x:%02x\n", | |
912 | + mac1[0], mac1[1], mac1[2], mac1[3], mac1[4], mac1[5]); | |
913 | + eth_env_set_enetaddr("eth1addr", mac1); | |
914 | +#endif | |
915 | + puts("-----------------------------------------\n"); | |
916 | + | |
917 | +/* RESET_OUT Pin */ | |
918 | + setup_iomux_reset_out(); | |
919 | +/* ECSPI1 CS Pins */ | |
920 | + setup_iomux_spi1(); | |
921 | +/* ECSPI3 CS Pins */ | |
922 | + setup_iomux_spi3(); | |
923 | +/* USB Power Control Pins */ | |
924 | + setup_usb(); | |
925 | +/* GPIO Pins */ | |
926 | + setup_iomux_gpios(); | |
927 | +/* LVDS Channel Selection Pin */ | |
928 | + setup_iomux_lvds_ch_sel(); | |
929 | +/* MISC Pins */ | |
930 | + setup_iomux_misc(); | |
931 | + | |
932 | +/* SDCARD POWER Enable */ | |
933 | + gpio_request(IMX_GPIO_NR(5, 2), "SDIO_PWR_EN"); | |
934 | + gpio_direction_output(IMX_GPIO_NR(5, 2), 1); | |
935 | + | |
936 | +/* eMMC Power Reset */ | |
937 | +#define USDHC3_PWR_GPIO IMX_GPIO_NR(6, 11) | |
938 | + gpio_request(USDHC3_PWR_GPIO, "usdhc3_pwr"); | |
939 | + gpio_direction_output(USDHC3_PWR_GPIO, 0); | |
940 | + udelay(500); | |
941 | + gpio_direction_output(USDHC3_PWR_GPIO, 1); | |
942 | + | |
943 | +/* SMARC BOOT_SEL*/ | |
944 | + gpio_request(IMX_GPIO_NR(5, 15), "BOOT_SEL_1"); | |
945 | + gpio_request(IMX_GPIO_NR(5, 16), "BOOT_SEL_2"); | |
946 | + gpio_request(IMX_GPIO_NR(5, 17), "BOOT_SEL_3"); | |
947 | + | |
948 | + if ((gpio_get_value(IMX_GPIO_NR(5, 15)) == 0)&&(gpio_get_value(IMX_GPIO_NR(5, 16)) == 0)&&(gpio_get_value(IMX_GPIO_NR(5, 17)) == 0)) { | |
949 | + puts("BOOT_SEL Detected: OFF OFF OFF, unsupported boot up device: SATA...\n"); | |
950 | + hang(); | |
951 | + } else if ((gpio_get_value(IMX_GPIO_NR(5, 15)) == 0)&&(gpio_get_value(IMX_GPIO_NR(5, 16)) == 0)&&(gpio_get_value(IMX_GPIO_NR(5, 17)) == 1)) { | |
952 | + puts("BOOT_SEL Detected: OFF OFF ON, unsupported boot up device: NAND...\n"); | |
953 | + hang(); | |
954 | + } else if ((gpio_get_value(IMX_GPIO_NR(5, 15)) == 0)&&(gpio_get_value(IMX_GPIO_NR(5, 16)) == 1)&&(gpio_get_value(IMX_GPIO_NR(5, 17)) == 0)) { | |
955 | + puts("BOOT_SEL Detected: OFF ON OFF, unsupported boot up device: Carrier eSPI...\n"); | |
956 | + hang(); | |
957 | + } else if ((gpio_get_value(IMX_GPIO_NR(5, 15)) == 1)&&(gpio_get_value(IMX_GPIO_NR(5, 16)) == 0)&&(gpio_get_value(IMX_GPIO_NR(5, 17)) == 0)) { | |
958 | + puts("BOOT_SEL Detected: ON OFF OFF, Load zImage from Carrier SD Card...\n"); | |
959 | + env_set_ulong("mmcdev", 0); | |
960 | + env_set("bootcmd", "mmc rescan; run loadbootenv; run importbootenv; run uenvcmd; run loadzimage; run loadfdt; run mmcboot;"); | |
961 | + } else if ((gpio_get_value(IMX_GPIO_NR(5, 15)) == 0)&&(gpio_get_value(IMX_GPIO_NR(5, 16)) == 1)&&(gpio_get_value(IMX_GPIO_NR(5, 17)) == 1)) { | |
962 | + puts("BOOT_SEL Detected: OFF ON ON, Load zImage from Module eMMC Flash...\n"); | |
963 | + env_set_ulong("mmcdev", 1); | |
964 | + env_set("bootcmd", "mmc rescan; run loadbootenv; run importbootenv; run uenvcmd; run loadzimage; run loadfdt; run mmcboot;"); | |
965 | + } else if ((gpio_get_value(IMX_GPIO_NR(5, 15)) == 1)&&(gpio_get_value(IMX_GPIO_NR(5, 16)) == 0)&&(gpio_get_value(IMX_GPIO_NR(5, 17)) == 1)) { | |
966 | + puts("BOOT_SEL Detected: ON OFF ON, Load zImage from GBE...\n"); | |
967 | + env_set("bootcmd", "run netboot;"); | |
968 | + } else if ((gpio_get_value(IMX_GPIO_NR(5, 15)) == 1)&&(gpio_get_value(IMX_GPIO_NR(5, 16)) == 1)&&(gpio_get_value(IMX_GPIO_NR(5, 17)) == 0)) { | |
969 | + puts("BOOT_SEL Detected: OFF ON OFF, unsupported boot up device: Carrier SPI...\n"); | |
970 | + hang(); | |
971 | + } else if ((gpio_get_value(IMX_GPIO_NR(5, 15)) == 1)&&(gpio_get_value(IMX_GPIO_NR(5, 16)) == 1)&&(gpio_get_value(IMX_GPIO_NR(5, 17)) == 1)) { | |
972 | + puts("BOOT_SEL Detected: ON ON ON, MOdule SPI Boot up is Default, Load zImage from Module eMMC...\n"); | |
973 | + env_set_ulong("mmcdev", 1); | |
974 | + env_set("bootcmd", "mmc rescan; run loadbootenv; run importbootenv; run uenvcmd; run loadzimage; run loadfdt; run mmcboot;"); | |
975 | + } else { | |
976 | + puts("unsupported boot devices\n"); | |
977 | + hang(); | |
978 | + } | |
979 | + | |
980 | + return 0; | |
981 | +} | |
982 | + | |
983 | +#ifdef CONFIG_FSL_FASTBOOT | |
984 | +#ifdef CONFIG_ANDROID_RECOVERY | |
985 | + | |
986 | +/* Use LID# for recovery key */ | |
987 | +#define GPIO_VOL_DN_KEY IMX_GPIO_NR(5, 10) | |
988 | +iomux_v3_cfg_t const recovery_key_pads[] = { | |
989 | + (MX7D_PAD_SD2_WP__GPIO5_IO10 | MUX_PAD_CTRL(BUTTON_PAD_CTRL)), | |
990 | +}; | |
991 | + | |
992 | +int is_recovery_key_pressing(void) | |
993 | +{ | |
994 | + int button_pressed = 0; | |
995 | + | |
996 | + /* Check Recovery Combo Button press or not. */ | |
997 | + imx_iomux_v3_setup_multiple_pads(recovery_key_pads, | |
998 | + ARRAY_SIZE(recovery_key_pads)); | |
999 | + | |
1000 | + gpio_request(GPIO_VOL_DN_KEY, "volume_dn_key"); | |
1001 | + gpio_direction_input(GPIO_VOL_DN_KEY); | |
1002 | + | |
1003 | + if (gpio_get_value(GPIO_VOL_DN_KEY) == 0) { /* VOL_DN key is low assert */ | |
1004 | + button_pressed = 1; | |
1005 | + printf("Recovery key pressed\n"); | |
1006 | + } | |
1007 | + | |
1008 | + return button_pressed; | |
1009 | +} | |
1010 | + | |
1011 | +#endif /*CONFIG_ANDROID_RECOVERY*/ | |
1012 | +#endif /*CONFIG_FSL_FASTBOOT*/ |
configs/smarcfimx7d_2g_ser0_defconfig
1 | +CONFIG_ARM=y | |
2 | +CONFIG_ARCH_MX7=y | |
3 | +CONFIG_TARGET_SMARCFIMX7=y | |
4 | +CONFIG_ARMV7_BOOT_SEC_DEFAULT=y | |
5 | +CONFIG_SYS_PROMPT="U-Boot# " | |
6 | +# CONFIG_ARMV7_VIRT is not set | |
7 | +CONFIG_IMX_RDC=y | |
8 | +CONFIG_IMX_BOOTAUX=y | |
9 | +CONFIG_DEFAULT_DEVICE_TREE="imx7d-smarcfimx7" | |
10 | +CONFIG_DEFAULT_FDT_FILE="imx7d-smarcfimx7.dtb" | |
11 | +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx7/ddr3l/mx7d_2x_k4b4g1646q.cfg,MX7D,2GDDR3" | |
12 | +CONFIG_CONSOLE_SER0=y | |
13 | +CONFIG_SPI_BOOT=y | |
14 | +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set | |
15 | +# CONFIG_ENV_IS_IN_MMC is not set | |
16 | +CONFIG_BOOTDELAY=1 | |
17 | +# CONFIG_CONSOLE_MUX is not set | |
18 | +CONFIG_SYS_CONSOLE_IS_IN_ENV=y | |
19 | +CONFIG_HUSH_PARSER=y | |
20 | +CONFIG_CMD_BOOTZ=y | |
21 | +# CONFIG_CMD_IMLS is not set | |
22 | +# CONFIG_CMD_XIMG is not set | |
23 | +# CONFIG_CMD_EXPORTENV is not set | |
24 | +# CONFIG_CMD_IMPORTENV is not set | |
25 | +CONFIG_CMD_MEMTEST=y | |
26 | +CONFIG_CMD_DFU=y | |
27 | +CONFIG_CMD_GPIO=y | |
28 | +CONFIG_CMD_I2C=y | |
29 | +CONFIG_CMD_MMC=y | |
30 | +CONFIG_CMD_USB=y | |
31 | +CONFIG_CMD_USB_MASS_STORAGE=y | |
32 | +CONFIG_CMD_DHCP=y | |
33 | +CONFIG_CMD_MII=y | |
34 | +CONFIG_CMD_PING=y | |
35 | +CONFIG_CMD_BMP=y | |
36 | +CONFIG_CMD_CACHE=y | |
37 | +CONFIG_CMD_PMIC=y | |
38 | +CONFIG_CMD_REGULATOR=y | |
39 | +CONFIG_CMD_EXT2=y | |
40 | +CONFIG_CMD_EXT4=y | |
41 | +CONFIG_CMD_EXT4_WRITE=y | |
42 | +CONFIG_CMD_FAT=y | |
43 | +CONFIG_CMD_PART=y | |
44 | +CONFIG_CMD_FS_GENERIC=y | |
45 | +CONFIG_DOS_PARTITION=y | |
46 | +CONFIG_FS_EXT4=y | |
47 | +CONFIG_EXT4_WRITE=y | |
48 | +CONFIG_OF_CONTROL=y | |
49 | +CONFIG_DFU_MMC=y | |
50 | +CONFIG_DFU_RAM=y | |
51 | +CONFIG_DM_GPIO=y | |
52 | +CONFIG_DM_74X164=y | |
53 | +CONFIG_DM_I2C=y | |
54 | +CONFIG_DM_MMC=y | |
55 | +CONFIG_MMC_IO_VOLTAGE=y | |
56 | +CONFIG_MMC_UHS_SUPPORT=y | |
57 | +CONFIG_MMC_HS200_SUPPORT=y | |
58 | +CONFIG_PHYLIB=y | |
59 | +CONFIG_PINCTRL=y | |
60 | +CONFIG_PINCTRL_IMX7=y | |
61 | +CONFIG_DM_PMIC=y | |
62 | +CONFIG_DM_PMIC_PFUZE100=y | |
63 | +CONFIG_DM_REGULATOR=y | |
64 | +CONFIG_DM_REGULATOR_PFUZE100=y | |
65 | +CONFIG_DM_REGULATOR_FIXED=y | |
66 | +CONFIG_DM_REGULATOR_GPIO=y | |
67 | +CONFIG_DM_SPI=y | |
68 | +CONFIG_DM_SPI_FLASH=y | |
69 | +CONFIG_SOFT_SPI=y | |
70 | +CONFIG_USB=y | |
71 | +CONFIG_DM_USB=y | |
72 | +CONFIG_USB_EHCI_HCD=y | |
73 | +CONFIG_MXC_USB_OTG_HACTIVE=y | |
74 | +CONFIG_USB_STORAGE=y | |
75 | +CONFIG_USB_GADGET=y | |
76 | +CONFIG_USB_GADGET_MANUFACTURER="FSL" | |
77 | +CONFIG_USB_GADGET_VENDOR_NUM=0x0525 | |
78 | +CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 | |
79 | +CONFIG_CI_UDC=y | |
80 | +CONFIG_USB_GADGET_DOWNLOAD=y | |
81 | +CONFIG_VIDEO=y | |
82 | +CONFIG_ERRNO_STR=y | |
83 | +CONFIG_DM_ETH=y | |
84 | + | |
85 | +CONFIG_CMD_FASTBOOT=y | |
86 | +CONFIG_USB_FUNCTION_FASTBOOT=y | |
87 | +CONFIG_FSL_FASTBOOT=y | |
88 | +CONFIG_FASTBOOT=y | |
89 | +CONFIG_FASTBOOT_BUF_ADDR=0x83800000 | |
90 | +CONFIG_FASTBOOT_BUF_SIZE=0x40000000 | |
91 | +CONFIG_FASTBOOT_FLASH=y | |
92 | +CONFIG_FASTBOOT_FLASH_MMC_DEV=1 | |
93 | +CONFIG_EFI_PARTITION=y |
configs/smarcfimx7d_2g_ser1_defconfig
1 | +CONFIG_ARM=y | |
2 | +CONFIG_ARCH_MX7=y | |
3 | +CONFIG_TARGET_SMARCFIMX7=y | |
4 | +CONFIG_ARMV7_BOOT_SEC_DEFAULT=y | |
5 | +CONFIG_SYS_PROMPT="U-Boot# " | |
6 | +# CONFIG_ARMV7_VIRT is not set | |
7 | +CONFIG_IMX_RDC=y | |
8 | +CONFIG_IMX_BOOTAUX=y | |
9 | +CONFIG_DEFAULT_DEVICE_TREE="imx7d-smarcfimx7" | |
10 | +CONFIG_DEFAULT_FDT_FILE="imx7d-smarcfimx7.dtb" | |
11 | +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx7/ddr3l/mx7d_2x_k4b4g1646q.cfg,MX7D,2GDDR3" | |
12 | +CONFIG_CONSOLE_SER1=y | |
13 | +CONFIG_SPI_BOOT=y | |
14 | +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set | |
15 | +# CONFIG_ENV_IS_IN_MMC is not set | |
16 | +CONFIG_BOOTDELAY=1 | |
17 | +# CONFIG_CONSOLE_MUX is not set | |
18 | +CONFIG_SYS_CONSOLE_IS_IN_ENV=y | |
19 | +CONFIG_HUSH_PARSER=y | |
20 | +CONFIG_CMD_BOOTZ=y | |
21 | +# CONFIG_CMD_IMLS is not set | |
22 | +# CONFIG_CMD_XIMG is not set | |
23 | +# CONFIG_CMD_EXPORTENV is not set | |
24 | +# CONFIG_CMD_IMPORTENV is not set | |
25 | +CONFIG_CMD_MEMTEST=y | |
26 | +CONFIG_CMD_DFU=y | |
27 | +CONFIG_CMD_GPIO=y | |
28 | +CONFIG_CMD_I2C=y | |
29 | +CONFIG_CMD_MMC=y | |
30 | +CONFIG_CMD_USB=y | |
31 | +CONFIG_CMD_USB_MASS_STORAGE=y | |
32 | +CONFIG_CMD_DHCP=y | |
33 | +CONFIG_CMD_MII=y | |
34 | +CONFIG_CMD_PING=y | |
35 | +CONFIG_CMD_BMP=y | |
36 | +CONFIG_CMD_CACHE=y | |
37 | +CONFIG_CMD_PMIC=y | |
38 | +CONFIG_CMD_REGULATOR=y | |
39 | +CONFIG_CMD_EXT2=y | |
40 | +CONFIG_CMD_EXT4=y | |
41 | +CONFIG_CMD_EXT4_WRITE=y | |
42 | +CONFIG_CMD_FAT=y | |
43 | +CONFIG_CMD_PART=y | |
44 | +CONFIG_CMD_FS_GENERIC=y | |
45 | +CONFIG_DOS_PARTITION=y | |
46 | +CONFIG_FS_EXT4=y | |
47 | +CONFIG_EXT4_WRITE=y | |
48 | +CONFIG_OF_CONTROL=y | |
49 | +CONFIG_DFU_MMC=y | |
50 | +CONFIG_DFU_RAM=y | |
51 | +CONFIG_DM_GPIO=y | |
52 | +CONFIG_DM_74X164=y | |
53 | +CONFIG_DM_I2C=y | |
54 | +CONFIG_DM_MMC=y | |
55 | +CONFIG_MMC_IO_VOLTAGE=y | |
56 | +CONFIG_MMC_UHS_SUPPORT=y | |
57 | +CONFIG_MMC_HS200_SUPPORT=y | |
58 | +CONFIG_PHYLIB=y | |
59 | +CONFIG_PINCTRL=y | |
60 | +CONFIG_PINCTRL_IMX7=y | |
61 | +CONFIG_DM_PMIC=y | |
62 | +CONFIG_DM_PMIC_PFUZE100=y | |
63 | +CONFIG_DM_REGULATOR=y | |
64 | +CONFIG_DM_REGULATOR_PFUZE100=y | |
65 | +CONFIG_DM_REGULATOR_FIXED=y | |
66 | +CONFIG_DM_REGULATOR_GPIO=y | |
67 | +CONFIG_DM_SPI=y | |
68 | +CONFIG_DM_SPI_FLASH=y | |
69 | +CONFIG_SOFT_SPI=y | |
70 | +CONFIG_USB=y | |
71 | +CONFIG_DM_USB=y | |
72 | +CONFIG_USB_EHCI_HCD=y | |
73 | +CONFIG_MXC_USB_OTG_HACTIVE=y | |
74 | +CONFIG_USB_STORAGE=y | |
75 | +CONFIG_USB_GADGET=y | |
76 | +CONFIG_USB_GADGET_MANUFACTURER="FSL" | |
77 | +CONFIG_USB_GADGET_VENDOR_NUM=0x0525 | |
78 | +CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 | |
79 | +CONFIG_CI_UDC=y | |
80 | +CONFIG_USB_GADGET_DOWNLOAD=y | |
81 | +CONFIG_VIDEO=y | |
82 | +CONFIG_ERRNO_STR=y | |
83 | +CONFIG_DM_ETH=y | |
84 | + | |
85 | +CONFIG_CMD_FASTBOOT=y | |
86 | +CONFIG_USB_FUNCTION_FASTBOOT=y | |
87 | +CONFIG_FSL_FASTBOOT=y | |
88 | +CONFIG_FASTBOOT=y | |
89 | +CONFIG_FASTBOOT_BUF_ADDR=0x83800000 | |
90 | +CONFIG_FASTBOOT_BUF_SIZE=0x40000000 | |
91 | +CONFIG_FASTBOOT_FLASH=y | |
92 | +CONFIG_FASTBOOT_FLASH_MMC_DEV=1 | |
93 | +CONFIG_EFI_PARTITION=y |
configs/smarcfimx7d_2g_ser2_defconfig
1 | +CONFIG_ARM=y | |
2 | +CONFIG_ARCH_MX7=y | |
3 | +CONFIG_TARGET_SMARCFIMX7=y | |
4 | +CONFIG_ARMV7_BOOT_SEC_DEFAULT=y | |
5 | +CONFIG_SYS_PROMPT="U-Boot# " | |
6 | +# CONFIG_ARMV7_VIRT is not set | |
7 | +CONFIG_IMX_RDC=y | |
8 | +CONFIG_IMX_BOOTAUX=y | |
9 | +CONFIG_DEFAULT_DEVICE_TREE="imx7d-smarcfimx7" | |
10 | +CONFIG_DEFAULT_FDT_FILE="imx7d-smarcfimx7.dtb" | |
11 | +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx7/ddr3l/mx7d_2x_k4b4g1646q.cfg,MX7D,2GDDR3" | |
12 | +CONFIG_CONSOLE_SER2=y | |
13 | +CONFIG_SPI_BOOT=y | |
14 | +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set | |
15 | +# CONFIG_ENV_IS_IN_MMC is not set | |
16 | +CONFIG_BOOTDELAY=1 | |
17 | +# CONFIG_CONSOLE_MUX is not set | |
18 | +CONFIG_SYS_CONSOLE_IS_IN_ENV=y | |
19 | +CONFIG_HUSH_PARSER=y | |
20 | +CONFIG_CMD_BOOTZ=y | |
21 | +# CONFIG_CMD_IMLS is not set | |
22 | +# CONFIG_CMD_XIMG is not set | |
23 | +# CONFIG_CMD_EXPORTENV is not set | |
24 | +# CONFIG_CMD_IMPORTENV is not set | |
25 | +CONFIG_CMD_MEMTEST=y | |
26 | +CONFIG_CMD_DFU=y | |
27 | +CONFIG_CMD_GPIO=y | |
28 | +CONFIG_CMD_I2C=y | |
29 | +CONFIG_CMD_MMC=y | |
30 | +CONFIG_CMD_USB=y | |
31 | +CONFIG_CMD_USB_MASS_STORAGE=y | |
32 | +CONFIG_CMD_DHCP=y | |
33 | +CONFIG_CMD_MII=y | |
34 | +CONFIG_CMD_PING=y | |
35 | +CONFIG_CMD_BMP=y | |
36 | +CONFIG_CMD_CACHE=y | |
37 | +CONFIG_CMD_PMIC=y | |
38 | +CONFIG_CMD_REGULATOR=y | |
39 | +CONFIG_CMD_EXT2=y | |
40 | +CONFIG_CMD_EXT4=y | |
41 | +CONFIG_CMD_EXT4_WRITE=y | |
42 | +CONFIG_CMD_FAT=y | |
43 | +CONFIG_CMD_PART=y | |
44 | +CONFIG_CMD_FS_GENERIC=y | |
45 | +CONFIG_DOS_PARTITION=y | |
46 | +CONFIG_FS_EXT4=y | |
47 | +CONFIG_EXT4_WRITE=y | |
48 | +CONFIG_OF_CONTROL=y | |
49 | +CONFIG_DFU_MMC=y | |
50 | +CONFIG_DFU_RAM=y | |
51 | +CONFIG_DM_GPIO=y | |
52 | +CONFIG_DM_74X164=y | |
53 | +CONFIG_DM_I2C=y | |
54 | +CONFIG_DM_MMC=y | |
55 | +CONFIG_MMC_IO_VOLTAGE=y | |
56 | +CONFIG_MMC_UHS_SUPPORT=y | |
57 | +CONFIG_MMC_HS200_SUPPORT=y | |
58 | +CONFIG_PHYLIB=y | |
59 | +CONFIG_PINCTRL=y | |
60 | +CONFIG_PINCTRL_IMX7=y | |
61 | +CONFIG_DM_PMIC=y | |
62 | +CONFIG_DM_PMIC_PFUZE100=y | |
63 | +CONFIG_DM_REGULATOR=y | |
64 | +CONFIG_DM_REGULATOR_PFUZE100=y | |
65 | +CONFIG_DM_REGULATOR_FIXED=y | |
66 | +CONFIG_DM_REGULATOR_GPIO=y | |
67 | +CONFIG_DM_SPI=y | |
68 | +CONFIG_DM_SPI_FLASH=y | |
69 | +CONFIG_SOFT_SPI=y | |
70 | +CONFIG_USB=y | |
71 | +CONFIG_DM_USB=y | |
72 | +CONFIG_USB_EHCI_HCD=y | |
73 | +CONFIG_MXC_USB_OTG_HACTIVE=y | |
74 | +CONFIG_USB_STORAGE=y | |
75 | +CONFIG_USB_GADGET=y | |
76 | +CONFIG_USB_GADGET_MANUFACTURER="FSL" | |
77 | +CONFIG_USB_GADGET_VENDOR_NUM=0x0525 | |
78 | +CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 | |
79 | +CONFIG_CI_UDC=y | |
80 | +CONFIG_USB_GADGET_DOWNLOAD=y | |
81 | +CONFIG_VIDEO=y | |
82 | +CONFIG_ERRNO_STR=y | |
83 | +CONFIG_DM_ETH=y | |
84 | + | |
85 | +CONFIG_CMD_FASTBOOT=y | |
86 | +CONFIG_USB_FUNCTION_FASTBOOT=y | |
87 | +CONFIG_FSL_FASTBOOT=y | |
88 | +CONFIG_FASTBOOT=y | |
89 | +CONFIG_FASTBOOT_BUF_ADDR=0x83800000 | |
90 | +CONFIG_FASTBOOT_BUF_SIZE=0x40000000 | |
91 | +CONFIG_FASTBOOT_FLASH=y | |
92 | +CONFIG_FASTBOOT_FLASH_MMC_DEV=1 | |
93 | +CONFIG_EFI_PARTITION=y |
configs/smarcfimx7d_2g_ser3_defconfig
1 | +CONFIG_ARM=y | |
2 | +CONFIG_ARCH_MX7=y | |
3 | +CONFIG_TARGET_SMARCFIMX7=y | |
4 | +CONFIG_ARMV7_BOOT_SEC_DEFAULT=y | |
5 | +CONFIG_SYS_PROMPT="U-Boot# " | |
6 | +# CONFIG_ARMV7_VIRT is not set | |
7 | +CONFIG_IMX_RDC=y | |
8 | +CONFIG_IMX_BOOTAUX=y | |
9 | +CONFIG_DEFAULT_DEVICE_TREE="imx7d-smarcfimx7" | |
10 | +CONFIG_DEFAULT_FDT_FILE="imx7d-smarcfimx7.dtb" | |
11 | +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx7/ddr3l/mx7d_2x_k4b4g1646q.cfg,MX7D,2GDDR3" | |
12 | +CONFIG_CONSOLE_SER3=y | |
13 | +CONFIG_SPI_BOOT=y | |
14 | +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set | |
15 | +# CONFIG_ENV_IS_IN_MMC is not set | |
16 | +CONFIG_BOOTDELAY=1 | |
17 | +# CONFIG_CONSOLE_MUX is not set | |
18 | +CONFIG_SYS_CONSOLE_IS_IN_ENV=y | |
19 | +CONFIG_HUSH_PARSER=y | |
20 | +CONFIG_CMD_BOOTZ=y | |
21 | +# CONFIG_CMD_IMLS is not set | |
22 | +# CONFIG_CMD_XIMG is not set | |
23 | +# CONFIG_CMD_EXPORTENV is not set | |
24 | +# CONFIG_CMD_IMPORTENV is not set | |
25 | +CONFIG_CMD_MEMTEST=y | |
26 | +CONFIG_CMD_DFU=y | |
27 | +CONFIG_CMD_GPIO=y | |
28 | +CONFIG_CMD_I2C=y | |
29 | +CONFIG_CMD_MMC=y | |
30 | +CONFIG_CMD_USB=y | |
31 | +CONFIG_CMD_USB_MASS_STORAGE=y | |
32 | +CONFIG_CMD_DHCP=y | |
33 | +CONFIG_CMD_MII=y | |
34 | +CONFIG_CMD_PING=y | |
35 | +CONFIG_CMD_BMP=y | |
36 | +CONFIG_CMD_CACHE=y | |
37 | +CONFIG_CMD_PMIC=y | |
38 | +CONFIG_CMD_REGULATOR=y | |
39 | +CONFIG_CMD_EXT2=y | |
40 | +CONFIG_CMD_EXT4=y | |
41 | +CONFIG_CMD_EXT4_WRITE=y | |
42 | +CONFIG_CMD_FAT=y | |
43 | +CONFIG_CMD_PART=y | |
44 | +CONFIG_CMD_FS_GENERIC=y | |
45 | +CONFIG_DOS_PARTITION=y | |
46 | +CONFIG_FS_EXT4=y | |
47 | +CONFIG_EXT4_WRITE=y | |
48 | +CONFIG_OF_CONTROL=y | |
49 | +CONFIG_DFU_MMC=y | |
50 | +CONFIG_DFU_RAM=y | |
51 | +CONFIG_DM_GPIO=y | |
52 | +CONFIG_DM_74X164=y | |
53 | +CONFIG_DM_I2C=y | |
54 | +CONFIG_DM_MMC=y | |
55 | +CONFIG_MMC_IO_VOLTAGE=y | |
56 | +CONFIG_MMC_UHS_SUPPORT=y | |
57 | +CONFIG_MMC_HS200_SUPPORT=y | |
58 | +CONFIG_PHYLIB=y | |
59 | +CONFIG_PINCTRL=y | |
60 | +CONFIG_PINCTRL_IMX7=y | |
61 | +CONFIG_DM_PMIC=y | |
62 | +CONFIG_DM_PMIC_PFUZE100=y | |
63 | +CONFIG_DM_REGULATOR=y | |
64 | +CONFIG_DM_REGULATOR_PFUZE100=y | |
65 | +CONFIG_DM_REGULATOR_FIXED=y | |
66 | +CONFIG_DM_REGULATOR_GPIO=y | |
67 | +CONFIG_DM_SPI=y | |
68 | +CONFIG_DM_SPI_FLASH=y | |
69 | +CONFIG_SOFT_SPI=y | |
70 | +CONFIG_USB=y | |
71 | +CONFIG_DM_USB=y | |
72 | +CONFIG_USB_EHCI_HCD=y | |
73 | +CONFIG_MXC_USB_OTG_HACTIVE=y | |
74 | +CONFIG_USB_STORAGE=y | |
75 | +CONFIG_USB_GADGET=y | |
76 | +CONFIG_USB_GADGET_MANUFACTURER="FSL" | |
77 | +CONFIG_USB_GADGET_VENDOR_NUM=0x0525 | |
78 | +CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 | |
79 | +CONFIG_CI_UDC=y | |
80 | +CONFIG_USB_GADGET_DOWNLOAD=y | |
81 | +CONFIG_VIDEO=y | |
82 | +CONFIG_ERRNO_STR=y | |
83 | +CONFIG_DM_ETH=y | |
84 | + | |
85 | +CONFIG_CMD_FASTBOOT=y | |
86 | +CONFIG_USB_FUNCTION_FASTBOOT=y | |
87 | +CONFIG_FSL_FASTBOOT=y | |
88 | +CONFIG_FASTBOOT=y | |
89 | +CONFIG_FASTBOOT_BUF_ADDR=0x83800000 | |
90 | +CONFIG_FASTBOOT_BUF_SIZE=0x40000000 | |
91 | +CONFIG_FASTBOOT_FLASH=y | |
92 | +CONFIG_FASTBOOT_FLASH_MMC_DEV=1 | |
93 | +CONFIG_EFI_PARTITION=y |
configs/smarcfimx7d_ser0_defconfig
1 | +CONFIG_ARM=y | |
2 | +CONFIG_ARCH_MX7=y | |
3 | +CONFIG_TARGET_SMARCFIMX7=y | |
4 | +CONFIG_ARMV7_BOOT_SEC_DEFAULT=y | |
5 | +CONFIG_SYS_PROMPT="U-Boot# " | |
6 | +# CONFIG_ARMV7_VIRT is not set | |
7 | +CONFIG_IMX_RDC=y | |
8 | +CONFIG_IMX_BOOTAUX=y | |
9 | +CONFIG_DEFAULT_DEVICE_TREE="imx7d-smarcfimx7" | |
10 | +CONFIG_DEFAULT_FDT_FILE="imx7d-smarcfimx7.dtb" | |
11 | +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx7/ddr3l/mx7d_2x_k4b4g1646q.cfg,MX7D" | |
12 | +CONFIG_CONSOLE_SER0=y | |
13 | +CONFIG_SPI_BOOT=y | |
14 | +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set | |
15 | +# CONFIG_ENV_IS_IN_MMC is not set | |
16 | +CONFIG_BOOTDELAY=1 | |
17 | +# CONFIG_CONSOLE_MUX is not set | |
18 | +CONFIG_SYS_CONSOLE_IS_IN_ENV=y | |
19 | +CONFIG_HUSH_PARSER=y | |
20 | +CONFIG_CMD_BOOTZ=y | |
21 | +# CONFIG_CMD_IMLS is not set | |
22 | +# CONFIG_CMD_XIMG is not set | |
23 | +# CONFIG_CMD_EXPORTENV is not set | |
24 | +# CONFIG_CMD_IMPORTENV is not set | |
25 | +CONFIG_CMD_MEMTEST=y | |
26 | +CONFIG_CMD_DFU=y | |
27 | +CONFIG_CMD_GPIO=y | |
28 | +CONFIG_CMD_I2C=y | |
29 | +CONFIG_CMD_MMC=y | |
30 | +CONFIG_CMD_USB=y | |
31 | +CONFIG_CMD_USB_MASS_STORAGE=y | |
32 | +CONFIG_CMD_DHCP=y | |
33 | +CONFIG_CMD_MII=y | |
34 | +CONFIG_CMD_PING=y | |
35 | +CONFIG_CMD_BMP=y | |
36 | +CONFIG_CMD_CACHE=y | |
37 | +CONFIG_CMD_PMIC=y | |
38 | +CONFIG_CMD_REGULATOR=y | |
39 | +CONFIG_CMD_EXT2=y | |
40 | +CONFIG_CMD_EXT4=y | |
41 | +CONFIG_CMD_EXT4_WRITE=y | |
42 | +CONFIG_CMD_FAT=y | |
43 | +CONFIG_CMD_PART=y | |
44 | +CONFIG_CMD_FS_GENERIC=y | |
45 | +CONFIG_DOS_PARTITION=y | |
46 | +CONFIG_FS_EXT4=y | |
47 | +CONFIG_EXT4_WRITE=y | |
48 | +CONFIG_OF_CONTROL=y | |
49 | +CONFIG_DFU_MMC=y | |
50 | +CONFIG_DFU_RAM=y | |
51 | +CONFIG_DM_GPIO=y | |
52 | +CONFIG_DM_74X164=y | |
53 | +CONFIG_DM_I2C=y | |
54 | +CONFIG_DM_MMC=y | |
55 | +CONFIG_MMC_IO_VOLTAGE=y | |
56 | +CONFIG_MMC_UHS_SUPPORT=y | |
57 | +CONFIG_MMC_HS200_SUPPORT=y | |
58 | +CONFIG_PHYLIB=y | |
59 | +CONFIG_PINCTRL=y | |
60 | +CONFIG_PINCTRL_IMX7=y | |
61 | +CONFIG_DM_PMIC=y | |
62 | +CONFIG_DM_PMIC_PFUZE100=y | |
63 | +CONFIG_DM_REGULATOR=y | |
64 | +CONFIG_DM_REGULATOR_PFUZE100=y | |
65 | +CONFIG_DM_REGULATOR_FIXED=y | |
66 | +CONFIG_DM_REGULATOR_GPIO=y | |
67 | +CONFIG_DM_SPI=y | |
68 | +CONFIG_DM_SPI_FLASH=y | |
69 | +CONFIG_SOFT_SPI=y | |
70 | +CONFIG_USB=y | |
71 | +CONFIG_DM_USB=y | |
72 | +CONFIG_USB_EHCI_HCD=y | |
73 | +CONFIG_MXC_USB_OTG_HACTIVE=y | |
74 | +CONFIG_USB_STORAGE=y | |
75 | +CONFIG_USB_GADGET=y | |
76 | +CONFIG_USB_GADGET_MANUFACTURER="FSL" | |
77 | +CONFIG_USB_GADGET_VENDOR_NUM=0x0525 | |
78 | +CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 | |
79 | +CONFIG_CI_UDC=y | |
80 | +CONFIG_USB_GADGET_DOWNLOAD=y | |
81 | +CONFIG_VIDEO=y | |
82 | +CONFIG_ERRNO_STR=y | |
83 | +CONFIG_DM_ETH=y | |
84 | + | |
85 | +CONFIG_CMD_FASTBOOT=y | |
86 | +CONFIG_USB_FUNCTION_FASTBOOT=y | |
87 | +CONFIG_FSL_FASTBOOT=y | |
88 | +CONFIG_FASTBOOT=y | |
89 | +CONFIG_FASTBOOT_BUF_ADDR=0x83800000 | |
90 | +CONFIG_FASTBOOT_BUF_SIZE=0x40000000 | |
91 | +CONFIG_FASTBOOT_FLASH=y | |
92 | +CONFIG_FASTBOOT_FLASH_MMC_DEV=1 | |
93 | +CONFIG_EFI_PARTITION=y |
configs/smarcfimx7d_ser1_defconfig
1 | +CONFIG_ARM=y | |
2 | +CONFIG_ARCH_MX7=y | |
3 | +CONFIG_TARGET_SMARCFIMX7=y | |
4 | +CONFIG_ARMV7_BOOT_SEC_DEFAULT=y | |
5 | +CONFIG_SYS_PROMPT="U-Boot# " | |
6 | +# CONFIG_ARMV7_VIRT is not set | |
7 | +CONFIG_IMX_RDC=y | |
8 | +CONFIG_IMX_BOOTAUX=y | |
9 | +CONFIG_DEFAULT_DEVICE_TREE="imx7d-smarcfimx7" | |
10 | +CONFIG_DEFAULT_FDT_FILE="imx7d-smarcfimx7.dtb" | |
11 | +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx7/ddr3l/mx7d_2x_k4b4g1646q.cfg,MX7D" | |
12 | +CONFIG_CONSOLE_SER1=y | |
13 | +CONFIG_SPI_BOOT=y | |
14 | +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set | |
15 | +# CONFIG_ENV_IS_IN_MMC is not set | |
16 | +CONFIG_BOOTDELAY=1 | |
17 | +# CONFIG_CONSOLE_MUX is not set | |
18 | +CONFIG_SYS_CONSOLE_IS_IN_ENV=y | |
19 | +CONFIG_HUSH_PARSER=y | |
20 | +CONFIG_CMD_BOOTZ=y | |
21 | +# CONFIG_CMD_IMLS is not set | |
22 | +# CONFIG_CMD_XIMG is not set | |
23 | +# CONFIG_CMD_EXPORTENV is not set | |
24 | +# CONFIG_CMD_IMPORTENV is not set | |
25 | +CONFIG_CMD_MEMTEST=y | |
26 | +CONFIG_CMD_DFU=y | |
27 | +CONFIG_CMD_GPIO=y | |
28 | +CONFIG_CMD_I2C=y | |
29 | +CONFIG_CMD_MMC=y | |
30 | +CONFIG_CMD_USB=y | |
31 | +CONFIG_CMD_USB_MASS_STORAGE=y | |
32 | +CONFIG_CMD_DHCP=y | |
33 | +CONFIG_CMD_MII=y | |
34 | +CONFIG_CMD_PING=y | |
35 | +CONFIG_CMD_BMP=y | |
36 | +CONFIG_CMD_CACHE=y | |
37 | +CONFIG_CMD_PMIC=y | |
38 | +CONFIG_CMD_REGULATOR=y | |
39 | +CONFIG_CMD_EXT2=y | |
40 | +CONFIG_CMD_EXT4=y | |
41 | +CONFIG_CMD_EXT4_WRITE=y | |
42 | +CONFIG_CMD_FAT=y | |
43 | +CONFIG_CMD_PART=y | |
44 | +CONFIG_CMD_FS_GENERIC=y | |
45 | +CONFIG_DOS_PARTITION=y | |
46 | +CONFIG_FS_EXT4=y | |
47 | +CONFIG_EXT4_WRITE=y | |
48 | +CONFIG_OF_CONTROL=y | |
49 | +CONFIG_DFU_MMC=y | |
50 | +CONFIG_DFU_RAM=y | |
51 | +CONFIG_DM_GPIO=y | |
52 | +CONFIG_DM_74X164=y | |
53 | +CONFIG_DM_I2C=y | |
54 | +CONFIG_DM_MMC=y | |
55 | +CONFIG_MMC_IO_VOLTAGE=y | |
56 | +CONFIG_MMC_UHS_SUPPORT=y | |
57 | +CONFIG_MMC_HS200_SUPPORT=y | |
58 | +CONFIG_PHYLIB=y | |
59 | +CONFIG_PINCTRL=y | |
60 | +CONFIG_PINCTRL_IMX7=y | |
61 | +CONFIG_DM_PMIC=y | |
62 | +CONFIG_DM_PMIC_PFUZE100=y | |
63 | +CONFIG_DM_REGULATOR=y | |
64 | +CONFIG_DM_REGULATOR_PFUZE100=y | |
65 | +CONFIG_DM_REGULATOR_FIXED=y | |
66 | +CONFIG_DM_REGULATOR_GPIO=y | |
67 | +CONFIG_DM_SPI=y | |
68 | +CONFIG_DM_SPI_FLASH=y | |
69 | +CONFIG_SOFT_SPI=y | |
70 | +CONFIG_USB=y | |
71 | +CONFIG_DM_USB=y | |
72 | +CONFIG_USB_EHCI_HCD=y | |
73 | +CONFIG_MXC_USB_OTG_HACTIVE=y | |
74 | +CONFIG_USB_STORAGE=y | |
75 | +CONFIG_USB_GADGET=y | |
76 | +CONFIG_USB_GADGET_MANUFACTURER="FSL" | |
77 | +CONFIG_USB_GADGET_VENDOR_NUM=0x0525 | |
78 | +CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 | |
79 | +CONFIG_CI_UDC=y | |
80 | +CONFIG_USB_GADGET_DOWNLOAD=y | |
81 | +CONFIG_VIDEO=y | |
82 | +CONFIG_ERRNO_STR=y | |
83 | +CONFIG_DM_ETH=y | |
84 | + | |
85 | +CONFIG_CMD_FASTBOOT=y | |
86 | +CONFIG_USB_FUNCTION_FASTBOOT=y | |
87 | +CONFIG_FSL_FASTBOOT=y | |
88 | +CONFIG_FASTBOOT=y | |
89 | +CONFIG_FASTBOOT_BUF_ADDR=0x83800000 | |
90 | +CONFIG_FASTBOOT_BUF_SIZE=0x40000000 | |
91 | +CONFIG_FASTBOOT_FLASH=y | |
92 | +CONFIG_FASTBOOT_FLASH_MMC_DEV=1 | |
93 | +CONFIG_EFI_PARTITION=y |
configs/smarcfimx7d_ser2_defconfig
1 | +CONFIG_ARM=y | |
2 | +CONFIG_ARCH_MX7=y | |
3 | +CONFIG_TARGET_SMARCFIMX7=y | |
4 | +CONFIG_ARMV7_BOOT_SEC_DEFAULT=y | |
5 | +CONFIG_SYS_PROMPT="U-Boot# " | |
6 | +# CONFIG_ARMV7_VIRT is not set | |
7 | +CONFIG_IMX_RDC=y | |
8 | +CONFIG_IMX_BOOTAUX=y | |
9 | +CONFIG_DEFAULT_DEVICE_TREE="imx7d-smarcfimx7" | |
10 | +CONFIG_DEFAULT_FDT_FILE="imx7d-smarcfimx7.dtb" | |
11 | +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx7/ddr3l/mx7d_2x_k4b4g1646q.cfg,MX7D" | |
12 | +CONFIG_CONSOLE_SER2=y | |
13 | +CONFIG_SPI_BOOT=y | |
14 | +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set | |
15 | +# CONFIG_ENV_IS_IN_MMC is not set | |
16 | +CONFIG_BOOTDELAY=1 | |
17 | +# CONFIG_CONSOLE_MUX is not set | |
18 | +CONFIG_SYS_CONSOLE_IS_IN_ENV=y | |
19 | +CONFIG_HUSH_PARSER=y | |
20 | +CONFIG_CMD_BOOTZ=y | |
21 | +# CONFIG_CMD_IMLS is not set | |
22 | +# CONFIG_CMD_XIMG is not set | |
23 | +# CONFIG_CMD_EXPORTENV is not set | |
24 | +# CONFIG_CMD_IMPORTENV is not set | |
25 | +CONFIG_CMD_MEMTEST=y | |
26 | +CONFIG_CMD_DFU=y | |
27 | +CONFIG_CMD_GPIO=y | |
28 | +CONFIG_CMD_I2C=y | |
29 | +CONFIG_CMD_MMC=y | |
30 | +CONFIG_CMD_USB=y | |
31 | +CONFIG_CMD_USB_MASS_STORAGE=y | |
32 | +CONFIG_CMD_DHCP=y | |
33 | +CONFIG_CMD_MII=y | |
34 | +CONFIG_CMD_PING=y | |
35 | +CONFIG_CMD_BMP=y | |
36 | +CONFIG_CMD_CACHE=y | |
37 | +CONFIG_CMD_PMIC=y | |
38 | +CONFIG_CMD_REGULATOR=y | |
39 | +CONFIG_CMD_EXT2=y | |
40 | +CONFIG_CMD_EXT4=y | |
41 | +CONFIG_CMD_EXT4_WRITE=y | |
42 | +CONFIG_CMD_FAT=y | |
43 | +CONFIG_CMD_PART=y | |
44 | +CONFIG_CMD_FS_GENERIC=y | |
45 | +CONFIG_DOS_PARTITION=y | |
46 | +CONFIG_FS_EXT4=y | |
47 | +CONFIG_EXT4_WRITE=y | |
48 | +CONFIG_OF_CONTROL=y | |
49 | +CONFIG_DFU_MMC=y | |
50 | +CONFIG_DFU_RAM=y | |
51 | +CONFIG_DM_GPIO=y | |
52 | +CONFIG_DM_74X164=y | |
53 | +CONFIG_DM_I2C=y | |
54 | +CONFIG_DM_MMC=y | |
55 | +CONFIG_MMC_IO_VOLTAGE=y | |
56 | +CONFIG_MMC_UHS_SUPPORT=y | |
57 | +CONFIG_MMC_HS200_SUPPORT=y | |
58 | +CONFIG_PHYLIB=y | |
59 | +CONFIG_PINCTRL=y | |
60 | +CONFIG_PINCTRL_IMX7=y | |
61 | +CONFIG_DM_PMIC=y | |
62 | +CONFIG_DM_PMIC_PFUZE100=y | |
63 | +CONFIG_DM_REGULATOR=y | |
64 | +CONFIG_DM_REGULATOR_PFUZE100=y | |
65 | +CONFIG_DM_REGULATOR_FIXED=y | |
66 | +CONFIG_DM_REGULATOR_GPIO=y | |
67 | +CONFIG_DM_SPI=y | |
68 | +CONFIG_DM_SPI_FLASH=y | |
69 | +CONFIG_SOFT_SPI=y | |
70 | +CONFIG_USB=y | |
71 | +CONFIG_DM_USB=y | |
72 | +CONFIG_USB_EHCI_HCD=y | |
73 | +CONFIG_MXC_USB_OTG_HACTIVE=y | |
74 | +CONFIG_USB_STORAGE=y | |
75 | +CONFIG_USB_GADGET=y | |
76 | +CONFIG_USB_GADGET_MANUFACTURER="FSL" | |
77 | +CONFIG_USB_GADGET_VENDOR_NUM=0x0525 | |
78 | +CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 | |
79 | +CONFIG_CI_UDC=y | |
80 | +CONFIG_USB_GADGET_DOWNLOAD=y | |
81 | +CONFIG_VIDEO=y | |
82 | +CONFIG_ERRNO_STR=y | |
83 | +CONFIG_DM_ETH=y | |
84 | + | |
85 | +CONFIG_CMD_FASTBOOT=y | |
86 | +CONFIG_USB_FUNCTION_FASTBOOT=y | |
87 | +CONFIG_FSL_FASTBOOT=y | |
88 | +CONFIG_FASTBOOT=y | |
89 | +CONFIG_FASTBOOT_BUF_ADDR=0x83800000 | |
90 | +CONFIG_FASTBOOT_BUF_SIZE=0x40000000 | |
91 | +CONFIG_FASTBOOT_FLASH=y | |
92 | +CONFIG_FASTBOOT_FLASH_MMC_DEV=1 | |
93 | +CONFIG_EFI_PARTITION=y |
configs/smarcfimx7d_ser3_defconfig
1 | +CONFIG_ARM=y | |
2 | +CONFIG_ARCH_MX7=y | |
3 | +CONFIG_TARGET_SMARCFIMX7=y | |
4 | +CONFIG_ARMV7_BOOT_SEC_DEFAULT=y | |
5 | +CONFIG_SYS_PROMPT="U-Boot# " | |
6 | +# CONFIG_ARMV7_VIRT is not set | |
7 | +CONFIG_IMX_RDC=y | |
8 | +CONFIG_IMX_BOOTAUX=y | |
9 | +CONFIG_DEFAULT_DEVICE_TREE="imx7d-smarcfimx7" | |
10 | +CONFIG_DEFAULT_FDT_FILE="imx7d-smarcfimx7.dtb" | |
11 | +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx7/ddr3l/mx7d_2x_k4b4g1646q.cfg,MX7D" | |
12 | +CONFIG_CONSOLE_SER3=y | |
13 | +CONFIG_SPI_BOOT=y | |
14 | +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set | |
15 | +# CONFIG_ENV_IS_IN_MMC is not set | |
16 | +CONFIG_BOOTDELAY=1 | |
17 | +# CONFIG_CONSOLE_MUX is not set | |
18 | +CONFIG_SYS_CONSOLE_IS_IN_ENV=y | |
19 | +CONFIG_HUSH_PARSER=y | |
20 | +CONFIG_CMD_BOOTZ=y | |
21 | +# CONFIG_CMD_IMLS is not set | |
22 | +# CONFIG_CMD_XIMG is not set | |
23 | +# CONFIG_CMD_EXPORTENV is not set | |
24 | +# CONFIG_CMD_IMPORTENV is not set | |
25 | +CONFIG_CMD_MEMTEST=y | |
26 | +CONFIG_CMD_DFU=y | |
27 | +CONFIG_CMD_GPIO=y | |
28 | +CONFIG_CMD_I2C=y | |
29 | +CONFIG_CMD_MMC=y | |
30 | +CONFIG_CMD_USB=y | |
31 | +CONFIG_CMD_USB_MASS_STORAGE=y | |
32 | +CONFIG_CMD_DHCP=y | |
33 | +CONFIG_CMD_MII=y | |
34 | +CONFIG_CMD_PING=y | |
35 | +CONFIG_CMD_BMP=y | |
36 | +CONFIG_CMD_CACHE=y | |
37 | +CONFIG_CMD_PMIC=y | |
38 | +CONFIG_CMD_REGULATOR=y | |
39 | +CONFIG_CMD_EXT2=y | |
40 | +CONFIG_CMD_EXT4=y | |
41 | +CONFIG_CMD_EXT4_WRITE=y | |
42 | +CONFIG_CMD_FAT=y | |
43 | +CONFIG_CMD_PART=y | |
44 | +CONFIG_CMD_FS_GENERIC=y | |
45 | +CONFIG_DOS_PARTITION=y | |
46 | +CONFIG_FS_EXT4=y | |
47 | +CONFIG_EXT4_WRITE=y | |
48 | +CONFIG_OF_CONTROL=y | |
49 | +CONFIG_DFU_MMC=y | |
50 | +CONFIG_DFU_RAM=y | |
51 | +CONFIG_DM_GPIO=y | |
52 | +CONFIG_DM_74X164=y | |
53 | +CONFIG_DM_I2C=y | |
54 | +CONFIG_DM_MMC=y | |
55 | +CONFIG_MMC_IO_VOLTAGE=y | |
56 | +CONFIG_MMC_UHS_SUPPORT=y | |
57 | +CONFIG_MMC_HS200_SUPPORT=y | |
58 | +CONFIG_PHYLIB=y | |
59 | +CONFIG_PINCTRL=y | |
60 | +CONFIG_PINCTRL_IMX7=y | |
61 | +CONFIG_DM_PMIC=y | |
62 | +CONFIG_DM_PMIC_PFUZE100=y | |
63 | +CONFIG_DM_REGULATOR=y | |
64 | +CONFIG_DM_REGULATOR_PFUZE100=y | |
65 | +CONFIG_DM_REGULATOR_FIXED=y | |
66 | +CONFIG_DM_REGULATOR_GPIO=y | |
67 | +CONFIG_DM_SPI=y | |
68 | +CONFIG_DM_SPI_FLASH=y | |
69 | +CONFIG_SOFT_SPI=y | |
70 | +CONFIG_USB=y | |
71 | +CONFIG_DM_USB=y | |
72 | +CONFIG_USB_EHCI_HCD=y | |
73 | +CONFIG_MXC_USB_OTG_HACTIVE=y | |
74 | +CONFIG_USB_STORAGE=y | |
75 | +CONFIG_USB_GADGET=y | |
76 | +CONFIG_USB_GADGET_MANUFACTURER="FSL" | |
77 | +CONFIG_USB_GADGET_VENDOR_NUM=0x0525 | |
78 | +CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 | |
79 | +CONFIG_CI_UDC=y | |
80 | +CONFIG_USB_GADGET_DOWNLOAD=y | |
81 | +CONFIG_VIDEO=y | |
82 | +CONFIG_ERRNO_STR=y | |
83 | +CONFIG_DM_ETH=y | |
84 | + | |
85 | +CONFIG_CMD_FASTBOOT=y | |
86 | +CONFIG_USB_FUNCTION_FASTBOOT=y | |
87 | +CONFIG_FSL_FASTBOOT=y | |
88 | +CONFIG_FASTBOOT=y | |
89 | +CONFIG_FASTBOOT_BUF_ADDR=0x83800000 | |
90 | +CONFIG_FASTBOOT_BUF_SIZE=0x40000000 | |
91 | +CONFIG_FASTBOOT_FLASH=y | |
92 | +CONFIG_FASTBOOT_FLASH_MMC_DEV=1 | |
93 | +CONFIG_EFI_PARTITION=y |
configs/smarcfimx7s_ser0_defconfig
1 | +CONFIG_ARM=y | |
2 | +CONFIG_ARCH_MX7=y | |
3 | +CONFIG_TARGET_SMARCFIMX7=y | |
4 | +CONFIG_ARMV7_BOOT_SEC_DEFAULT=y | |
5 | +CONFIG_SYS_PROMPT="U-Boot# " | |
6 | +# CONFIG_ARMV7_VIRT is not set | |
7 | +CONFIG_IMX_RDC=y | |
8 | +CONFIG_IMX_BOOTAUX=y | |
9 | +CONFIG_DEFAULT_DEVICE_TREE="imx7s-smarcfimx7" | |
10 | +CONFIG_DEFAULT_FDT_FILE="imx7s-smarcfimx7.dtb" | |
11 | +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx7/ddr3l/mx7s_2x_k4b2g1646q.cfg,MX7S" | |
12 | +CONFIG_CONSOLE_SER0=y | |
13 | +CONFIG_SPI_BOOT=y | |
14 | +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set | |
15 | +# CONFIG_ENV_IS_IN_MMC is not set | |
16 | +CONFIG_BOOTDELAY=1 | |
17 | +# CONFIG_CONSOLE_MUX is not set | |
18 | +CONFIG_SYS_CONSOLE_IS_IN_ENV=y | |
19 | +CONFIG_HUSH_PARSER=y | |
20 | +CONFIG_CMD_BOOTZ=y | |
21 | +# CONFIG_CMD_IMLS is not set | |
22 | +# CONFIG_CMD_XIMG is not set | |
23 | +# CONFIG_CMD_EXPORTENV is not set | |
24 | +# CONFIG_CMD_IMPORTENV is not set | |
25 | +CONFIG_CMD_MEMTEST=y | |
26 | +CONFIG_CMD_DFU=y | |
27 | +CONFIG_CMD_GPIO=y | |
28 | +CONFIG_CMD_I2C=y | |
29 | +CONFIG_CMD_MMC=y | |
30 | +CONFIG_CMD_USB=y | |
31 | +CONFIG_CMD_USB_MASS_STORAGE=y | |
32 | +CONFIG_CMD_DHCP=y | |
33 | +CONFIG_CMD_MII=y | |
34 | +CONFIG_CMD_PING=y | |
35 | +CONFIG_CMD_BMP=y | |
36 | +CONFIG_CMD_CACHE=y | |
37 | +CONFIG_CMD_PMIC=y | |
38 | +CONFIG_CMD_REGULATOR=y | |
39 | +CONFIG_CMD_EXT2=y | |
40 | +CONFIG_CMD_EXT4=y | |
41 | +CONFIG_CMD_EXT4_WRITE=y | |
42 | +CONFIG_CMD_FAT=y | |
43 | +CONFIG_CMD_PART=y | |
44 | +CONFIG_CMD_FS_GENERIC=y | |
45 | +CONFIG_DOS_PARTITION=y | |
46 | +CONFIG_FS_EXT4=y | |
47 | +CONFIG_EXT4_WRITE=y | |
48 | +CONFIG_OF_CONTROL=y | |
49 | +CONFIG_DFU_MMC=y | |
50 | +CONFIG_DFU_RAM=y | |
51 | +CONFIG_DM_GPIO=y | |
52 | +CONFIG_DM_74X164=y | |
53 | +CONFIG_DM_I2C=y | |
54 | +CONFIG_DM_MMC=y | |
55 | +CONFIG_MMC_IO_VOLTAGE=y | |
56 | +CONFIG_MMC_UHS_SUPPORT=y | |
57 | +CONFIG_MMC_HS200_SUPPORT=y | |
58 | +CONFIG_PHYLIB=y | |
59 | +CONFIG_PINCTRL=y | |
60 | +CONFIG_PINCTRL_IMX7=y | |
61 | +CONFIG_DM_PMIC=y | |
62 | +CONFIG_DM_PMIC_PFUZE100=y | |
63 | +CONFIG_DM_REGULATOR=y | |
64 | +CONFIG_DM_REGULATOR_PFUZE100=y | |
65 | +CONFIG_DM_REGULATOR_FIXED=y | |
66 | +CONFIG_DM_REGULATOR_GPIO=y | |
67 | +CONFIG_DM_SPI=y | |
68 | +CONFIG_DM_SPI_FLASH=y | |
69 | +CONFIG_SOFT_SPI=y | |
70 | +CONFIG_USB=y | |
71 | +CONFIG_DM_USB=y | |
72 | +CONFIG_USB_EHCI_HCD=y | |
73 | +CONFIG_MXC_USB_OTG_HACTIVE=y | |
74 | +CONFIG_USB_STORAGE=y | |
75 | +CONFIG_USB_GADGET=y | |
76 | +CONFIG_USB_GADGET_MANUFACTURER="FSL" | |
77 | +CONFIG_USB_GADGET_VENDOR_NUM=0x0525 | |
78 | +CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 | |
79 | +CONFIG_CI_UDC=y | |
80 | +CONFIG_USB_GADGET_DOWNLOAD=y | |
81 | +CONFIG_VIDEO=y | |
82 | +CONFIG_ERRNO_STR=y | |
83 | +CONFIG_DM_ETH=y | |
84 | + | |
85 | +CONFIG_CMD_FASTBOOT=y | |
86 | +CONFIG_USB_FUNCTION_FASTBOOT=y | |
87 | +CONFIG_FSL_FASTBOOT=y | |
88 | +CONFIG_FASTBOOT=y | |
89 | +CONFIG_FASTBOOT_BUF_ADDR=0x83800000 | |
90 | +CONFIG_FASTBOOT_BUF_SIZE=0x40000000 | |
91 | +CONFIG_FASTBOOT_FLASH=y | |
92 | +CONFIG_FASTBOOT_FLASH_MMC_DEV=1 | |
93 | +CONFIG_EFI_PARTITION=y |
configs/smarcfimx7s_ser1_defconfig
1 | +CONFIG_ARM=y | |
2 | +CONFIG_ARCH_MX7=y | |
3 | +CONFIG_TARGET_SMARCFIMX7=y | |
4 | +CONFIG_ARMV7_BOOT_SEC_DEFAULT=y | |
5 | +CONFIG_SYS_PROMPT="U-Boot# " | |
6 | +# CONFIG_ARMV7_VIRT is not set | |
7 | +CONFIG_IMX_RDC=y | |
8 | +CONFIG_IMX_BOOTAUX=y | |
9 | +CONFIG_DEFAULT_DEVICE_TREE="imx7s-smarcfimx7" | |
10 | +CONFIG_DEFAULT_FDT_FILE="imx7s-smarcfimx7.dtb" | |
11 | +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx7/ddr3l/mx7s_2x_k4b2g1646q.cfg,MX7S" | |
12 | +CONFIG_CONSOLE_SER1=y | |
13 | +CONFIG_SPI_BOOT=y | |
14 | +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set | |
15 | +# CONFIG_ENV_IS_IN_MMC is not set | |
16 | +CONFIG_BOOTDELAY=1 | |
17 | +# CONFIG_CONSOLE_MUX is not set | |
18 | +CONFIG_SYS_CONSOLE_IS_IN_ENV=y | |
19 | +CONFIG_HUSH_PARSER=y | |
20 | +CONFIG_CMD_BOOTZ=y | |
21 | +# CONFIG_CMD_IMLS is not set | |
22 | +# CONFIG_CMD_XIMG is not set | |
23 | +# CONFIG_CMD_EXPORTENV is not set | |
24 | +# CONFIG_CMD_IMPORTENV is not set | |
25 | +CONFIG_CMD_MEMTEST=y | |
26 | +CONFIG_CMD_DFU=y | |
27 | +CONFIG_CMD_GPIO=y | |
28 | +CONFIG_CMD_I2C=y | |
29 | +CONFIG_CMD_MMC=y | |
30 | +CONFIG_CMD_USB=y | |
31 | +CONFIG_CMD_USB_MASS_STORAGE=y | |
32 | +CONFIG_CMD_DHCP=y | |
33 | +CONFIG_CMD_MII=y | |
34 | +CONFIG_CMD_PING=y | |
35 | +CONFIG_CMD_BMP=y | |
36 | +CONFIG_CMD_CACHE=y | |
37 | +CONFIG_CMD_PMIC=y | |
38 | +CONFIG_CMD_REGULATOR=y | |
39 | +CONFIG_CMD_EXT2=y | |
40 | +CONFIG_CMD_EXT4=y | |
41 | +CONFIG_CMD_EXT4_WRITE=y | |
42 | +CONFIG_CMD_FAT=y | |
43 | +CONFIG_CMD_PART=y | |
44 | +CONFIG_CMD_FS_GENERIC=y | |
45 | +CONFIG_DOS_PARTITION=y | |
46 | +CONFIG_FS_EXT4=y | |
47 | +CONFIG_EXT4_WRITE=y | |
48 | +CONFIG_OF_CONTROL=y | |
49 | +CONFIG_DFU_MMC=y | |
50 | +CONFIG_DFU_RAM=y | |
51 | +CONFIG_DM_GPIO=y | |
52 | +CONFIG_DM_74X164=y | |
53 | +CONFIG_DM_I2C=y | |
54 | +CONFIG_DM_MMC=y | |
55 | +CONFIG_MMC_IO_VOLTAGE=y | |
56 | +CONFIG_MMC_UHS_SUPPORT=y | |
57 | +CONFIG_MMC_HS200_SUPPORT=y | |
58 | +CONFIG_PHYLIB=y | |
59 | +CONFIG_PINCTRL=y | |
60 | +CONFIG_PINCTRL_IMX7=y | |
61 | +CONFIG_DM_PMIC=y | |
62 | +CONFIG_DM_PMIC_PFUZE100=y | |
63 | +CONFIG_DM_REGULATOR=y | |
64 | +CONFIG_DM_REGULATOR_PFUZE100=y | |
65 | +CONFIG_DM_REGULATOR_FIXED=y | |
66 | +CONFIG_DM_REGULATOR_GPIO=y | |
67 | +CONFIG_DM_SPI=y | |
68 | +CONFIG_DM_SPI_FLASH=y | |
69 | +CONFIG_SOFT_SPI=y | |
70 | +CONFIG_USB=y | |
71 | +CONFIG_DM_USB=y | |
72 | +CONFIG_USB_EHCI_HCD=y | |
73 | +CONFIG_MXC_USB_OTG_HACTIVE=y | |
74 | +CONFIG_USB_STORAGE=y | |
75 | +CONFIG_USB_GADGET=y | |
76 | +CONFIG_USB_GADGET_MANUFACTURER="FSL" | |
77 | +CONFIG_USB_GADGET_VENDOR_NUM=0x0525 | |
78 | +CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 | |
79 | +CONFIG_CI_UDC=y | |
80 | +CONFIG_USB_GADGET_DOWNLOAD=y | |
81 | +CONFIG_VIDEO=y | |
82 | +CONFIG_ERRNO_STR=y | |
83 | +CONFIG_DM_ETH=y | |
84 | + | |
85 | +CONFIG_CMD_FASTBOOT=y | |
86 | +CONFIG_USB_FUNCTION_FASTBOOT=y | |
87 | +CONFIG_FSL_FASTBOOT=y | |
88 | +CONFIG_FASTBOOT=y | |
89 | +CONFIG_FASTBOOT_BUF_ADDR=0x83800000 | |
90 | +CONFIG_FASTBOOT_BUF_SIZE=0x40000000 | |
91 | +CONFIG_FASTBOOT_FLASH=y | |
92 | +CONFIG_FASTBOOT_FLASH_MMC_DEV=1 | |
93 | +CONFIG_EFI_PARTITION=y |
configs/smarcfimx7s_ser2_defconfig
1 | +CONFIG_ARM=y | |
2 | +CONFIG_ARCH_MX7=y | |
3 | +CONFIG_TARGET_SMARCFIMX7=y | |
4 | +CONFIG_ARMV7_BOOT_SEC_DEFAULT=y | |
5 | +CONFIG_SYS_PROMPT="U-Boot# " | |
6 | +# CONFIG_ARMV7_VIRT is not set | |
7 | +CONFIG_IMX_RDC=y | |
8 | +CONFIG_IMX_BOOTAUX=y | |
9 | +CONFIG_DEFAULT_DEVICE_TREE="imx7s-smarcfimx7" | |
10 | +CONFIG_DEFAULT_FDT_FILE="imx7s-smarcfimx7.dtb" | |
11 | +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx7/ddr3l/mx7s_2x_k4b2g1646q.cfg,MX7S" | |
12 | +CONFIG_CONSOLE_SER2=y | |
13 | +CONFIG_SPI_BOOT=y | |
14 | +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set | |
15 | +# CONFIG_ENV_IS_IN_MMC is not set | |
16 | +CONFIG_BOOTDELAY=1 | |
17 | +# CONFIG_CONSOLE_MUX is not set | |
18 | +CONFIG_SYS_CONSOLE_IS_IN_ENV=y | |
19 | +CONFIG_HUSH_PARSER=y | |
20 | +CONFIG_CMD_BOOTZ=y | |
21 | +# CONFIG_CMD_IMLS is not set | |
22 | +# CONFIG_CMD_XIMG is not set | |
23 | +# CONFIG_CMD_EXPORTENV is not set | |
24 | +# CONFIG_CMD_IMPORTENV is not set | |
25 | +CONFIG_CMD_MEMTEST=y | |
26 | +CONFIG_CMD_DFU=y | |
27 | +CONFIG_CMD_GPIO=y | |
28 | +CONFIG_CMD_I2C=y | |
29 | +CONFIG_CMD_MMC=y | |
30 | +CONFIG_CMD_USB=y | |
31 | +CONFIG_CMD_USB_MASS_STORAGE=y | |
32 | +CONFIG_CMD_DHCP=y | |
33 | +CONFIG_CMD_MII=y | |
34 | +CONFIG_CMD_PING=y | |
35 | +CONFIG_CMD_BMP=y | |
36 | +CONFIG_CMD_CACHE=y | |
37 | +CONFIG_CMD_PMIC=y | |
38 | +CONFIG_CMD_REGULATOR=y | |
39 | +CONFIG_CMD_EXT2=y | |
40 | +CONFIG_CMD_EXT4=y | |
41 | +CONFIG_CMD_EXT4_WRITE=y | |
42 | +CONFIG_CMD_FAT=y | |
43 | +CONFIG_CMD_PART=y | |
44 | +CONFIG_CMD_FS_GENERIC=y | |
45 | +CONFIG_DOS_PARTITION=y | |
46 | +CONFIG_FS_EXT4=y | |
47 | +CONFIG_EXT4_WRITE=y | |
48 | +CONFIG_OF_CONTROL=y | |
49 | +CONFIG_DFU_MMC=y | |
50 | +CONFIG_DFU_RAM=y | |
51 | +CONFIG_DM_GPIO=y | |
52 | +CONFIG_DM_74X164=y | |
53 | +CONFIG_DM_I2C=y | |
54 | +CONFIG_DM_MMC=y | |
55 | +CONFIG_MMC_IO_VOLTAGE=y | |
56 | +CONFIG_MMC_UHS_SUPPORT=y | |
57 | +CONFIG_MMC_HS200_SUPPORT=y | |
58 | +CONFIG_PHYLIB=y | |
59 | +CONFIG_PINCTRL=y | |
60 | +CONFIG_PINCTRL_IMX7=y | |
61 | +CONFIG_DM_PMIC=y | |
62 | +CONFIG_DM_PMIC_PFUZE100=y | |
63 | +CONFIG_DM_REGULATOR=y | |
64 | +CONFIG_DM_REGULATOR_PFUZE100=y | |
65 | +CONFIG_DM_REGULATOR_FIXED=y | |
66 | +CONFIG_DM_REGULATOR_GPIO=y | |
67 | +CONFIG_DM_SPI=y | |
68 | +CONFIG_DM_SPI_FLASH=y | |
69 | +CONFIG_SOFT_SPI=y | |
70 | +CONFIG_USB=y | |
71 | +CONFIG_DM_USB=y | |
72 | +CONFIG_USB_EHCI_HCD=y | |
73 | +CONFIG_MXC_USB_OTG_HACTIVE=y | |
74 | +CONFIG_USB_STORAGE=y | |
75 | +CONFIG_USB_GADGET=y | |
76 | +CONFIG_USB_GADGET_MANUFACTURER="FSL" | |
77 | +CONFIG_USB_GADGET_VENDOR_NUM=0x0525 | |
78 | +CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 | |
79 | +CONFIG_CI_UDC=y | |
80 | +CONFIG_USB_GADGET_DOWNLOAD=y | |
81 | +CONFIG_VIDEO=y | |
82 | +CONFIG_ERRNO_STR=y | |
83 | +CONFIG_DM_ETH=y | |
84 | + | |
85 | +CONFIG_CMD_FASTBOOT=y | |
86 | +CONFIG_USB_FUNCTION_FASTBOOT=y | |
87 | +CONFIG_FSL_FASTBOOT=y | |
88 | +CONFIG_FASTBOOT=y | |
89 | +CONFIG_FASTBOOT_BUF_ADDR=0x83800000 | |
90 | +CONFIG_FASTBOOT_BUF_SIZE=0x40000000 | |
91 | +CONFIG_FASTBOOT_FLASH=y | |
92 | +CONFIG_FASTBOOT_FLASH_MMC_DEV=1 | |
93 | +CONFIG_EFI_PARTITION=y |
configs/smarcfimx7s_ser3_defconfig
1 | +CONFIG_ARM=y | |
2 | +CONFIG_ARCH_MX7=y | |
3 | +CONFIG_TARGET_SMARCFIMX7=y | |
4 | +CONFIG_ARMV7_BOOT_SEC_DEFAULT=y | |
5 | +CONFIG_SYS_PROMPT="U-Boot# " | |
6 | +# CONFIG_ARMV7_VIRT is not set | |
7 | +CONFIG_IMX_RDC=y | |
8 | +CONFIG_IMX_BOOTAUX=y | |
9 | +CONFIG_DEFAULT_DEVICE_TREE="imx7s-smarcfimx7" | |
10 | +CONFIG_DEFAULT_FDT_FILE="imx7s-smarcfimx7.dtb" | |
11 | +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx7/ddr3l/mx7s_2x_k4b2g1646q.cfg,MX7S" | |
12 | +CONFIG_CONSOLE_SER3=y | |
13 | +CONFIG_SPI_BOOT=y | |
14 | +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set | |
15 | +# CONFIG_ENV_IS_IN_MMC is not set | |
16 | +CONFIG_BOOTDELAY=1 | |
17 | +# CONFIG_CONSOLE_MUX is not set | |
18 | +CONFIG_SYS_CONSOLE_IS_IN_ENV=y | |
19 | +CONFIG_HUSH_PARSER=y | |
20 | +CONFIG_CMD_BOOTZ=y | |
21 | +# CONFIG_CMD_IMLS is not set | |
22 | +# CONFIG_CMD_XIMG is not set | |
23 | +# CONFIG_CMD_EXPORTENV is not set | |
24 | +# CONFIG_CMD_IMPORTENV is not set | |
25 | +CONFIG_CMD_MEMTEST=y | |
26 | +CONFIG_CMD_DFU=y | |
27 | +CONFIG_CMD_GPIO=y | |
28 | +CONFIG_CMD_I2C=y | |
29 | +CONFIG_CMD_MMC=y | |
30 | +CONFIG_CMD_USB=y | |
31 | +CONFIG_CMD_USB_MASS_STORAGE=y | |
32 | +CONFIG_CMD_DHCP=y | |
33 | +CONFIG_CMD_MII=y | |
34 | +CONFIG_CMD_PING=y | |
35 | +CONFIG_CMD_BMP=y | |
36 | +CONFIG_CMD_CACHE=y | |
37 | +CONFIG_CMD_PMIC=y | |
38 | +CONFIG_CMD_REGULATOR=y | |
39 | +CONFIG_CMD_EXT2=y | |
40 | +CONFIG_CMD_EXT4=y | |
41 | +CONFIG_CMD_EXT4_WRITE=y | |
42 | +CONFIG_CMD_FAT=y | |
43 | +CONFIG_CMD_PART=y | |
44 | +CONFIG_CMD_FS_GENERIC=y | |
45 | +CONFIG_DOS_PARTITION=y | |
46 | +CONFIG_FS_EXT4=y | |
47 | +CONFIG_EXT4_WRITE=y | |
48 | +CONFIG_OF_CONTROL=y | |
49 | +CONFIG_DFU_MMC=y | |
50 | +CONFIG_DFU_RAM=y | |
51 | +CONFIG_DM_GPIO=y | |
52 | +CONFIG_DM_74X164=y | |
53 | +CONFIG_DM_I2C=y | |
54 | +CONFIG_DM_MMC=y | |
55 | +CONFIG_MMC_IO_VOLTAGE=y | |
56 | +CONFIG_MMC_UHS_SUPPORT=y | |
57 | +CONFIG_MMC_HS200_SUPPORT=y | |
58 | +CONFIG_PHYLIB=y | |
59 | +CONFIG_PINCTRL=y | |
60 | +CONFIG_PINCTRL_IMX7=y | |
61 | +CONFIG_DM_PMIC=y | |
62 | +CONFIG_DM_PMIC_PFUZE100=y | |
63 | +CONFIG_DM_REGULATOR=y | |
64 | +CONFIG_DM_REGULATOR_PFUZE100=y | |
65 | +CONFIG_DM_REGULATOR_FIXED=y | |
66 | +CONFIG_DM_REGULATOR_GPIO=y | |
67 | +CONFIG_DM_SPI=y | |
68 | +CONFIG_DM_SPI_FLASH=y | |
69 | +CONFIG_SOFT_SPI=y | |
70 | +CONFIG_USB=y | |
71 | +CONFIG_DM_USB=y | |
72 | +CONFIG_USB_EHCI_HCD=y | |
73 | +CONFIG_MXC_USB_OTG_HACTIVE=y | |
74 | +CONFIG_USB_STORAGE=y | |
75 | +CONFIG_USB_GADGET=y | |
76 | +CONFIG_USB_GADGET_MANUFACTURER="FSL" | |
77 | +CONFIG_USB_GADGET_VENDOR_NUM=0x0525 | |
78 | +CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 | |
79 | +CONFIG_CI_UDC=y | |
80 | +CONFIG_USB_GADGET_DOWNLOAD=y | |
81 | +CONFIG_VIDEO=y | |
82 | +CONFIG_ERRNO_STR=y | |
83 | +CONFIG_DM_ETH=y | |
84 | + | |
85 | +CONFIG_CMD_FASTBOOT=y | |
86 | +CONFIG_USB_FUNCTION_FASTBOOT=y | |
87 | +CONFIG_FSL_FASTBOOT=y | |
88 | +CONFIG_FASTBOOT=y | |
89 | +CONFIG_FASTBOOT_BUF_ADDR=0x83800000 | |
90 | +CONFIG_FASTBOOT_BUF_SIZE=0x40000000 | |
91 | +CONFIG_FASTBOOT_FLASH=y | |
92 | +CONFIG_FASTBOOT_FLASH_MMC_DEV=1 | |
93 | +CONFIG_EFI_PARTITION=y |
drivers/mmc/mmc.c
... | ... | @@ -449,8 +449,8 @@ |
449 | 449 | |
450 | 450 | if ((start + blkcnt) > block_dev->lba) { |
451 | 451 | #if !defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_LIBCOMMON_SUPPORT) |
452 | - pr_err("MMC: block number 0x" LBAF " exceeds max(0x" LBAF ")\n", | |
453 | - start + blkcnt, block_dev->lba); | |
452 | + /*pr_err("MMC: block number 0x" LBAF " exceeds max(0x" LBAF ")\n", | |
453 | + start + blkcnt, block_dev->lba);*/ | |
454 | 454 | #endif |
455 | 455 | return 0; |
456 | 456 | } |
drivers/mtd/spi/spi_flash_ids.c
... | ... | @@ -80,6 +80,7 @@ |
80 | 80 | {"mx25l4005", INFO(0xc22013, 0x0, 64 * 1024, 8, 0) }, |
81 | 81 | {"mx25l8005", INFO(0xc22014, 0x0, 64 * 1024, 16, 0) }, |
82 | 82 | {"mx25l1605d", INFO(0xc22015, 0x0, 64 * 1024, 32, 0) }, |
83 | + {"mx25u3235f", INFO(0xc22536, 0x0, 64 * 1024, 64, 0 | SECT_4K) }, | |
83 | 84 | {"mx25l3205d", INFO(0xc22016, 0x0, 64 * 1024, 64, 0) }, |
84 | 85 | {"mx25l6405d", INFO(0xc22017, 0x0, 64 * 1024, 128, 0) }, |
85 | 86 | {"mx25l12805", INFO(0xc22018, 0x0, 64 * 1024, 256, RD_FULL | WR_QPP) }, |
drivers/ram/Kconfig
... | ... | @@ -33,4 +33,9 @@ |
33 | 33 | STM32F7 family devices support flexible memory controller(FMC) to |
34 | 34 | support external memories like sdram, psram & nand. |
35 | 35 | This driver is for the sdram memory interface with the FMC. |
36 | + | |
37 | +config 2GDDR3 | |
38 | + bool "SMARC-FiMX7 with 2GB DDR3L Memory" | |
39 | + help | |
40 | + Select this if the board is SMARC-FiMX7-D-2G |
drivers/serial/Kconfig
... | ... | @@ -567,6 +567,26 @@ |
567 | 567 | If you have a machine based on a Marvell XScale PXA2xx CPU you |
568 | 568 | can enable its onboard serial ports by enabling this option. |
569 | 569 | |
570 | +config CONSOLE_SER0 | |
571 | + bool "SMARC-FiMX7 default console serial output port" | |
572 | + help | |
573 | + Select this to enable a debug UART port from SER0 of SMARC-FiMX7. | |
574 | + | |
575 | +config CONSOLE_SER1 | |
576 | + bool "SMARC-FiMX7 default console serial output port" | |
577 | + help | |
578 | + Select this to enable a debug UART port from SER1 of SMARC-FiMX7. | |
579 | + | |
580 | +config CONSOLE_SER2 | |
581 | + bool "SMARC-FiMX7 default console serial output port" | |
582 | + help | |
583 | + Select this to enable a debug UART port from SER2 of SMARC-FiMX7. | |
584 | + | |
585 | +config CONSOLE_SER3 | |
586 | + bool "SMARC-FiMX7 default console serial output port" | |
587 | + help | |
588 | + Select this to enable a debug UART port from SER3 of SMARC-FiMX7. | |
589 | + | |
570 | 590 | config STI_ASC_SERIAL |
571 | 591 | bool "STMicroelectronics on-chip UART" |
572 | 592 | depends on DM_SERIAL && ARCH_STI |
drivers/watchdog/imx_watchdog.c
... | ... | @@ -9,6 +9,7 @@ |
9 | 9 | #include <watchdog.h> |
10 | 10 | #include <asm/arch/imx-regs.h> |
11 | 11 | #include <fsl_wdog.h> |
12 | +#include <asm/arch/sys_proto.h> | |
12 | 13 | |
13 | 14 | #ifdef CONFIG_IMX_WATCHDOG |
14 | 15 | void hw_watchdog_reset(void) |
... | ... | @@ -43,7 +44,10 @@ |
43 | 44 | { |
44 | 45 | struct watchdog_regs *wdog = (struct watchdog_regs *)WDOG1_BASE_ADDR; |
45 | 46 | |
46 | - clrsetbits_le16(&wdog->wcr, WCR_WT_MSK, WCR_WDE); | |
47 | + if ((is_cpu_type(MXC_CPU_MX7D) || is_cpu_type(MXC_CPU_MX7S))) | |
48 | + clrsetbits_le16(&wdog->wcr, WCR_WT_MSK, (WCR_WDE | WCR_SRS)); | |
49 | + else | |
50 | + clrsetbits_le16(&wdog->wcr, WCR_WT_MSK, WCR_WDE); | |
47 | 51 | |
48 | 52 | writew(0x5555, &wdog->wsr); |
49 | 53 | writew(0xaaaa, &wdog->wsr); /* load minimum 1/2 second timeout */ |
include/configs/mx7smarc_common.h
1 | +/* | |
2 | + * Copyright (C) 2015 Freescale Semiconductor, Inc. | |
3 | + * | |
4 | + * Configuration settings for the Freescale i.MX7. | |
5 | + * | |
6 | + * SPDX-License-Identifier: GPL-2.0+ | |
7 | + */ | |
8 | + | |
9 | +#ifndef __MX7SMARC_COMMON_H | |
10 | +#define __MX7SMARC_COMMON_H | |
11 | + | |
12 | +#include <linux/sizes.h> | |
13 | +#include <asm/arch/imx-regs.h> | |
14 | +#include <asm/mach-imx/gpio.h> | |
15 | + | |
16 | +#ifndef CONFIG_MX7 | |
17 | +#define CONFIG_MX7 | |
18 | +#endif | |
19 | + | |
20 | +/* Timer settings */ | |
21 | +#define CONFIG_MXC_GPT_HCLK | |
22 | +#define CONFIG_SC_TIMER_CLK 8000000 /* 8Mhz */ | |
23 | +#define COUNTER_FREQUENCY CONFIG_SC_TIMER_CLK | |
24 | +#define CONFIG_SYS_FSL_CLK | |
25 | + | |
26 | +#define CONFIG_SYS_BOOTM_LEN 0x1000000 | |
27 | + | |
28 | +/* Enable iomux-lpsr support */ | |
29 | +#define CONFIG_IOMUX_LPSR | |
30 | + | |
31 | +#define CONFIG_LOADADDR 0x80800000 | |
32 | + | |
33 | +/* allow to overwrite serial and ethaddr */ | |
34 | +#define CONFIG_ENV_OVERWRITE | |
35 | +#define CONFIG_CONS_INDEX 1 | |
36 | +#define CONFIG_BAUDRATE 115200 | |
37 | + | |
38 | +/* Miscellaneous configurable options */ | |
39 | +#define CONFIG_SYS_CBSIZE 2048 | |
40 | +#define CONFIG_SYS_MAXARGS 32 | |
41 | +#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE | |
42 | + | |
43 | +#ifndef CONFIG_SYS_DCACHE_OFF | |
44 | +#endif | |
45 | + | |
46 | +/* UART */ | |
47 | +#define CONFIG_MXC_UART | |
48 | +#if defined(CONFIG_CONSOLE_SER0) | |
49 | +#define CONFIG_MXC_UART_BASE UART6_IPS_BASE_ADDR | |
50 | +#define CONSOLE_DEV "ttymxc5" | |
51 | +#endif | |
52 | +#if defined(CONFIG_COMSOLE_SER1) | |
53 | +#define CONFIG_MXC_UART_BASE UART2_IPS_BASE_ADDR | |
54 | +#define CONSOLE_DEV "ttymxc1" | |
55 | +#endif | |
56 | +#if defined(CONFIG_CONSOLE_SER2) | |
57 | +#define CONFIG_MXC_UART_BASE UART7_IPS_BASE_ADDR | |
58 | +#define CONSOLE_DEV "ttymxc6" | |
59 | +#endif | |
60 | +#if defined(CONFIG_CONSOLE_SER3) | |
61 | +#define CONFIG_MXC_UART_BASE UART3_IPS_BASE_ADDR | |
62 | +#define CONSOLE_DEV "ttymxc2" | |
63 | +#endif | |
64 | + | |
65 | +/* MMC */ | |
66 | +#define CONFIG_BOUNCE_BUFFER | |
67 | +#define CONFIG_FSL_ESDHC | |
68 | +#define CONFIG_FSL_USDHC | |
69 | + | |
70 | +/* Fuses */ | |
71 | +#define CONFIG_MXC_OCOTP | |
72 | + | |
73 | +#define CONFIG_ARMV7_SECURE_BASE 0x00900000 | |
74 | + | |
75 | +#define CONFIG_ARMV7_PSCI_1_0 | |
76 | + | |
77 | +/* Secure boot (HAB) support */ | |
78 | +#ifdef CONFIG_SECURE_BOOT | |
79 | +#define CONFIG_CSF_SIZE 0x4000 | |
80 | +#endif | |
81 | + | |
82 | +#ifdef CONFIG_IMX_OPTEE | |
83 | +#define TEE_ENV "tee=yes\0" | |
84 | +#else | |
85 | +#define TEE_ENV "tee=no\0" | |
86 | +#endif | |
87 | +#endif |
include/configs/smarcfimx7.h
1 | +/* | |
2 | + * Copyright (C) 2015 Freescale Semiconductor, Inc. | |
3 | + * Copyright 2017-2018 NXP | |
4 | + * | |
5 | + * Configuration settings for the Freescale i.MX7D SABRESD board. | |
6 | + * | |
7 | + * SPDX-License-Identifier: GPL-2.0+ | |
8 | + */ | |
9 | + | |
10 | +#ifndef __SMARCFIMX7_CONFIG_H | |
11 | +#define __SMARCFIMX7_CONFIG_H | |
12 | + | |
13 | +#include "mx7smarc_common.h" | |
14 | +#include "imx_env.h" | |
15 | + | |
16 | +#define CONFIG_DBG_MONITOR | |
17 | + | |
18 | +#if defined(CONFIG_MX7D) | |
19 | +#if defined(CONFIG_2GDDR3) | |
20 | +#define PHYS_SDRAM_SIZE SZ_2G | |
21 | +#else | |
22 | +#define PHYS_SDRAM_SIZE SZ_1G | |
23 | +#endif | |
24 | +#else | |
25 | +#define PHYS_SDRAM_SIZE SZ_512M | |
26 | +#endif | |
27 | + | |
28 | +/* Size of malloc() pool */ | |
29 | +#define CONFIG_SYS_MALLOC_LEN (32 * SZ_1M) | |
30 | + | |
31 | +/* Network */ | |
32 | +#ifdef CONFIG_DM_ETH | |
33 | +#define CONFIG_FEC_MXC | |
34 | +#define CONFIG_MII | |
35 | +#define CONFIG_FEC_XCV_TYPE RGMII | |
36 | +#define CONFIG_FEC_ENET_DEV 0 | |
37 | + | |
38 | +#define CONFIG_PHY_ATHEROS | |
39 | +/* ENET1 */ | |
40 | +#if (CONFIG_FEC_ENET_DEV == 0) | |
41 | +#define IMX_FEC_BASE ENET_IPS_BASE_ADDR | |
42 | +#define CONFIG_FEC_MXC_PHYADDR 0x6 | |
43 | +#define CONFIG_ETHPRIME "eth0" | |
44 | +#elif (CONFIG_FEC_ENET_DEV == 1) | |
45 | +#define IMX_FEC_BASE ENET2_IPS_BASE_ADDR | |
46 | +#define CONFIG_FEC_MXC_PHYADDR 0x7 | |
47 | +#define CONFIG_ETHPRIME "eth1" | |
48 | +#endif | |
49 | + | |
50 | +#define CONFIG_FEC_MXC_MDIO_BASE ENET_IPS_BASE_ADDR | |
51 | +#endif | |
52 | + | |
53 | +/* MMC Config*/ | |
54 | +#define CONFIG_SYS_FSL_ESDHC_ADDR 0 | |
55 | + | |
56 | +#undef CONFIG_BOOTM_NETBSD | |
57 | +#undef CONFIG_BOOTM_PLAN9 | |
58 | +#undef CONFIG_BOOTM_RTEMS | |
59 | + | |
60 | +#define CONFIG_CMD_IMPORTENV | |
61 | + | |
62 | +/* I2C configs */ | |
63 | +#define CONFIG_SYS_I2C_MXC | |
64 | +#define CONFIG_SYS_I2C_MXC_I2C1 /* enable I2C bus 1 */ | |
65 | +#define CONFIG_SYS_I2C_MXC_I2C2 | |
66 | +#define CONFIG_SYS_I2C_SPEED 100000 | |
67 | + | |
68 | +#define CONFIG_SUPPORT_EMMC_BOOT /* eMMC specific */ | |
69 | +#define CONFIG_SYS_MMC_IMG_LOAD_PART 1 | |
70 | + | |
71 | +#ifdef CONFIG_SPI_BOOT | |
72 | +#define CONFIG_MXC_SPI | |
73 | +#define CONFIG_ENV_IS_IN_SPI_FLASH | |
74 | +#elif defined CONFIG_NAND_BOOT | |
75 | +#define CONFIG_NAND_MXS | |
76 | +#define CONFIG_ENV_IS_IN_NAND | |
77 | +#else | |
78 | +#define CONFIG_ENV_IS_IN_MMC | |
79 | +#endif | |
80 | + | |
81 | +#ifdef CONFIG_MXC_SPI | |
82 | +#define CONFIG_CMD_SF | |
83 | +#define CONFIG_SPI_FLASH | |
84 | +#define CONFIG_SPI_FLASH_MACRONIX | |
85 | +#define CONFIG_SF_DEFAULT_BUS 2 | |
86 | +#define CONFIG_SF_DEFAULT_CS 0 /* Use SPI2 SS0 as chip select */ | |
87 | +#define CONFIG_SF_DEFAULT_SPEED 20000000 | |
88 | +#define CONFIG_SF_DEFAULT_MODE (SPI_MODE_0) | |
89 | +#endif | |
90 | + | |
91 | +#ifdef CONFIG_IMX_BOOTAUX | |
92 | + | |
93 | +#ifdef CONFIG_FSL_QSPI | |
94 | +#define UPDATE_M4_ENV \ | |
95 | + "m4image=m4_qspi.bin\0" \ | |
96 | + "loadm4image=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${m4image}\0" \ | |
97 | + "update_m4_from_sd=" \ | |
98 | + "if sf probe 1:0; then " \ | |
99 | + "if run loadm4image; then " \ | |
100 | + "setexpr fw_sz ${filesize} + 0xffff; " \ | |
101 | + "setexpr fw_sz ${fw_sz} / 0x10000; " \ | |
102 | + "setexpr fw_sz ${fw_sz} * 0x10000; " \ | |
103 | + "sf erase 0x100000 ${fw_sz}; " \ | |
104 | + "sf write ${loadaddr} 0x100000 ${filesize}; " \ | |
105 | + "fi; " \ | |
106 | + "fi\0" \ | |
107 | + "m4boot=sf probe 1:0; bootaux "__stringify(CONFIG_SYS_AUXCORE_BOOTDATA)"\0" | |
108 | +#else | |
109 | +#define UPDATE_M4_ENV \ | |
110 | + "m4image=m4_qspi.bin\0" \ | |
111 | + "loadm4image=fatload mmc ${mmcdev}:${mmcpart} "__stringify(CONFIG_SYS_AUXCORE_BOOTDATA)" ${m4image}\0" \ | |
112 | + "m4boot=run loadm4image; bootaux "__stringify(CONFIG_SYS_AUXCORE_BOOTDATA)"\0" | |
113 | +#endif | |
114 | +#else | |
115 | +#define UPDATE_M4_ENV "" | |
116 | +#endif | |
117 | + | |
118 | +#ifdef CONFIG_NAND_BOOT | |
119 | +#define MFG_NAND_PARTITION "mtdparts=gpmi-nand:64m(nandboot),16m(nandkernel),16m(nanddtb),16m(nandtee),-(nandrootfs) " | |
120 | +#else | |
121 | +#define MFG_NAND_PARTITION "" | |
122 | +#endif | |
123 | + | |
124 | +#define CONFIG_CMD_READ | |
125 | +#define CONFIG_SERIAL_TAG | |
126 | +#define CONFIG_FASTBOOT_USB_DEV 0 | |
127 | + | |
128 | +#define CONFIG_MFG_ENV_SETTINGS \ | |
129 | + CONFIG_MFG_ENV_SETTINGS_DEFAULT \ | |
130 | + "initrd_addr=0x86800000\0" \ | |
131 | + "initrd_high=0xffffffff\0" \ | |
132 | + "emmc_dev=1\0"\ | |
133 | + "sd_dev=0\0" \ | |
134 | + "mtdparts=" MFG_NAND_PARTITION \ | |
135 | + "\0"\ | |
136 | + | |
137 | +#define CONFIG_DFU_ENV_SETTINGS \ | |
138 | + "dfu_alt_info=image raw 0 0x800000;"\ | |
139 | + "u-boot raw 0 0x4000;"\ | |
140 | + "bootimg part 0 1;"\ | |
141 | + "rootfs part 0 2\0" \ | |
142 | + | |
143 | +#if defined(CONFIG_NAND_BOOT) | |
144 | +#define CONFIG_EXTRA_ENV_SETTINGS \ | |
145 | + CONFIG_MFG_ENV_SETTINGS \ | |
146 | + TEE_ENV \ | |
147 | + "panel=TFT43AB\0" \ | |
148 | + "fdt_addr=0x83000000\0" \ | |
149 | + "fdt_high=0xffffffff\0" \ | |
150 | + "console=ttymxc0\0" \ | |
151 | + "bootargs=console=ttymxc0,115200 ubi.mtd=4 " \ | |
152 | + "root=ubi0:nandrootfs rootfstype=ubifs " \ | |
153 | + MFG_NAND_PARTITION \ | |
154 | + "\0" \ | |
155 | + "bootcmd=nand read ${loadaddr} 0x4000000 0x800000;"\ | |
156 | + "nand read ${fdt_addr} 0x5000000 0x100000;"\ | |
157 | + "if test ${tee} = yes; then " \ | |
158 | + "nand read ${tee_addr} 0x6000000 0x400000;"\ | |
159 | + "bootm ${teeaddr} - ${fdt_addr};" \ | |
160 | + "else " \ | |
161 | + "bootz ${loadaddr} - ${fdt_addr};" \ | |
162 | + "fi\0" | |
163 | + | |
164 | +#else | |
165 | +#define CONFIG_EXTRA_ENV_SETTINGS \ | |
166 | + UPDATE_M4_ENV \ | |
167 | + CONFIG_MFG_ENV_SETTINGS \ | |
168 | + TEE_ENV \ | |
169 | + CONFIG_DFU_ENV_SETTINGS \ | |
170 | + "script=boot.scr\0" \ | |
171 | + "image=zImage\0" \ | |
172 | + "console=" CONSOLE_DEV "\0" \ | |
173 | + "fdt_high=0xffffffff\0" \ | |
174 | + "initrd_high=0xffffffff\0" \ | |
175 | + "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \ | |
176 | + "fdt_addr=0x83000000\0" \ | |
177 | + "tee_addr=0x84000000\0" \ | |
178 | + "tee_file=uTee-7dsdb\0" \ | |
179 | + "ethprime=eth0\0" \ | |
180 | + "ipaddr=192.168.1.60\0" \ | |
181 | + "boot_fdt=try\0" \ | |
182 | + "ip_dyn=yes\0" \ | |
183 | + "panel=G070VW01\0" \ | |
184 | + "mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \ | |
185 | + "mmcpart=" __stringify(CONFIG_SYS_MMC_IMG_LOAD_PART) "\0" \ | |
186 | + "mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \ | |
187 | + "mmcrootfstype=ext4 rootwait\0" \ | |
188 | + "mmcautodetect=yes\0" \ | |
189 | + "mmcargs=setenv bootargs console=${console},${baudrate} " \ | |
190 | + "${optargs} " \ | |
191 | + "rootfstype=${mmcrootfstype} " \ | |
192 | + "root=${mmcroot}\0" \ | |
193 | + "loadbootenv=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} uEnv.txt\0" \ | |
194 | + "importbootenv=echo Importing environment from mmc (uEnv.txt)...; " \ | |
195 | + "env import -t $loadaddr $filesize\0" \ | |
196 | + "loadbootscript=" \ | |
197 | + "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \ | |
198 | + "bootscript=echo Running bootscript from mmc ...; " \ | |
199 | + "source\0" \ | |
200 | + "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \ | |
201 | + "loadzimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \ | |
202 | + "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} /dtbs/${fdt_file}\0" \ | |
203 | + "loadtee=fatload mmc ${mmcdev}:${mmcpart} ${tee_addr} ${tee_file}\0" \ | |
204 | + "mmcboot=echo Booting from mmc ...; " \ | |
205 | + "run mmcargs; " \ | |
206 | + "if test ${tee} = yes; then " \ | |
207 | + "run loadfdt; run loadtee; bootm ${tee_addr} - ${fdt_addr}; " \ | |
208 | + "else " \ | |
209 | + "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ | |
210 | + "if run loadfdt; then " \ | |
211 | + "bootz ${loadaddr} - ${fdt_addr}; " \ | |
212 | + "else " \ | |
213 | + "if test ${boot_fdt} = try; then " \ | |
214 | + "bootz; " \ | |
215 | + "else " \ | |
216 | + "echo WARN: Cannot load the DT; " \ | |
217 | + "fi; " \ | |
218 | + "fi; " \ | |
219 | + "else " \ | |
220 | + "bootz; " \ | |
221 | + "fi; " \ | |
222 | + "fi;\0" \ | |
223 | + "netargs=setenv bootargs console=${console},${baudrate} " \ | |
224 | + "root=/dev/nfs " \ | |
225 | + "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \ | |
226 | + "netboot=echo Booting from net ...; " \ | |
227 | + "run netargs; " \ | |
228 | + "if test ${ip_dyn} = yes; then " \ | |
229 | + "setenv get_cmd dhcp; " \ | |
230 | + "else " \ | |
231 | + "setenv get_cmd tftp; " \ | |
232 | + "fi; " \ | |
233 | + "${get_cmd} ${image}; " \ | |
234 | + "if test ${tee} = yes; then " \ | |
235 | + "${get_cmd} ${tee_addr} ${tee_file}; " \ | |
236 | + "${get_cmd} ${fdt_addr} ${fdt_file}; " \ | |
237 | + "bootm ${tee_addr} - ${fdt_addr}; " \ | |
238 | + "else " \ | |
239 | + "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ | |
240 | + "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \ | |
241 | + "bootz ${loadaddr} - ${fdt_addr}; " \ | |
242 | + "else " \ | |
243 | + "if test ${boot_fdt} = try; then " \ | |
244 | + "bootz; " \ | |
245 | + "else " \ | |
246 | + "echo WARN: Cannot load the DT; " \ | |
247 | + "fi; " \ | |
248 | + "fi; " \ | |
249 | + "else " \ | |
250 | + "bootz; " \ | |
251 | + "fi; " \ | |
252 | + "fi;\0" \ | |
253 | + "findfdt="\ | |
254 | + "if test $fdt_file = undefined; then " \ | |
255 | + "setenv fdt_file imx7d-sdb.dtb; " \ | |
256 | + "fi;\0" \ | |
257 | + | |
258 | +#define CONFIG_BOOTCOMMAND \ | |
259 | + "run findfdt;" \ | |
260 | + "mmc dev ${mmcdev};" \ | |
261 | + "mmc dev ${mmcdev}; if mmc rescan; then " \ | |
262 | + "echo SD/MMC found on device ${mmcdev};" \ | |
263 | + "if run loadbootenv; then " \ | |
264 | + "run importbootenv;" \ | |
265 | + "fi;" \ | |
266 | + "echo Checking if uenvcmd is set ...;" \ | |
267 | + "if test -n $uenvcmd; then " \ | |
268 | + "echo Running uenvcmd ...;" \ | |
269 | + "run uenvcmd;" \ | |
270 | + "fi;" \ | |
271 | + "echo Running default loadzimage ...;" \ | |
272 | + "if run loadzimage; then " \ | |
273 | + "run loadfdt;" \ | |
274 | + "run mmcboot;" \ | |
275 | + "fi;" \ | |
276 | + "else run netboot; fi" | |
277 | +#endif | |
278 | + | |
279 | +#define CONFIG_SYS_MEMTEST_START 0x80000000 | |
280 | +#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + 0x20000000) | |
281 | + | |
282 | +#define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR | |
283 | +#define CONFIG_SYS_HZ 1000 | |
284 | + | |
285 | +/* Physical Memory Map */ | |
286 | +#define CONFIG_NR_DRAM_BANKS 1 | |
287 | +#define PHYS_SDRAM MMDC0_ARB_BASE_ADDR | |
288 | + | |
289 | +#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM | |
290 | +#define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR | |
291 | +#define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE | |
292 | + | |
293 | +#define CONFIG_SYS_INIT_SP_OFFSET \ | |
294 | + (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) | |
295 | +#define CONFIG_SYS_INIT_SP_ADDR \ | |
296 | + (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) | |
297 | + | |
298 | +/* environment organization */ | |
299 | +#define CONFIG_ENV_SIZE SZ_8K | |
300 | + | |
301 | +#if defined(CONFIG_ENV_IS_IN_MMC) | |
302 | +#define CONFIG_ENV_OFFSET (14 * SZ_64K) | |
303 | +#elif defined(CONFIG_ENV_IS_IN_SPI_FLASH) | |
304 | +#define CONFIG_ENV_OFFSET (896 * 1024) | |
305 | +#define CONFIG_ENV_SECT_SIZE (64 * 1024) | |
306 | +#define CONFIG_ENV_SPI_BUS CONFIG_SF_DEFAULT_BUS | |
307 | +#define CONFIG_ENV_SPI_CS CONFIG_SF_DEFAULT_CS | |
308 | +#define CONFIG_ENV_SPI_MODE CONFIG_SF_DEFAULT_MODE | |
309 | +#define CONFIG_ENV_SPI_MAX_HZ CONFIG_SF_DEFAULT_SPEED | |
310 | +#elif defined(CONFIG_ENV_IS_IN_NAND) | |
311 | +#undef CONFIG_ENV_SIZE | |
312 | +#define CONFIG_ENV_OFFSET (60 << 20) | |
313 | +#define CONFIG_ENV_SECT_SIZE (128 << 10) | |
314 | +#define CONFIG_ENV_SIZE CONFIG_ENV_SECT_SIZE | |
315 | +#endif | |
316 | + | |
317 | +#ifdef CONFIG_FSL_QSPI | |
318 | +#define CONFIG_SYS_AUXCORE_BOOTDATA 0x60100000 /* Set to QSPI1 A flash, offset 1M */ | |
319 | +#else | |
320 | +#define CONFIG_SYS_AUXCORE_BOOTDATA 0x7F8000 /* Set to TCML address */ | |
321 | +#endif | |
322 | +/* | |
323 | + * If want to use nand, define CONFIG_CMD_NAND and rework board | |
324 | + * to support nand, since emmc has pin conflicts with nand | |
325 | + */ | |
326 | +#ifdef CONFIG_CMD_NAND | |
327 | +#define CONFIG_NAND_MXS | |
328 | +#define CONFIG_CMD_NAND_TRIMFFS | |
329 | + | |
330 | +/* NAND stuff */ | |
331 | +#define CONFIG_SYS_MAX_NAND_DEVICE 1 | |
332 | +#define CONFIG_SYS_NAND_BASE 0x40000000 | |
333 | +#define CONFIG_SYS_NAND_5_ADDR_CYCLE | |
334 | +#define CONFIG_SYS_NAND_ONFI_DETECTION | |
335 | + | |
336 | +/* DMA stuff, needed for GPMI/MXS NAND support */ | |
337 | +#define CONFIG_APBH_DMA | |
338 | +#define CONFIG_APBH_DMA_BURST | |
339 | +#define CONFIG_APBH_DMA_BURST8 | |
340 | +#endif | |
341 | + | |
342 | +#ifdef CONFIG_NAND_MXS | |
343 | +#define CONFIG_SYS_FSL_USDHC_NUM 1 | |
344 | +#else | |
345 | +#define CONFIG_SYS_FSL_USDHC_NUM 2 | |
346 | +#endif | |
347 | + | |
348 | +/* MMC Config*/ | |
349 | +#define CONFIG_SYS_FSL_ESDHC_ADDR 0 | |
350 | +#define CONFIG_SYS_MMC_ENV_DEV 1 /* USDHC3 */ | |
351 | +#define CONFIG_SYS_MMC_ENV_PART 0 /* user area */ | |
352 | +#define CONFIG_MMCROOT "/dev/mmcblk1p2" /* USDHC3 */ | |
353 | + | |
354 | +/* USB Configs */ | |
355 | +#define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW) | |
356 | + | |
357 | +#define CONFIG_IMX_THERMAL | |
358 | + | |
359 | +#ifdef CONFIG_VIDEO | |
360 | +#define CONFIG_VIDEO_MXS | |
361 | +#define CONFIG_VIDEO_LOGO | |
362 | +#define CONFIG_SPLASH_SCREEN | |
363 | +#define CONFIG_SPLASH_SCREEN_ALIGN | |
364 | +#define CONFIG_BMP_16BPP | |
365 | +#define CONFIG_VIDEO_BMP_RLE8 | |
366 | +#define CONFIG_VIDEO_BMP_LOGO | |
367 | +#define CONFIG_IMX_VIDEO_SKIP | |
368 | +#endif | |
369 | + | |
370 | +/* #define CONFIG_SPLASH_SCREEN*/ | |
371 | +/* #define CONFIG_MXC_EPDC*/ | |
372 | + | |
373 | +/* | |
374 | + * SPLASH SCREEN Configs | |
375 | + */ | |
376 | +#if defined(CONFIG_MXC_EPDC) | |
377 | +/* | |
378 | + * Framebuffer and LCD | |
379 | + */ | |
380 | +#define CONFIG_CMD_BMP | |
381 | +#define CONFIG_SPLASH_SCREEN | |
382 | + | |
383 | +#undef LCD_TEST_PATTERN | |
384 | +/* #define CONFIG_SPLASH_IS_IN_MMC 1 */ | |
385 | +#define LCD_BPP LCD_MONOCHROME | |
386 | +/* #define CONFIG_SPLASH_SCREEN_ALIGN 1 */ | |
387 | + | |
388 | +#define CONFIG_WAVEFORM_BUF_SIZE 0x400000 | |
389 | +#endif | |
390 | + | |
391 | +#if defined(CONFIG_MXC_EPDC) && defined(CONFIG_FSL_QSPI) | |
392 | +#error "EPDC Pins conflicts QSPI, Either EPDC or QSPI can be enabled!" | |
393 | +#endif | |
394 | + | |
395 | +#ifdef CONFIG_FSL_QSPI | |
396 | +#define CONFIG_SYS_FSL_QSPI_AHB | |
397 | +#define CONFIG_SF_DEFAULT_BUS 1 /* SOFT SPI occupies the BUS 0, so change the QSPI1 to BUS 1*/ | |
398 | +#define CONFIG_SF_DEFAULT_CS 0 | |
399 | +#define CONFIG_SF_DEFAULT_SPEED 40000000 | |
400 | +#define CONFIG_SF_DEFAULT_MODE SPI_MODE_0 | |
401 | +#define FSL_QSPI_FLASH_NUM 1 | |
402 | +#define FSL_QSPI_FLASH_SIZE SZ_64M | |
403 | +#define QSPI0_BASE_ADDR QSPI1_IPS_BASE_ADDR | |
404 | +#define QSPI0_AMBA_BASE QSPI0_ARB_BASE_ADDR | |
405 | +#endif | |
406 | + | |
407 | +#if defined(CONFIG_ANDROID_SUPPORT) | |
408 | +#include "smarcfimx7android.h" | |
409 | +#elif defined(CONFIG_ANDROID_THINGS_SUPPORT) | |
410 | +#include "smarcfimx7_androidthings.h" | |
411 | +#else | |
412 | +#define CONFIG_USBD_HS | |
413 | +#endif | |
414 | + | |
415 | +#endif /* __CONFIG_H */ |
include/configs/smarcfimx7_androidthings.h
1 | +/* | |
2 | + * Copyright (C) 2016 Freescale Semiconductor, Inc. | |
3 | + * | |
4 | + * SPDX-License-Identifier: GPL-2.0+ | |
5 | + */ | |
6 | + | |
7 | +#ifndef __SMARCFIMX7_ANDROIDTHINGS_H | |
8 | +#define __SMARCFIMX7_ANDROIDTHINGS_H | |
9 | +#include "mx_android_common.h" | |
10 | + | |
11 | +/* For NAND we don't support lock/unlock */ | |
12 | +#ifndef CONFIG_NAND_BOOT | |
13 | +#define CONFIG_FASTBOOT_LOCK | |
14 | +#define CONFIG_ENABLE_LOCKSTATUS_SUPPORT | |
15 | +#define FSL_FASTBOOT_FB_DEV "mmc" | |
16 | +#endif | |
17 | + | |
18 | +#define CONFIG_ANDROID_BOOT_IMAGE | |
19 | +#define CONFIG_ANDROID_AB_SUPPORT | |
20 | +#define FASTBOOT_ENCRYPT_LOCK | |
21 | + | |
22 | +#define CONFIG_SHA1 | |
23 | +#define CONFIG_SHA256 | |
24 | + | |
25 | + | |
26 | +#ifdef CONFIG_SYS_MMC_ENV_DEV | |
27 | +#undef CONFIG_SYS_MMC_ENV_DEV | |
28 | +#define CONFIG_SYS_MMC_ENV_DEV 1 /* USDHC2 */ | |
29 | +#endif | |
30 | + | |
31 | +#ifdef CONFIG_SYS_MMC_ENV_PART | |
32 | +#undef CONFIG_SYS_MMC_ENV_PART | |
33 | +#define CONFIG_SYS_MMC_ENV_PART 1 /* boot0 area */ | |
34 | +#endif | |
35 | + | |
36 | +#define CONFIG_SYSTEM_RAMDISK_SUPPORT | |
37 | +#define CONFIG_CMD_FS_GENERIC | |
38 | + | |
39 | +#define CONFIG_AVB_SUPPORT | |
40 | +#ifdef CONFIG_AVB_SUPPORT | |
41 | +#define CONFIG_SUPPORT_EMMC_RPMB | |
42 | +/* fuse bank size in word */ | |
43 | +/* infact 7D have no enough bits | |
44 | + * set this size to 0 will disable | |
45 | + * program/read FUSE */ | |
46 | +#define CONFIG_AVB_FUSE_BANK_SIZEW 0 | |
47 | +#define CONFIG_AVB_FUSE_BANK_START 0 | |
48 | +#define CONFIG_AVB_FUSE_BANK_END 0 | |
49 | +#endif | |
50 | + | |
51 | +#endif |
include/configs/smarcfimx7android.h
1 | + | |
2 | +/* | |
3 | + * Copyright (C) 2015-2016 Freescale Semiconductor, Inc. | |
4 | + * | |
5 | + * SPDX-License-Identifier: GPL-2.0+ | |
6 | + */ | |
7 | + | |
8 | +#ifndef __SMARCFIMX7_ANDROID_H | |
9 | +#define __SMARCFIMX7_ANDROID_H | |
10 | +#include "mx_android_common.h" | |
11 | + | |
12 | +#define CONFIG_CMD_FASTBOOT | |
13 | +#define CONFIG_ANDROID_BOOT_IMAGE | |
14 | +/* lock/unlock stuff */ | |
15 | +#define FASTBOOT_ENCRYPT_LOCK | |
16 | +#define CONFIG_FASTBOOT_LOCK | |
17 | +#define FSL_FASTBOOT_FB_DEV "mmc" | |
18 | +#define CONFIG_SHA1 | |
19 | + | |
20 | +#define CONFIG_AVB_SUPPORT | |
21 | +#ifdef CONFIG_AVB_SUPPORT | |
22 | +#define CONFIG_ANDROID_RECOVERY | |
23 | + | |
24 | +#ifdef CONFIG_SYS_CBSIZE | |
25 | +#undef CONFIG_SYS_CBSIZE | |
26 | +#define CONFIG_SYS_CBSIZE 2048 | |
27 | +#endif | |
28 | + | |
29 | +#ifdef CONFIG_SYS_MALLOC_LEN | |
30 | +#undef CONFIG_SYS_MALLOC_LEN | |
31 | +#define CONFIG_SYS_MALLOC_LEN (96 * SZ_1M) | |
32 | +#endif | |
33 | + | |
34 | +#endif /* CONFIG_AVB_SUPPORT */ | |
35 | + | |
36 | +#define AVB_AB_I_UNDERSTAND_LIBAVB_AB_IS_DEPRECATED | |
37 | + | |
38 | +#endif /* __SMARCFIMX7_ANDROID_H */ |
qspi_header
1 | +0 /*dqs_loopback=0 or 1*/ | |
2 | +0 /*hold_delay=0 to 3*/ | |
3 | +0 /*hsphs=0 (Half Speed Phase sampling at non-inverted clock) or 1 (sampling at inverted clock)*/ | |
4 | +0 /*hsdly=0 (Half Speed Delay one clk delay) or 1 (two clk cycle delay)*/ | |
5 | +0 /*device_quad_mode_en=1 to enable sending command to SPI device*/ | |
6 | +0 /*device_cmd=command to device for enableing Quad I/O mode*/ | |
7 | +0 /*write_cmd_ipcr=hex value to be written to IPCR register for write cmd of device*/ | |
8 | +2000000 /*write_enable_ipcr=hex value to be written to IPCR register for write enable of device*/ | |
9 | +3 /*cs_hold_time=0 to 0xF*/ | |
10 | +3 /*cs_setup_time=0 to 0xF*/ | |
11 | +8000000 /*sflash_A1_size=size in byte(hex)*/ | |
12 | +0 /*sflash_A2_size=size in byte(hex)*/ | |
13 | +8000000 /*sflash_B1_size=size in byte(hex)*/ | |
14 | +0 /*sflash_B2_size=size in byte(hex)*/ | |
15 | +0 /*sclk_freq=0 to 6*/ | |
16 | +0 /*busy_bit_offset=bit position of device BUSY in device status register*/ | |
17 | +1 /*sflash_type=1 (Single), 2 (Dual), 4 (Quad mode of operation)*/ | |
18 | +0 /*sflash_port=0 or 1 (Port B used)*/ | |
19 | +0 /*ddr_mode_enable=0 or 1*/ | |
20 | +0 /*dqs_enable=0 or 1*/ | |
21 | +0 /*parallel_mode_enable=0 or 1*/ | |
22 | +0 /*portA_cs1=0 or 1*/ | |
23 | +0 /*portB_cs1=0 or 1*/ | |
24 | +0 /*fsphs=0 (Full Speed Phase sampling at non-inverted clock) or 1 (sampling at inverted clock)*/ | |
25 | +0 /*fsdly=0 (Full Speed Delay One clk delay) or 1 (two clk cycle delay)*/ | |
26 | +0 /*ddrsmp=0 to 7 (sampling point for incoming data in DDR mode)*/ | |
27 | +08180403 /*lut[0] command sequence*/ | |
28 | +24001c00 /*lut[1] command sequence*/ | |
29 | +0 /*lut[2] command sequence*/ | |
30 | +0 /*lut[3] command sequence*/ | |
31 | +0 /*lut[4] command sequence*/ | |
32 | +0 /*lut[5] command sequence*/ | |
33 | +0 /*lut[6] command sequence*/ | |
34 | +0 /*lut[7] command sequence*/ | |
35 | +0 /*lut[8] command sequence*/ | |
36 | +0 /*lut[9] command sequence*/ | |
37 | +0 /*lut[10] command sequence*/ | |
38 | +0 /*lut[11] command sequence*/ | |
39 | +0 /*lut[12] command sequence*/ | |
40 | +0 /*lut[13] command sequence*/ | |
41 | +0 /*lut[14] command sequence*/ | |
42 | +0 /*lut[15] command sequence*/ | |
43 | +0 /*lut[16] command sequence*/ | |
44 | +0 /*lut[17] command sequence*/ | |
45 | +0 /*lut[18] command sequence*/ | |
46 | +0 /*lut[19] command sequence*/ | |
47 | +0 /*lut[20] command sequence*/ | |
48 | +0 /*lut[21] command sequence*/ | |
49 | +0 /*lut[22] command sequence*/ | |
50 | +0 /*lut[23] command sequence*/ | |
51 | +0 /*lut[24] command sequence*/ | |
52 | +0 /*lut[25] command sequence*/ | |
53 | +0 /*lut[26] command sequence*/ | |
54 | +0 /*lut[27] command sequence*/ | |
55 | +0 /*lut[28] command sequence*/ | |
56 | +0 /*lut[29] command sequence*/ | |
57 | +0 /*lut[30] command sequence*/ | |
58 | +0 /*lut[31] command sequence*/ | |
59 | +0 /*lut[32] command sequence*/ | |
60 | +0 /*lut[33] command sequence*/ | |
61 | +0 /*lut[34] command sequence*/ | |
62 | +0 /*lut[35] command sequence*/ | |
63 | +0 /*lut[36] command sequence*/ | |
64 | +0 /*lut[37] command sequence*/ | |
65 | +0 /*lut[38] command sequence*/ | |
66 | +0 /*lut[39] command sequence*/ | |
67 | +0 /*lut[40] command sequence*/ | |
68 | +0 /*lut[41] command sequence*/ | |
69 | +0 /*lut[42] command sequence*/ | |
70 | +0 /*lut[43] command sequence*/ | |
71 | +0 /*lut[44] command sequence*/ | |
72 | +0 /*lut[45] command sequence*/ | |
73 | +0 /*lut[46] command sequence*/ | |
74 | +0 /*lut[47] command sequence*/ | |
75 | +0 /*lut[48] command sequence*/ | |
76 | +0 /*lut[49] command sequence*/ | |
77 | +0 /*lut[50] command sequence*/ | |
78 | +0 /*lut[51] command sequence*/ | |
79 | +0 /*lut[52] command sequence*/ | |
80 | +0 /*lut[53] command sequence*/ | |
81 | +0 /*lut[54] command sequence*/ | |
82 | +0 /*lut[55] command sequence*/ | |
83 | +0 /*lut[56] command sequence*/ | |
84 | +0 /*lut[57] command sequence*/ | |
85 | +0 /*lut[58] command sequence*/ | |
86 | +0 /*lut[59] command sequence*/ | |
87 | +0 /*lut[60] command sequence*/ | |
88 | +0 /*lut[61] command sequence*/ | |
89 | +0 /*lut[62] command sequence*/ | |
90 | +0 /*lut[63] command sequence*/ | |
91 | +1000001 /*read_status_ipcr=hex value to be written to IPCR register for reading status reg of device*/ | |
92 | +0 /*enable_dqs_phase=0 or 1*/ | |
93 | +0 /*config_cmds_en, enable config command*/ | |
94 | +0 /*config_cmds[0]*/ | |
95 | +0 /*config_cmds[1]*/ | |
96 | +0 /*config_cmds[2]*/ | |
97 | +0 /*config_cmds[3]*/ | |
98 | +0 /*config_cmds_args[0]*/ | |
99 | +0 /*config_cmds_args[1]*/ | |
100 | +0 /*config_cmds_args[2]*/ | |
101 | +0 /*config_cmds_args[3]*/ | |
102 | +0 /*io_pad_override_setting QSPI pins override setting*/ | |
103 | +0 /*reserve[0], 25 byte reserved area*/ | |
104 | +0 /*reserve[1], 25 byte reserved area*/ | |
105 | +0 /*reserve[2], 25 byte reserved area*/ | |
106 | +0 /*reserve[3], 25 byte reserved area*/ | |
107 | +0 /*reserve[4], 25 byte reserved area*/ | |
108 | +0 /*reserve[5], 25 byte reserved area*/ | |
109 | +0 /*reserve[6], 25 byte reserved area*/ | |
110 | +0 /*reserve[7], 25 byte reserved area*/ | |
111 | +0 /*reserve[8], 25 byte reserved area*/ | |
112 | +0 /*reserve[9], 25 byte reserved area*/ | |
113 | +0 /*reserve[10], 25 byte reserved area*/ | |
114 | +0 /*reserve[11], 25 byte reserved area*/ | |
115 | +0 /*reserve[12], 25 byte reserved area*/ | |
116 | +0 /*reserve[13], 25 byte reserved area*/ | |
117 | +0 /*reserve[14], 25 byte reserved area*/ | |
118 | +0 /*reserve[15], 25 byte reserved area*/ | |
119 | +0 /*reserve[16], 25 byte reserved area*/ | |
120 | +0 /*reserve[17], 25 byte reserved area*/ | |
121 | +0 /*reserve[18], 25 byte reserved area*/ | |
122 | +0 /*reserve[19], 25 byte reserved area*/ | |
123 | +0 /*reserve[20], 25 byte reserved area*/ | |
124 | +0 /*reserve[21], 25 byte reserved area*/ | |
125 | +0 /*reserve[22], 25 byte reserved area*/ | |
126 | +0 /*reserve[23], 25 byte reserved area*/ | |
127 | +0 /*reserve[24], 25 byte reserved area*/ | |
128 | +c0ffee01 /*tag, QSPI configuration tag, should be 0xc0ffee01*/ |