GNU Linux-libre 5.19-rc6-gnu
[releases.git] / arch / arm / boot / dts / imx6qdl-dhcom-som.dtsi
1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * Copyright (C) 2015-2021 DH electronics GmbH
4  * Copyright (C) 2018 Marek Vasut <marex@denx.de>
5  */
6
7 #include <dt-bindings/pwm/pwm.h>
8 #include <dt-bindings/gpio/gpio.h>
9 #include <dt-bindings/clock/imx6qdl-clock.h>
10 #include <dt-bindings/input/input.h>
11
12 / {
13         aliases {
14                 i2c0 = &i2c2;
15                 i2c1 = &i2c1;
16                 i2c2 = &i2c3;
17                 mmc0 = &usdhc2;
18                 mmc1 = &usdhc3;
19                 mmc2 = &usdhc4;
20                 mmc3 = &usdhc1;
21                 rtc0 = &rtc_i2c;
22                 rtc1 = &snvs_rtc;
23                 serial0 = &uart1;
24                 serial1 = &uart5;
25                 serial2 = &uart4;
26                 serial3 = &uart2;
27                 serial4 = &uart3;
28         };
29
30         memory@10000000 { /* Appropriate memory size will be filled by U-Boot */
31                 device_type = "memory";
32                 reg = <0x10000000 0x20000000>;
33         };
34
35         reg_3p3v: regulator-3P3V {
36                 compatible = "regulator-fixed";
37                 regulator-always-on;
38                 regulator-min-microvolt = <3300000>;
39                 regulator-max-microvolt = <3300000>;
40                 regulator-name = "3P3V";
41         };
42
43         reg_eth_vio: regulator-eth-vio {
44                 compatible = "regulator-fixed";
45                 gpio = <&gpio1 7 0>;
46                 pinctrl-0 = <&pinctrl_enet_vio>;
47                 pinctrl-names = "default";
48                 regulator-always-on;
49                 regulator-boot-on;
50                 regulator-min-microvolt = <3300000>;
51                 regulator-max-microvolt = <3300000>;
52                 regulator-name = "eth_vio";
53                 vin-supply = <&sw2_reg>;
54         };
55
56         /* OE pin of the latch is low active */
57         reg_latch_oe_on: regulator-latch-oe-on {
58                 compatible = "regulator-fixed";
59                 gpio = <&gpio3 22 0>;
60                 regulator-always-on;
61                 regulator-name = "latch_oe_on";
62         };
63
64         reg_usb_h1_vbus: regulator-usb-h1-vbus {
65                 compatible = "regulator-fixed";
66                 enable-active-high;
67                 gpio = <&gpio3 31 0>;
68                 regulator-min-microvolt = <5000000>;
69                 regulator-max-microvolt = <5000000>;
70                 regulator-name = "usb_h1_vbus";
71         };
72
73         reg_usb_otg_vbus: regulator-usb-otg-vbus {
74                 compatible = "regulator-fixed";
75                 regulator-min-microvolt = <5000000>;
76                 regulator-max-microvolt = <5000000>;
77                 regulator-name = "usb_otg_vbus";
78         };
79 };
80
81 &can1 {
82         pinctrl-0 = <&pinctrl_flexcan1>;
83         pinctrl-names = "default";
84         status = "okay";
85 };
86
87 /*
88  * Special SoM hardware required which uses the pins from micro SD card. The
89  * pins SD3_DAT0 and SD3_DAT1 are muxed as can2 Tx and Rx. The signals for can2
90  * Tx and Rx are routed to the DHCOM UART1 rts/cts pins. So to enable can2 on
91  * the board device tree file, the micro SD card must be disabled and the uart1
92  * rts/cts must be disabled or output on other DHCOM pins.
93  */
94 &can2 {
95         pinctrl-0 = <&pinctrl_flexcan2>;
96         pinctrl-names = "default";
97         status = "disabled";
98 };
99
100 &ecspi1 {
101         cs-gpios = <&gpio2 30 GPIO_ACTIVE_LOW>, <&gpio4 11 GPIO_ACTIVE_LOW>;
102         pinctrl-0 = <&pinctrl_ecspi1>;
103         pinctrl-names = "default";
104         status = "okay";
105
106         flash@0 { /* S25FL116K */
107                 #address-cells = <1>;
108                 #size-cells = <1>;
109                 compatible = "jedec,spi-nor";
110                 m25p,fast-read;
111                 reg = <0>;
112                 spi-max-frequency = <50000000>;
113         };
114 };
115
116 &ecspi2 {
117         cs-gpios = <&gpio5 29 GPIO_ACTIVE_LOW>;
118         pinctrl-0 = <&pinctrl_ecspi2>;
119         pinctrl-names = "default";
120         status = "disabled";
121 };
122
123 &fec {
124         phy-mode = "rmii";
125         phy-handle = <&ethphy0>;
126         pinctrl-0 = <&pinctrl_enet_100M>;
127         pinctrl-names = "default";
128         status = "okay";
129
130         mdio {
131                 #address-cells = <1>;
132                 #size-cells = <0>;
133
134                 ethphy0: ethernet-phy@0 { /* SMSC LAN8710Ai */
135                         compatible = "ethernet-phy-id0007.c0f0",
136                                      "ethernet-phy-ieee802.3-c22";
137                         interrupt-parent = <&gpio4>;
138                         interrupts = <15 IRQ_TYPE_LEVEL_LOW>;
139                         pinctrl-0 = <&pinctrl_ethphy0>;
140                         pinctrl-names = "default";
141                         reg = <0>;
142                         reset-assert-us = <500>;
143                         reset-deassert-us = <500>;
144                         reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
145                         smsc,disable-energy-detect; /* Make plugin detection reliable */
146                 };
147         };
148 };
149
150 &gpio1 {
151         gpio-line-names =
152                 "", "", "DHCOM-A", "", "DHCOM-B", "DHCOM-C", "", "",
153                 "", "", "", "", "", "", "", "",
154                 "DHCOM-R", "DHCOM-S", "DHCOM-Q", "DHCOM-T", "DHCOM-U", "", "", "",
155                 "", "", "", "", "", "", "", "";
156 };
157
158 &gpio2 {
159         gpio-line-names =
160                 "", "", "", "", "", "", "", "",
161                 "", "", "", "", "", "", "", "",
162                 "SOM-HW2", "", "", "SOM-HW0", "", "SOM-MEM1", "SOM-MEM0", "",
163                 "", "", "", "", "", "", "", "";
164 };
165
166 &gpio3 {
167         gpio-line-names =
168                 "", "", "", "", "", "", "", "",
169                 "", "", "", "", "", "", "", "",
170                 "", "", "", "", "", "", "", "",
171                 "", "", "", "DHCOM-G", "", "", "", "";
172 };
173
174 &gpio4 {
175         gpio-line-names =
176                 "", "", "", "", "", "DHCOM-E", "DHCOM-INT", "DHCOM-H",
177                 "DHCOM-I", "DHCOM-L", "", "", "", "", "", "",
178                 "", "", "", "", "DHCOM-F", "", "", "",
179                 "", "", "", "", "", "", "", "";
180 };
181
182 &gpio5 {
183         gpio-line-names =
184                 "", "", "", "", "", "", "", "",
185                 "", "", "", "", "", "", "", "",
186                 "", "", "DHCOM-V", "DHCOM-W", "", "DHCOM-O", "", "",
187                 "", "", "", "", "", "", "", "";
188 };
189
190 &gpio6 {
191         gpio-line-names =
192                 "", "", "", "DHCOM-D", "", "", "SOM-HW1", "",
193                 "", "", "", "", "", "", "DHCOM-J", "DHCOM-K",
194                 "", "", "", "", "", "", "", "",
195                 "", "", "", "", "", "", "", "";
196 };
197
198 &gpio7 {
199         gpio-line-names =
200                 "DHCOM-M", "DHCOM-N", "", "", "", "", "", "",
201                 "", "", "", "", "", "DHCOM-P", "", "",
202                 "", "", "", "", "", "", "", "",
203                 "", "", "", "", "", "", "", "";
204 };
205
206 &i2c1 {
207         /*
208          * Info: According to erratum ERR007805 clock frequency limit is 375000.
209          * The erratum for i.MX6S/DL is here [1] and for i.MX6Q/D is here [2].
210          * [1] https://www.nxp.com/docs/en/errata/IMX6SDLCE.pdf
211          * [2] https://www.nxp.com/docs/en/errata/IMX6DQCE.pdf
212          */
213         clock-frequency = <100000>;
214         pinctrl-0 = <&pinctrl_i2c1>;
215         pinctrl-1 = <&pinctrl_i2c1_gpio>;
216         pinctrl-names = "default", "gpio";
217         scl-gpios = <&gpio3 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
218         sda-gpios = <&gpio3 28 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
219         status = "okay";
220 };
221
222 &i2c2 {
223         /* Info: Clock frequency limit is 375000 (for details see i2c1) */
224         clock-frequency = <100000>;
225         pinctrl-0 = <&pinctrl_i2c2>;
226         pinctrl-1 = <&pinctrl_i2c2_gpio>;
227         pinctrl-names = "default", "gpio";
228         scl-gpios = <&gpio4 12 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
229         sda-gpios = <&gpio4 13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
230         status = "okay";
231 };
232
233 &i2c3 {
234         /* Info: Clock frequency limit is 375000 (for details see i2c1) */
235         clock-frequency = <100000>;
236         pinctrl-0 = <&pinctrl_i2c3>;
237         pinctrl-1 = <&pinctrl_i2c3_gpio>;
238         pinctrl-names = "default", "gpio";
239         scl-gpios = <&gpio1 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
240         sda-gpios = <&gpio1 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
241         status = "okay";
242
243         ltc3676: pmic@3c {
244                 compatible = "lltc,ltc3676";
245                 interrupt-parent = <&gpio5>;
246                 interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
247                 pinctrl-0 = <&pinctrl_pmic>;
248                 pinctrl-names = "default";
249                 reg = <0x3c>;
250
251                 regulators {
252                         sw1_reg: sw1 {
253                                 lltc,fb-voltage-divider = <100000 110000>;
254                                 regulator-always-on;
255                                 regulator-boot-on;
256                                 regulator-max-microvolt = <1527272>;
257                                 regulator-min-microvolt = <787500>;
258                                 regulator-ramp-delay = <7000>;
259                                 regulator-suspend-mem-microvolt = <1040000>;
260                         };
261
262                         sw2_reg: sw2 {
263                                 lltc,fb-voltage-divider = <100000 28000>;
264                                 regulator-always-on;
265                                 regulator-boot-on;
266                                 regulator-max-microvolt = <3657142>;
267                                 regulator-min-microvolt = <1885714>;
268                                 regulator-ramp-delay = <7000>;
269                         };
270
271                         sw3_reg: sw3 {
272                                 lltc,fb-voltage-divider = <100000 110000>;
273                                 regulator-always-on;
274                                 regulator-boot-on;
275                                 regulator-max-microvolt = <1527272>;
276                                 regulator-min-microvolt = <787500>;
277                                 regulator-ramp-delay = <7000>;
278                                 regulator-suspend-mem-microvolt = <980000>;
279                         };
280
281                         sw4_reg: sw4 {
282                                 lltc,fb-voltage-divider = <100000 93100>;
283                                 regulator-always-on;
284                                 regulator-boot-on;
285                                 regulator-max-microvolt = <1659291>;
286                                 regulator-min-microvolt = <855571>;
287                                 regulator-ramp-delay = <7000>;
288                         };
289
290                         ldo1_reg: ldo1 {
291                                 lltc,fb-voltage-divider = <102000 29400>;
292                                 regulator-always-on;
293                                 regulator-boot-on;
294                                 regulator-max-microvolt = <3240306>;
295                                 regulator-min-microvolt = <3240306>;
296                         };
297
298                         ldo2_reg: ldo2 {
299                                 lltc,fb-voltage-divider = <100000 41200>;
300                                 regulator-always-on;
301                                 regulator-boot-on;
302                                 regulator-max-microvolt = <2484708>;
303                                 regulator-min-microvolt = <2484708>;
304                         };
305                 };
306         };
307
308         touchscreen@49 { /* TSC2004 */
309                 compatible = "ti,tsc2004";
310                 interrupts-extended = <&gpio4 14 IRQ_TYPE_EDGE_FALLING>;
311                 pinctrl-0 = <&pinctrl_tsc2004>;
312                 pinctrl-names = "default";
313                 reg = <0x49>;
314                 vio-supply = <&reg_3p3v>;
315                 status = "disabled";
316         };
317
318         eeprom@50 {
319                 compatible = "atmel,24c02";
320                 pagesize = <16>;
321                 reg = <0x50>;
322         };
323
324         rtc_i2c: rtc@56 {
325                 compatible = "microcrystal,rv3029";
326                 interrupt-parent = <&gpio7>;
327                 interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
328                 pinctrl-0 = <&pinctrl_rtc>;
329                 pinctrl-names = "default";
330                 reg = <0x56>;
331         };
332 };
333
334 &pcie {
335         pinctrl-0 = <&pinctrl_pcie>;
336         pinctrl-names = "default";
337 };
338
339 &pwm1 {
340         pinctrl-0 = <&pinctrl_pwm1>;
341         pinctrl-names = "default";
342 };
343
344 &reg_arm {
345         vin-supply = <&sw3_reg>;
346 };
347
348 &reg_pu {
349         vin-supply = <&sw1_reg>;
350 };
351
352 &reg_soc {
353         vin-supply = <&sw1_reg>;
354 };
355
356 &reg_vdd1p1 {
357         vin-supply = <&sw2_reg>;
358 };
359
360 &reg_vdd2p5 {
361         vin-supply = <&sw2_reg>;
362 };
363
364 &uart1 { /* DHCOM UART1 */
365         dcd-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>;
366         dsr-gpios = <&gpio3 25 GPIO_ACTIVE_LOW>;
367         dtr-gpios = <&gpio3 24 GPIO_ACTIVE_LOW>;
368         rng-gpios = <&gpio2 31 GPIO_ACTIVE_LOW>;
369         pinctrl-0 = <&pinctrl_uart1>;
370         pinctrl-names = "default";
371         uart-has-rtscts;
372         status = "okay";
373 };
374
375 &uart4 { /* DHCOM UART3 */
376         pinctrl-0 = <&pinctrl_uart4>;
377         pinctrl-names = "default";
378         status = "okay";
379 };
380
381 &uart5 { /* DHCOM UART2 */
382         pinctrl-0 = <&pinctrl_uart5>;
383         pinctrl-names = "default";
384         uart-has-rtscts;
385         status = "okay";
386 };
387
388 &usbh1 {
389         dr_mode = "host";
390         pinctrl-0 = <&pinctrl_usbh1>;
391         pinctrl-names = "default";
392         vbus-supply = <&reg_usb_h1_vbus>;
393         status = "okay";
394 };
395
396 &usbotg {
397         disable-over-current;
398         dr_mode = "otg";
399         pinctrl-0 = <&pinctrl_usbotg>;
400         pinctrl-names = "default";
401         vbus-supply = <&reg_usb_otg_vbus>;
402         status = "okay";
403 };
404
405 &usdhc2 { /* External SD card via DHCOM */
406         cd-gpios = <&gpio6 16 GPIO_ACTIVE_HIGH>;
407         keep-power-in-suspend;
408         pinctrl-0 = <&pinctrl_usdhc2>;
409         pinctrl-names = "default";
410         status = "disabled";
411 };
412
413 &usdhc3 { /* Micro SD card on module */
414         cd-gpios = <&gpio7 8 GPIO_ACTIVE_LOW>;
415         fsl,wp-controller;
416         keep-power-in-suspend;
417         pinctrl-0 = <&pinctrl_usdhc3>;
418         pinctrl-names = "default";
419         status = "okay";
420 };
421
422 &usdhc4 { /* eMMC on module */
423         bus-width = <8>;
424         keep-power-in-suspend;
425         no-1-8-v;
426         non-removable;
427         pinctrl-0 = <&pinctrl_usdhc4>;
428         pinctrl-names = "default";
429         status = "okay";
430 };
431
432 &weim {
433         #address-cells = <2>;
434         #size-cells = <1>;
435         fsl,weim-cs-gpr = <&gpr>;
436         pinctrl-0 = <&pinctrl_weim &pinctrl_weim_cs0 &pinctrl_weim_cs1>;
437         pinctrl-names = "default";
438         /* It is necessary to setup 2x 64MB otherwise setting gpr fails */
439         ranges = <0 0 0x08000000 0x04000000>, /* CS0 */
440                  <1 0 0x0c000000 0x04000000>; /* CS1 */
441         status = "disabled";
442 };
443
444 &iomuxc {
445         pinctrl-0 = <
446                         &pinctrl_hog_base
447                         &pinctrl_dhcom_a &pinctrl_dhcom_b &pinctrl_dhcom_c
448                         &pinctrl_dhcom_d &pinctrl_dhcom_e &pinctrl_dhcom_f
449                         &pinctrl_dhcom_g &pinctrl_dhcom_h &pinctrl_dhcom_i
450                         &pinctrl_dhcom_j &pinctrl_dhcom_k &pinctrl_dhcom_l
451                         &pinctrl_dhcom_m &pinctrl_dhcom_n &pinctrl_dhcom_o
452                         &pinctrl_dhcom_p &pinctrl_dhcom_q &pinctrl_dhcom_r
453                         &pinctrl_dhcom_s &pinctrl_dhcom_t &pinctrl_dhcom_u
454                         &pinctrl_dhcom_v &pinctrl_dhcom_w &pinctrl_dhcom_int
455                 >;
456         pinctrl-names = "default";
457
458         pinctrl_hog_base: hog-base-grp {
459                 fsl,pins = <
460                         /* GPIOs for memory coding */
461                         MX6QDL_PAD_EIM_A16__GPIO2_IO22          0x120b0
462                         MX6QDL_PAD_EIM_A17__GPIO2_IO21          0x120b0
463                         /* GPIOs for hardware coding */
464                         MX6QDL_PAD_EIM_A19__GPIO2_IO19          0x120b0
465                         MX6QDL_PAD_EIM_A22__GPIO2_IO16          0x120b0
466                         MX6QDL_PAD_EIM_A23__GPIO6_IO06          0x120b0
467                 >;
468         };
469
470         /* DHCOM GPIOs */
471         pinctrl_dhcom_a: dhcom-a-grp {
472                 fsl,pins = <MX6QDL_PAD_GPIO_2__GPIO1_IO02       0x400120b0>;
473         };
474
475         pinctrl_dhcom_b: dhcom-b-grp {
476                 fsl,pins = <MX6QDL_PAD_GPIO_4__GPIO1_IO04       0x400120b0>;
477         };
478
479         pinctrl_dhcom_c: dhcom-c-grp {
480                 fsl,pins = <MX6QDL_PAD_GPIO_5__GPIO1_IO05       0x400120b0>;
481         };
482
483         pinctrl_dhcom_d: dhcom-d-grp {
484                 fsl,pins = <MX6QDL_PAD_CSI0_DAT17__GPIO6_IO03   0x400120b0>;
485         };
486
487         pinctrl_dhcom_e: dhcom-e-grp {
488                 fsl,pins = <MX6QDL_PAD_GPIO_19__GPIO4_IO05      0x400120b0>;
489         };
490
491         pinctrl_dhcom_f: dhcom-f-grp {
492                 fsl,pins = <MX6QDL_PAD_DI0_PIN4__GPIO4_IO20     0x400120b0>;
493         };
494
495         pinctrl_dhcom_g: dhcom-g-grp {
496                 fsl,pins = <MX6QDL_PAD_EIM_D27__GPIO3_IO27      0x400120b0>;
497         };
498
499         pinctrl_dhcom_h: dhcom-h-grp {
500                 fsl,pins = <MX6QDL_PAD_KEY_ROW0__GPIO4_IO07     0x400120b0>;
501         };
502
503         pinctrl_dhcom_i: dhcom-i-grp {
504                 fsl,pins = <MX6QDL_PAD_KEY_COL1__GPIO4_IO08     0x400120b0>;
505         };
506
507         pinctrl_dhcom_j: dhcom-j-grp {
508                 fsl,pins = <MX6QDL_PAD_NANDF_CS1__GPIO6_IO14    0x400120b0>;
509         };
510
511         pinctrl_dhcom_k: dhcom-k-grp {
512                 fsl,pins = <MX6QDL_PAD_NANDF_CS2__GPIO6_IO15    0x400120b0>;
513         };
514
515         pinctrl_dhcom_l: dhcom-l-grp {
516                 fsl,pins = <MX6QDL_PAD_KEY_ROW1__GPIO4_IO09     0x400120b0>;
517         };
518
519         pinctrl_dhcom_m: dhcom-m-grp {
520                 fsl,pins = <MX6QDL_PAD_SD3_DAT5__GPIO7_IO00     0x400120b0>;
521         };
522
523         pinctrl_dhcom_n: dhcom-n-grp {
524                 fsl,pins = <MX6QDL_PAD_SD3_DAT4__GPIO7_IO01     0x400120b0>;
525         };
526
527         pinctrl_dhcom_o: dhcom-o-grp {
528                 fsl,pins = <MX6QDL_PAD_CSI0_VSYNC__GPIO5_IO21   0x400120b0>;
529         };
530
531         pinctrl_dhcom_p: dhcom-p-grp {
532                 fsl,pins = <MX6QDL_PAD_GPIO_18__GPIO7_IO13      0x400120b0>;
533         };
534
535         pinctrl_dhcom_q: dhcom-q-grp {
536                 fsl,pins = <MX6QDL_PAD_SD1_CMD__GPIO1_IO18      0x400120b0>;
537         };
538
539         pinctrl_dhcom_r: dhcom-r-grp {
540                 fsl,pins = <MX6QDL_PAD_SD1_DAT0__GPIO1_IO16     0x400120b0>;
541         };
542
543         pinctrl_dhcom_s: dhcom-s-grp {
544                 fsl,pins = <MX6QDL_PAD_SD1_DAT1__GPIO1_IO17     0x400120b0>;
545         };
546
547         pinctrl_dhcom_t: dhcom-t-grp {
548                 fsl,pins = <MX6QDL_PAD_SD1_DAT2__GPIO1_IO19     0x400120b0>;
549         };
550
551         pinctrl_dhcom_u: dhcom-u-grp {
552                 fsl,pins = <MX6QDL_PAD_SD1_CLK__GPIO1_IO20      0x400120b0>;
553         };
554
555         pinctrl_dhcom_v: dhcom-v-grp {
556                 fsl,pins = <MX6QDL_PAD_CSI0_PIXCLK__GPIO5_IO18  0x400120b0>;
557         };
558
559         pinctrl_dhcom_w: dhcom-w-grp {
560                 fsl,pins = <MX6QDL_PAD_CSI0_MCLK__GPIO5_IO19    0x400120b0>;
561         };
562
563         pinctrl_dhcom_int: dhcom-int-grp {
564                 fsl,pins = <MX6QDL_PAD_KEY_COL0__GPIO4_IO06     0x400120b0>;
565         };
566
567         pinctrl_ecspi1: ecspi1-grp {
568                 fsl,pins = <
569                         MX6QDL_PAD_EIM_D16__ECSPI1_SCLK         0x100b1
570                         MX6QDL_PAD_EIM_D17__ECSPI1_MISO         0x100b1
571                         MX6QDL_PAD_EIM_D18__ECSPI1_MOSI         0x100b1
572                         MX6QDL_PAD_EIM_EB2__GPIO2_IO30          0x1b0b0
573                         MX6QDL_PAD_KEY_ROW2__GPIO4_IO11         0x1b0b0
574                 >;
575         };
576
577         pinctrl_ecspi2: ecspi2-grp {
578                 fsl,pins = <
579                         MX6QDL_PAD_CSI0_DAT8__ECSPI2_SCLK       0x100b1
580                         MX6QDL_PAD_CSI0_DAT9__ECSPI2_MOSI       0x100b1
581                         MX6QDL_PAD_CSI0_DAT10__ECSPI2_MISO      0x100b1
582                         MX6QDL_PAD_CSI0_DAT11__GPIO5_IO29       0x1b0b0
583                 >;
584         };
585
586         pinctrl_enet_100M: enet-100M-grp {
587                 fsl,pins = <
588                         MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN      0x1b0b0
589                         MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
590                         MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x1b0b0
591                         MX6QDL_PAD_ENET_RX_ER__ENET_RX_ER       0x1b0b0
592                         MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0     0x1b0b0
593                         MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1     0x1b0b0
594                         MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN       0x1b0b0
595                         MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0     0x1b0b0
596                         MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1     0x1b0b0
597                         MX6QDL_PAD_GPIO_16__ENET_REF_CLK        0x4001b0a8
598                 >;
599         };
600
601         pinctrl_enet_vio: enet-vio-grp {
602                 fsl,pins = <
603                         MX6QDL_PAD_GPIO_7__GPIO1_IO07           0x120b0
604                 >;
605         };
606
607         pinctrl_ethphy0: ethphy0-grp {
608                 fsl,pins = <
609                         MX6QDL_PAD_EIM_WAIT__GPIO5_IO00         0xb0 /* Reset */
610                         MX6QDL_PAD_KEY_ROW4__GPIO4_IO15         0xb1 /* Int */
611                 >;
612         };
613
614         pinctrl_flexcan1: flexcan1-grp {
615                 fsl,pins = <
616                         MX6QDL_PAD_GPIO_8__FLEXCAN1_RX          0x1b0b0
617                         MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX        0x1b0b0
618                 >;
619         };
620
621         pinctrl_flexcan2: flexcan2-grp {
622                 fsl,pins = <
623                         MX6QDL_PAD_SD3_DAT0__FLEXCAN2_TX        0x1b0b0
624                         MX6QDL_PAD_SD3_DAT1__FLEXCAN2_RX        0x1b0b0
625                 >;
626         };
627
628         pinctrl_i2c1: i2c1-grp {
629                 fsl,pins = <
630                         MX6QDL_PAD_EIM_D21__I2C1_SCL            0x4001b8b1
631                         MX6QDL_PAD_EIM_D28__I2C1_SDA            0x4001b8b1
632                 >;
633         };
634
635         pinctrl_i2c1_gpio: i2c1-gpio-grp {
636                 fsl,pins = <
637                         MX6QDL_PAD_EIM_D21__GPIO3_IO21          0x4001b8b1
638                         MX6QDL_PAD_EIM_D28__GPIO3_IO28          0x4001b8b1
639                 >;
640         };
641
642         pinctrl_i2c2: i2c2-grp {
643                 fsl,pins = <
644                         MX6QDL_PAD_KEY_COL3__I2C2_SCL           0x4001b8b1
645                         MX6QDL_PAD_KEY_ROW3__I2C2_SDA           0x4001b8b1
646                 >;
647         };
648
649         pinctrl_i2c2_gpio: i2c2-gpio-grp {
650                 fsl,pins = <
651                         MX6QDL_PAD_KEY_COL3__GPIO4_IO12         0x4001b8b1
652                         MX6QDL_PAD_KEY_ROW3__GPIO4_IO13         0x4001b8b1
653                 >;
654         };
655
656         pinctrl_i2c3: i2c3-grp {
657                 fsl,pins = <
658                         MX6QDL_PAD_GPIO_3__I2C3_SCL             0x4001b8b1
659                         MX6QDL_PAD_GPIO_6__I2C3_SDA             0x4001b8b1
660                 >;
661         };
662
663         pinctrl_i2c3_gpio: i2c3-gpio-grp {
664                 fsl,pins = <
665                         MX6QDL_PAD_GPIO_3__GPIO1_IO03           0x4001b8b1
666                         MX6QDL_PAD_GPIO_6__GPIO1_IO06           0x4001b8b1
667                 >;
668         };
669
670         pinctrl_pcie: pcie-grp {
671                 fsl,pins = <
672                         MX6QDL_PAD_CSI0_DATA_EN__GPIO5_IO20     0x1b0b1 /* Wake */
673                 >;
674         };
675
676         pinctrl_pmic: pmic-grp {
677                 fsl,pins = <
678                         MX6QDL_PAD_EIM_A25__GPIO5_IO02          0x1b0b0
679                 >;
680         };
681
682         pinctrl_pwm1: pwm1-grp {
683                 fsl,pins = <
684                         MX6QDL_PAD_SD1_DAT3__PWM1_OUT           0x1b0b1
685                 >;
686         };
687
688         pinctrl_rtc: rtc-grp {
689                 fsl,pins = <
690                         MX6QDL_PAD_GPIO_17__GPIO7_IO12          0x120b0
691                 >;
692         };
693
694         pinctrl_tsc2004: tsc2004-grp {
695                 fsl,pins = <
696                         MX6QDL_PAD_KEY_COL4__GPIO4_IO14         0x120b0
697                 >;
698         };
699
700         pinctrl_uart1: uart1-grp {
701                 fsl,pins = <
702                         MX6QDL_PAD_EIM_D19__UART1_CTS_B         0x4001b0b1
703                         MX6QDL_PAD_EIM_D20__UART1_RTS_B         0x1b0b1
704                         MX6QDL_PAD_EIM_D23__GPIO3_IO23          0x4001b0b1
705                         MX6QDL_PAD_EIM_D24__GPIO3_IO24          0x4001b0b1
706                         MX6QDL_PAD_EIM_D25__GPIO3_IO25          0x4001b0b1
707                         MX6QDL_PAD_EIM_EB3__GPIO2_IO31          0x4001b0b1
708                         MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA      0x1b0b1
709                         MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA      0x1b0b1
710                 >;
711         };
712
713         pinctrl_uart4: uart4-grp {
714                 fsl,pins = <
715                         MX6QDL_PAD_CSI0_DAT12__UART4_TX_DATA    0x1b0b1
716                         MX6QDL_PAD_CSI0_DAT13__UART4_RX_DATA    0x1b0b1
717                 >;
718         };
719
720         pinctrl_uart5: uart5-grp {
721                 fsl,pins = <
722                         MX6QDL_PAD_CSI0_DAT14__UART5_TX_DATA    0x1b0b1
723                         MX6QDL_PAD_CSI0_DAT15__UART5_RX_DATA    0x1b0b1
724                         MX6QDL_PAD_CSI0_DAT18__UART5_RTS_B      0x1b0b1
725                         MX6QDL_PAD_CSI0_DAT19__UART5_CTS_B      0x4001b0b1
726                 >;
727         };
728
729         pinctrl_usbh1: usbh1-grp {
730                 fsl,pins = <
731                         MX6QDL_PAD_EIM_D31__GPIO3_IO31          0x120b0
732                         MX6QDL_PAD_EIM_D30__USB_H1_OC           0x1b0b1
733                 >;
734         };
735
736         pinctrl_usbotg: usbotg-grp {
737                 fsl,pins = <
738                         MX6QDL_PAD_GPIO_1__USB_OTG_ID           0x17059
739                 >;
740         };
741
742         pinctrl_usdhc2: usdhc2-grp {
743                 fsl,pins = <
744                         MX6QDL_PAD_NANDF_CS3__GPIO6_IO16        0x120b0
745                         MX6QDL_PAD_SD2_CLK__SD2_CLK             0x10059
746                         MX6QDL_PAD_SD2_CMD__SD2_CMD             0x17059
747                         MX6QDL_PAD_SD2_DAT0__SD2_DATA0          0x17059
748                         MX6QDL_PAD_SD2_DAT1__SD2_DATA1          0x17059
749                         MX6QDL_PAD_SD2_DAT2__SD2_DATA2          0x17059
750                         MX6QDL_PAD_SD2_DAT3__SD2_DATA3          0x17059
751                 >;
752         };
753
754         pinctrl_usdhc3: usdhc3-grp {
755                 fsl,pins = <
756                         MX6QDL_PAD_SD3_CLK__SD3_CLK             0x10059
757                         MX6QDL_PAD_SD3_CMD__SD3_CMD             0x17059
758                         MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x17059
759                         MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x17059
760                         MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x17059
761                         MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x17059
762                         MX6QDL_PAD_SD3_RST__GPIO7_IO08          0x120b0
763                 >;
764         };
765
766         pinctrl_usdhc4: usdhc4-grp {
767                 fsl,pins = <
768                         MX6QDL_PAD_SD4_CLK__SD4_CLK             0x10059
769                         MX6QDL_PAD_SD4_CMD__SD4_CMD             0x17059
770                         MX6QDL_PAD_SD4_DAT0__SD4_DATA0          0x17059
771                         MX6QDL_PAD_SD4_DAT1__SD4_DATA1          0x17059
772                         MX6QDL_PAD_SD4_DAT2__SD4_DATA2          0x17059
773                         MX6QDL_PAD_SD4_DAT3__SD4_DATA3          0x17059
774                         MX6QDL_PAD_SD4_DAT4__SD4_DATA4          0x17059
775                         MX6QDL_PAD_SD4_DAT5__SD4_DATA5          0x17059
776                         MX6QDL_PAD_SD4_DAT6__SD4_DATA6          0x17059
777                         MX6QDL_PAD_SD4_DAT7__SD4_DATA7          0x17059
778                 >;
779         };
780
781         pinctrl_weim: weim-grp {
782                 fsl,pins = <
783                         MX6QDL_PAD_EIM_DA0__EIM_AD00            0xb0a6
784                         MX6QDL_PAD_EIM_DA1__EIM_AD01            0xb0a6
785                         MX6QDL_PAD_EIM_DA2__EIM_AD02            0xb0a6
786                         MX6QDL_PAD_EIM_DA3__EIM_AD03            0xb0a6
787                         MX6QDL_PAD_EIM_DA4__EIM_AD04            0xb0a6
788                         MX6QDL_PAD_EIM_DA5__EIM_AD05            0xb0a6
789                         MX6QDL_PAD_EIM_DA6__EIM_AD06            0xb0a6
790                         MX6QDL_PAD_EIM_DA7__EIM_AD07            0xb0a6
791                         MX6QDL_PAD_EIM_DA8__EIM_AD08            0xb0a6
792                         MX6QDL_PAD_EIM_DA9__EIM_AD09            0xb0a6
793                         MX6QDL_PAD_EIM_DA10__EIM_AD10           0xb0a6
794                         MX6QDL_PAD_EIM_DA11__EIM_AD11           0xb0a6
795                         MX6QDL_PAD_EIM_DA12__EIM_AD12           0xb0a6
796                         MX6QDL_PAD_EIM_DA13__EIM_AD13           0xb0a6
797                         MX6QDL_PAD_EIM_DA14__EIM_AD14           0xb0a6
798                         MX6QDL_PAD_EIM_DA15__EIM_AD15           0xb0a6
799                         MX6QDL_PAD_EIM_D22__GPIO3_IO22          0x130b0
800                         MX6QDL_PAD_EIM_LBA__EIM_LBA_B           0xb060 /* LE */
801                         MX6QDL_PAD_EIM_OE__EIM_OE_B             0xb0a6
802                         MX6QDL_PAD_EIM_RW__EIM_RW               0xb0a6 /* WE */
803                 >;
804         };
805
806         pinctrl_weim_cs0: weim-cs0-grp {
807                 fsl,pins = <
808                         MX6QDL_PAD_EIM_CS0__EIM_CS0_B           0xb0b1
809                 >;
810         };
811
812         pinctrl_weim_cs1: weim-cs1-grp {
813                 fsl,pins = <
814                         MX6QDL_PAD_EIM_CS1__EIM_CS1_B           0xb0b1
815                 >;
816         };
817 };