xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/imx6qdl-pico.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0 OR MIT
2*4882a593Smuzhiyun//
3*4882a593Smuzhiyun// Copyright 2018 Technexion Ltd.
4*4882a593Smuzhiyun//
5*4882a593Smuzhiyun// Author: Wig Cheng <wig.cheng@technexion.com>
6*4882a593Smuzhiyun//	   Richard Hu <richard.hu@technexion.com>
7*4882a593Smuzhiyun//	   Tapani Utriainen <tapani@technexion.com>
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h>
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun/ {
12*4882a593Smuzhiyun	chosen {
13*4882a593Smuzhiyun		stdout-path = &uart1;
14*4882a593Smuzhiyun	};
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun	reg_2p5v: regulator-2p5v {
17*4882a593Smuzhiyun		compatible = "regulator-fixed";
18*4882a593Smuzhiyun		regulator-name = "2P5V";
19*4882a593Smuzhiyun		regulator-min-microvolt = <2500000>;
20*4882a593Smuzhiyun		regulator-max-microvolt = <2500000>;
21*4882a593Smuzhiyun		regulator-always-on;
22*4882a593Smuzhiyun	};
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun	reg_3p3v: regulator-3p3v {
25*4882a593Smuzhiyun		compatible = "regulator-fixed";
26*4882a593Smuzhiyun		regulator-name = "3P3V";
27*4882a593Smuzhiyun		regulator-min-microvolt = <3300000>;
28*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
29*4882a593Smuzhiyun		regulator-always-on;
30*4882a593Smuzhiyun	};
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun	reg_1p8v: regulator-1p8v {
33*4882a593Smuzhiyun		compatible = "regulator-fixed";
34*4882a593Smuzhiyun		regulator-name = "1P8V";
35*4882a593Smuzhiyun		regulator-min-microvolt = <1800000>;
36*4882a593Smuzhiyun		regulator-max-microvolt = <1800000>;
37*4882a593Smuzhiyun		regulator-always-on;
38*4882a593Smuzhiyun	};
39*4882a593Smuzhiyun
40*4882a593Smuzhiyun	reg_1p5v: regulator-1p5v {
41*4882a593Smuzhiyun		compatible = "regulator-fixed";
42*4882a593Smuzhiyun		regulator-name = "1P5V";
43*4882a593Smuzhiyun		regulator-min-microvolt = <1500000>;
44*4882a593Smuzhiyun		regulator-max-microvolt = <1500000>;
45*4882a593Smuzhiyun		regulator-always-on;
46*4882a593Smuzhiyun	};
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun	reg_2p8v: regulator-2p8v {
49*4882a593Smuzhiyun		compatible = "regulator-fixed";
50*4882a593Smuzhiyun		regulator-name = "2P8V";
51*4882a593Smuzhiyun		regulator-min-microvolt = <2800000>;
52*4882a593Smuzhiyun		regulator-max-microvolt = <2800000>;
53*4882a593Smuzhiyun		regulator-always-on;
54*4882a593Smuzhiyun	};
55*4882a593Smuzhiyun
56*4882a593Smuzhiyun	reg_usb_otg_vbus: regulator-usb-otg-vbus {
57*4882a593Smuzhiyun		pinctrl-names = "default";
58*4882a593Smuzhiyun		pinctrl-0 = <&pinctrl_usbotg_vbus>;
59*4882a593Smuzhiyun		compatible = "regulator-fixed";
60*4882a593Smuzhiyun		regulator-name = "usb_otg_vbus";
61*4882a593Smuzhiyun		regulator-min-microvolt = <5000000>;
62*4882a593Smuzhiyun		regulator-max-microvolt = <5000000>;
63*4882a593Smuzhiyun		gpio = <&gpio3 22 GPIO_ACTIVE_LOW>;
64*4882a593Smuzhiyun	};
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun	codec_osc: clock {
67*4882a593Smuzhiyun		compatible = "fixed-clock";
68*4882a593Smuzhiyun		#clock-cells = <0>;
69*4882a593Smuzhiyun		clock-frequency = <24576000>;
70*4882a593Smuzhiyun	};
71*4882a593Smuzhiyun
72*4882a593Smuzhiyun	sound {
73*4882a593Smuzhiyun		compatible = "fsl,imx-audio-sgtl5000";
74*4882a593Smuzhiyun		model = "imx6-pico-sgtl5000";
75*4882a593Smuzhiyun		ssi-controller = <&ssi1>;
76*4882a593Smuzhiyun		audio-codec = <&sgtl5000>;
77*4882a593Smuzhiyun		audio-routing =
78*4882a593Smuzhiyun			"MIC_IN", "Mic Jack",
79*4882a593Smuzhiyun			"Mic Jack", "Mic Bias",
80*4882a593Smuzhiyun			"Headphone Jack", "HP_OUT";
81*4882a593Smuzhiyun		mux-int-port = <1>;
82*4882a593Smuzhiyun		mux-ext-port = <3>;
83*4882a593Smuzhiyun	};
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun	backlight: backlight {
86*4882a593Smuzhiyun		compatible = "pwm-backlight";
87*4882a593Smuzhiyun		pwms = <&pwm4 0 50000 0>;
88*4882a593Smuzhiyun		brightness-levels = <0 36 72 108 144 180 216 255>;
89*4882a593Smuzhiyun		default-brightness-level = <6>;
90*4882a593Smuzhiyun		status = "okay";
91*4882a593Smuzhiyun	};
92*4882a593Smuzhiyun
93*4882a593Smuzhiyun	reg_lcd_3v3: regulator-lcd-3v3 {
94*4882a593Smuzhiyun		compatible = "regulator-fixed";
95*4882a593Smuzhiyun		pinctrl-names = "default";
96*4882a593Smuzhiyun		pinctrl-0 = <&pinctrl_reg_lcd>;
97*4882a593Smuzhiyun		regulator-name = "lcd-3v3";
98*4882a593Smuzhiyun		regulator-min-microvolt = <3300000>;
99*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
100*4882a593Smuzhiyun		gpio = <&gpio2 11 GPIO_ACTIVE_HIGH>;
101*4882a593Smuzhiyun		enable-active-high;
102*4882a593Smuzhiyun	};
103*4882a593Smuzhiyun
104*4882a593Smuzhiyun	lcd_display: disp0 {
105*4882a593Smuzhiyun		compatible = "fsl,imx-parallel-display";
106*4882a593Smuzhiyun		#address-cells = <1>;
107*4882a593Smuzhiyun		#size-cells = <0>;
108*4882a593Smuzhiyun		pinctrl-names = "default";
109*4882a593Smuzhiyun		pinctrl-0 = <&pinctrl_ipu1>;
110*4882a593Smuzhiyun		status = "okay";
111*4882a593Smuzhiyun
112*4882a593Smuzhiyun		port@0 {
113*4882a593Smuzhiyun			reg = <0>;
114*4882a593Smuzhiyun
115*4882a593Smuzhiyun			lcd_display_in: endpoint {
116*4882a593Smuzhiyun				remote-endpoint = <&ipu1_di0_disp0>;
117*4882a593Smuzhiyun			};
118*4882a593Smuzhiyun		};
119*4882a593Smuzhiyun
120*4882a593Smuzhiyun		port@1 {
121*4882a593Smuzhiyun			reg = <1>;
122*4882a593Smuzhiyun
123*4882a593Smuzhiyun			lcd_display_out: endpoint {
124*4882a593Smuzhiyun				remote-endpoint = <&lcd_panel_in>;
125*4882a593Smuzhiyun			};
126*4882a593Smuzhiyun		};
127*4882a593Smuzhiyun	};
128*4882a593Smuzhiyun
129*4882a593Smuzhiyun	panel {
130*4882a593Smuzhiyun		compatible = "vxt,vl050-8048nt-c01";
131*4882a593Smuzhiyun		backlight = <&backlight>;
132*4882a593Smuzhiyun		power-supply = <&reg_lcd_3v3>;
133*4882a593Smuzhiyun
134*4882a593Smuzhiyun		port {
135*4882a593Smuzhiyun			lcd_panel_in: endpoint {
136*4882a593Smuzhiyun				remote-endpoint = <&lcd_display_out>;
137*4882a593Smuzhiyun			};
138*4882a593Smuzhiyun		};
139*4882a593Smuzhiyun	};
140*4882a593Smuzhiyun};
141*4882a593Smuzhiyun
142*4882a593Smuzhiyun&audmux {
143*4882a593Smuzhiyun	pinctrl-names = "default";
144*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_audmux>;
145*4882a593Smuzhiyun	status = "okay";
146*4882a593Smuzhiyun};
147*4882a593Smuzhiyun
148*4882a593Smuzhiyun&can1 {
149*4882a593Smuzhiyun	pinctrl-names = "default";
150*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_flexcan1>;
151*4882a593Smuzhiyun	status = "okay";
152*4882a593Smuzhiyun};
153*4882a593Smuzhiyun
154*4882a593Smuzhiyun&can2 {
155*4882a593Smuzhiyun	pinctrl-names = "default";
156*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_flexcan2>;
157*4882a593Smuzhiyun	status = "okay";
158*4882a593Smuzhiyun};
159*4882a593Smuzhiyun
160*4882a593Smuzhiyun&clks {
161*4882a593Smuzhiyun	assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>,
162*4882a593Smuzhiyun			  <&clks IMX6QDL_CLK_LDB_DI1_SEL>;
163*4882a593Smuzhiyun	assigned-clock-parents = <&clks IMX6QDL_CLK_PLL3_USB_OTG>,
164*4882a593Smuzhiyun				 <&clks IMX6QDL_CLK_PLL3_USB_OTG>;
165*4882a593Smuzhiyun};
166*4882a593Smuzhiyun
167*4882a593Smuzhiyun&ecspi2 {
168*4882a593Smuzhiyun	pinctrl-names = "default";
169*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_ecspi2>;
170*4882a593Smuzhiyun	cs-gpios = <&gpio2 27 GPIO_ACTIVE_LOW>;
171*4882a593Smuzhiyun	status = "okay";
172*4882a593Smuzhiyun};
173*4882a593Smuzhiyun
174*4882a593Smuzhiyun&fec {
175*4882a593Smuzhiyun	pinctrl-names = "default";
176*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_enet>;
177*4882a593Smuzhiyun	phy-mode = "rgmii-id";
178*4882a593Smuzhiyun	phy-reset-gpios = <&gpio1 26 GPIO_ACTIVE_LOW>;
179*4882a593Smuzhiyun	phy-handle = <&phy>;
180*4882a593Smuzhiyun	status = "okay";
181*4882a593Smuzhiyun
182*4882a593Smuzhiyun	mdio {
183*4882a593Smuzhiyun		#address-cells = <1>;
184*4882a593Smuzhiyun		#size-cells = <0>;
185*4882a593Smuzhiyun
186*4882a593Smuzhiyun		phy: ethernet-phy@1 {
187*4882a593Smuzhiyun			reg = <1>;
188*4882a593Smuzhiyun			qca,clk-out-frequency = <125000000>;
189*4882a593Smuzhiyun		};
190*4882a593Smuzhiyun	};
191*4882a593Smuzhiyun};
192*4882a593Smuzhiyun
193*4882a593Smuzhiyun&hdmi {
194*4882a593Smuzhiyun	ddc-i2c-bus = <&i2c2>;
195*4882a593Smuzhiyun	status = "okay";
196*4882a593Smuzhiyun};
197*4882a593Smuzhiyun
198*4882a593Smuzhiyun&i2c1 {
199*4882a593Smuzhiyun	pinctrl-names = "default";
200*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_i2c1>;
201*4882a593Smuzhiyun	status = "okay";
202*4882a593Smuzhiyun
203*4882a593Smuzhiyun	sgtl5000: audio-codec@a {
204*4882a593Smuzhiyun		#sound-dai-cells = <0>;
205*4882a593Smuzhiyun		reg = <0x0a>;
206*4882a593Smuzhiyun		compatible = "fsl,sgtl5000";
207*4882a593Smuzhiyun		clocks = <&codec_osc>;
208*4882a593Smuzhiyun		VDDA-supply = <&reg_2p5v>;
209*4882a593Smuzhiyun		VDDIO-supply = <&reg_1p8v>;
210*4882a593Smuzhiyun	};
211*4882a593Smuzhiyun};
212*4882a593Smuzhiyun
213*4882a593Smuzhiyun&i2c2 {
214*4882a593Smuzhiyun	clock-frequency = <100000>;
215*4882a593Smuzhiyun	pinctrl-names = "default";
216*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_i2c2>;
217*4882a593Smuzhiyun	status = "okay";
218*4882a593Smuzhiyun
219*4882a593Smuzhiyun	touchscreen@38 {
220*4882a593Smuzhiyun		compatible = "edt,edt-ft5x06";
221*4882a593Smuzhiyun		reg = <0x38>;
222*4882a593Smuzhiyun		interrupt-parent = <&gpio5>;
223*4882a593Smuzhiyun		interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
224*4882a593Smuzhiyun		reset-gpios = <&gpio5 27 GPIO_ACTIVE_LOW>;
225*4882a593Smuzhiyun		touchscreen-size-x = <800>;
226*4882a593Smuzhiyun		touchscreen-size-y = <480>;
227*4882a593Smuzhiyun		wakeup-source;
228*4882a593Smuzhiyun	};
229*4882a593Smuzhiyun
230*4882a593Smuzhiyun	camera@3c {
231*4882a593Smuzhiyun		compatible = "ovti,ov5645";
232*4882a593Smuzhiyun		pinctrl-names = "default";
233*4882a593Smuzhiyun		pinctrl-0 = <&pinctrl_ov5645>;
234*4882a593Smuzhiyun		reg = <0x3c>;
235*4882a593Smuzhiyun		clocks = <&clks IMX6QDL_CLK_CKO2>;
236*4882a593Smuzhiyun		clock-names = "xclk";
237*4882a593Smuzhiyun		clock-frequency = <24000000>;
238*4882a593Smuzhiyun		vdddo-supply = <&reg_1p8v>;
239*4882a593Smuzhiyun		vdda-supply = <&reg_2p8v>;
240*4882a593Smuzhiyun		vddd-supply = <&reg_1p5v>;
241*4882a593Smuzhiyun		enable-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
242*4882a593Smuzhiyun		reset-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
243*4882a593Smuzhiyun
244*4882a593Smuzhiyun		port {
245*4882a593Smuzhiyun			ov5645_to_mipi_csi2: endpoint {
246*4882a593Smuzhiyun				remote-endpoint = <&mipi_csi2_in>;
247*4882a593Smuzhiyun				clock-lanes = <0>;
248*4882a593Smuzhiyun				data-lanes = <1 2>;
249*4882a593Smuzhiyun			};
250*4882a593Smuzhiyun		};
251*4882a593Smuzhiyun	};
252*4882a593Smuzhiyun};
253*4882a593Smuzhiyun
254*4882a593Smuzhiyun&i2c3 {
255*4882a593Smuzhiyun	pinctrl-names = "default";
256*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_i2c3>;
257*4882a593Smuzhiyun	status = "okay";
258*4882a593Smuzhiyun};
259*4882a593Smuzhiyun
260*4882a593Smuzhiyun&ipu1_di0_disp0 {
261*4882a593Smuzhiyun	remote-endpoint = <&lcd_display_in>;
262*4882a593Smuzhiyun};
263*4882a593Smuzhiyun
264*4882a593Smuzhiyun&mipi_csi {
265*4882a593Smuzhiyun	status = "okay";
266*4882a593Smuzhiyun
267*4882a593Smuzhiyun	port@0 {
268*4882a593Smuzhiyun		reg = <0>;
269*4882a593Smuzhiyun
270*4882a593Smuzhiyun		mipi_csi2_in: endpoint {
271*4882a593Smuzhiyun			remote-endpoint = <&ov5645_to_mipi_csi2>;
272*4882a593Smuzhiyun			clock-lanes = <0>;
273*4882a593Smuzhiyun			data-lanes = <1 2>;
274*4882a593Smuzhiyun		};
275*4882a593Smuzhiyun	};
276*4882a593Smuzhiyun};
277*4882a593Smuzhiyun
278*4882a593Smuzhiyun&pcie {
279*4882a593Smuzhiyun	pinctrl-names = "default";
280*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_pcie_reset>;
281*4882a593Smuzhiyun	reset-gpio = <&gpio5 21 GPIO_ACTIVE_LOW>;
282*4882a593Smuzhiyun};
283*4882a593Smuzhiyun
284*4882a593Smuzhiyun&pwm1 {
285*4882a593Smuzhiyun	pinctrl-names = "default";
286*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_pwm1>;
287*4882a593Smuzhiyun	status = "okay";
288*4882a593Smuzhiyun};
289*4882a593Smuzhiyun
290*4882a593Smuzhiyun&pwm2 {
291*4882a593Smuzhiyun	pinctrl-names = "default";
292*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_pwm2>;
293*4882a593Smuzhiyun	status = "okay";
294*4882a593Smuzhiyun};
295*4882a593Smuzhiyun
296*4882a593Smuzhiyun&pwm3 {
297*4882a593Smuzhiyun	pinctrl-names = "default";
298*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_pwm3>;
299*4882a593Smuzhiyun	status = "okay";
300*4882a593Smuzhiyun};
301*4882a593Smuzhiyun
302*4882a593Smuzhiyun&pwm4 {
303*4882a593Smuzhiyun	pinctrl-names = "default";
304*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_pwm4>;
305*4882a593Smuzhiyun	status = "okay";
306*4882a593Smuzhiyun};
307*4882a593Smuzhiyun
308*4882a593Smuzhiyun&ssi1 {
309*4882a593Smuzhiyun	status = "okay";
310*4882a593Smuzhiyun};
311*4882a593Smuzhiyun
312*4882a593Smuzhiyun&uart1 {
313*4882a593Smuzhiyun	pinctrl-names = "default";
314*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_uart1>;
315*4882a593Smuzhiyun	status = "okay";
316*4882a593Smuzhiyun};
317*4882a593Smuzhiyun
318*4882a593Smuzhiyun&uart2 {  /* Bluetooth module */
319*4882a593Smuzhiyun	pinctrl-names = "default";
320*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_uart2>;
321*4882a593Smuzhiyun	uart-has-rtscts;
322*4882a593Smuzhiyun	status = "okay";
323*4882a593Smuzhiyun};
324*4882a593Smuzhiyun
325*4882a593Smuzhiyun&uart3 {
326*4882a593Smuzhiyun	pinctrl-names = "default";
327*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_uart3>;
328*4882a593Smuzhiyun	uart-has-rtscts;
329*4882a593Smuzhiyun	status = "okay";
330*4882a593Smuzhiyun};
331*4882a593Smuzhiyun
332*4882a593Smuzhiyun&usbh1 {
333*4882a593Smuzhiyun	status = "okay";
334*4882a593Smuzhiyun};
335*4882a593Smuzhiyun
336*4882a593Smuzhiyun&usbotg {
337*4882a593Smuzhiyun	vbus-supply = <&reg_usb_otg_vbus>;
338*4882a593Smuzhiyun	pinctrl-names = "default";
339*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_usbotg>;
340*4882a593Smuzhiyun	disable-over-current;
341*4882a593Smuzhiyun	dr_mode = "otg";
342*4882a593Smuzhiyun	status = "okay";
343*4882a593Smuzhiyun};
344*4882a593Smuzhiyun
345*4882a593Smuzhiyun&usdhc1 {
346*4882a593Smuzhiyun	pinctrl-names = "default";
347*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_usdhc1>;
348*4882a593Smuzhiyun	bus-width = <8>;
349*4882a593Smuzhiyun	cd-gpios = <&gpio3 9 GPIO_ACTIVE_LOW>;
350*4882a593Smuzhiyun	status = "okay";
351*4882a593Smuzhiyun};
352*4882a593Smuzhiyun
353*4882a593Smuzhiyun&usdhc2 {  /* Wifi/BT  */
354*4882a593Smuzhiyun	pinctrl-names = "default";
355*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_usdhc2>;
356*4882a593Smuzhiyun	bus-width = <4>;
357*4882a593Smuzhiyun	no-1-8-v;
358*4882a593Smuzhiyun	keep-power-in-suspend;
359*4882a593Smuzhiyun	non-removable;
360*4882a593Smuzhiyun	status = "okay";
361*4882a593Smuzhiyun};
362*4882a593Smuzhiyun
363*4882a593Smuzhiyun&usdhc3 {
364*4882a593Smuzhiyun	pinctrl-names = "default";
365*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_usdhc3>;
366*4882a593Smuzhiyun	bus-width = <8>;
367*4882a593Smuzhiyun	no-1-8-v;
368*4882a593Smuzhiyun	non-removable;
369*4882a593Smuzhiyun	status = "okay";
370*4882a593Smuzhiyun};
371*4882a593Smuzhiyun
372*4882a593Smuzhiyun&iomuxc {
373*4882a593Smuzhiyun	pinctrl-names = "default";
374*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_hog>;
375*4882a593Smuzhiyun
376*4882a593Smuzhiyun	pinctrl_hog: hoggrp {
377*4882a593Smuzhiyun		fsl,pins = <
378*4882a593Smuzhiyun			MX6QDL_PAD_CSI0_MCLK__GPIO5_IO19	0x4001b0b5 /* PICO_P24 */
379*4882a593Smuzhiyun			MX6QDL_PAD_CSI0_VSYNC__GPIO5_IO21	0x4001b0b5 /* PICO_P26 */
380*4882a593Smuzhiyun			MX6QDL_PAD_CSI0_DATA_EN__GPIO5_IO20	0x4001b0b5 /* PICO_P28 */
381*4882a593Smuzhiyun			MX6QDL_PAD_CSI0_DAT8__GPIO5_IO26	0x4001b0b5 /* PICO_P30 */
382*4882a593Smuzhiyun			MX6QDL_PAD_CSI0_DAT9__GPIO5_IO27	0x4001b0b5 /* PICO_P32 */
383*4882a593Smuzhiyun			MX6QDL_PAD_CSI0_DAT14__GPIO6_IO00	0x4001b0b5 /* PICO_P34 */
384*4882a593Smuzhiyun			MX6QDL_PAD_CSI0_DAT12__GPIO5_IO30	0x4001b0b5 /* PICO_P42 */
385*4882a593Smuzhiyun			MX6QDL_PAD_CSI0_DAT13__GPIO5_IO31	0x4001b0b5 /* PICO_P44 */
386*4882a593Smuzhiyun			MX6QDL_PAD_CSI0_DAT15__GPIO6_IO01	0x4001b0b5 /* PICO_P48 */
387*4882a593Smuzhiyun		>;
388*4882a593Smuzhiyun	};
389*4882a593Smuzhiyun
390*4882a593Smuzhiyun	pinctrl_audmux: audmuxgrp {
391*4882a593Smuzhiyun		fsl,pins = <
392*4882a593Smuzhiyun			MX6QDL_PAD_CSI0_DAT7__AUD3_RXD		0x130b0
393*4882a593Smuzhiyun			MX6QDL_PAD_CSI0_DAT4__AUD3_TXC		0x130b0
394*4882a593Smuzhiyun			MX6QDL_PAD_CSI0_DAT5__AUD3_TXD		0x110b0
395*4882a593Smuzhiyun			MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS		0x130b0
396*4882a593Smuzhiyun		>;
397*4882a593Smuzhiyun	};
398*4882a593Smuzhiyun
399*4882a593Smuzhiyun	pinctrl_ecspi1: ecspi1grp {
400*4882a593Smuzhiyun		fsl,pins = <
401*4882a593Smuzhiyun			MX6QDL_PAD_EIM_D17__ECSPI1_MISO		0x100b1
402*4882a593Smuzhiyun			MX6QDL_PAD_EIM_D18__ECSPI1_MOSI		0x100b1
403*4882a593Smuzhiyun			MX6QDL_PAD_EIM_D16__ECSPI1_SCLK		0x100b1
404*4882a593Smuzhiyun			MX6QDL_PAD_EIM_EB2__GPIO2_IO30		0x000f0b0
405*4882a593Smuzhiyun		>;
406*4882a593Smuzhiyun	};
407*4882a593Smuzhiyun
408*4882a593Smuzhiyun	pinctrl_ecspi2: ecspi2grp {
409*4882a593Smuzhiyun		fsl,pins = <
410*4882a593Smuzhiyun			MX6QDL_PAD_EIM_OE__ECSPI2_MISO		0x1b0b1
411*4882a593Smuzhiyun			MX6QDL_PAD_EIM_CS1__ECSPI2_MOSI		0x1b0b1
412*4882a593Smuzhiyun			MX6QDL_PAD_EIM_CS0__ECSPI2_SCLK		0x1b0b1
413*4882a593Smuzhiyun			MX6QDL_PAD_EIM_RW__GPIO2_IO26		0x000f0b0
414*4882a593Smuzhiyun			MX6QDL_PAD_EIM_LBA__GPIO2_IO27		0x000f0b0
415*4882a593Smuzhiyun		>;
416*4882a593Smuzhiyun	};
417*4882a593Smuzhiyun
418*4882a593Smuzhiyun	pinctrl_enet: enetgrp {
419*4882a593Smuzhiyun		fsl,pins = <
420*4882a593Smuzhiyun			MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b0b0
421*4882a593Smuzhiyun			MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b0b0
422*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x1b0b0
423*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x1b0b0
424*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x1b0b0
425*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x1b0b0
426*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x1b0b0
427*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x1b0b0
428*4882a593Smuzhiyun			MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x1b0b0
429*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b0b0
430*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x1b0b0
431*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x1b0b0
432*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b0b0
433*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b0b0
434*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x1b0b0
435*4882a593Smuzhiyun			MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN	0x1b0b0
436*4882a593Smuzhiyun			MX6QDL_PAD_ENET_RXD1__GPIO1_IO26	0x1f0b1
437*4882a593Smuzhiyun		>;
438*4882a593Smuzhiyun	};
439*4882a593Smuzhiyun
440*4882a593Smuzhiyun	pinctrl_flexcan1: flexcan1grp {
441*4882a593Smuzhiyun		fsl,pins = <
442*4882a593Smuzhiyun			MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX	0x1b0b0
443*4882a593Smuzhiyun			MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX	0x1b0b0
444*4882a593Smuzhiyun		>;
445*4882a593Smuzhiyun	};
446*4882a593Smuzhiyun
447*4882a593Smuzhiyun	pinctrl_flexcan2: flexcan2grp {
448*4882a593Smuzhiyun		fsl,pins = <
449*4882a593Smuzhiyun			MX6QDL_PAD_KEY_COL4__FLEXCAN2_TX	0x1b0b0
450*4882a593Smuzhiyun			MX6QDL_PAD_KEY_ROW4__FLEXCAN2_RX	0x1b0b0
451*4882a593Smuzhiyun		>;
452*4882a593Smuzhiyun	};
453*4882a593Smuzhiyun
454*4882a593Smuzhiyun	pinctrl_i2c1: i2c1grp {
455*4882a593Smuzhiyun		fsl,pins = <
456*4882a593Smuzhiyun			MX6QDL_PAD_EIM_D21__I2C1_SCL		0x4001b8b1
457*4882a593Smuzhiyun			MX6QDL_PAD_EIM_D28__I2C1_SDA		0x4001b8b1
458*4882a593Smuzhiyun		>;
459*4882a593Smuzhiyun	};
460*4882a593Smuzhiyun
461*4882a593Smuzhiyun	pinctrl_i2c2: i2c2grp {
462*4882a593Smuzhiyun		fsl,pins = <
463*4882a593Smuzhiyun			MX6QDL_PAD_KEY_COL3__I2C2_SCL		0x4001b8b1
464*4882a593Smuzhiyun			MX6QDL_PAD_KEY_ROW3__I2C2_SDA		0x4001b8b1
465*4882a593Smuzhiyun		>;
466*4882a593Smuzhiyun	};
467*4882a593Smuzhiyun
468*4882a593Smuzhiyun	pinctrl_i2c3: i2c3grp {
469*4882a593Smuzhiyun		fsl,pins = <
470*4882a593Smuzhiyun			MX6QDL_PAD_EIM_D17__I2C3_SCL		0x4001b8b1
471*4882a593Smuzhiyun			MX6QDL_PAD_EIM_D18__I2C3_SDA		0x4001b8b1
472*4882a593Smuzhiyun		>;
473*4882a593Smuzhiyun	};
474*4882a593Smuzhiyun
475*4882a593Smuzhiyun	pinctrl_ipu1: ipu1grp {
476*4882a593Smuzhiyun		fsl,pins = <
477*4882a593Smuzhiyun			MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK	0x10
478*4882a593Smuzhiyun			MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15		0x10
479*4882a593Smuzhiyun			MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02		0x10
480*4882a593Smuzhiyun			MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03		0x10
481*4882a593Smuzhiyun			MX6QDL_PAD_DI0_PIN4__IPU1_DI0_PIN04		0x10
482*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00	0x10
483*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01	0x10
484*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02	0x10
485*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03	0x10
486*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04	0x10
487*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05	0x10
488*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06	0x10
489*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07	0x10
490*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08	0x10
491*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09	0x10
492*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10	0x10
493*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11	0x10
494*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12	0x10
495*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13	0x10
496*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14	0x10
497*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15	0x10
498*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16	0x10
499*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17	0x10
500*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18	0x10
501*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19	0x10
502*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20	0x10
503*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21	0x10
504*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22	0x10
505*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23	0x10
506*4882a593Smuzhiyun		>;
507*4882a593Smuzhiyun	};
508*4882a593Smuzhiyun
509*4882a593Smuzhiyun	pinctrl_ov5645: ov5645grp {
510*4882a593Smuzhiyun		fsl,pins = <
511*4882a593Smuzhiyun			MX6QDL_PAD_GPIO_6__GPIO1_IO06		0x0b0b0
512*4882a593Smuzhiyun			MX6QDL_PAD_GPIO_8__GPIO1_IO08		0x0b0b0
513*4882a593Smuzhiyun			MX6QDL_PAD_GPIO_3__CCM_CLKO2		0x000b0
514*4882a593Smuzhiyun		>;
515*4882a593Smuzhiyun	};
516*4882a593Smuzhiyun
517*4882a593Smuzhiyun	pinctrl_pcie_reset: pciegrp {
518*4882a593Smuzhiyun		fsl,pins = <
519*4882a593Smuzhiyun			MX6QDL_PAD_CSI0_VSYNC__GPIO5_IO21	0x130b0
520*4882a593Smuzhiyun		>;
521*4882a593Smuzhiyun	};
522*4882a593Smuzhiyun
523*4882a593Smuzhiyun	pinctrl_pwm1: pwm1grp {
524*4882a593Smuzhiyun		fsl,pins = <
525*4882a593Smuzhiyun			MX6QDL_PAD_GPIO_9__PWM1_OUT		0x1b0b1
526*4882a593Smuzhiyun		>;
527*4882a593Smuzhiyun	};
528*4882a593Smuzhiyun
529*4882a593Smuzhiyun	pinctrl_pwm2: pwm2grp {
530*4882a593Smuzhiyun		fsl,pins = <
531*4882a593Smuzhiyun			MX6QDL_PAD_GPIO_1__PWM2_OUT		0x1b0b1
532*4882a593Smuzhiyun		>;
533*4882a593Smuzhiyun	};
534*4882a593Smuzhiyun
535*4882a593Smuzhiyun	pinctrl_pwm3: pwm3grp {
536*4882a593Smuzhiyun		fsl,pins = <
537*4882a593Smuzhiyun			MX6QDL_PAD_SD4_DAT1__PWM3_OUT		0x1b0b1
538*4882a593Smuzhiyun		>;
539*4882a593Smuzhiyun	};
540*4882a593Smuzhiyun
541*4882a593Smuzhiyun	pinctrl_pwm4: pwm4grp {
542*4882a593Smuzhiyun		fsl,pins = <
543*4882a593Smuzhiyun			MX6QDL_PAD_SD4_DAT2__PWM4_OUT		0x1b0b1
544*4882a593Smuzhiyun		>;
545*4882a593Smuzhiyun	};
546*4882a593Smuzhiyun
547*4882a593Smuzhiyun	pinctrl_reg_lcd: reglcdgrp {
548*4882a593Smuzhiyun		fsl,pins = <
549*4882a593Smuzhiyun			MX6QDL_PAD_SD4_DAT3__GPIO2_IO11		0x1b0b0
550*4882a593Smuzhiyun		>;
551*4882a593Smuzhiyun	};
552*4882a593Smuzhiyun
553*4882a593Smuzhiyun	pinctrl_uart1: uart1grp {
554*4882a593Smuzhiyun		fsl,pins = <
555*4882a593Smuzhiyun			MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA	0x1b0b1
556*4882a593Smuzhiyun			MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA	0x1b0b1
557*4882a593Smuzhiyun		>;
558*4882a593Smuzhiyun	};
559*4882a593Smuzhiyun
560*4882a593Smuzhiyun	pinctrl_uart2: uart2grp {
561*4882a593Smuzhiyun		fsl,pins = <
562*4882a593Smuzhiyun			MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA	0x1b0b1
563*4882a593Smuzhiyun			MX6QDL_PAD_SD4_DAT5__UART2_RTS_B	0x1b0b1
564*4882a593Smuzhiyun			MX6QDL_PAD_SD4_DAT6__UART2_CTS_B	0x1b0b1
565*4882a593Smuzhiyun			MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA	0x1b0b1
566*4882a593Smuzhiyun		>;
567*4882a593Smuzhiyun	};
568*4882a593Smuzhiyun
569*4882a593Smuzhiyun	pinctrl_uart3: uart3grp {
570*4882a593Smuzhiyun		fsl,pins = <
571*4882a593Smuzhiyun			MX6QDL_PAD_EIM_D24__UART3_TX_DATA	0x1b0b1
572*4882a593Smuzhiyun			MX6QDL_PAD_EIM_D25__UART3_RX_DATA	0x1b0b1
573*4882a593Smuzhiyun			MX6QDL_PAD_EIM_D23__UART3_CTS_B		0x1b0b1
574*4882a593Smuzhiyun			MX6QDL_PAD_EIM_D31__UART3_RTS_B		0x1b0b1
575*4882a593Smuzhiyun		>;
576*4882a593Smuzhiyun	};
577*4882a593Smuzhiyun
578*4882a593Smuzhiyun	pinctrl_usbotg: usbotggrp {
579*4882a593Smuzhiyun		fsl,pins = <
580*4882a593Smuzhiyun			MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID	0x17059
581*4882a593Smuzhiyun		>;
582*4882a593Smuzhiyun	};
583*4882a593Smuzhiyun
584*4882a593Smuzhiyun	pinctrl_usbotg_vbus: usbotgvbusgrp {
585*4882a593Smuzhiyun		fsl,pins = <
586*4882a593Smuzhiyun			MX6QDL_PAD_EIM_D22__GPIO3_IO22		0x1b0b0
587*4882a593Smuzhiyun		>;
588*4882a593Smuzhiyun	};
589*4882a593Smuzhiyun
590*4882a593Smuzhiyun	pinctrl_usdhc1: usdhc1grp {
591*4882a593Smuzhiyun		fsl,pins = <
592*4882a593Smuzhiyun			MX6QDL_PAD_SD1_CMD__SD1_CMD		0x17071
593*4882a593Smuzhiyun			MX6QDL_PAD_SD1_CLK__SD1_CLK		0x17071
594*4882a593Smuzhiyun			MX6QDL_PAD_SD1_DAT0__SD1_DATA0		0x17071
595*4882a593Smuzhiyun			MX6QDL_PAD_SD1_DAT1__SD1_DATA1		0x17071
596*4882a593Smuzhiyun			MX6QDL_PAD_SD1_DAT2__SD1_DATA2		0x17071
597*4882a593Smuzhiyun			MX6QDL_PAD_SD1_DAT3__SD1_DATA3		0x17071
598*4882a593Smuzhiyun			MX6QDL_PAD_GPIO_2__GPIO1_IO02		0x1b0b0
599*4882a593Smuzhiyun		>;
600*4882a593Smuzhiyun	};
601*4882a593Smuzhiyun
602*4882a593Smuzhiyun	pinctrl_usdhc2: usdhc2grp {
603*4882a593Smuzhiyun		fsl,pins = <
604*4882a593Smuzhiyun			MX6QDL_PAD_SD2_CMD__SD2_CMD		0x17059
605*4882a593Smuzhiyun			MX6QDL_PAD_SD2_CLK__SD2_CLK		0x10059
606*4882a593Smuzhiyun			MX6QDL_PAD_SD2_DAT0__SD2_DATA0		0x17059
607*4882a593Smuzhiyun			MX6QDL_PAD_SD2_DAT1__SD2_DATA1		0x17059
608*4882a593Smuzhiyun			MX6QDL_PAD_SD2_DAT2__SD2_DATA2		0x17059
609*4882a593Smuzhiyun			MX6QDL_PAD_SD2_DAT3__SD2_DATA3		0x17059
610*4882a593Smuzhiyun		>;
611*4882a593Smuzhiyun	};
612*4882a593Smuzhiyun
613*4882a593Smuzhiyun	pinctrl_usdhc3: usdhc3grp {
614*4882a593Smuzhiyun		fsl,pins = <
615*4882a593Smuzhiyun			MX6QDL_PAD_SD3_CMD__SD3_CMD		0x17059
616*4882a593Smuzhiyun			MX6QDL_PAD_SD3_CLK__SD3_CLK		0x10059
617*4882a593Smuzhiyun			MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x17059
618*4882a593Smuzhiyun			MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x17059
619*4882a593Smuzhiyun			MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x17059
620*4882a593Smuzhiyun			MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x17059
621*4882a593Smuzhiyun			MX6QDL_PAD_EIM_DA9__GPIO3_IO09		0xb0b1
622*4882a593Smuzhiyun			MX6QDL_PAD_SD3_DAT4__SD3_DATA4		0x17059
623*4882a593Smuzhiyun			MX6QDL_PAD_SD3_DAT5__SD3_DATA5		0x17059
624*4882a593Smuzhiyun			MX6QDL_PAD_SD3_DAT6__SD3_DATA6		0x17059
625*4882a593Smuzhiyun			MX6QDL_PAD_SD3_DAT7__SD3_DATA7		0x17059
626*4882a593Smuzhiyun		>;
627*4882a593Smuzhiyun	};
628*4882a593Smuzhiyun};
629