1// SPDX-License-Identifier: GPL-2.0+ OR X11
2/*
3 * Copyright 2019 Toradex AG
4 */
5
6/dts-v1/;
7#include <dt-bindings/gpio/gpio.h>
8#include "imx6q.dtsi"
9
10/ {
11	model = "Toradex Apalis iMX6Q/D";
12	compatible = "toradex,apalis_imx6q", "fsl,imx6q";
13
14	/* Will be filled by the bootloader */
15	memory@10000000 {
16		device_type = "memory";
17		reg = <0x10000000 0>;
18	};
19
20	aliases {
21		mmc0 = &usdhc3;
22		mmc1 = &usdhc1;
23		mmc2 = &usdhc2;
24		usb0 = &usbotg; /* required for ums */
25		ethernet0 = &fec;
26	};
27
28	chosen {
29		stdout-path = &uart1;
30	};
31
32	reg_module_3v3: regulator-module-3v3 {
33		compatible = "regulator-fixed";
34		regulator-name = "+V3.3";
35		regulator-min-microvolt = <3300000>;
36		regulator-max-microvolt = <3300000>;
37		regulator-always-on;
38	};
39
40	reg_usb_otg_vbus: regulator-usb-otg-vbus {
41		compatible = "regulator-fixed";
42		pinctrl-names = "default";
43		pinctrl-0 = <&pinctrl_regulator_usbotg_pwr>;
44		regulator-name = "usb_otg_vbus";
45		regulator-min-microvolt = <5000000>;
46		regulator-max-microvolt = <5000000>;
47		gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>; /* USBO1_EN */
48		enable-active-high;
49	};
50
51	/* on-module USB hub */
52	reg_usb_host_vbus_hub: regulator-usb-host-vbus-hub {
53		compatible = "regulator-fixed";
54		pinctrl-names = "default";
55		pinctrl-0 = <&pinctrl_regulator_usbhub_pwr>;
56		regulator-name = "usb_host_vbus_hub";
57		regulator-min-microvolt = <5000000>;
58		regulator-max-microvolt = <5000000>;
59		gpio = <&gpio3 28 GPIO_ACTIVE_HIGH>;
60		startup-delay-us = <2000>;
61		enable-active-high;
62	};
63
64	reg_usb_host_vbus: regulator-usb-host-vbus {
65		compatible = "regulator-fixed";
66		pinctrl-names = "default";
67		pinctrl-0 = <&pinctrl_regulator_usbh_pwr>;
68		regulator-name = "usb_host_vbus";
69		regulator-min-microvolt = <5000000>;
70		regulator-max-microvolt = <5000000>;
71		gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>; /* USBH_EN */
72		enable-active-high;
73		vin-supply = <&reg_usb_host_vbus_hub>;
74	};
75};
76
77/* I2C1_SDA/SCL on MXM3 209/211 (e.g. RTC on carrier board) */
78&i2c1 {
79	clock-frequency = <100000>;
80	pinctrl-names = "default";
81	pinctrl-0 = <&pinctrl_i2c1>;
82	status = "okay";
83};
84
85/*
86 * PWR_I2C: power I2C to audio codec, PMIC, temperature sensor and
87 * touch screen controller
88 */
89&i2c2 {
90	clock-frequency = <100000>;
91	pinctrl-names = "default";
92	pinctrl-0 = <&pinctrl_i2c2>;
93	status = "okay";
94
95	pmic: pfuze100@8 {
96		compatible = "fsl,pfuze100";
97		reg = <0x08>;
98
99		regulators {
100			sw1a_reg: sw1ab {
101				regulator-min-microvolt = <300000>;
102				regulator-max-microvolt = <1875000>;
103				regulator-boot-on;
104				regulator-always-on;
105				regulator-ramp-delay = <6250>;
106			};
107
108			sw1c_reg: sw1c {
109				regulator-min-microvolt = <300000>;
110				regulator-max-microvolt = <1875000>;
111				regulator-boot-on;
112				regulator-always-on;
113				regulator-ramp-delay = <6250>;
114			};
115
116			sw3a_reg: sw3a {
117				regulator-min-microvolt = <400000>;
118				regulator-max-microvolt = <1975000>;
119				regulator-boot-on;
120				regulator-always-on;
121			};
122
123			swbst_reg: swbst {
124				regulator-min-microvolt = <5000000>;
125				regulator-max-microvolt = <5150000>;
126				regulator-boot-on;
127				regulator-always-on;
128			};
129
130			snvs_reg: vsnvs {
131				regulator-min-microvolt = <1000000>;
132				regulator-max-microvolt = <3000000>;
133				regulator-boot-on;
134				regulator-always-on;
135			};
136
137			vref_reg: vrefddr {
138				regulator-boot-on;
139				regulator-always-on;
140			};
141
142			vgen1_reg: vgen1 {
143				regulator-min-microvolt = <800000>;
144				regulator-max-microvolt = <1550000>;
145				regulator-boot-on;
146				regulator-always-on;
147			};
148
149			vgen2_reg: vgen2 {
150				regulator-min-microvolt = <800000>;
151				regulator-max-microvolt = <1550000>;
152				regulator-boot-on;
153				regulator-always-on;
154			};
155
156			vgen3_reg: vgen3 {
157				regulator-min-microvolt = <1800000>;
158				regulator-max-microvolt = <3300000>;
159				regulator-boot-on;
160				regulator-always-on;
161			};
162
163			vgen4_reg: vgen4 {
164				regulator-min-microvolt = <1800000>;
165				regulator-max-microvolt = <1800000>;
166				regulator-boot-on;
167				regulator-always-on;
168			};
169
170			vgen5_reg: vgen5 {
171				regulator-min-microvolt = <1800000>;
172				regulator-max-microvolt = <3300000>;
173				regulator-boot-on;
174				regulator-always-on;
175			};
176
177			vgen6_reg: vgen6 {
178				regulator-min-microvolt = <1800000>;
179				regulator-max-microvolt = <3300000>;
180				regulator-boot-on;
181				regulator-always-on;
182			};
183		};
184	};
185};
186
187/*
188 * I2C3_SDA/SCL (CAM) on MXM3 pin 201/203 (e.g. camera sensor on carrier
189 * board)
190 */
191&i2c3 {
192	clock-frequency = <100000>;
193	pinctrl-names = "default", "gpio";
194	pinctrl-0 = <&pinctrl_i2c3>;
195	pinctrl-1 = <&pinctrl_i2c3_recovery>;
196	scl-gpios = <&gpio3 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
197	sda-gpios = <&gpio3 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
198	status = "okay";
199};
200
201&fec {
202	pinctrl-names = "default";
203	pinctrl-0 = <&pinctrl_enet>;
204	phy-mode = "rgmii";
205	phy-handle = <&ethphy>;
206	phy-reset-duration = <10>;
207	phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
208	status = "okay";
209
210	mdio {
211		#address-cells = <1>;
212		#size-cells = <0>;
213
214		ethphy: ethernet-phy@7 {
215			interrupt-parent = <&gpio1>;
216			interrupts = <30 IRQ_TYPE_LEVEL_LOW>;
217			reg = <7>;
218		};
219	};
220};
221
222/* Apalis Serial ATA */
223&sata {
224	status = "okay";
225};
226
227/* Apalis UART1 */
228&uart1 {
229	pinctrl-names = "default";
230	pinctrl-0 = <&pinctrl_uart1_dte &pinctrl_uart1_ctrl>;
231	fsl,dte-mode;
232	uart-has-rtscts;
233	status = "okay";
234};
235
236/* Apalis UART2 */
237&uart2 {
238	pinctrl-names = "default";
239	pinctrl-0 = <&pinctrl_uart2_dte>;
240	fsl,dte-mode;
241	uart-has-rtscts;
242	status = "okay";
243};
244
245/* Apalis UART3 */
246&uart4 {
247	pinctrl-names = "default";
248	pinctrl-0 = <&pinctrl_uart4_dte>;
249	fsl,dte-mode;
250	status = "okay";
251};
252
253/* Apalis UART4 */
254&uart5 {
255	pinctrl-names = "default";
256	pinctrl-0 = <&pinctrl_uart5_dte>;
257	fsl,dte-mode;
258	status = "okay";
259};
260
261/* Apalis USBH[2|3|4] */
262&usbh1 {
263	dr_mode = "host";
264	vbus-supply = <&reg_usb_host_vbus>;
265	status = "okay";
266};
267
268/* Apalis USBO1 */
269&usbotg {
270	dr_mode = "host";
271	vbus-supply = <&reg_usb_otg_vbus>;
272	status = "okay";
273};
274
275/* Apalis MMC1 */
276&usdhc1 {
277	pinctrl-names = "default";
278	pinctrl-0 = <&pinctrl_usdhc1_4bit &pinctrl_usdhc1_8bit &pinctrl_mmc_cd>;
279	cd-gpios = <&gpio4 20 GPIO_ACTIVE_LOW>; /* MMC1_CD */
280	disable-wp;
281	no-1-8-v;
282	status = "okay";
283};
284
285/* Apalis SD1 */
286&usdhc2 {
287	pinctrl-names = "default";
288	pinctrl-0 = <&pinctrl_usdhc2 &pinctrl_sd_cd>;
289	cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;	/* SD1_CD */
290	disable-wp;
291	no-1-8-v;
292	status = "okay";
293};
294
295/* eMMC */
296&usdhc3 {
297	pinctrl-names = "default";
298	pinctrl-0 = <&pinctrl_usdhc3>;
299	vqmmc-supply = <&reg_module_3v3>;
300	bus-width = <8>;
301	no-1-8-v;
302	non-removable;
303	status = "okay";
304};
305
306&iomuxc {
307	pinctrl_apalis_gpio1: gpio2io04grp {
308		fsl,pins = <
309			MX6QDL_PAD_NANDF_D4__GPIO2_IO04	0x130b0
310		>;
311	};
312
313	pinctrl_apalis_gpio2: gpio2io05grp {
314		fsl,pins = <
315			MX6QDL_PAD_NANDF_D5__GPIO2_IO05	0x130b0
316		>;
317	};
318
319	pinctrl_apalis_gpio3: gpio2io06grp {
320		fsl,pins = <
321			MX6QDL_PAD_NANDF_D6__GPIO2_IO06	0x130b0
322		>;
323	};
324
325	pinctrl_apalis_gpio4: gpio2io07grp {
326		fsl,pins = <
327			MX6QDL_PAD_NANDF_D7__GPIO2_IO07	0x130b0
328		>;
329	};
330
331	pinctrl_apalis_gpio5: gpio6io10grp {
332		fsl,pins = <
333			MX6QDL_PAD_NANDF_RB0__GPIO6_IO10	0x130b0
334		>;
335	};
336
337	pinctrl_apalis_gpio6: gpio6io09grp {
338		fsl,pins = <
339			MX6QDL_PAD_NANDF_WP_B__GPIO6_IO09	0x130b0
340		>;
341	};
342
343	pinctrl_apalis_gpio7: gpio1io02grp {
344		fsl,pins = <
345			MX6QDL_PAD_GPIO_2__GPIO1_IO02	0x130b0
346		>;
347	};
348
349	pinctrl_apalis_gpio8: gpio1io06grp {
350		fsl,pins = <
351			MX6QDL_PAD_GPIO_6__GPIO1_IO06	0x130b0
352		>;
353	};
354
355	pinctrl_audmux: audmuxgrp {
356		fsl,pins = <
357			MX6QDL_PAD_DISP0_DAT20__AUD4_TXC	0x130b0
358			MX6QDL_PAD_DISP0_DAT21__AUD4_TXD	0x130b0
359			MX6QDL_PAD_DISP0_DAT22__AUD4_TXFS	0x130b0
360			MX6QDL_PAD_DISP0_DAT23__AUD4_RXD	0x130b0
361			/* SGTL5000 sys_mclk */
362			MX6QDL_PAD_GPIO_5__CCM_CLKO1		0x130b0
363		>;
364	};
365
366	pinctrl_cam_mclk: cammclkgrp {
367		fsl,pins = <
368			/* CAM sys_mclk */
369			MX6QDL_PAD_NANDF_CS2__CCM_CLKO2	0x00b0
370		>;
371	};
372
373	pinctrl_ecspi1: ecspi1grp {
374		fsl,pins = <
375			MX6QDL_PAD_CSI0_DAT6__ECSPI1_MISO	0x100b1
376			MX6QDL_PAD_CSI0_DAT5__ECSPI1_MOSI	0x100b1
377			MX6QDL_PAD_CSI0_DAT4__ECSPI1_SCLK	0x100b1
378			/* SPI1 cs */
379			MX6QDL_PAD_CSI0_DAT7__GPIO5_IO25	0x000b1
380		>;
381	};
382
383	pinctrl_ecspi2: ecspi2grp {
384		fsl,pins = <
385			MX6QDL_PAD_EIM_OE__ECSPI2_MISO	0x100b1
386			MX6QDL_PAD_EIM_CS1__ECSPI2_MOSI	0x100b1
387			MX6QDL_PAD_EIM_CS0__ECSPI2_SCLK	0x100b1
388			/* SPI2 cs */
389			MX6QDL_PAD_EIM_RW__GPIO2_IO26	0x000b1
390		>;
391	};
392
393	pinctrl_enet: enetgrp {
394		fsl,pins = <
395			MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x100b0
396			MX6QDL_PAD_ENET_MDC__ENET_MDC		0x100b0
397			MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x10030
398			MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x10030
399			MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x10030
400			MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x10030
401			MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x10030
402			MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x10030
403			MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x100b0
404			MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b030
405			MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x1b030
406			MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x1b030
407			MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b030
408			MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b030
409			MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x1b030
410			/* Ethernet PHY reset */
411			MX6QDL_PAD_ENET_CRS_DV__GPIO1_IO25	0x000b0
412			/* Ethernet PHY interrupt */
413			MX6QDL_PAD_ENET_TXD0__GPIO1_IO30	0x000b1
414		>;
415	};
416
417	pinctrl_flexcan1: flexcan1grp {
418		fsl,pins = <
419			MX6QDL_PAD_GPIO_7__FLEXCAN1_TX	0x1b0b0
420			MX6QDL_PAD_GPIO_8__FLEXCAN1_RX	0x1b0b0
421		>;
422	};
423
424	pinctrl_flexcan2: flexcan2grp {
425		fsl,pins = <
426			MX6QDL_PAD_KEY_COL4__FLEXCAN2_TX	0x1b0b0
427			MX6QDL_PAD_KEY_ROW4__FLEXCAN2_RX	0x1b0b0
428		>;
429	};
430
431	pinctrl_gpio_bl_on: gpioblon {
432		fsl,pins = <
433			MX6QDL_PAD_EIM_DA13__GPIO3_IO13 0x1b0b0
434		>;
435	};
436
437	pinctrl_gpio_keys: gpio1io04grp {
438		fsl,pins = <
439			/* Power button */
440			MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1b0b0
441		>;
442	};
443
444	pinctrl_hdmi_cec: hdmicecgrp {
445		fsl,pins = <
446			MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x1f8b0
447		>;
448	};
449
450	pinctrl_hdmi_ddc: hdmiddcgrp {
451		fsl,pins = <
452			MX6QDL_PAD_EIM_EB2__HDMI_TX_DDC_SCL	0x4001b8b1
453			MX6QDL_PAD_EIM_D16__HDMI_TX_DDC_SDA	0x4001b8b1
454		>;
455	};
456
457	pinctrl_i2c1: i2c1grp {
458		fsl,pins = <
459			MX6QDL_PAD_CSI0_DAT8__I2C1_SDA	0x4001b8b1
460			MX6QDL_PAD_CSI0_DAT9__I2C1_SCL	0x4001b8b1
461		>;
462	};
463
464	pinctrl_i2c2: i2c2grp {
465		fsl,pins = <
466			MX6QDL_PAD_KEY_COL3__I2C2_SCL	0x4001b8b1
467			MX6QDL_PAD_KEY_ROW3__I2C2_SDA	0x4001b8b1
468		>;
469	};
470
471	pinctrl_i2c3: i2c3grp {
472		fsl,pins = <
473			MX6QDL_PAD_EIM_D17__I2C3_SCL	0x4001b8b1
474			MX6QDL_PAD_EIM_D18__I2C3_SDA	0x4001b8b1
475		>;
476	};
477
478	pinctrl_i2c3_recovery: i2c3recoverygrp {
479		fsl,pins = <
480			MX6QDL_PAD_EIM_D17__GPIO3_IO17	0x4001b8b1
481			MX6QDL_PAD_EIM_D18__GPIO3_IO18	0x4001b8b1
482		>;
483	};
484
485	pinctrl_ipu1_lcdif: ipu1lcdifgrp {
486		fsl,pins = <
487			MX6QDL_PAD_EIM_A16__IPU1_DI1_DISP_CLK	0x61
488			/* DE */
489			MX6QDL_PAD_EIM_DA10__IPU1_DI1_PIN15	0x61
490			/* HSync */
491			MX6QDL_PAD_EIM_DA11__IPU1_DI1_PIN02	0x61
492			/* VSync */
493			MX6QDL_PAD_EIM_DA12__IPU1_DI1_PIN03	0x61
494			MX6QDL_PAD_EIM_DA9__IPU1_DISP1_DATA00	0x61
495			MX6QDL_PAD_EIM_DA8__IPU1_DISP1_DATA01	0x61
496			MX6QDL_PAD_EIM_DA7__IPU1_DISP1_DATA02	0x61
497			MX6QDL_PAD_EIM_DA6__IPU1_DISP1_DATA03	0x61
498			MX6QDL_PAD_EIM_DA5__IPU1_DISP1_DATA04	0x61
499			MX6QDL_PAD_EIM_DA4__IPU1_DISP1_DATA05	0x61
500			MX6QDL_PAD_EIM_DA3__IPU1_DISP1_DATA06	0x61
501			MX6QDL_PAD_EIM_DA2__IPU1_DISP1_DATA07	0x61
502			MX6QDL_PAD_EIM_DA1__IPU1_DISP1_DATA08	0x61
503			MX6QDL_PAD_EIM_DA0__IPU1_DISP1_DATA09	0x61
504			MX6QDL_PAD_EIM_EB1__IPU1_DISP1_DATA10	0x61
505			MX6QDL_PAD_EIM_EB0__IPU1_DISP1_DATA11	0x61
506			MX6QDL_PAD_EIM_A17__IPU1_DISP1_DATA12	0x61
507			MX6QDL_PAD_EIM_A18__IPU1_DISP1_DATA13	0x61
508			MX6QDL_PAD_EIM_A19__IPU1_DISP1_DATA14	0x61
509			MX6QDL_PAD_EIM_A20__IPU1_DISP1_DATA15	0x61
510			MX6QDL_PAD_EIM_A21__IPU1_DISP1_DATA16	0x61
511			MX6QDL_PAD_EIM_A22__IPU1_DISP1_DATA17	0x61
512			MX6QDL_PAD_EIM_A23__IPU1_DISP1_DATA18	0x61
513			MX6QDL_PAD_EIM_A24__IPU1_DISP1_DATA19	0x61
514			MX6QDL_PAD_EIM_D31__IPU1_DISP1_DATA20	0x61
515			MX6QDL_PAD_EIM_D30__IPU1_DISP1_DATA21	0x61
516			MX6QDL_PAD_EIM_D26__IPU1_DISP1_DATA22	0x61
517			MX6QDL_PAD_EIM_D27__IPU1_DISP1_DATA23	0x61
518		>;
519	};
520
521	pinctrl_ipu2_vdac: ipu2vdacgrp {
522		fsl,pins = <
523			MX6QDL_PAD_DI0_DISP_CLK__IPU2_DI0_DISP_CLK	0xd1
524			MX6QDL_PAD_DI0_PIN15__IPU2_DI0_PIN15		0xd1
525			MX6QDL_PAD_DI0_PIN2__IPU2_DI0_PIN02		0xd1
526			MX6QDL_PAD_DI0_PIN3__IPU2_DI0_PIN03		0xd1
527			MX6QDL_PAD_DISP0_DAT0__IPU2_DISP0_DATA00	0xf9
528			MX6QDL_PAD_DISP0_DAT1__IPU2_DISP0_DATA01	0xf9
529			MX6QDL_PAD_DISP0_DAT2__IPU2_DISP0_DATA02	0xf9
530			MX6QDL_PAD_DISP0_DAT3__IPU2_DISP0_DATA03	0xf9
531			MX6QDL_PAD_DISP0_DAT4__IPU2_DISP0_DATA04	0xf9
532			MX6QDL_PAD_DISP0_DAT5__IPU2_DISP0_DATA05	0xf9
533			MX6QDL_PAD_DISP0_DAT6__IPU2_DISP0_DATA06	0xf9
534			MX6QDL_PAD_DISP0_DAT7__IPU2_DISP0_DATA07	0xf9
535			MX6QDL_PAD_DISP0_DAT8__IPU2_DISP0_DATA08	0xf9
536			MX6QDL_PAD_DISP0_DAT9__IPU2_DISP0_DATA09	0xf9
537			MX6QDL_PAD_DISP0_DAT10__IPU2_DISP0_DATA10	0xf9
538			MX6QDL_PAD_DISP0_DAT11__IPU2_DISP0_DATA11	0xf9
539			MX6QDL_PAD_DISP0_DAT12__IPU2_DISP0_DATA12	0xf9
540			MX6QDL_PAD_DISP0_DAT13__IPU2_DISP0_DATA13	0xf9
541			MX6QDL_PAD_DISP0_DAT14__IPU2_DISP0_DATA14	0xf9
542			MX6QDL_PAD_DISP0_DAT15__IPU2_DISP0_DATA15	0xf9
543		>;
544	};
545
546	pinctrl_mmc_cd: gpiommccdgrp {
547		fsl,pins = <
548			 /* MMC1 CD */
549			MX6QDL_PAD_DI0_PIN4__GPIO4_IO20	0x000b0
550		>;
551	};
552
553	pinctrl_pwm1: pwm1grp {
554		fsl,pins = <
555			MX6QDL_PAD_GPIO_9__PWM1_OUT	0x1b0b1
556		>;
557	};
558
559	pinctrl_pwm2: pwm2grp {
560		fsl,pins = <
561			MX6QDL_PAD_GPIO_1__PWM2_OUT	0x1b0b1
562		>;
563	};
564
565	pinctrl_pwm3: pwm3grp {
566		fsl,pins = <
567			MX6QDL_PAD_SD4_DAT1__PWM3_OUT	0x1b0b1
568		>;
569	};
570
571	pinctrl_pwm4: pwm4grp {
572		fsl,pins = <
573			MX6QDL_PAD_SD4_DAT2__PWM4_OUT	0x1b0b1
574		>;
575	};
576
577	pinctrl_regulator_usbh_pwr: gpioregusbhpwrgrp {
578		fsl,pins = <
579			/* USBH_EN */
580			MX6QDL_PAD_GPIO_0__GPIO1_IO00	0x0f058
581		>;
582	};
583
584	pinctrl_regulator_usbhub_pwr: gpioregusbhubpwrgrp {
585		fsl,pins = <
586			/* USBH_HUB_EN */
587			MX6QDL_PAD_EIM_D28__GPIO3_IO28	0x0f058
588		>;
589	};
590
591	pinctrl_regulator_usbotg_pwr: gpioregusbotgpwrgrp {
592		fsl,pins = <
593			/* USBO1 power en */
594			MX6QDL_PAD_EIM_D22__GPIO3_IO22	0x0f058
595		>;
596	};
597
598	pinctrl_reset_moci: gpioresetmocigrp {
599		fsl,pins = <
600			/* RESET_MOCI control */
601			MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28	0x0f058
602		>;
603	};
604
605	pinctrl_sd_cd: gpiosdcdgrp {
606		fsl,pins = <
607			/* SD1 CD */
608			MX6QDL_PAD_NANDF_CS1__GPIO6_IO14	0x000b0
609		>;
610	};
611
612	pinctrl_spdif: spdifgrp {
613		fsl,pins = <
614			MX6QDL_PAD_GPIO_16__SPDIF_IN	0x1b0b0
615			MX6QDL_PAD_GPIO_17__SPDIF_OUT	0x1b0b0
616		>;
617	};
618
619	pinctrl_touch_int: gpiotouchintgrp {
620		fsl,pins = <
621			/* STMPE811 interrupt */
622			MX6QDL_PAD_KEY_COL2__GPIO4_IO10	0x1b0b0
623		>;
624	};
625
626	pinctrl_uart1_dce: uart1dcegrp {
627		fsl,pins = <
628			MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA	0x1b0b1
629			MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA	0x1b0b1
630		>;
631	};
632
633	/* DTE mode */
634	pinctrl_uart1_dte: uart1dtegrp {
635		fsl,pins = <
636			MX6QDL_PAD_CSI0_DAT10__UART1_RX_DATA	0x1b0b1
637			MX6QDL_PAD_CSI0_DAT11__UART1_TX_DATA	0x1b0b1
638			MX6QDL_PAD_EIM_D19__UART1_RTS_B		0x1b0b1
639			MX6QDL_PAD_EIM_D20__UART1_CTS_B		0x1b0b1
640		>;
641	};
642
643	/* Additional DTR, DSR, DCD */
644	pinctrl_uart1_ctrl: uart1ctrlgrp {
645		fsl,pins = <
646			MX6QDL_PAD_EIM_D23__UART1_DCD_B	0x1b0b0
647			MX6QDL_PAD_EIM_D24__UART1_DTR_B	0x1b0b0
648			MX6QDL_PAD_EIM_D25__UART1_DSR_B	0x1b0b0
649		>;
650	};
651
652	pinctrl_uart2_dce: uart2dcegrp {
653		fsl,pins = <
654			MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA	0x1b0b1
655			MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA	0x1b0b1
656		>;
657	};
658
659	/* DTE mode */
660	pinctrl_uart2_dte: uart2dtegrp {
661		fsl,pins = <
662			MX6QDL_PAD_SD4_DAT4__UART2_TX_DATA	0x1b0b1
663			MX6QDL_PAD_SD4_DAT7__UART2_RX_DATA	0x1b0b1
664			MX6QDL_PAD_SD4_DAT6__UART2_RTS_B	0x1b0b1
665			MX6QDL_PAD_SD4_DAT5__UART2_CTS_B	0x1b0b1
666		>;
667	};
668
669	pinctrl_uart4_dce: uart4dcegrp {
670		fsl,pins = <
671			MX6QDL_PAD_KEY_COL0__UART4_TX_DATA	0x1b0b1
672			MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA	0x1b0b1
673		>;
674	};
675
676	/* DTE mode */
677	pinctrl_uart4_dte: uart4dtegrp {
678		fsl,pins = <
679			MX6QDL_PAD_KEY_COL0__UART4_RX_DATA	0x1b0b1
680			MX6QDL_PAD_KEY_ROW0__UART4_TX_DATA	0x1b0b1
681		>;
682	};
683
684	pinctrl_uart5_dce: uart5dcegrp {
685		fsl,pins = <
686			MX6QDL_PAD_KEY_COL1__UART5_TX_DATA	0x1b0b1
687			MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA	0x1b0b1
688		>;
689	};
690
691	/* DTE mode */
692	pinctrl_uart5_dte: uart5dtegrp {
693		fsl,pins = <
694			MX6QDL_PAD_KEY_COL1__UART5_RX_DATA	0x1b0b1
695			MX6QDL_PAD_KEY_ROW1__UART5_TX_DATA	0x1b0b1
696		>;
697	};
698
699	pinctrl_usbotg: usbotggrp {
700		fsl,pins = <
701			MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID	0x17059
702		>;
703	};
704
705	pinctrl_usdhc1_4bit: usdhc1grp_4bit {
706		fsl,pins = <
707			MX6QDL_PAD_SD1_CMD__SD1_CMD	0x17071
708			MX6QDL_PAD_SD1_CLK__SD1_CLK	0x10071
709			MX6QDL_PAD_SD1_DAT0__SD1_DATA0	0x17071
710			MX6QDL_PAD_SD1_DAT1__SD1_DATA1	0x17071
711			MX6QDL_PAD_SD1_DAT2__SD1_DATA2	0x17071
712			MX6QDL_PAD_SD1_DAT3__SD1_DATA3	0x17071
713		>;
714	};
715
716	pinctrl_usdhc1_8bit: usdhc1grp_8bit {
717		fsl,pins = <
718			MX6QDL_PAD_NANDF_D0__SD1_DATA4	0x17071
719			MX6QDL_PAD_NANDF_D1__SD1_DATA5	0x17071
720			MX6QDL_PAD_NANDF_D2__SD1_DATA6	0x17071
721			MX6QDL_PAD_NANDF_D3__SD1_DATA7	0x17071
722		>;
723	};
724
725	pinctrl_usdhc2: usdhc2grp {
726		fsl,pins = <
727			MX6QDL_PAD_SD2_CMD__SD2_CMD	0x17071
728			MX6QDL_PAD_SD2_CLK__SD2_CLK	0x10071
729			MX6QDL_PAD_SD2_DAT0__SD2_DATA0	0x17071
730			MX6QDL_PAD_SD2_DAT1__SD2_DATA1	0x17071
731			MX6QDL_PAD_SD2_DAT2__SD2_DATA2	0x17071
732			MX6QDL_PAD_SD2_DAT3__SD2_DATA3	0x17071
733		>;
734	};
735
736	pinctrl_usdhc3: usdhc3grp {
737		fsl,pins = <
738			MX6QDL_PAD_SD3_CMD__SD3_CMD	0x17059
739			MX6QDL_PAD_SD3_CLK__SD3_CLK	0x10059
740			MX6QDL_PAD_SD3_DAT0__SD3_DATA0	0x17059
741			MX6QDL_PAD_SD3_DAT1__SD3_DATA1	0x17059
742			MX6QDL_PAD_SD3_DAT2__SD3_DATA2	0x17059
743			MX6QDL_PAD_SD3_DAT3__SD3_DATA3	0x17059
744			MX6QDL_PAD_SD3_DAT4__SD3_DATA4	0x17059
745			MX6QDL_PAD_SD3_DAT5__SD3_DATA5	0x17059
746			MX6QDL_PAD_SD3_DAT6__SD3_DATA6	0x17059
747			MX6QDL_PAD_SD3_DAT7__SD3_DATA7	0x17059
748			/* eMMC reset */
749			MX6QDL_PAD_SD3_RST__SD3_RESET	0x17059
750		>;
751	};
752};
753