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