GNU Linux-libre 6.1.90-gnu
[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: 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 {
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
232         sound {
233                 compatible = "karo,imx6ul-tx6ul-sgtl5000",
234                              "simple-audio-card";
235                 simple-audio-card,name = "imx6ul-tx6ul-sgtl5000-audio";
236                 simple-audio-card,format = "i2s";
237                 simple-audio-card,bitclock-master = <&codec_dai>;
238                 simple-audio-card,frame-master = <&codec_dai>;
239                 simple-audio-card,widgets =
240                         "Microphone", "Mic Jack",
241                         "Line", "Line In",
242                         "Line", "Line Out",
243                         "Headphone", "Headphone Jack";
244                 simple-audio-card,routing =
245                         "MIC_IN", "Mic Jack",
246                         "Mic Jack", "Mic Bias",
247                         "Headphone Jack", "HP_OUT";
248
249                 cpu_dai: simple-audio-card,cpu {
250                         sound-dai = <&sai2>;
251                 };
252
253                 codec_dai: simple-audio-card,codec {
254                         sound-dai = <&sgtl5000>;
255                 };
256         };
257 };
258
259 &can1 {
260         pinctrl-names = "default";
261         pinctrl-0 = <&pinctrl_flexcan1>;
262         xceiver-supply = <&reg_can_xcvr>;
263         status = "okay";
264 };
265
266 &can2 {
267         pinctrl-names = "default";
268         pinctrl-0 = <&pinctrl_flexcan2>;
269         xceiver-supply = <&reg_can_xcvr>;
270         status = "okay";
271 };
272
273 &ecspi2 {
274         pinctrl-names = "default";
275         pinctrl-0 = <&pinctrl_ecspi2>;
276         cs-gpios = <
277                 &gpio1 29 GPIO_ACTIVE_HIGH
278                 &gpio1 10 GPIO_ACTIVE_HIGH
279         >;
280         status = "disabled";
281 };
282
283 &fec1 {
284         pinctrl-names = "default";
285         pinctrl-0 = <&pinctrl_enet1 &pinctrl_enet1_mdio &pinctrl_etnphy0_rst>;
286         phy-mode = "rmii";
287         phy-reset-gpios = <&gpio5 6 GPIO_ACTIVE_LOW>;
288         phy-supply = <&reg_3v3_etn>;
289         phy-handle = <&etnphy0>;
290         status = "okay";
291
292         mdio {
293                 #address-cells = <1>;
294                 #size-cells = <0>;
295
296                 etnphy0: ethernet-phy@0 {
297                         compatible = "ethernet-phy-ieee802.3-c22";
298                         reg = <0>;
299                         pinctrl-names = "default";
300                         pinctrl-0 = <&pinctrl_etnphy0_int>;
301                         interrupt-parent = <&gpio5>;
302                         interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
303                         status = "okay";
304                 };
305
306                 etnphy1: ethernet-phy@2 {
307                         compatible = "ethernet-phy-ieee802.3-c22";
308                         reg = <2>;
309                         pinctrl-names = "default";
310                         pinctrl-0 = <&pinctrl_etnphy1_int>;
311                         interrupt-parent = <&gpio4>;
312                         interrupts = <27 IRQ_TYPE_EDGE_FALLING>;
313                         status = "okay";
314                 };
315         };
316 };
317
318 &fec2 {
319         pinctrl-names = "default";
320         pinctrl-0 = <&pinctrl_enet2 &pinctrl_etnphy1_rst>;
321         phy-mode = "rmii";
322         phy-reset-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>;
323         phy-supply = <&reg_3v3_etn>;
324         phy-handle = <&etnphy1>;
325         status = "disabled";
326 };
327
328 &gpmi {
329         pinctrl-names = "default";
330         pinctrl-0 = <&pinctrl_gpmi_nand>;
331         nand-on-flash-bbt;
332         fsl,no-blockmark-swap;
333         status = "okay";
334 };
335
336 &i2c2 {
337         pinctrl-names = "default";
338         pinctrl-0 = <&pinctrl_i2c2>;
339         clock-frequency = <400000>;
340         status = "okay";
341
342         sgtl5000: codec@a {
343                 compatible = "fsl,sgtl5000";
344                 reg = <0x0a>;
345                 #sound-dai-cells = <0>;
346                 VDDA-supply = <&reg_2v5>;
347                 VDDIO-supply = <&reg_3v3>;
348                 clocks = <&mclk>;
349         };
350
351         polytouch: polytouch@38 {
352                 compatible = "edt,edt-ft5x06";
353                 reg = <0x38>;
354                 pinctrl-names = "default";
355                 pinctrl-0 = <&pinctrl_edt_ft5x06>;
356                 interrupt-parent = <&gpio5>;
357                 interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
358                 reset-gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;
359                 wake-gpios = <&gpio5 8 GPIO_ACTIVE_HIGH>;
360                 wakeup-source;
361         };
362
363         touchscreen: touchscreen@48 {
364                 compatible = "ti,tsc2007";
365                 reg = <0x48>;
366                 pinctrl-names = "default";
367                 pinctrl-0 = <&pinctrl_tsc2007>;
368                 interrupt-parent = <&gpio3>;
369                 interrupts = <26 IRQ_TYPE_NONE>;
370                 gpios = <&gpio3 26 GPIO_ACTIVE_LOW>;
371                 ti,x-plate-ohms = <660>;
372                 wakeup-source;
373         };
374 };
375
376 &kpp {
377         pinctrl-names = "default";
378         pinctrl-0 = <&pinctrl_kpp>;
379         /* sample keymap */
380         /* row/col 0..3 are mapped to KPP row/col 4..7 */
381         linux,keymap = <
382                 MATRIX_KEY(4, 4, KEY_POWER)
383                 MATRIX_KEY(4, 5, KEY_KP0)
384                 MATRIX_KEY(4, 6, KEY_KP1)
385                 MATRIX_KEY(4, 7, KEY_KP2)
386                 MATRIX_KEY(5, 4, KEY_KP3)
387                 MATRIX_KEY(5, 5, KEY_KP4)
388                 MATRIX_KEY(5, 6, KEY_KP5)
389                 MATRIX_KEY(5, 7, KEY_KP6)
390                 MATRIX_KEY(6, 4, KEY_KP7)
391                 MATRIX_KEY(6, 5, KEY_KP8)
392                 MATRIX_KEY(6, 6, KEY_KP9)
393         >;
394         status = "okay";
395 };
396
397 &lcdif {
398         pinctrl-names = "default";
399         pinctrl-0 = <&pinctrl_disp0_1>;
400         lcd-supply = <&reg_lcd_pwr>;
401         display = <&display>;
402         status = "okay";
403
404         display: disp0 {
405                 bits-per-pixel = <32>;
406                 bus-width = <24>;
407                 status = "okay";
408
409                 display-timings {
410                         VGA {
411                                 clock-frequency = <25200000>;
412                                 hactive = <640>;
413                                 vactive = <480>;
414                                 hback-porch = <48>;
415                                 hsync-len = <96>;
416                                 hfront-porch = <16>;
417                                 vback-porch = <31>;
418                                 vsync-len = <2>;
419                                 vfront-porch = <12>;
420                                 hsync-active = <0>;
421                                 vsync-active = <0>;
422                                 de-active = <1>;
423                                 pixelclk-active = <1>;
424                         };
425
426                         ETV570 {
427                                 clock-frequency = <25200000>;
428                                 hactive = <640>;
429                                 vactive = <480>;
430                                 hback-porch = <114>;
431                                 hsync-len = <30>;
432                                 hfront-porch = <16>;
433                                 vback-porch = <32>;
434                                 vsync-len = <3>;
435                                 vfront-porch = <10>;
436                                 hsync-active = <0>;
437                                 vsync-active = <0>;
438                                 de-active = <1>;
439                                 pixelclk-active = <1>;
440                         };
441
442                         ET0350 {
443                                 clock-frequency = <6413760>;
444                                 hactive = <320>;
445                                 vactive = <240>;
446                                 hback-porch = <34>;
447                                 hsync-len = <34>;
448                                 hfront-porch = <20>;
449                                 vback-porch = <15>;
450                                 vsync-len = <3>;
451                                 vfront-porch = <4>;
452                                 hsync-active = <0>;
453                                 vsync-active = <0>;
454                                 de-active = <1>;
455                                 pixelclk-active = <1>;
456                         };
457
458                         ET0430 {
459                                 clock-frequency = <9009000>;
460                                 hactive = <480>;
461                                 vactive = <272>;
462                                 hback-porch = <2>;
463                                 hsync-len = <41>;
464                                 hfront-porch = <2>;
465                                 vback-porch = <2>;
466                                 vsync-len = <10>;
467                                 vfront-porch = <2>;
468                                 hsync-active = <0>;
469                                 vsync-active = <0>;
470                                 de-active = <1>;
471                                 pixelclk-active = <0>;
472                         };
473
474                         ET0500 {
475                                 clock-frequency = <33264000>;
476                                 hactive = <800>;
477                                 vactive = <480>;
478                                 hback-porch = <88>;
479                                 hsync-len = <128>;
480                                 hfront-porch = <40>;
481                                 vback-porch = <33>;
482                                 vsync-len = <2>;
483                                 vfront-porch = <10>;
484                                 hsync-active = <0>;
485                                 vsync-active = <0>;
486                                 de-active = <1>;
487                                 pixelclk-active = <1>;
488                         };
489
490                         ET0700 { /* same as ET0500 */
491                                 clock-frequency = <33264000>;
492                                 hactive = <800>;
493                                 vactive = <480>;
494                                 hback-porch = <88>;
495                                 hsync-len = <128>;
496                                 hfront-porch = <40>;
497                                 vback-porch = <33>;
498                                 vsync-len = <2>;
499                                 vfront-porch = <10>;
500                                 hsync-active = <0>;
501                                 vsync-active = <0>;
502                                 de-active = <1>;
503                                 pixelclk-active = <1>;
504                         };
505
506                         ETQ570 {
507                                 clock-frequency = <6596040>;
508                                 hactive = <320>;
509                                 vactive = <240>;
510                                 hback-porch = <38>;
511                                 hsync-len = <30>;
512                                 hfront-porch = <30>;
513                                 vback-porch = <16>;
514                                 vsync-len = <3>;
515                                 vfront-porch = <4>;
516                                 hsync-active = <0>;
517                                 vsync-active = <0>;
518                                 de-active = <1>;
519                                 pixelclk-active = <1>;
520                         };
521                 };
522         };
523 };
524
525 &pwm5 {
526         pinctrl-names = "default";
527         pinctrl-0 = <&pinctrl_pwm5>;
528         status = "okay";
529 };
530
531 &sai2 {
532         pinctrl-names = "default";
533         pinctrl-0 = <&pinctrl_sai2>;
534         status = "okay";
535 };
536
537 &uart1 {
538         pinctrl-names = "default";
539         pinctrl-0 = <&pinctrl_uart1 &pinctrl_uart1_rtscts>;
540         uart-has-rtscts;
541         status = "okay";
542 };
543
544 &uart2 {
545         pinctrl-names = "default";
546         pinctrl-0 = <&pinctrl_uart2 &pinctrl_uart2_rtscts>;
547         uart-has-rtscts;
548         status = "okay";
549 };
550
551 &uart5 {
552         pinctrl-names = "default";
553         pinctrl-0 = <&pinctrl_uart5 &pinctrl_uart5_rtscts>;
554         uart-has-rtscts;
555         status = "okay";
556 };
557
558 &usbotg1 {
559         vbus-supply = <&reg_usbotg_vbus>;
560         dr_mode = "peripheral";
561         disable-over-current;
562         status = "okay";
563 };
564
565 &usbotg2 {
566         vbus-supply = <&reg_usbh1_vbus>;
567         dr_mode = "host";
568         disable-over-current;
569         status = "okay";
570 };
571
572 &usdhc1 {
573         pinctrl-names = "default";
574         pinctrl-0 = <&pinctrl_usdhc1 &pinctrl_usdhc1_cd>;
575         bus-width = <4>;
576         no-1-8-v;
577         cd-gpios = <&gpio4 14 GPIO_ACTIVE_LOW>;
578         fsl,wp-controller;
579         status = "okay";
580 };
581
582 &iomuxc {
583         pinctrl-names = "default";
584         pinctrl-0 = <&pinctrl_hog>;
585
586         pinctrl_hog: hoggrp {
587         };
588
589         pinctrl_led: ledgrp {
590                 fsl,pins = <
591                         MX6UL_PAD_SNVS_TAMPER9__GPIO5_IO09      0x0b0b0 /* LED */
592                 >;
593         };
594
595         pinctrl_disp0_1: disp0grp-1 {
596                 fsl,pins = <
597                         MX6UL_PAD_LCD_CLK__LCDIF_CLK            0x10 /* LSCLK */
598                         MX6UL_PAD_LCD_ENABLE__LCDIF_ENABLE      0x10 /* OE_ACD */
599                         MX6UL_PAD_LCD_HSYNC__LCDIF_HSYNC        0x10 /* HSYNC */
600                         MX6UL_PAD_LCD_VSYNC__LCDIF_VSYNC        0x10 /* VSYNC */
601                         /* PAD DISP0_DAT0 is used for the Flexcan transceiver control on STK5-v5 */
602                         MX6UL_PAD_LCD_DATA01__LCDIF_DATA01      0x10
603                         MX6UL_PAD_LCD_DATA02__LCDIF_DATA02      0x10
604                         MX6UL_PAD_LCD_DATA03__LCDIF_DATA03      0x10
605                         MX6UL_PAD_LCD_DATA04__LCDIF_DATA04      0x10
606                         MX6UL_PAD_LCD_DATA05__LCDIF_DATA05      0x10
607                         MX6UL_PAD_LCD_DATA06__LCDIF_DATA06      0x10
608                         MX6UL_PAD_LCD_DATA07__LCDIF_DATA07      0x10
609                         MX6UL_PAD_LCD_DATA08__LCDIF_DATA08      0x10
610                         MX6UL_PAD_LCD_DATA09__LCDIF_DATA09      0x10
611                         MX6UL_PAD_LCD_DATA10__LCDIF_DATA10      0x10
612                         MX6UL_PAD_LCD_DATA11__LCDIF_DATA11      0x10
613                         MX6UL_PAD_LCD_DATA12__LCDIF_DATA12      0x10
614                         MX6UL_PAD_LCD_DATA13__LCDIF_DATA13      0x10
615                         MX6UL_PAD_LCD_DATA14__LCDIF_DATA14      0x10
616                         MX6UL_PAD_LCD_DATA15__LCDIF_DATA15      0x10
617                         MX6UL_PAD_LCD_DATA16__LCDIF_DATA16      0x10
618                         MX6UL_PAD_LCD_DATA17__LCDIF_DATA17      0x10
619                         MX6UL_PAD_LCD_DATA18__LCDIF_DATA18      0x10
620                         MX6UL_PAD_LCD_DATA19__LCDIF_DATA19      0x10
621                         MX6UL_PAD_LCD_DATA20__LCDIF_DATA20      0x10
622                         MX6UL_PAD_LCD_DATA21__LCDIF_DATA21      0x10
623                         MX6UL_PAD_LCD_DATA22__LCDIF_DATA22      0x10
624                         MX6UL_PAD_LCD_DATA23__LCDIF_DATA23      0x10
625                 >;
626         };
627
628         pinctrl_disp0_2: disp0grp-2 {
629                 fsl,pins = <
630                         MX6UL_PAD_LCD_CLK__LCDIF_CLK            0x10 /* LSCLK */
631                         MX6UL_PAD_LCD_ENABLE__LCDIF_ENABLE      0x10 /* OE_ACD */
632                         MX6UL_PAD_LCD_HSYNC__LCDIF_HSYNC        0x10 /* HSYNC */
633                         MX6UL_PAD_LCD_VSYNC__LCDIF_VSYNC        0x10 /* VSYNC */
634                         MX6UL_PAD_LCD_DATA00__LCDIF_DATA00      0x10
635                         MX6UL_PAD_LCD_DATA01__LCDIF_DATA01      0x10
636                         MX6UL_PAD_LCD_DATA02__LCDIF_DATA02      0x10
637                         MX6UL_PAD_LCD_DATA03__LCDIF_DATA03      0x10
638                         MX6UL_PAD_LCD_DATA04__LCDIF_DATA04      0x10
639                         MX6UL_PAD_LCD_DATA05__LCDIF_DATA05      0x10
640                         MX6UL_PAD_LCD_DATA06__LCDIF_DATA06      0x10
641                         MX6UL_PAD_LCD_DATA07__LCDIF_DATA07      0x10
642                         MX6UL_PAD_LCD_DATA08__LCDIF_DATA08      0x10
643                         MX6UL_PAD_LCD_DATA09__LCDIF_DATA09      0x10
644                         MX6UL_PAD_LCD_DATA10__LCDIF_DATA10      0x10
645                         MX6UL_PAD_LCD_DATA11__LCDIF_DATA11      0x10
646                         MX6UL_PAD_LCD_DATA12__LCDIF_DATA12      0x10
647                         MX6UL_PAD_LCD_DATA13__LCDIF_DATA13      0x10
648                         MX6UL_PAD_LCD_DATA14__LCDIF_DATA14      0x10
649                         MX6UL_PAD_LCD_DATA15__LCDIF_DATA15      0x10
650                         MX6UL_PAD_LCD_DATA16__LCDIF_DATA16      0x10
651                         MX6UL_PAD_LCD_DATA17__LCDIF_DATA17      0x10
652                         MX6UL_PAD_LCD_DATA18__LCDIF_DATA18      0x10
653                         MX6UL_PAD_LCD_DATA19__LCDIF_DATA19      0x10
654                         MX6UL_PAD_LCD_DATA20__LCDIF_DATA20      0x10
655                         MX6UL_PAD_LCD_DATA21__LCDIF_DATA21      0x10
656                         MX6UL_PAD_LCD_DATA22__LCDIF_DATA22      0x10
657                         MX6UL_PAD_LCD_DATA23__LCDIF_DATA23      0x10
658                 >;
659         };
660
661         pinctrl_ecspi2: ecspi2grp {
662                 fsl,pins = <
663                         MX6UL_PAD_UART4_RX_DATA__GPIO1_IO29     0x0b0b0 /* CSPI_SS */
664                         MX6UL_PAD_JTAG_MOD__GPIO1_IO10          0x0b0b0 /* CSPI_SS */
665                         MX6UL_PAD_UART5_TX_DATA__ECSPI2_MOSI    0x0b0b0 /* CSPI_MOSI */
666                         MX6UL_PAD_UART5_RX_DATA__ECSPI2_MISO    0x0b0b0 /* CSPI_MISO */
667                         MX6UL_PAD_UART4_TX_DATA__ECSPI2_SCLK    0x0b0b0 /* CSPI_SCLK */
668                 >;
669         };
670
671         pinctrl_edt_ft5x06: edt-ft5x06grp {
672                 fsl,pins = <
673                         MX6UL_PAD_SNVS_TAMPER2__GPIO5_IO02      0x1b0b0 /* Interrupt */
674                         MX6UL_PAD_SNVS_TAMPER3__GPIO5_IO03      0x1b0b0 /* Reset */
675                         MX6UL_PAD_SNVS_TAMPER8__GPIO5_IO08      0x1b0b0 /* Wake */
676                 >;
677         };
678
679         pinctrl_enet1: enet1grp {
680                 fsl,pins = <
681                         MX6UL_PAD_ENET1_RX_DATA0__ENET1_RDATA00 0x000b0
682                         MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01 0x000b0
683                         MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN      0x000b0
684                         MX6UL_PAD_ENET1_RX_ER__ENET1_RX_ER      0x000b0
685                         MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN      0x000b0
686                         MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00 0x000b0
687                         MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01 0x000b0
688                         MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1  0x400000b1
689                 >;
690         };
691
692         pinctrl_enet2: enet2grp {
693                 fsl,pins = <
694                         MX6UL_PAD_ENET2_RX_DATA0__ENET2_RDATA00 0x000b0
695                         MX6UL_PAD_ENET2_RX_DATA1__ENET2_RDATA01 0x000b0
696                         MX6UL_PAD_ENET2_RX_EN__ENET2_RX_EN      0x000b0
697                         MX6UL_PAD_ENET2_RX_ER__ENET2_RX_ER      0x000b0
698                         MX6UL_PAD_ENET2_TX_EN__ENET2_TX_EN      0x000b0
699                         MX6UL_PAD_ENET2_TX_DATA0__ENET2_TDATA00 0x000b0
700                         MX6UL_PAD_ENET2_TX_DATA1__ENET2_TDATA01 0x000b0
701                         MX6UL_PAD_ENET2_TX_CLK__ENET2_REF_CLK2  0x400000b1
702                 >;
703         };
704
705         pinctrl_enet1_mdio: enet1-mdiogrp {
706                 fsl,pins = <
707                         MX6UL_PAD_GPIO1_IO07__ENET1_MDC         0x0b0b0
708                         MX6UL_PAD_GPIO1_IO06__ENET1_MDIO        0x1b0b0
709                 >;
710         };
711
712         pinctrl_etnphy_power: etnphy-pwrgrp {
713                 fsl,pins = <
714                         MX6UL_PAD_SNVS_TAMPER7__GPIO5_IO07      0x0b0b0 /* ETN PHY POWER */
715                 >;
716         };
717
718         pinctrl_etnphy0_int: etnphy-intgrp-0 {
719                 fsl,pins = <
720                         MX6UL_PAD_SNVS_TAMPER5__GPIO5_IO05      0x0b0b0 /* ETN PHY INT */
721                 >;
722         };
723
724         pinctrl_etnphy0_rst: etnphy-rstgrp-0 {
725                 fsl,pins = <
726                         MX6UL_PAD_SNVS_TAMPER6__GPIO5_IO06      0x0b0b0 /* ETN PHY RESET */
727                 >;
728         };
729
730         pinctrl_etnphy1_int: etnphy-intgrp-1 {
731                 fsl,pins = <
732                         MX6UL_PAD_CSI_DATA06__GPIO4_IO27        0x0b0b0 /* ETN PHY INT */
733                 >;
734         };
735
736         pinctrl_etnphy1_rst: etnphy-rstgrp-1 {
737                 fsl,pins = <
738                         MX6UL_PAD_CSI_DATA07__GPIO4_IO28        0x0b0b0 /* ETN PHY RESET */
739                 >;
740         };
741
742         pinctrl_flexcan1: flexcan1grp {
743                 fsl,pins = <
744                         MX6UL_PAD_UART3_CTS_B__FLEXCAN1_TX      0x0b0b0
745                         MX6UL_PAD_UART3_RTS_B__FLEXCAN1_RX      0x0b0b0
746                 >;
747         };
748
749         pinctrl_flexcan2: flexcan2grp {
750                 fsl,pins = <
751                         MX6UL_PAD_UART2_CTS_B__FLEXCAN2_TX      0x0b0b0
752                         MX6UL_PAD_UART2_RTS_B__FLEXCAN2_RX      0x0b0b0
753                 >;
754         };
755
756         pinctrl_flexcan_xcvr: flexcan-xcvrgrp {
757                 fsl,pins = <
758                         MX6UL_PAD_LCD_DATA00__GPIO3_IO05        0x0b0b0 /* Flexcan XCVR enable */
759                 >;
760         };
761
762         pinctrl_gpmi_nand: gpminandgrp {
763                 fsl,pins = <
764                         MX6UL_PAD_NAND_CLE__RAWNAND_CLE         0x0b0b1
765                         MX6UL_PAD_NAND_ALE__RAWNAND_ALE         0x0b0b1
766                         MX6UL_PAD_NAND_WP_B__RAWNAND_WP_B       0x0b0b1
767                         MX6UL_PAD_NAND_READY_B__RAWNAND_READY_B 0x0b000
768                         MX6UL_PAD_NAND_CE0_B__RAWNAND_CE0_B     0x0b0b1
769                         MX6UL_PAD_NAND_RE_B__RAWNAND_RE_B       0x0b0b1
770                         MX6UL_PAD_NAND_WE_B__RAWNAND_WE_B       0x0b0b1
771                         MX6UL_PAD_NAND_DATA00__RAWNAND_DATA00   0x0b0b1
772                         MX6UL_PAD_NAND_DATA01__RAWNAND_DATA01   0x0b0b1
773                         MX6UL_PAD_NAND_DATA02__RAWNAND_DATA02   0x0b0b1
774                         MX6UL_PAD_NAND_DATA03__RAWNAND_DATA03   0x0b0b1
775                         MX6UL_PAD_NAND_DATA04__RAWNAND_DATA04   0x0b0b1
776                         MX6UL_PAD_NAND_DATA05__RAWNAND_DATA05   0x0b0b1
777                         MX6UL_PAD_NAND_DATA06__RAWNAND_DATA06   0x0b0b1
778                         MX6UL_PAD_NAND_DATA07__RAWNAND_DATA07   0x0b0b1
779                 >;
780         };
781
782         pinctrl_i2c_gpio: i2c-gpiogrp {
783                 fsl,pins = <
784                         MX6UL_PAD_SNVS_TAMPER0__GPIO5_IO00      0x4001b8b1 /* I2C SCL */
785                         MX6UL_PAD_SNVS_TAMPER1__GPIO5_IO01      0x4001b8b1 /* I2C SDA */
786                 >;
787         };
788
789         pinctrl_i2c2: i2c2grp {
790                 fsl,pins = <
791                         MX6UL_PAD_GPIO1_IO00__I2C2_SCL          0x4001b8b1
792                         MX6UL_PAD_GPIO1_IO01__I2C2_SDA          0x4001b8b1
793                 >;
794         };
795
796         pinctrl_kpp: kppgrp {
797                 fsl,pins = <
798                         MX6UL_PAD_ENET2_RX_DATA1__KPP_COL04     0x1b0b0
799                         MX6UL_PAD_ENET2_TX_DATA0__KPP_COL05     0x1b0b0
800                         MX6UL_PAD_ENET2_TX_EN__KPP_COL06        0x1b0b0
801                         MX6UL_PAD_ENET2_RX_ER__KPP_COL07        0x1b0b0
802                         MX6UL_PAD_ENET2_RX_DATA0__KPP_ROW04     0x1b0b0
803                         MX6UL_PAD_ENET2_RX_EN__KPP_ROW05        0x1b0b0
804                         MX6UL_PAD_ENET2_TX_DATA1__KPP_ROW06     0x1b0b0
805                         MX6UL_PAD_ENET2_TX_CLK__KPP_ROW07       0x1b0b0
806                 >;
807         };
808
809         pinctrl_lcd_pwr: lcd-pwrgrp {
810                 fsl,pins = <
811                         MX6UL_PAD_SNVS_TAMPER4__GPIO5_IO04      0x0b0b0 /* LCD Power Enable */
812                 >;
813         };
814
815         pinctrl_lcd_rst: lcd-rstgrp {
816                 fsl,pins = <
817                         MX6UL_PAD_LCD_RESET__GPIO3_IO04 0x0b0b0 /* LCD Reset */
818                 >;
819         };
820
821         pinctrl_pwm5: pwm5grp {
822                 fsl,pins = <
823                         MX6UL_PAD_NAND_DQS__PWM5_OUT            0x0b0b0
824                 >;
825         };
826
827         pinctrl_sai2: sai2grp {
828                 fsl,pins = <
829                         MX6UL_PAD_JTAG_TCK__SAI2_RX_DATA        0x0b0b0 /* SSI1_RXD */
830                         MX6UL_PAD_JTAG_TRST_B__SAI2_TX_DATA     0x0b0b0 /* SSI1_TXD */
831                         MX6UL_PAD_JTAG_TDI__SAI2_TX_BCLK        0x0b0b0 /* SSI1_CLK */
832                         MX6UL_PAD_JTAG_TDO__SAI2_TX_SYNC        0x0b0b0 /* SSI1_FS */
833                 >;
834         };
835
836         pinctrl_spi_gpio: spi-gpiogrp {
837                 fsl,pins = <
838                         MX6UL_PAD_UART4_RX_DATA__GPIO1_IO29     0x0b0b0 /* CSPI_SS */
839                         MX6UL_PAD_JTAG_MOD__GPIO1_IO10          0x0b0b0 /* CSPI_SS */
840                         MX6UL_PAD_UART5_TX_DATA__GPIO1_IO30     0x0b0b0 /* CSPI_MOSI */
841                         MX6UL_PAD_UART5_RX_DATA__GPIO1_IO31     0x0b0b0 /* CSPI_MISO */
842                         MX6UL_PAD_UART4_TX_DATA__GPIO1_IO28     0x0b0b0 /* CSPI_SCLK */
843                 >;
844         };
845
846         pinctrl_tsc2007: tsc2007grp {
847                 fsl,pins = <
848                         MX6UL_PAD_JTAG_TMS__GPIO1_IO11          0x1b0b0 /* Interrupt */
849                 >;
850         };
851
852         pinctrl_uart1: uart1grp {
853                 fsl,pins = <
854                         MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX   0x0b0b0
855                         MX6UL_PAD_UART1_RX_DATA__UART1_DCE_RX   0x0b0b0
856                 >;
857         };
858
859         pinctrl_uart1_rtscts: uart1-rtsctsgrp {
860                 fsl,pins = <
861                         MX6UL_PAD_UART1_RTS_B__UART1_DCE_RTS    0x0b0b0
862                         MX6UL_PAD_UART1_CTS_B__UART1_DCE_CTS    0x0b0b0
863                 >;
864         };
865
866         pinctrl_uart2: uart2grp {
867                 fsl,pins = <
868                         MX6UL_PAD_UART2_TX_DATA__UART2_DCE_TX   0x0b0b0
869                         MX6UL_PAD_UART2_RX_DATA__UART2_DCE_RX   0x0b0b0
870                 >;
871         };
872
873         pinctrl_uart2_rtscts: uart2-rtsctsgrp {
874                 fsl,pins = <
875                         MX6UL_PAD_UART3_RX_DATA__UART2_DCE_RTS  0x0b0b0
876                         MX6UL_PAD_UART3_TX_DATA__UART2_DCE_CTS  0x0b0b0
877                 >;
878         };
879
880         pinctrl_uart5: uart5grp {
881                 fsl,pins = <
882                         MX6UL_PAD_GPIO1_IO04__UART5_DCE_TX      0x0b0b0
883                         MX6UL_PAD_GPIO1_IO05__UART5_DCE_RX      0x0b0b0
884                 >;
885         };
886
887         pinctrl_uart5_rtscts: uart5-rtsctsgrp {
888                 fsl,pins = <
889                         MX6UL_PAD_GPIO1_IO08__UART5_DCE_RTS     0x0b0b0
890                         MX6UL_PAD_GPIO1_IO09__UART5_DCE_CTS     0x0b0b0
891                 >;
892         };
893
894         pinctrl_usbh1_oc: usbh1-ocgrp {
895                 fsl,pins = <
896                         MX6UL_PAD_GPIO1_IO03__GPIO1_IO03        0x17059 /* USBH1_OC */
897                 >;
898         };
899
900         pinctrl_usbh1_vbus: usbh1-vbusgrp {
901                 fsl,pins = <
902                         MX6UL_PAD_GPIO1_IO02__GPIO1_IO02        0x0b0b0 /* USBH1_VBUSEN */
903                 >;
904         };
905
906         pinctrl_usbotg_oc: usbotg-ocgrp {
907                 fsl,pins = <
908                         MX6UL_PAD_UART3_RTS_B__GPIO1_IO27       0x17059 /* USBOTG_OC */
909                 >;
910         };
911
912         pinctrl_usbotg_vbus: usbotg-vbusgrp {
913                 fsl,pins = <
914                         MX6UL_PAD_UART3_CTS_B__GPIO1_IO26       0x1b0b0 /* USBOTG_VBUSEN */
915                 >;
916         };
917
918         pinctrl_usdhc1: usdhc1grp {
919                 fsl,pins = <
920                         MX6UL_PAD_SD1_CMD__USDHC1_CMD           0x070b1
921                         MX6UL_PAD_SD1_CLK__USDHC1_CLK           0x07099
922                         MX6UL_PAD_SD1_DATA0__USDHC1_DATA0       0x070b1
923                         MX6UL_PAD_SD1_DATA1__USDHC1_DATA1       0x070b1
924                         MX6UL_PAD_SD1_DATA2__USDHC1_DATA2       0x070b1
925                         MX6UL_PAD_SD1_DATA3__USDHC1_DATA3       0x070b1
926                 >;
927         };
928
929         pinctrl_usdhc1_cd: usdhc1cdgrp {
930                 fsl,pins = <
931                         MX6UL_PAD_NAND_CE1_B__GPIO4_IO14        0x170b0 /* SD1 CD */
932                 >;
933         };
934
935         pinctrl_usdhc2: usdhc2grp {
936                 fsl,pins = <
937                         MX6UL_PAD_NAND_WE_B__USDHC2_CMD         0x070b1
938                         MX6UL_PAD_NAND_RE_B__USDHC2_CLK         0x070b1
939                         MX6UL_PAD_NAND_DATA00__USDHC2_DATA0     0x070b1
940                         MX6UL_PAD_NAND_DATA01__USDHC2_DATA1     0x070b1
941                         MX6UL_PAD_NAND_DATA02__USDHC2_DATA2     0x070b1
942                         MX6UL_PAD_NAND_DATA03__USDHC2_DATA3     0x070b1
943                         /* eMMC RESET */
944                         MX6UL_PAD_NAND_ALE__USDHC2_RESET_B      0x170b0
945                 >;
946         };
947 };