GNU Linux-libre 4.19.264-gnu1
[releases.git] / arch / arm / boot / dts / imx6ul-tx6ul.dtsi
1 /*
2  * Copyright 2015 Lothar Waßmann <LW@KARO-electronics.de>
3  *
4  * This file is dual-licensed: you can use it either under the terms
5  * of the GPL or the X11 license, at your option. Note that this dual
6  * licensing only applies to this file, and not this project as a
7  * whole.
8  *
9  *  a) This file is free software; you can redistribute it and/or
10  *     modify it under the terms of the GNU General Public License
11  *     version 2 as published by the Free Software Foundation.
12  *
13  *     This file is distributed in the hope that it will be useful,
14  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
15  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  *     GNU General Public License for more details.
17  *
18  * Or, alternatively,
19  *
20  *  b) Permission is hereby granted, free of charge, to any person
21  *     obtaining a copy of this software and associated documentation
22  *     files (the "Software"), to deal in the Software without
23  *     restriction, including without limitation the rights to use,
24  *     copy, modify, merge, publish, distribute, sublicense, and/or
25  *     sell copies of the Software, and to permit persons to whom the
26  *     Software is furnished to do so, subject to the following
27  *     conditions:
28  *
29  *     The above copyright notice and this permission notice shall be
30  *     included in all copies or substantial portions of the Software.
31  *
32  *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
33  *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
34  *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
35  *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
36  *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
37  *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
38  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
39  *     OTHER DEALINGS IN THE SOFTWARE.
40  */
41
42 #include <dt-bindings/gpio/gpio.h>
43 #include <dt-bindings/interrupt-controller/irq.h>
44 #include <dt-bindings/pwm/pwm.h>
45
46 / {
47         aliases {
48                 can0 = &can2;
49                 can1 = &can1;
50                 display = &display;
51                 i2c0 = &i2c2;
52                 i2c1 = &i2c_gpio;
53                 i2c2 = &i2c1;
54                 i2c3 = &i2c3;
55                 i2c4 = &i2c4;
56                 lcdif-23bit-pins-a = &pinctrl_disp0_1;
57                 lcdif-24bit-pins-a = &pinctrl_disp0_2;
58                 pwm0 = &pwm5;
59                 reg-can-xcvr = &reg_can_xcvr;
60                 serial2 = &uart5;
61                 serial4 = &uart3;
62                 spi0 = &ecspi2;
63                 spi1 = &spi_gpio;
64                 stk5led = &user_led;
65                 usbh1 = &usbotg2;
66                 usbotg = &usbotg1;
67         };
68
69         chosen {
70                 stdout-path = &uart1;
71         };
72
73         memory@80000000 {
74                 device_type = "memory";
75                 reg = <0x80000000 0>; /* will be filled by U-Boot */
76         };
77
78         clocks {
79                 mclk: mclk {
80                         compatible = "fixed-clock";
81                         #clock-cells = <0>;
82                         clock-frequency = <26000000>;
83                 };
84         };
85
86         backlight: backlight {
87                 compatible = "pwm-backlight";
88                 pinctrl-names = "default";
89                 pinctrl-0 = <&pinctrl_lcd_rst>;
90                 enable-gpios = <&gpio3 4 GPIO_ACTIVE_HIGH>;
91                 pwms = <&pwm5 0 500000 PWM_POLARITY_INVERTED>;
92                 power-supply = <&reg_lcd_pwr>;
93                 /*
94                  * a poor man's way to create a 1:1 relationship between
95                  * the PWM value and the actual duty cycle
96                  */
97                 brightness-levels = < 0  1  2  3  4  5  6  7  8  9
98                                      10 11 12 13 14 15 16 17 18 19
99                                      20 21 22 23 24 25 26 27 28 29
100                                      30 31 32 33 34 35 36 37 38 39
101                                      40 41 42 43 44 45 46 47 48 49
102                                      50 51 52 53 54 55 56 57 58 59
103                                      60 61 62 63 64 65 66 67 68 69
104                                      70 71 72 73 74 75 76 77 78 79
105                                      80 81 82 83 84 85 86 87 88 89
106                                      90 91 92 93 94 95 96 97 98 99
107                                     100>;
108                 default-brightness-level = <50>;
109         };
110
111         i2c_gpio: i2c-gpio {
112                 compatible = "i2c-gpio";
113                 #address-cells = <1>;
114                 #size-cells = <0>;
115                 pinctrl-names = "default";
116                 pinctrl-0 = <&pinctrl_i2c_gpio>;
117                 gpios = <
118                         &gpio5 1 GPIO_ACTIVE_HIGH /* SDA */
119                         &gpio5 0 GPIO_ACTIVE_HIGH /* SCL */
120                 >;
121                 clock-frequency = <400000>;
122                 status = "okay";
123
124                 ds1339: rtc@68 {
125                         compatible = "dallas,ds1339";
126                         reg = <0x68>;
127                         status = "disabled";
128                 };
129         };
130
131         leds {
132                 compatible = "gpio-leds";
133
134                 user_led: user {
135                         label = "Heartbeat";
136                         pinctrl-names = "default";
137                         pinctrl-0 = <&pinctrl_led>;
138                         gpios = <&gpio5 9 GPIO_ACTIVE_HIGH>;
139                         linux,default-trigger = "heartbeat";
140                 };
141         };
142
143         reg_3v3_etn: regulator-3v3etn {
144                 compatible = "regulator-fixed";
145                 regulator-name = "3V3_ETN";
146                 regulator-min-microvolt = <3300000>;
147                 regulator-max-microvolt = <3300000>;
148                 pinctrl-names = "default";
149                 pinctrl-0 = <&pinctrl_etnphy_power>;
150                 gpio = <&gpio5 7 GPIO_ACTIVE_HIGH>;
151                 enable-active-high;
152         };
153
154         reg_2v5: regulator-2v5 {
155                 compatible = "regulator-fixed";
156                 regulator-name = "2V5";
157                 regulator-min-microvolt = <2500000>;
158                 regulator-max-microvolt = <2500000>;
159                 regulator-always-on;
160         };
161
162         reg_3v3: regulator-3v3 {
163                 compatible = "regulator-fixed";
164                 regulator-name = "3V3";
165                 regulator-min-microvolt = <3300000>;
166                 regulator-max-microvolt = <3300000>;
167                 regulator-always-on;
168         };
169
170         reg_can_xcvr: regulator-canxcvr {
171                 compatible = "regulator-fixed";
172                 regulator-name = "CAN XCVR";
173                 regulator-min-microvolt = <3300000>;
174                 regulator-max-microvolt = <3300000>;
175                 pinctrl-names = "default";
176                 pinctrl-0 = <&pinctrl_flexcan_xcvr>;
177                 gpio = <&gpio3 5 GPIO_ACTIVE_LOW>;
178         };
179
180         reg_lcd_pwr: regulator-lcdpwr {
181                 compatible = "regulator-fixed";
182                 regulator-name = "LCD POWER";
183                 regulator-min-microvolt = <3300000>;
184                 regulator-max-microvolt = <3300000>;
185                 pinctrl-names = "default";
186                 pinctrl-0 = <&pinctrl_lcd_pwr>;
187                 gpio = <&gpio5 4 GPIO_ACTIVE_HIGH>;
188                 enable-active-high;
189                 regulator-boot-on;
190                 regulator-always-on;
191         };
192
193         reg_usbh1_vbus: regulator-usbh1vbus {
194                 compatible = "regulator-fixed";
195                 regulator-name = "usbh1_vbus";
196                 regulator-min-microvolt = <5000000>;
197                 regulator-max-microvolt = <5000000>;
198                 pinctrl-names = "default";
199                 pinctrl-0 = <&pinctrl_usbh1_vbus &pinctrl_usbh1_oc>;
200                 gpio = <&gpio1 2 GPIO_ACTIVE_HIGH>;
201                 enable-active-high;
202         };
203
204         reg_usbotg_vbus: regulator-usbotgvbus {
205                 compatible = "regulator-fixed";
206                 regulator-name = "usbotg_vbus";
207                 regulator-min-microvolt = <5000000>;
208                 regulator-max-microvolt = <5000000>;
209                 pinctrl-names = "default";
210                 pinctrl-0 = <&pinctrl_usbotg_vbus &pinctrl_usbotg_oc>;
211                 gpio = <&gpio1 26 GPIO_ACTIVE_HIGH>;
212                 enable-active-high;
213         };
214
215         spi_gpio: spi-gpio {
216                 #address-cells = <1>;
217                 #size-cells = <0>;
218                 compatible = "spi-gpio";
219                 pinctrl-names = "default";
220                 pinctrl-0 = <&pinctrl_spi_gpio>;
221                 gpio-mosi = <&gpio1 30 GPIO_ACTIVE_HIGH>;
222                 gpio-miso = <&gpio1 31 GPIO_ACTIVE_HIGH>;
223                 gpio-sck = <&gpio1 28 GPIO_ACTIVE_HIGH>;
224                 num-chipselects = <2>;
225                 cs-gpios = <
226                         &gpio1 29 GPIO_ACTIVE_HIGH
227                         &gpio1 10 GPIO_ACTIVE_HIGH
228                 >;
229                 status = "disabled";
230
231                 spi@0 {
232                         compatible = "spidev";
233                         reg = <0>;
234                         spi-max-frequency = <660000>;
235                 };
236
237                 spi@1 {
238                         compatible = "spidev";
239                         reg = <1>;
240                         spi-max-frequency = <660000>;
241                 };
242         };
243
244         sound {
245                 compatible = "karo,imx6ul-tx6ul-sgtl5000",
246                              "simple-audio-card";
247                 simple-audio-card,name = "imx6ul-tx6ul-sgtl5000-audio";
248                 simple-audio-card,format = "i2s";
249                 simple-audio-card,bitclock-master = <&codec_dai>;
250                 simple-audio-card,frame-master = <&codec_dai>;
251                 simple-audio-card,widgets =
252                         "Microphone", "Mic Jack",
253                         "Line", "Line In",
254                         "Line", "Line Out",
255                         "Headphone", "Headphone Jack";
256                 simple-audio-card,routing =
257                         "MIC_IN", "Mic Jack",
258                         "Mic Jack", "Mic Bias",
259                         "Headphone Jack", "HP_OUT";
260
261                 cpu_dai: simple-audio-card,cpu {
262                         sound-dai = <&sai2>;
263                 };
264
265                 codec_dai: simple-audio-card,codec {
266                         sound-dai = <&sgtl5000>;
267                 };
268         };
269 };
270
271 &can1 {
272         pinctrl-names = "default";
273         pinctrl-0 = <&pinctrl_flexcan1>;
274         xceiver-supply = <&reg_can_xcvr>;
275         status = "okay";
276 };
277
278 &can2 {
279         pinctrl-names = "default";
280         pinctrl-0 = <&pinctrl_flexcan2>;
281         xceiver-supply = <&reg_can_xcvr>;
282         status = "okay";
283 };
284
285 &ecspi2 {
286         pinctrl-names = "default";
287         pinctrl-0 = <&pinctrl_ecspi2>;
288         cs-gpios = <
289                 &gpio1 29 GPIO_ACTIVE_HIGH
290                 &gpio1 10 GPIO_ACTIVE_HIGH
291         >;
292         status = "disabled";
293
294         spidev0: spi@0 {
295                 compatible = "spidev";
296                 reg = <0>;
297                 spi-max-frequency = <60000000>;
298         };
299
300         spidev1: spi@1 {
301                 compatible = "spidev";
302                 reg = <1>;
303                 spi-max-frequency = <60000000>;
304         };
305 };
306
307 &fec1 {
308         pinctrl-names = "default";
309         pinctrl-0 = <&pinctrl_enet1 &pinctrl_enet1_mdio &pinctrl_etnphy0_rst>;
310         phy-mode = "rmii";
311         phy-reset-gpios = <&gpio5 6 GPIO_ACTIVE_LOW>;
312         phy-supply = <&reg_3v3_etn>;
313         phy-handle = <&etnphy0>;
314         status = "okay";
315
316         mdio {
317                 #address-cells = <1>;
318                 #size-cells = <0>;
319
320                 etnphy0: ethernet-phy@0 {
321                         compatible = "ethernet-phy-ieee802.3-c22";
322                         reg = <0>;
323                         pinctrl-names = "default";
324                         pinctrl-0 = <&pinctrl_etnphy0_int>;
325                         interrupt-parent = <&gpio5>;
326                         interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
327                         status = "okay";
328                 };
329
330                 etnphy1: ethernet-phy@2 {
331                         compatible = "ethernet-phy-ieee802.3-c22";
332                         reg = <2>;
333                         pinctrl-names = "default";
334                         pinctrl-0 = <&pinctrl_etnphy1_int>;
335                         interrupt-parent = <&gpio4>;
336                         interrupts = <27 IRQ_TYPE_EDGE_FALLING>;
337                         status = "okay";
338                 };
339         };
340 };
341
342 &fec2 {
343         pinctrl-names = "default";
344         pinctrl-0 = <&pinctrl_enet2 &pinctrl_etnphy1_rst>;
345         phy-mode = "rmii";
346         phy-reset-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>;
347         phy-supply = <&reg_3v3_etn>;
348         phy-handle = <&etnphy1>;
349         status = "disabled";
350 };
351
352 &gpmi {
353         pinctrl-names = "default";
354         pinctrl-0 = <&pinctrl_gpmi_nand>;
355         nand-on-flash-bbt;
356         fsl,no-blockmark-swap;
357         status = "okay";
358 };
359
360 &i2c2 {
361         pinctrl-names = "default";
362         pinctrl-0 = <&pinctrl_i2c2>;
363         clock-frequency = <400000>;
364         status = "okay";
365
366         sgtl5000: codec@a {
367                 compatible = "fsl,sgtl5000";
368                 reg = <0x0a>;
369                 #sound-dai-cells = <0>;
370                 VDDA-supply = <&reg_2v5>;
371                 VDDIO-supply = <&reg_3v3>;
372                 clocks = <&mclk>;
373         };
374
375         polytouch: polytouch@38 {
376                 compatible = "edt,edt-ft5x06";
377                 reg = <0x38>;
378                 pinctrl-names = "default";
379                 pinctrl-0 = <&pinctrl_edt_ft5x06>;
380                 interrupt-parent = <&gpio5>;
381                 interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
382                 reset-gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;
383                 wake-gpios = <&gpio5 8 GPIO_ACTIVE_HIGH>;
384                 wakeup-source;
385         };
386
387         touchscreen: touchscreen@48 {
388                 compatible = "ti,tsc2007";
389                 reg = <0x48>;
390                 pinctrl-names = "default";
391                 pinctrl-0 = <&pinctrl_tsc2007>;
392                 interrupt-parent = <&gpio3>;
393                 interrupts = <26 IRQ_TYPE_NONE>;
394                 gpios = <&gpio3 26 GPIO_ACTIVE_LOW>;
395                 ti,x-plate-ohms = <660>;
396                 wakeup-source;
397         };
398 };
399
400 &kpp {
401         pinctrl-names = "default";
402         pinctrl-0 = <&pinctrl_kpp>;
403         /* sample keymap */
404         /* row/col 0..3 are mapped to KPP row/col 4..7 */
405         linux,keymap = <
406                 MATRIX_KEY(4, 4, KEY_POWER)
407                 MATRIX_KEY(4, 5, KEY_KP0)
408                 MATRIX_KEY(4, 6, KEY_KP1)
409                 MATRIX_KEY(4, 7, KEY_KP2)
410                 MATRIX_KEY(5, 4, KEY_KP3)
411                 MATRIX_KEY(5, 5, KEY_KP4)
412                 MATRIX_KEY(5, 6, KEY_KP5)
413                 MATRIX_KEY(5, 7, KEY_KP6)
414                 MATRIX_KEY(6, 4, KEY_KP7)
415                 MATRIX_KEY(6, 5, KEY_KP8)
416                 MATRIX_KEY(6, 6, KEY_KP9)
417         >;
418         status = "okay";
419 };
420
421 &lcdif {
422         pinctrl-names = "default";
423         pinctrl-0 = <&pinctrl_disp0_1>;
424         lcd-supply = <&reg_lcd_pwr>;
425         display = <&display>;
426         status = "okay";
427
428         display: disp0 {
429                 bits-per-pixel = <32>;
430                 bus-width = <24>;
431                 status = "okay";
432
433                 display-timings {
434                         VGA {
435                                 clock-frequency = <25200000>;
436                                 hactive = <640>;
437                                 vactive = <480>;
438                                 hback-porch = <48>;
439                                 hsync-len = <96>;
440                                 hfront-porch = <16>;
441                                 vback-porch = <31>;
442                                 vsync-len = <2>;
443                                 vfront-porch = <12>;
444                                 hsync-active = <0>;
445                                 vsync-active = <0>;
446                                 de-active = <1>;
447                                 pixelclk-active = <1>;
448                         };
449
450                         ETV570 {
451                                 clock-frequency = <25200000>;
452                                 hactive = <640>;
453                                 vactive = <480>;
454                                 hback-porch = <114>;
455                                 hsync-len = <30>;
456                                 hfront-porch = <16>;
457                                 vback-porch = <32>;
458                                 vsync-len = <3>;
459                                 vfront-porch = <10>;
460                                 hsync-active = <0>;
461                                 vsync-active = <0>;
462                                 de-active = <1>;
463                                 pixelclk-active = <1>;
464                         };
465
466                         ET0350 {
467                                 clock-frequency = <6413760>;
468                                 hactive = <320>;
469                                 vactive = <240>;
470                                 hback-porch = <34>;
471                                 hsync-len = <34>;
472                                 hfront-porch = <20>;
473                                 vback-porch = <15>;
474                                 vsync-len = <3>;
475                                 vfront-porch = <4>;
476                                 hsync-active = <0>;
477                                 vsync-active = <0>;
478                                 de-active = <1>;
479                                 pixelclk-active = <1>;
480                         };
481
482                         ET0430 {
483                                 clock-frequency = <9009000>;
484                                 hactive = <480>;
485                                 vactive = <272>;
486                                 hback-porch = <2>;
487                                 hsync-len = <41>;
488                                 hfront-porch = <2>;
489                                 vback-porch = <2>;
490                                 vsync-len = <10>;
491                                 vfront-porch = <2>;
492                                 hsync-active = <0>;
493                                 vsync-active = <0>;
494                                 de-active = <1>;
495                                 pixelclk-active = <0>;
496                         };
497
498                         ET0500 {
499                                 clock-frequency = <33264000>;
500                                 hactive = <800>;
501                                 vactive = <480>;
502                                 hback-porch = <88>;
503                                 hsync-len = <128>;
504                                 hfront-porch = <40>;
505                                 vback-porch = <33>;
506                                 vsync-len = <2>;
507                                 vfront-porch = <10>;
508                                 hsync-active = <0>;
509                                 vsync-active = <0>;
510                                 de-active = <1>;
511                                 pixelclk-active = <1>;
512                         };
513
514                         ET0700 { /* same as ET0500 */
515                                 clock-frequency = <33264000>;
516                                 hactive = <800>;
517                                 vactive = <480>;
518                                 hback-porch = <88>;
519                                 hsync-len = <128>;
520                                 hfront-porch = <40>;
521                                 vback-porch = <33>;
522                                 vsync-len = <2>;
523                                 vfront-porch = <10>;
524                                 hsync-active = <0>;
525                                 vsync-active = <0>;
526                                 de-active = <1>;
527                                 pixelclk-active = <1>;
528                         };
529
530                         ETQ570 {
531                                 clock-frequency = <6596040>;
532                                 hactive = <320>;
533                                 vactive = <240>;
534                                 hback-porch = <38>;
535                                 hsync-len = <30>;
536                                 hfront-porch = <30>;
537                                 vback-porch = <16>;
538                                 vsync-len = <3>;
539                                 vfront-porch = <4>;
540                                 hsync-active = <0>;
541                                 vsync-active = <0>;
542                                 de-active = <1>;
543                                 pixelclk-active = <1>;
544                         };
545                 };
546         };
547 };
548
549 &pwm5 {
550         pinctrl-names = "default";
551         pinctrl-0 = <&pinctrl_pwm5>;
552         #pwm-cells = <3>;
553         status = "okay";
554 };
555
556 &sai2 {
557         pinctrl-names = "default";
558         pinctrl-0 = <&pinctrl_sai2>;
559         status = "okay";
560 };
561
562 &uart1 {
563         pinctrl-names = "default";
564         pinctrl-0 = <&pinctrl_uart1 &pinctrl_uart1_rtscts>;
565         uart-has-rtscts;
566         status = "okay";
567 };
568
569 &uart2 {
570         pinctrl-names = "default";
571         pinctrl-0 = <&pinctrl_uart2 &pinctrl_uart2_rtscts>;
572         uart-has-rtscts;
573         status = "okay";
574 };
575
576 &uart5 {
577         pinctrl-names = "default";
578         pinctrl-0 = <&pinctrl_uart5 &pinctrl_uart5_rtscts>;
579         uart-has-rtscts;
580         status = "okay";
581 };
582
583 &usbotg1 {
584         vbus-supply = <&reg_usbotg_vbus>;
585         dr_mode = "peripheral";
586         disable-over-current;
587         status = "okay";
588 };
589
590 &usbotg2 {
591         vbus-supply = <&reg_usbh1_vbus>;
592         dr_mode = "host";
593         disable-over-current;
594         status = "okay";
595 };
596
597 &usdhc1 {
598         pinctrl-names = "default";
599         pinctrl-0 = <&pinctrl_usdhc1 &pinctrl_usdhc1_cd>;
600         bus-width = <4>;
601         no-1-8-v;
602         cd-gpios = <&gpio4 14 GPIO_ACTIVE_LOW>;
603         fsl,wp-controller;
604         status = "okay";
605 };
606
607 &iomuxc {
608         pinctrl-names = "default";
609         pinctrl-0 = <&pinctrl_hog>;
610
611         pinctrl_hog: hoggrp {
612         };
613
614         pinctrl_led: ledgrp {
615                 fsl,pins = <
616                         MX6UL_PAD_SNVS_TAMPER9__GPIO5_IO09      0x0b0b0 /* LED */
617                 >;
618         };
619
620         pinctrl_disp0_1: disp0grp-1 {
621                 fsl,pins = <
622                         MX6UL_PAD_LCD_CLK__LCDIF_CLK            0x10 /* LSCLK */
623                         MX6UL_PAD_LCD_ENABLE__LCDIF_ENABLE      0x10 /* OE_ACD */
624                         MX6UL_PAD_LCD_HSYNC__LCDIF_HSYNC        0x10 /* HSYNC */
625                         MX6UL_PAD_LCD_VSYNC__LCDIF_VSYNC        0x10 /* VSYNC */
626                         /* PAD DISP0_DAT0 is used for the Flexcan transceiver control on STK5-v5 */
627                         MX6UL_PAD_LCD_DATA01__LCDIF_DATA01      0x10
628                         MX6UL_PAD_LCD_DATA02__LCDIF_DATA02      0x10
629                         MX6UL_PAD_LCD_DATA03__LCDIF_DATA03      0x10
630                         MX6UL_PAD_LCD_DATA04__LCDIF_DATA04      0x10
631                         MX6UL_PAD_LCD_DATA05__LCDIF_DATA05      0x10
632                         MX6UL_PAD_LCD_DATA06__LCDIF_DATA06      0x10
633                         MX6UL_PAD_LCD_DATA07__LCDIF_DATA07      0x10
634                         MX6UL_PAD_LCD_DATA08__LCDIF_DATA08      0x10
635                         MX6UL_PAD_LCD_DATA09__LCDIF_DATA09      0x10
636                         MX6UL_PAD_LCD_DATA10__LCDIF_DATA10      0x10
637                         MX6UL_PAD_LCD_DATA11__LCDIF_DATA11      0x10
638                         MX6UL_PAD_LCD_DATA12__LCDIF_DATA12      0x10
639                         MX6UL_PAD_LCD_DATA13__LCDIF_DATA13      0x10
640                         MX6UL_PAD_LCD_DATA14__LCDIF_DATA14      0x10
641                         MX6UL_PAD_LCD_DATA15__LCDIF_DATA15      0x10
642                         MX6UL_PAD_LCD_DATA16__LCDIF_DATA16      0x10
643                         MX6UL_PAD_LCD_DATA17__LCDIF_DATA17      0x10
644                         MX6UL_PAD_LCD_DATA18__LCDIF_DATA18      0x10
645                         MX6UL_PAD_LCD_DATA19__LCDIF_DATA19      0x10
646                         MX6UL_PAD_LCD_DATA20__LCDIF_DATA20      0x10
647                         MX6UL_PAD_LCD_DATA21__LCDIF_DATA21      0x10
648                         MX6UL_PAD_LCD_DATA22__LCDIF_DATA22      0x10
649                         MX6UL_PAD_LCD_DATA23__LCDIF_DATA23      0x10
650                 >;
651         };
652
653         pinctrl_disp0_2: disp0grp-2 {
654                 fsl,pins = <
655                         MX6UL_PAD_LCD_CLK__LCDIF_CLK            0x10 /* LSCLK */
656                         MX6UL_PAD_LCD_ENABLE__LCDIF_ENABLE      0x10 /* OE_ACD */
657                         MX6UL_PAD_LCD_HSYNC__LCDIF_HSYNC        0x10 /* HSYNC */
658                         MX6UL_PAD_LCD_VSYNC__LCDIF_VSYNC        0x10 /* VSYNC */
659                         MX6UL_PAD_LCD_DATA00__LCDIF_DATA00      0x10
660                         MX6UL_PAD_LCD_DATA01__LCDIF_DATA01      0x10
661                         MX6UL_PAD_LCD_DATA02__LCDIF_DATA02      0x10
662                         MX6UL_PAD_LCD_DATA03__LCDIF_DATA03      0x10
663                         MX6UL_PAD_LCD_DATA04__LCDIF_DATA04      0x10
664                         MX6UL_PAD_LCD_DATA05__LCDIF_DATA05      0x10
665                         MX6UL_PAD_LCD_DATA06__LCDIF_DATA06      0x10
666                         MX6UL_PAD_LCD_DATA07__LCDIF_DATA07      0x10
667                         MX6UL_PAD_LCD_DATA08__LCDIF_DATA08      0x10
668                         MX6UL_PAD_LCD_DATA09__LCDIF_DATA09      0x10
669                         MX6UL_PAD_LCD_DATA10__LCDIF_DATA10      0x10
670                         MX6UL_PAD_LCD_DATA11__LCDIF_DATA11      0x10
671                         MX6UL_PAD_LCD_DATA12__LCDIF_DATA12      0x10
672                         MX6UL_PAD_LCD_DATA13__LCDIF_DATA13      0x10
673                         MX6UL_PAD_LCD_DATA14__LCDIF_DATA14      0x10
674                         MX6UL_PAD_LCD_DATA15__LCDIF_DATA15      0x10
675                         MX6UL_PAD_LCD_DATA16__LCDIF_DATA16      0x10
676                         MX6UL_PAD_LCD_DATA17__LCDIF_DATA17      0x10
677                         MX6UL_PAD_LCD_DATA18__LCDIF_DATA18      0x10
678                         MX6UL_PAD_LCD_DATA19__LCDIF_DATA19      0x10
679                         MX6UL_PAD_LCD_DATA20__LCDIF_DATA20      0x10
680                         MX6UL_PAD_LCD_DATA21__LCDIF_DATA21      0x10
681                         MX6UL_PAD_LCD_DATA22__LCDIF_DATA22      0x10
682                         MX6UL_PAD_LCD_DATA23__LCDIF_DATA23      0x10
683                 >;
684         };
685
686         pinctrl_ecspi2: ecspi2grp {
687                 fsl,pins = <
688                         MX6UL_PAD_UART4_RX_DATA__GPIO1_IO29     0x0b0b0 /* CSPI_SS */
689                         MX6UL_PAD_JTAG_MOD__GPIO1_IO10          0x0b0b0 /* CSPI_SS */
690                         MX6UL_PAD_UART5_TX_DATA__ECSPI2_MOSI    0x0b0b0 /* CSPI_MOSI */
691                         MX6UL_PAD_UART5_RX_DATA__ECSPI2_MISO    0x0b0b0 /* CSPI_MISO */
692                         MX6UL_PAD_UART4_TX_DATA__ECSPI2_SCLK    0x0b0b0 /* CSPI_SCLK */
693                 >;
694         };
695
696         pinctrl_edt_ft5x06: edt-ft5x06grp {
697                 fsl,pins = <
698                         MX6UL_PAD_SNVS_TAMPER2__GPIO5_IO02      0x1b0b0 /* Interrupt */
699                         MX6UL_PAD_SNVS_TAMPER3__GPIO5_IO03      0x1b0b0 /* Reset */
700                         MX6UL_PAD_SNVS_TAMPER8__GPIO5_IO08      0x1b0b0 /* Wake */
701                 >;
702         };
703
704         pinctrl_enet1: enet1grp {
705                 fsl,pins = <
706                         MX6UL_PAD_ENET1_RX_DATA0__ENET1_RDATA00 0x000b0
707                         MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01 0x000b0
708                         MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN      0x000b0
709                         MX6UL_PAD_ENET1_RX_ER__ENET1_RX_ER      0x000b0
710                         MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN      0x000b0
711                         MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00 0x000b0
712                         MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01 0x000b0
713                         MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1  0x400000b1
714                 >;
715         };
716
717         pinctrl_enet2: enet2grp {
718                 fsl,pins = <
719                         MX6UL_PAD_ENET2_RX_DATA0__ENET2_RDATA00 0x000b0
720                         MX6UL_PAD_ENET2_RX_DATA1__ENET2_RDATA01 0x000b0
721                         MX6UL_PAD_ENET2_RX_EN__ENET2_RX_EN      0x000b0
722                         MX6UL_PAD_ENET2_RX_ER__ENET2_RX_ER      0x000b0
723                         MX6UL_PAD_ENET2_TX_EN__ENET2_TX_EN      0x000b0
724                         MX6UL_PAD_ENET2_TX_DATA0__ENET2_TDATA00 0x000b0
725                         MX6UL_PAD_ENET2_TX_DATA1__ENET2_TDATA01 0x000b0
726                         MX6UL_PAD_ENET2_TX_CLK__ENET2_REF_CLK2  0x400000b1
727                 >;
728         };
729
730         pinctrl_enet1_mdio: enet1-mdiogrp {
731                 fsl,pins = <
732                         MX6UL_PAD_GPIO1_IO07__ENET1_MDC         0x0b0b0
733                         MX6UL_PAD_GPIO1_IO06__ENET1_MDIO        0x1b0b0
734                 >;
735         };
736
737         pinctrl_etnphy_power: etnphy-pwrgrp {
738                 fsl,pins = <
739                         MX6UL_PAD_SNVS_TAMPER7__GPIO5_IO07      0x0b0b0 /* ETN PHY POWER */
740                 >;
741         };
742
743         pinctrl_etnphy0_int: etnphy-intgrp-0 {
744                 fsl,pins = <
745                         MX6UL_PAD_SNVS_TAMPER5__GPIO5_IO05      0x0b0b0 /* ETN PHY INT */
746                 >;
747         };
748
749         pinctrl_etnphy0_rst: etnphy-rstgrp-0 {
750                 fsl,pins = <
751                         MX6UL_PAD_SNVS_TAMPER6__GPIO5_IO06      0x0b0b0 /* ETN PHY RESET */
752                 >;
753         };
754
755         pinctrl_etnphy1_int: etnphy-intgrp-1 {
756                 fsl,pins = <
757                         MX6UL_PAD_CSI_DATA06__GPIO4_IO27        0x0b0b0 /* ETN PHY INT */
758                 >;
759         };
760
761         pinctrl_etnphy1_rst: etnphy-rstgrp-1 {
762                 fsl,pins = <
763                         MX6UL_PAD_CSI_DATA07__GPIO4_IO28        0x0b0b0 /* ETN PHY RESET */
764                 >;
765         };
766
767         pinctrl_flexcan1: flexcan1grp {
768                 fsl,pins = <
769                         MX6UL_PAD_UART3_CTS_B__FLEXCAN1_TX      0x0b0b0
770                         MX6UL_PAD_UART3_RTS_B__FLEXCAN1_RX      0x0b0b0
771                 >;
772         };
773
774         pinctrl_flexcan2: flexcan2grp {
775                 fsl,pins = <
776                         MX6UL_PAD_UART2_CTS_B__FLEXCAN2_TX      0x0b0b0
777                         MX6UL_PAD_UART2_RTS_B__FLEXCAN2_RX      0x0b0b0
778                 >;
779         };
780
781         pinctrl_flexcan_xcvr: flexcan-xcvrgrp {
782                 fsl,pins = <
783                         MX6UL_PAD_LCD_DATA00__GPIO3_IO05        0x0b0b0 /* Flexcan XCVR enable */
784                 >;
785         };
786
787         pinctrl_gpmi_nand: gpminandgrp {
788                 fsl,pins = <
789                         MX6UL_PAD_NAND_CLE__RAWNAND_CLE         0x0b0b1
790                         MX6UL_PAD_NAND_ALE__RAWNAND_ALE         0x0b0b1
791                         MX6UL_PAD_NAND_WP_B__RAWNAND_WP_B       0x0b0b1
792                         MX6UL_PAD_NAND_READY_B__RAWNAND_READY_B 0x0b000
793                         MX6UL_PAD_NAND_CE0_B__RAWNAND_CE0_B     0x0b0b1
794                         MX6UL_PAD_NAND_RE_B__RAWNAND_RE_B       0x0b0b1
795                         MX6UL_PAD_NAND_WE_B__RAWNAND_WE_B       0x0b0b1
796                         MX6UL_PAD_NAND_DATA00__RAWNAND_DATA00   0x0b0b1
797                         MX6UL_PAD_NAND_DATA01__RAWNAND_DATA01   0x0b0b1
798                         MX6UL_PAD_NAND_DATA02__RAWNAND_DATA02   0x0b0b1
799                         MX6UL_PAD_NAND_DATA03__RAWNAND_DATA03   0x0b0b1
800                         MX6UL_PAD_NAND_DATA04__RAWNAND_DATA04   0x0b0b1
801                         MX6UL_PAD_NAND_DATA05__RAWNAND_DATA05   0x0b0b1
802                         MX6UL_PAD_NAND_DATA06__RAWNAND_DATA06   0x0b0b1
803                         MX6UL_PAD_NAND_DATA07__RAWNAND_DATA07   0x0b0b1
804                 >;
805         };
806
807         pinctrl_i2c_gpio: i2c-gpiogrp {
808                 fsl,pins = <
809                         MX6UL_PAD_SNVS_TAMPER0__GPIO5_IO00      0x4001b8b1 /* I2C SCL */
810                         MX6UL_PAD_SNVS_TAMPER1__GPIO5_IO01      0x4001b8b1 /* I2C SDA */
811                 >;
812         };
813
814         pinctrl_i2c2: i2c2grp {
815                 fsl,pins = <
816                         MX6UL_PAD_GPIO1_IO00__I2C2_SCL          0x4001b8b1
817                         MX6UL_PAD_GPIO1_IO01__I2C2_SDA          0x4001b8b1
818                 >;
819         };
820
821         pinctrl_kpp: kppgrp {
822                 fsl,pins = <
823                         MX6UL_PAD_ENET2_RX_DATA1__KPP_COL04     0x1b0b0
824                         MX6UL_PAD_ENET2_TX_DATA0__KPP_COL05     0x1b0b0
825                         MX6UL_PAD_ENET2_TX_EN__KPP_COL06        0x1b0b0
826                         MX6UL_PAD_ENET2_RX_ER__KPP_COL07        0x1b0b0
827                         MX6UL_PAD_ENET2_RX_DATA0__KPP_ROW04     0x1b0b0
828                         MX6UL_PAD_ENET2_RX_EN__KPP_ROW05        0x1b0b0
829                         MX6UL_PAD_ENET2_TX_DATA1__KPP_ROW06     0x1b0b0
830                         MX6UL_PAD_ENET2_TX_CLK__KPP_ROW07       0x1b0b0
831                 >;
832         };
833
834         pinctrl_lcd_pwr: lcd-pwrgrp {
835                 fsl,pins = <
836                         MX6UL_PAD_SNVS_TAMPER4__GPIO5_IO04      0x0b0b0 /* LCD Power Enable */
837                 >;
838         };
839
840         pinctrl_lcd_rst: lcd-rstgrp {
841                 fsl,pins = <
842                         MX6UL_PAD_LCD_RESET__GPIO3_IO04 0x0b0b0 /* LCD Reset */
843                 >;
844         };
845
846         pinctrl_pwm5: pwm5grp {
847                 fsl,pins = <
848                         MX6UL_PAD_NAND_DQS__PWM5_OUT            0x0b0b0
849                 >;
850         };
851
852         pinctrl_sai2: sai2grp {
853                 fsl,pins = <
854                         MX6UL_PAD_JTAG_TCK__SAI2_RX_DATA        0x0b0b0 /* SSI1_RXD */
855                         MX6UL_PAD_JTAG_TRST_B__SAI2_TX_DATA     0x0b0b0 /* SSI1_TXD */
856                         MX6UL_PAD_JTAG_TDI__SAI2_TX_BCLK        0x0b0b0 /* SSI1_CLK */
857                         MX6UL_PAD_JTAG_TDO__SAI2_TX_SYNC        0x0b0b0 /* SSI1_FS */
858                 >;
859         };
860
861         pinctrl_spi_gpio: spi-gpiogrp {
862                 fsl,pins = <
863                         MX6UL_PAD_UART4_RX_DATA__GPIO1_IO29     0x0b0b0 /* CSPI_SS */
864                         MX6UL_PAD_JTAG_MOD__GPIO1_IO10          0x0b0b0 /* CSPI_SS */
865                         MX6UL_PAD_UART5_TX_DATA__GPIO1_IO30     0x0b0b0 /* CSPI_MOSI */
866                         MX6UL_PAD_UART5_RX_DATA__GPIO1_IO31     0x0b0b0 /* CSPI_MISO */
867                         MX6UL_PAD_UART4_TX_DATA__GPIO1_IO28     0x0b0b0 /* CSPI_SCLK */
868                 >;
869         };
870
871         pinctrl_tsc2007: tsc2007grp {
872                 fsl,pins = <
873                         MX6UL_PAD_JTAG_TMS__GPIO1_IO11          0x1b0b0 /* Interrupt */
874                 >;
875         };
876
877         pinctrl_uart1: uart1grp {
878                 fsl,pins = <
879                         MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX   0x0b0b0
880                         MX6UL_PAD_UART1_RX_DATA__UART1_DCE_RX   0x0b0b0
881                 >;
882         };
883
884         pinctrl_uart1_rtscts: uart1-rtsctsgrp {
885                 fsl,pins = <
886                         MX6UL_PAD_UART1_RTS_B__UART1_DCE_RTS    0x0b0b0
887                         MX6UL_PAD_UART1_CTS_B__UART1_DCE_CTS    0x0b0b0
888                 >;
889         };
890
891         pinctrl_uart2: uart2grp {
892                 fsl,pins = <
893                         MX6UL_PAD_UART2_TX_DATA__UART2_DCE_TX   0x0b0b0
894                         MX6UL_PAD_UART2_RX_DATA__UART2_DCE_RX   0x0b0b0
895                 >;
896         };
897
898         pinctrl_uart2_rtscts: uart2-rtsctsgrp {
899                 fsl,pins = <
900                         MX6UL_PAD_UART3_RX_DATA__UART2_DCE_RTS  0x0b0b0
901                         MX6UL_PAD_UART3_TX_DATA__UART2_DCE_CTS  0x0b0b0
902                 >;
903         };
904
905         pinctrl_uart5: uart5grp {
906                 fsl,pins = <
907                         MX6UL_PAD_GPIO1_IO04__UART5_DCE_TX      0x0b0b0
908                         MX6UL_PAD_GPIO1_IO05__UART5_DCE_RX      0x0b0b0
909                 >;
910         };
911
912         pinctrl_uart5_rtscts: uart5-rtsctsgrp {
913                 fsl,pins = <
914                         MX6UL_PAD_GPIO1_IO08__UART5_DCE_RTS     0x0b0b0
915                         MX6UL_PAD_GPIO1_IO09__UART5_DCE_CTS     0x0b0b0
916                 >;
917         };
918
919         pinctrl_usbh1_oc: usbh1-ocgrp {
920                 fsl,pins = <
921                         MX6UL_PAD_GPIO1_IO03__GPIO1_IO03        0x17059 /* USBH1_OC */
922                 >;
923         };
924
925         pinctrl_usbh1_vbus: usbh1-vbusgrp {
926                 fsl,pins = <
927                         MX6UL_PAD_GPIO1_IO02__GPIO1_IO02        0x0b0b0 /* USBH1_VBUSEN */
928                 >;
929         };
930
931         pinctrl_usbotg_oc: usbotg-ocgrp {
932                 fsl,pins = <
933                         MX6UL_PAD_UART3_RTS_B__GPIO1_IO27       0x17059 /* USBOTG_OC */
934                 >;
935         };
936
937         pinctrl_usbotg_vbus: usbotg-vbusgrp {
938                 fsl,pins = <
939                         MX6UL_PAD_UART3_CTS_B__GPIO1_IO26       0x1b0b0 /* USBOTG_VBUSEN */
940                 >;
941         };
942
943         pinctrl_usdhc1: usdhc1grp {
944                 fsl,pins = <
945                         MX6UL_PAD_SD1_CMD__USDHC1_CMD           0x070b1
946                         MX6UL_PAD_SD1_CLK__USDHC1_CLK           0x07099
947                         MX6UL_PAD_SD1_DATA0__USDHC1_DATA0       0x070b1
948                         MX6UL_PAD_SD1_DATA1__USDHC1_DATA1       0x070b1
949                         MX6UL_PAD_SD1_DATA2__USDHC1_DATA2       0x070b1
950                         MX6UL_PAD_SD1_DATA3__USDHC1_DATA3       0x070b1
951                 >;
952         };
953
954         pinctrl_usdhc1_cd: usdhc1cdgrp {
955                 fsl,pins = <
956                         MX6UL_PAD_NAND_CE1_B__GPIO4_IO14        0x170b0 /* SD1 CD */
957                 >;
958         };
959
960         pinctrl_usdhc2: usdhc2grp {
961                 fsl,pins = <
962                         MX6UL_PAD_NAND_WE_B__USDHC2_CMD         0x070b1
963                         MX6UL_PAD_NAND_RE_B__USDHC2_CLK         0x070b1
964                         MX6UL_PAD_NAND_DATA00__USDHC2_DATA0     0x070b1
965                         MX6UL_PAD_NAND_DATA01__USDHC2_DATA1     0x070b1
966                         MX6UL_PAD_NAND_DATA02__USDHC2_DATA2     0x070b1
967                         MX6UL_PAD_NAND_DATA03__USDHC2_DATA3     0x070b1
968                         /* eMMC RESET */
969                         MX6UL_PAD_NAND_ALE__USDHC2_RESET_B      0x170b0
970                 >;
971         };
972 };