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		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 = <&reg_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 = <&reg_can_xcvr>;
274	status = "okay";
275};
276
277&can2 {
278	pinctrl-names = "default";
279	pinctrl-0 = <&pinctrl_flexcan2>;
280	xceiver-supply = <&reg_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 = <&reg_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 = <&reg_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 = <&reg_2v5>;
370		VDDIO-supply = <&reg_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 = <&reg_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 = <&reg_usbotg_vbus>;
584	dr_mode = "peripheral";
585	disable-over-current;
586	status = "okay";
587};
588
589&usbotg2 {
590	vbus-supply = <&reg_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};
972