blob: 2aa531b1ab7a90f078aa4aa906a232955ac82550 [file] [log] [blame]
Heiko Schocherccc75952019-12-01 11:23:12 +01001// SPDX-License-Identifier: (GPL-2.0)
2/*
3 * support for the imx6 based aristainetos2 board
4 * parts common to all versions
5 *
6 * Copyright (C) 2019 Heiko Schocher <hs@denx.de>
7 * Copyright (C) 2015 Heiko Schocher <hs@denx.de>
8 *
9 */
10#include <dt-bindings/gpio/gpio.h>
11#include <dt-bindings/clock/imx6qdl-clock.h>
12
13/ {
14 aliases {
15 eeprom0 = &i2c_eeprom0;
16 pmic0 = &i2c_pmic0;
17 };
18
19 memory@10000000 {
20 device_type = "memory";
21 reg = <0x10000000 0x40000000>;
22 };
23
24 backlight: backlight {
25 compatible = "pwm-backlight";
26 pwms = <&pwm1 0 5000000>;
27 brightness-levels = <0 4 8 16 32 64 128 255>;
28 default-brightness-level = <7>;
29 enable-gpios = <&gpio6 31 GPIO_ACTIVE_HIGH>;
30 };
31
32 reg_2p5v: regulator-2p5v {
33 compatible = "regulator-fixed";
34 regulator-name = "2P5V";
35 regulator-min-microvolt = <2500000>;
36 regulator-max-microvolt = <2500000>;
37 regulator-always-on;
38 };
39
40 reg_3p3v: regulator-3p3v {
41 compatible = "regulator-fixed";
42 regulator-name = "3P3V";
43 regulator-min-microvolt = <3300000>;
44 regulator-max-microvolt = <3300000>;
45 regulator-always-on;
46 };
47
48 reg_usbh1_vbus: regulator-usbh1-vbus {
49 compatible = "regulator-fixed";
50 enable-active-high;
51 gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>;
52 pinctrl-names = "default";
53 pinctrl-0 = <&pinctrl_aristainetos2_usbh1_vbus>;
54 regulator-name = "usb_h1_vbus";
55 regulator-min-microvolt = <5000000>;
56 regulator-max-microvolt = <5000000>;
57 };
58
59 reg_usbotg_vbus: regulator-usbotg-vbus {
60 compatible = "regulator-fixed";
61 enable-active-high;
62 gpio = <&gpio4 15 GPIO_ACTIVE_HIGH>;
63 pinctrl-names = "default";
64 pinctrl-0 = <&pinctrl_aristainetos2_usbotg_vbus>;
65 regulator-name = "usb_otg_vbus";
66 regulator-min-microvolt = <5000000>;
67 regulator-max-microvolt = <5000000>;
68 };
69};
70
71&audmux {
72 pinctrl-names = "default";
73 pinctrl-0 = <&pinctrl_audmux>;
74 status = "okay";
75};
76
77&ecspi2 {
78 cs-gpios = <&gpio2 26 GPIO_ACTIVE_HIGH &gpio2 27 GPIO_ACTIVE_HIGH>;
79 pinctrl-names = "default";
80 pinctrl-0 = <&pinctrl_ecspi2>;
81 status = "okay";
82};
83
84&i2c1 {
85 pinctrl-names = "default";
86 pinctrl-0 = <&pinctrl_i2c1>;
87 status = "okay";
88
89 i2c_pmic0: pmic@58 {
90 compatible = "dlg,da9063";
91 /* the pmic uses addr 0x58 and 0x59 */
92 reg = <0x58>;
93 interrupt-parent = <&gpio1>;
94 interrupts = <04 0x8>;
95
96 regulators {
97 bcore1 {
98 regulator-name = "bcore1";
99 regulator-always-on = <1>;
100 regulator-min-microvolt = <300000>;
101 regulator-max-microvolt = <3300000>;
102 };
103
104 bcore2 {
105 regulator-name = "bcore2";
106 regulator-always-on = <1>;
107 regulator-min-microvolt = <300000>;
108 regulator-max-microvolt = <3300000>;
109 };
110
111 bpro {
112 regulator-name = "bpro";
113 regulator-always-on = <1>;
114 regulator-min-microvolt = <1200000>;
115 regulator-max-microvolt = <1200000>;
116 };
117
118 bprob {
119 regulator-name = "bprob";
120 regulator-always-on = <1>;
121 regulator-min-microvolt = <1200000>;
122 regulator-max-microvolt = <1200000>;
123 };
124
125 bperi {
126 regulator-name = "bperi";
127 regulator-always-on = <1>;
128 regulator-min-microvolt = <300000>;
129 regulator-max-microvolt = <3300000>;
130 };
131
132 bmem {
133 regulator-name = "bmem";
134 regulator-always-on = <1>;
135 regulator-min-microvolt = <300000>;
136 regulator-max-microvolt = <3300000>;
137 };
138
139 ldo2 {
140 regulator-name = "ldo2";
141 regulator-always-on = <1>;
142 regulator-min-microvolt = <300000>;
143 regulator-max-microvolt = <1800000>;
144 };
145
146 ldo3 {
147 regulator-name = "ldo3";
148 regulator-always-on = <1>;
149 regulator-min-microvolt = <300000>;
150 regulator-max-microvolt = <3300000>;
151 };
152
153 ldo4 {
154 regulator-name = "ldo4";
155 regulator-always-on = <1>;
156 regulator-min-microvolt = <300000>;
157 regulator-max-microvolt = <3300000>;
158 };
159
160 ldo5 {
161 regulator-name = "ldo5";
162 regulator-always-on = <1>;
163 regulator-min-microvolt = <300000>;
164 regulator-max-microvolt = <3300000>;
165 };
166
167 ldo6 {
168 regulator-name = "ldo6";
169 regulator-always-on = <1>;
170 regulator-min-microvolt = <300000>;
171 regulator-max-microvolt = <3300000>;
172 };
173
174 ldo7 {
175 regulator-name = "ldo7";
176 regulator-always-on = <1>;
177 regulator-min-microvolt = <300000>;
178 regulator-max-microvolt = <3300000>;
179 };
180
181 ldo8 {
182 regulator-name = "ldo8";
183 regulator-always-on = <1>;
184 regulator-min-microvolt = <300000>;
185 regulator-max-microvolt = <3300000>;
186 };
187
188 ldo9 {
189 regulator-name = "ldo9";
190 regulator-always-on = <1>;
191 regulator-min-microvolt = <300000>;
192 regulator-max-microvolt = <3300000>;
193 };
194
195 ldo10 {
196 regulator-name = "ldo10";
197 regulator-always-on = <1>;
198 regulator-min-microvolt = <300000>;
199 regulator-max-microvolt = <3300000>;
200 };
201
202 ldo11 {
203 regulator-name = "ldo11";
204 regulator-always-on = <1>;
205 regulator-min-microvolt = <300000>;
206 regulator-max-microvolt = <3300000>;
207 };
208
209 bio {
210 regulator-name = "bio";
211 regulator-always-on = <1>;
212 regulator-min-microvolt = <1800000>;
213 regulator-max-microvolt = <1800000>;
214 };
215 };
216 };
217
218 tmp103: tmp103@71 {
219 compatible = "ti,tmp103";
220 reg = <0x71>;
221 };
222};
223
224&i2c2 {
225 pinctrl-names = "default";
226 pinctrl-0 = <&pinctrl_i2c2>;
227 status = "okay";
228};
229
230&i2c3 {
231 pinctrl-names = "default";
232 pinctrl-0 = <&pinctrl_i2c3>;
233 status = "okay";
234
235 expander: tca6416@20 {
236 compatible = "ti,tca6416";
237 reg = <0x20>;
238 #gpio-cells = <2>;
239 gpio-controller;
240
241 env_reset {
242 gpio-hog;
243 input;
244 gpios = <6 GPIO_ACTIVE_LOW>;
245 };
246 boot_rescue {
247 gpio-hog;
248 input;
249 gpios = <7 GPIO_ACTIVE_LOW>;
250 };
251 };
252
253 rtc@68 {
254 compatible = "st,m41t11";
255 reg = <0x68>;
256 };
257};
258
259&i2c4 {
260 pinctrl-names = "default";
261 pinctrl-0 = <&pinctrl_i2c4>;
262 status = "okay";
263
264 i2c_eeprom0: eeprom@50{
265 compatible = "atmel,24c64";
266 reg = <0x50>;
267 pagesize = <32>;
268 };
269
270 i2c_eeprom1: eeprom@57{
271 compatible = "atmel,24c64";
272 reg = <0x57>;
273 pagesize = <32>;
274 };
275};
276
277&gpio6 {
278 spi_bus_ena {
279 gpio-hog;
280 output-high;
281 gpios = <6 GPIO_ACTIVE_HIGH>;
282 };
283};
284
285&gpio7 {
286 bootsel0 {
287 gpio-hog;
288 input;
289 gpios = <6 GPIO_ACTIVE_HIGH>;
290 };
291 bootsel1 {
292 gpio-hog;
293 input;
294 gpios = <7 GPIO_ACTIVE_HIGH>;
295 };
296 bootsel2 {
297 gpio-hog;
298 input;
299 gpios = <1 GPIO_ACTIVE_HIGH>;
300 };
301
302 soft_reset {
303 gpio-hog;
304 output-high;
305 gpios = <13 GPIO_ACTIVE_HIGH>;
306 };
307};
308
309&fec {
310 pinctrl-names = "default";
311 pinctrl-0 = <&pinctrl_enet>;
312 phy-mode = "rgmii";
313 txd0-skew-ps = <0>;
314 txd1-skew-ps = <0>;
315 txd2-skew-ps = <0>;
316 txd3-skew-ps = <0>;
317 status = "okay";
318};
319
320&pcie {
321 reset-gpio = <&gpio2 16 GPIO_ACTIVE_LOW>;
322 status = "okay";
323};
324
325&pwm1 {
326 pinctrl-names = "default";
327 pinctrl-0 = <&pinctrl_pwm1>;
328 status = "okay";
329};
330
331&uart1 {
332 pinctrl-names = "default";
333 pinctrl-0 = <&pinctrl_uart1>;
334 uart-has-rtscts;
335 status = "okay";
336};
337
338&uart2 {
339 pinctrl-names = "default";
340 pinctrl-0 = <&pinctrl_uart2>;
341 status = "okay";
342};
343
344&uart3 {
345 pinctrl-names = "default";
346 pinctrl-0 = <&pinctrl_uart3>;
347 uart-has-rtscts;
348 status = "okay";
349};
350
351&uart4 {
352 pinctrl-names = "default";
353 pinctrl-0 = <&pinctrl_uart4>;
354 status = "okay";
355};
356
357&usbh1 {
358 vbus-supply = <&reg_usbh1_vbus>;
359 dr_mode = "host";
360 status = "okay";
361};
362
363&usbotg {
364 vbus-supply = <&reg_usbotg_vbus>;
365 pinctrl-names = "default";
366 pinctrl-0 = <&pinctrl_usbotg>;
367 disable-over-current;
368 dr_mode = "host"; /* fixed configuration, ID pin not checked */
369 status = "okay";
370};
371
372&iomuxc {
373 pinctrl-names = "default";
374 pinctrl-0 = <&pinctrl_gpio>;
375
376 pinctrl_audmux: audmux {
377 fsl,pins = <
378 MX6QDL_PAD_CSI0_DAT7__AUD3_RXD 0x1b0b0
379 MX6QDL_PAD_CSI0_DAT4__AUD3_TXC 0x1b0b0
380 MX6QDL_PAD_CSI0_DAT5__AUD3_TXD 0x1b0b0
381 MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS 0x1b0b0
382 >;
383 };
384
385 pinctrl_ecspi2: ecspi2grp {
386 fsl,pins = <
387 MX6QDL_PAD_EIM_OE__ECSPI2_MISO 0x100b1
388 MX6QDL_PAD_EIM_CS0__ECSPI2_SCLK 0x100b1
389 MX6QDL_PAD_EIM_CS1__ECSPI2_MOSI 0x100b1
390 MX6QDL_PAD_EIM_RW__GPIO2_IO26 0x100b1 /* SS0# */
391 MX6QDL_PAD_EIM_LBA__GPIO2_IO27 0x100b1 /* SS1# */
392 >;
393 };
394
395 pinctrl_enet: enetgrp {
396 fsl,pins = <
397 MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
398 MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
399 MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0
400 MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0
401 MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0
402 MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0
403 MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0
404 MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0
405 MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x400100b0
406 MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0
407 MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0
408 MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0
409 MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0
410 MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0
411 MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0
412 /* make sure pin is GPIO and not ENET_REF_CLK */
413 MX6QDL_PAD_GPIO_16__GPIO7_IO11 0x1a0b0
414 >;
415 };
416
417 pinctrl_i2c1: i2c1grp {
418 fsl,pins = <
419 MX6QDL_PAD_CSI0_DAT8__I2C1_SDA 0x4001b8b1
420 MX6QDL_PAD_CSI0_DAT9__I2C1_SCL 0x4001b8b1
421 >;
422 };
423
424 pinctrl_i2c2: i2c2grp {
425 fsl,pins = <
426 MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
427 MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
428 >;
429 };
430
431 pinctrl_i2c3: i2c3grp {
432 fsl,pins = <
433 MX6QDL_PAD_GPIO_5__I2C3_SCL 0x4001b8b1
434 MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1
435 >;
436 };
437
438 pinctrl_i2c4: i2c4grp {
439 fsl,pins = <
440 MX6QDL_PAD_GPIO_7__I2C4_SCL 0x4001b8b1
441 MX6QDL_PAD_GPIO_8__I2C4_SDA 0x4001b8b1
442 >;
443 };
444
445 pinctrl_pwm1: pwm1grp {
446 fsl,pins = <
447 MX6QDL_PAD_GPIO_9__PWM1_OUT 0x1b0b0
448 /* backlight enable */
449 MX6QDL_PAD_EIM_BCLK__GPIO6_IO31 0x1b0b0
450 >;
451 };
452
453 pinctrl_uart1: uart1grp {
454 fsl,pins = <
455 MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA 0x1b0b1
456 MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA 0x1b0b1
457 MX6QDL_PAD_EIM_D20__UART1_RTS_B 0x1b0b1
458 MX6QDL_PAD_EIM_D19__UART1_CTS_B 0x1b0b1
459 >;
460 };
461
462 pinctrl_uart2: uart2grp {
463 fsl,pins = <
464 MX6QDL_PAD_EIM_D26__UART2_TX_DATA 0x1b0b1
465 MX6QDL_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1
466 >;
467 };
468
469 pinctrl_uart3: uart3grp {
470 fsl,pins = <
471 MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1
472 MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1
473 MX6QDL_PAD_EIM_D31__UART3_RTS_B 0x1b0b1
474 MX6QDL_PAD_EIM_D23__UART3_CTS_B 0x1b0b1
475 >;
476 };
477
478 pinctrl_uart4: uart4grp {
479 fsl,pins = <
480 MX6QDL_PAD_KEY_COL0__UART4_TX_DATA 0x1b0b1
481 MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA 0x1b0b1
482 >;
483 };
484
485 pinctrl_aristainetos2_usbh1_vbus: aristainetos-usbh1-vbus {
486 fsl,pins = <MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x400130b0>;
487 };
488
489 pinctrl_aristainetos2_usbotg_vbus: aristainetos-usbotg-vbus {
490 fsl,pins = <MX6QDL_PAD_KEY_ROW4__GPIO4_IO15 0x400130b0>;
491 };
492};