2 * support for the imx6 based aristainetos2 board
4 * Copyright (C) 2015 Heiko Schocher <hs@denx.de>
6 * This file is dual-licensed: you can use it either under the terms
7 * of the GPL or the X11 license, at your option. Note that this dual
8 * licensing only applies to this file, and not this project as a
11 * a) This file is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License
13 * version 2 as published by the Free Software Foundation.
15 * This file is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
22 * b) Permission is hereby granted, free of charge, to any person
23 * obtaining a copy of this software and associated documentation
24 * files (the "Software"), to deal in the Software without
25 * restriction, including without limitation the rights to use,
26 * copy, modify, merge, publish, distribute, sublicense, and/or
27 * sell copies of the Software, and to permit persons to whom the
28 * Software is furnished to do so, subject to the following
31 * The above copyright notice and this permission notice shall be
32 * included in all copies or substantial portions of the Software.
34 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
35 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
36 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
37 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
38 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
39 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
40 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
41 * OTHER DEALINGS IN THE SOFTWARE.
43 #include <dt-bindings/gpio/gpio.h>
44 #include <dt-bindings/clock/imx6qdl-clock.h>
47 backlight: backlight {
48 compatible = "pwm-backlight";
49 pwms = <&pwm1 0 5000000>;
50 brightness-levels = <0 4 8 16 32 64 128 255>;
51 default-brightness-level = <7>;
52 enable-gpios = <&gpio6 31 GPIO_ACTIVE_HIGH>;
55 reg_2p5v: regulator-2p5v {
56 compatible = "regulator-fixed";
57 regulator-name = "2P5V";
58 regulator-min-microvolt = <2500000>;
59 regulator-max-microvolt = <2500000>;
63 reg_3p3v: regulator-3p3v {
64 compatible = "regulator-fixed";
65 regulator-name = "3P3V";
66 regulator-min-microvolt = <3300000>;
67 regulator-max-microvolt = <3300000>;
71 reg_usbh1_vbus: regulator-usbh1-vbus {
72 compatible = "regulator-fixed";
74 gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>;
75 pinctrl-names = "default";
76 pinctrl-0 = <&pinctrl_aristainetos2_usbh1_vbus>;
77 regulator-name = "usb_h1_vbus";
78 regulator-min-microvolt = <5000000>;
79 regulator-max-microvolt = <5000000>;
82 reg_usbotg_vbus: regulator-usbotg-vbus {
83 compatible = "regulator-fixed";
85 gpio = <&gpio4 15 GPIO_ACTIVE_HIGH>;
86 pinctrl-names = "default";
87 pinctrl-0 = <&pinctrl_aristainetos2_usbotg_vbus>;
88 regulator-name = "usb_otg_vbus";
89 regulator-min-microvolt = <5000000>;
90 regulator-max-microvolt = <5000000>;
95 pinctrl-names = "default";
96 pinctrl-0 = <&pinctrl_audmux>;
101 pinctrl-names = "default";
102 pinctrl-0 = <&pinctrl_flexcan1>;
107 pinctrl-names = "default";
108 pinctrl-0 = <&pinctrl_flexcan2>;
113 cs-gpios = <&gpio4 9 GPIO_ACTIVE_LOW
114 &gpio4 10 GPIO_ACTIVE_LOW
115 &gpio4 11 GPIO_ACTIVE_LOW>;
116 pinctrl-names = "default";
117 pinctrl-0 = <&pinctrl_ecspi1>;
122 cs-gpios = <&gpio2 26 GPIO_ACTIVE_LOW &gpio2 27 GPIO_ACTIVE_LOW>;
123 pinctrl-names = "default";
124 pinctrl-0 = <&pinctrl_ecspi2>;
129 cs-gpios = <&gpio3 29 GPIO_ACTIVE_LOW &gpio5 2 GPIO_ACTIVE_LOW>;
130 pinctrl-names = "default";
131 pinctrl-0 = <&pinctrl_ecspi4>;
135 #address-cells = <1>;
137 compatible = "micron,n25q128a11", "jedec,spi-nor";
138 spi-max-frequency = <20000000>;
144 pinctrl-names = "default";
145 pinctrl-0 = <&pinctrl_i2c1>;
149 compatible = "dlg,da9063";
151 interrupt-parent = <&gpio1>;
152 interrupts = <04 0x8>;
156 regulator-name = "bcore1";
157 regulator-always-on = <1>;
158 regulator-min-microvolt = <300000>;
159 regulator-max-microvolt = <3300000>;
163 regulator-name = "bcore2";
164 regulator-always-on = <1>;
165 regulator-min-microvolt = <300000>;
166 regulator-max-microvolt = <3300000>;
170 regulator-name = "bpro";
171 regulator-always-on = <1>;
172 regulator-min-microvolt = <300000>;
173 regulator-max-microvolt = <3300000>;
177 regulator-name = "bperi";
178 regulator-always-on = <1>;
179 regulator-min-microvolt = <300000>;
180 regulator-max-microvolt = <3300000>;
184 regulator-name = "bmem";
185 regulator-always-on = <1>;
186 regulator-min-microvolt = <300000>;
187 regulator-max-microvolt = <3300000>;
191 regulator-name = "ldo2";
192 regulator-always-on = <1>;
193 regulator-min-microvolt = <300000>;
194 regulator-max-microvolt = <1800000>;
198 regulator-name = "ldo3";
199 regulator-always-on = <1>;
200 regulator-min-microvolt = <300000>;
201 regulator-max-microvolt = <3300000>;
205 regulator-name = "ldo4";
206 regulator-always-on = <1>;
207 regulator-min-microvolt = <300000>;
208 regulator-max-microvolt = <3300000>;
212 regulator-name = "ldo5";
213 regulator-always-on = <1>;
214 regulator-min-microvolt = <300000>;
215 regulator-max-microvolt = <3300000>;
219 regulator-name = "ldo6";
220 regulator-always-on = <1>;
221 regulator-min-microvolt = <300000>;
222 regulator-max-microvolt = <3300000>;
226 regulator-name = "ldo7";
227 regulator-always-on = <1>;
228 regulator-min-microvolt = <300000>;
229 regulator-max-microvolt = <3300000>;
233 regulator-name = "ldo8";
234 regulator-always-on = <1>;
235 regulator-min-microvolt = <300000>;
236 regulator-max-microvolt = <3300000>;
240 regulator-name = "ldo9";
241 regulator-always-on = <1>;
242 regulator-min-microvolt = <300000>;
243 regulator-max-microvolt = <3300000>;
247 regulator-name = "ldo10";
248 regulator-always-on = <1>;
249 regulator-min-microvolt = <300000>;
250 regulator-max-microvolt = <3300000>;
254 regulator-name = "ldo11";
255 regulator-always-on = <1>;
256 regulator-min-microvolt = <300000>;
257 regulator-max-microvolt = <3300000>;
261 regulator-name = "bio";
262 regulator-always-on = <1>;
263 regulator-min-microvolt = <1800000>;
264 regulator-max-microvolt = <1800000>;
270 compatible = "ti,tmp103";
276 pinctrl-names = "default";
277 pinctrl-0 = <&pinctrl_i2c2>;
282 pinctrl-names = "default";
283 pinctrl-0 = <&pinctrl_i2c3>;
286 expander: tca6416@20 {
287 compatible = "ti,tca6416";
294 compatible = "dallas,m41t00";
300 pinctrl-names = "default";
301 pinctrl-0 = <&pinctrl_i2c4>;
305 compatible = "atmel,24c64";
310 compatible = "atmel,24c64";
316 pinctrl-names = "default";
317 pinctrl-0 = <&pinctrl_enet>;
319 phy-reset-gpios = <&gpio7 18 GPIO_ACTIVE_LOW>;
328 pinctrl-names = "default";
329 pinctrl-0 = <&pinctrl_gpmi_nand>;
334 reset-gpio = <&gpio2 16 GPIO_ACTIVE_LOW>;
340 pinctrl-names = "default";
341 pinctrl-0 = <&pinctrl_pwm1>;
346 pinctrl-names = "default";
347 pinctrl-0 = <&pinctrl_uart1>;
353 pinctrl-names = "default";
354 pinctrl-0 = <&pinctrl_uart2>;
359 pinctrl-names = "default";
360 pinctrl-0 = <&pinctrl_uart3>;
366 pinctrl-names = "default";
367 pinctrl-0 = <&pinctrl_uart4>;
372 vbus-supply = <®_usbh1_vbus>;
378 vbus-supply = <®_usbotg_vbus>;
379 pinctrl-names = "default";
380 pinctrl-0 = <&pinctrl_usbotg>;
381 disable-over-current;
387 pinctrl-names = "default";
388 pinctrl-0 = <&pinctrl_usdhc1>;
389 cd-gpios = <&gpio1 27 GPIO_ACTIVE_LOW>;
395 pinctrl-names = "default";
396 pinctrl-0 = <&pinctrl_usdhc2>;
397 cd-gpios = <&gpio4 5 GPIO_ACTIVE_LOW>;
398 wp-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>;
404 pinctrl-names = "default";
405 pinctrl-0 = <&pinctrl_gpio>;
407 pinctrl_audmux: audmux {
409 MX6QDL_PAD_CSI0_DAT7__AUD3_RXD 0x1b0b0
410 MX6QDL_PAD_CSI0_DAT4__AUD3_TXC 0x1b0b0
411 MX6QDL_PAD_CSI0_DAT5__AUD3_TXD 0x1b0b0
412 MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS 0x1b0b0
416 pinctrl_ecspi1: ecspi1grp {
418 MX6QDL_PAD_EIM_D17__ECSPI1_MISO 0x100b1
419 MX6QDL_PAD_EIM_D18__ECSPI1_MOSI 0x100b1
420 MX6QDL_PAD_EIM_D16__ECSPI1_SCLK 0x100b1
421 MX6QDL_PAD_KEY_ROW1__GPIO4_IO09 0x100b1 /* SS0# */
422 MX6QDL_PAD_KEY_COL2__GPIO4_IO10 0x100b1 /* SS1# */
423 MX6QDL_PAD_KEY_ROW2__GPIO4_IO11 0x100b1 /* SS2# */
427 pinctrl_ecspi2: ecspi2grp {
429 MX6QDL_PAD_EIM_OE__ECSPI2_MISO 0x100b1
430 MX6QDL_PAD_EIM_CS0__ECSPI2_SCLK 0x100b1
431 MX6QDL_PAD_EIM_CS1__ECSPI2_MOSI 0x100b1
432 MX6QDL_PAD_EIM_RW__GPIO2_IO26 0x100b1 /* SS0# */
433 MX6QDL_PAD_EIM_LBA__GPIO2_IO27 0x100b1 /* SS1# */
437 pinctrl_ecspi4: ecspi4grp {
439 MX6QDL_PAD_EIM_D21__ECSPI4_SCLK 0x100b1
440 MX6QDL_PAD_EIM_D22__ECSPI4_MISO 0x100b1
441 MX6QDL_PAD_EIM_D28__ECSPI4_MOSI 0x100b1
442 MX6QDL_PAD_EIM_D29__GPIO3_IO29 0x100b1 /* SS0# */
443 MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x100b1 /* SS1# */
444 MX6QDL_PAD_SD4_DAT7__GPIO2_IO15 0x1b0b0 /* WP pin */
448 pinctrl_enet: enetgrp {
450 MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
451 MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
452 MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0
453 MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0
454 MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0
455 MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0
456 MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0
457 MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0
458 MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0
459 MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0
460 MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0
461 MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0
462 MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0
463 MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0
464 MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0
468 pinctrl_flexcan1: flexcan1grp {
470 MX6QDL_PAD_SD3_CLK__FLEXCAN1_RX 0x1b0b0
471 MX6QDL_PAD_SD3_CMD__FLEXCAN1_TX 0x1b0b0
475 pinctrl_flexcan2: flexcan2grp {
477 MX6QDL_PAD_SD3_DAT0__FLEXCAN2_TX 0x1b0b0
478 MX6QDL_PAD_SD3_DAT1__FLEXCAN2_RX 0x1b0b0
482 pinctrl_gpio: gpiogrp {
484 MX6QDL_PAD_ENET_CRS_DV__GPIO1_IO25 0x1b0b0 /* led enable */
485 MX6QDL_PAD_NANDF_CS2__GPIO6_IO15 0x1b0b0 /* LCD power enable */
486 MX6QDL_PAD_NANDF_CS3__GPIO6_IO16 0x1b0b0 /* led yellow */
487 MX6QDL_PAD_EIM_EB0__GPIO2_IO28 0x1b0b0 /* led red */
488 MX6QDL_PAD_EIM_A24__GPIO5_IO04 0x1b0b0 /* led green */
489 MX6QDL_PAD_EIM_EB1__GPIO2_IO29 0x1b0b0 /* led blue */
490 MX6QDL_PAD_SD3_DAT5__GPIO7_IO00 0x1b0b0 /* Profibus IRQ */
491 MX6QDL_PAD_SD3_DAT6__GPIO6_IO18 0x1b0b0 /* FPGA IRQ */
492 MX6QDL_PAD_EIM_A23__GPIO6_IO06 0x1b0b0 /* spi bus #2 SS driver enable */
493 MX6QDL_PAD_GPIO_18__GPIO7_IO13 0x1b0b0 /* RST_LOC# PHY reset input (has pull-down!)*/
494 MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x1b0b0 /* USB_OTG_ID = GPIO1_24*/
495 MX6QDL_PAD_SD4_DAT1__GPIO2_IO09 0x1b0b0 /* Touchscreen IRQ */
496 MX6QDL_PAD_EIM_A22__GPIO2_IO16 0x1b0b0 /* PCIe reset */
500 pinctrl_gpmi_nand: gpmi-nand {
502 MX6QDL_PAD_NANDF_CLE__NAND_CLE 0xb0b1
503 MX6QDL_PAD_NANDF_ALE__NAND_ALE 0xb0b1
504 MX6QDL_PAD_NANDF_WP_B__NAND_WP_B 0xb0b1
505 MX6QDL_PAD_NANDF_RB0__NAND_READY_B 0xb000
506 MX6QDL_PAD_NANDF_CS0__NAND_CE0_B 0xb0b1
507 MX6QDL_PAD_SD4_CMD__NAND_RE_B 0xb0b1
508 MX6QDL_PAD_SD4_CLK__NAND_WE_B 0xb0b1
509 MX6QDL_PAD_NANDF_D0__NAND_DATA00 0xb0b1
510 MX6QDL_PAD_NANDF_D1__NAND_DATA01 0xb0b1
511 MX6QDL_PAD_NANDF_D2__NAND_DATA02 0xb0b1
512 MX6QDL_PAD_NANDF_D3__NAND_DATA03 0xb0b1
513 MX6QDL_PAD_NANDF_D4__NAND_DATA04 0xb0b1
514 MX6QDL_PAD_NANDF_D5__NAND_DATA05 0xb0b1
515 MX6QDL_PAD_NANDF_D6__NAND_DATA06 0xb0b1
516 MX6QDL_PAD_NANDF_D7__NAND_DATA07 0xb0b1
520 pinctrl_i2c1: i2c1grp {
522 MX6QDL_PAD_CSI0_DAT8__I2C1_SDA 0x4001b8b1
523 MX6QDL_PAD_CSI0_DAT9__I2C1_SCL 0x4001b8b1
527 pinctrl_i2c2: i2c2grp {
529 MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
530 MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
534 pinctrl_i2c3: i2c3grp {
536 MX6QDL_PAD_GPIO_5__I2C3_SCL 0x4001b8b1
537 MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1
541 pinctrl_i2c4: i2c4grp {
543 MX6QDL_PAD_GPIO_7__I2C4_SCL 0x4001b8b1
544 MX6QDL_PAD_GPIO_8__I2C4_SDA 0x4001b8b1
548 pinctrl_pwm1: pwm1grp {
550 MX6QDL_PAD_GPIO_9__PWM1_OUT 0x1b0b0
551 MX6QDL_PAD_EIM_BCLK__GPIO6_IO31 0x1b0b0 /* backlight enable */
555 pinctrl_uart1: uart1grp {
557 MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA 0x1b0b1
558 MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA 0x1b0b1
559 MX6QDL_PAD_EIM_D20__UART1_RTS_B 0x1b0b1
560 MX6QDL_PAD_EIM_D19__UART1_CTS_B 0x1b0b1
564 pinctrl_uart2: uart2grp {
566 MX6QDL_PAD_EIM_D26__UART2_TX_DATA 0x1b0b1
567 MX6QDL_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1
571 pinctrl_uart3: uart3grp {
573 MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1
574 MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1
575 MX6QDL_PAD_EIM_D31__UART3_RTS_B 0x1b0b1
576 MX6QDL_PAD_EIM_D23__UART3_CTS_B 0x1b0b1
580 pinctrl_uart4: uart4grp {
582 MX6QDL_PAD_KEY_COL0__UART4_TX_DATA 0x1b0b1
583 MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA 0x1b0b1
587 pinctrl_usbotg: usbotggrp {
589 MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
593 pinctrl_aristainetos2_usbh1_vbus: aristainetos-usbh1-vbus {
594 fsl,pins = <MX6QDL_PAD_GPIO_0__USB_H1_PWR 0x130b0>;
597 pinctrl_aristainetos2_usbotg_vbus: aristainetos-usbotg-vbus {
598 fsl,pins = <MX6QDL_PAD_KEY_ROW4__USB_OTG_PWR 0x130b0>;
601 pinctrl_usdhc1: usdhc1grp {
603 MX6QDL_PAD_SD1_CMD__SD1_CMD 0x17059
604 MX6QDL_PAD_SD1_CLK__SD1_CLK 0x10059
605 MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x17059
606 MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x17059
607 MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x17059
608 MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x17059
609 MX6QDL_PAD_ENET_RXD0__GPIO1_IO27 0x1b0b0 /* SD1 card detect input */
610 MX6QDL_PAD_DI0_PIN4__GPIO4_IO20 0x1b0b0 /* SD1 write protect input */
614 pinctrl_usdhc2: usdhc2grp {
616 MX6QDL_PAD_SD2_CMD__SD2_CMD 0x71
617 MX6QDL_PAD_SD2_CLK__SD2_CLK 0x71
618 MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x71
619 MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x71
620 MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x71
621 MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x71
622 MX6QDL_PAD_SD3_RST__GPIO7_IO08 0x1b0b0 /* SD2 level shifter output enable */
623 MX6QDL_PAD_GPIO_19__GPIO4_IO05 0x1b0b0 /* SD2 card detect input */
624 MX6QDL_PAD_SD4_DAT2__GPIO2_IO10 0x1b0b0 /* SD2 write protect input */