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