xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/imx6qdl-gw5910.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Copyright 2019 Gateworks Corporation
4*4882a593Smuzhiyun */
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h>
7*4882a593Smuzhiyun#include <dt-bindings/input/linux-event-codes.h>
8*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/irq.h>
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun/ {
11*4882a593Smuzhiyun	/* these are used by bootloader for disabling nodes */
12*4882a593Smuzhiyun	aliases {
13*4882a593Smuzhiyun		led0 = &led0;
14*4882a593Smuzhiyun		led1 = &led1;
15*4882a593Smuzhiyun		led2 = &led2;
16*4882a593Smuzhiyun	};
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun	chosen {
19*4882a593Smuzhiyun		stdout-path = &uart2;
20*4882a593Smuzhiyun	};
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun	memory@10000000 {
23*4882a593Smuzhiyun		device_type = "memory";
24*4882a593Smuzhiyun		reg = <0x10000000 0x20000000>;
25*4882a593Smuzhiyun	};
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun	gpio-keys {
28*4882a593Smuzhiyun		compatible = "gpio-keys";
29*4882a593Smuzhiyun		#address-cells = <1>;
30*4882a593Smuzhiyun		#size-cells = <0>;
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun		user-pb {
33*4882a593Smuzhiyun			label = "user_pb";
34*4882a593Smuzhiyun			gpios = <&gsc_gpio 2 GPIO_ACTIVE_LOW>;
35*4882a593Smuzhiyun			linux,code = <BTN_0>;
36*4882a593Smuzhiyun		};
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun		user-pb1x {
39*4882a593Smuzhiyun			label = "user_pb1x";
40*4882a593Smuzhiyun			linux,code = <BTN_1>;
41*4882a593Smuzhiyun			interrupt-parent = <&gsc>;
42*4882a593Smuzhiyun			interrupts = <0>;
43*4882a593Smuzhiyun		};
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun		key-erased {
46*4882a593Smuzhiyun			label = "key-erased";
47*4882a593Smuzhiyun			linux,code = <BTN_2>;
48*4882a593Smuzhiyun			interrupt-parent = <&gsc>;
49*4882a593Smuzhiyun			interrupts = <1>;
50*4882a593Smuzhiyun		};
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun		eeprom-wp {
53*4882a593Smuzhiyun			label = "eeprom_wp";
54*4882a593Smuzhiyun			linux,code = <BTN_3>;
55*4882a593Smuzhiyun			interrupt-parent = <&gsc>;
56*4882a593Smuzhiyun			interrupts = <2>;
57*4882a593Smuzhiyun		};
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun		tamper {
60*4882a593Smuzhiyun			label = "tamper";
61*4882a593Smuzhiyun			linux,code = <BTN_4>;
62*4882a593Smuzhiyun			interrupt-parent = <&gsc>;
63*4882a593Smuzhiyun			interrupts = <5>;
64*4882a593Smuzhiyun		};
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun		switch-hold {
67*4882a593Smuzhiyun			label = "switch_hold";
68*4882a593Smuzhiyun			linux,code = <BTN_5>;
69*4882a593Smuzhiyun			interrupt-parent = <&gsc>;
70*4882a593Smuzhiyun			interrupts = <7>;
71*4882a593Smuzhiyun		};
72*4882a593Smuzhiyun	};
73*4882a593Smuzhiyun
74*4882a593Smuzhiyun	leds {
75*4882a593Smuzhiyun		compatible = "gpio-leds";
76*4882a593Smuzhiyun		pinctrl-names = "default";
77*4882a593Smuzhiyun		pinctrl-0 = <&pinctrl_gpio_leds>;
78*4882a593Smuzhiyun
79*4882a593Smuzhiyun		led0: user1 {
80*4882a593Smuzhiyun			label = "user1";
81*4882a593Smuzhiyun			gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* MX6_PANLEDG */
82*4882a593Smuzhiyun			default-state = "on";
83*4882a593Smuzhiyun			linux,default-trigger = "heartbeat";
84*4882a593Smuzhiyun		};
85*4882a593Smuzhiyun
86*4882a593Smuzhiyun		led1: user2 {
87*4882a593Smuzhiyun			label = "user2";
88*4882a593Smuzhiyun			gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>; /* MX6_PANLEDR */
89*4882a593Smuzhiyun			default-state = "off";
90*4882a593Smuzhiyun		};
91*4882a593Smuzhiyun
92*4882a593Smuzhiyun		led2: user3 {
93*4882a593Smuzhiyun			label = "user3";
94*4882a593Smuzhiyun			gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; /* MX6_LOCLED# */
95*4882a593Smuzhiyun			default-state = "off";
96*4882a593Smuzhiyun		};
97*4882a593Smuzhiyun	};
98*4882a593Smuzhiyun
99*4882a593Smuzhiyun	pps {
100*4882a593Smuzhiyun		compatible = "pps-gpio";
101*4882a593Smuzhiyun		pinctrl-names = "default";
102*4882a593Smuzhiyun		pinctrl-0 = <&pinctrl_pps>;
103*4882a593Smuzhiyun		gpios = <&gpio4 16 GPIO_ACTIVE_HIGH>;
104*4882a593Smuzhiyun		status = "okay";
105*4882a593Smuzhiyun	};
106*4882a593Smuzhiyun
107*4882a593Smuzhiyun	reg_3p3v: regulator-3p3v {
108*4882a593Smuzhiyun		compatible = "regulator-fixed";
109*4882a593Smuzhiyun		regulator-name = "3P3V";
110*4882a593Smuzhiyun		regulator-min-microvolt = <3300000>;
111*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
112*4882a593Smuzhiyun		regulator-always-on;
113*4882a593Smuzhiyun	};
114*4882a593Smuzhiyun
115*4882a593Smuzhiyun	reg_5p0v: regulator-5p0v {
116*4882a593Smuzhiyun		compatible = "regulator-fixed";
117*4882a593Smuzhiyun		regulator-name = "5P0V";
118*4882a593Smuzhiyun		regulator-min-microvolt = <5000000>;
119*4882a593Smuzhiyun		regulator-max-microvolt = <5000000>;
120*4882a593Smuzhiyun		regulator-always-on;
121*4882a593Smuzhiyun	};
122*4882a593Smuzhiyun
123*4882a593Smuzhiyun	reg_wl: regulator-wl {
124*4882a593Smuzhiyun		pinctrl-names = "default";
125*4882a593Smuzhiyun		pinctrl-0 = <&pinctrl_reg_wl>;
126*4882a593Smuzhiyun		compatible = "regulator-fixed";
127*4882a593Smuzhiyun		regulator-name = "wl";
128*4882a593Smuzhiyun		gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>;
129*4882a593Smuzhiyun		startup-delay-us = <100>;
130*4882a593Smuzhiyun		enable-active-high;
131*4882a593Smuzhiyun		regulator-min-microvolt = <3300000>;
132*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
133*4882a593Smuzhiyun	};
134*4882a593Smuzhiyun};
135*4882a593Smuzhiyun
136*4882a593Smuzhiyun
137*4882a593Smuzhiyun&ecspi3 {
138*4882a593Smuzhiyun	cs-gpios = <&gpio4 24 GPIO_ACTIVE_LOW>;
139*4882a593Smuzhiyun	pinctrl-names = "default";
140*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_ecspi3>;
141*4882a593Smuzhiyun	status = "okay";
142*4882a593Smuzhiyun};
143*4882a593Smuzhiyun
144*4882a593Smuzhiyun&fec {
145*4882a593Smuzhiyun	pinctrl-names = "default";
146*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_enet>;
147*4882a593Smuzhiyun	phy-mode = "rgmii-id";
148*4882a593Smuzhiyun	status = "okay";
149*4882a593Smuzhiyun};
150*4882a593Smuzhiyun
151*4882a593Smuzhiyun&gpmi {
152*4882a593Smuzhiyun	pinctrl-names = "default";
153*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_gpmi_nand>;
154*4882a593Smuzhiyun	status = "okay";
155*4882a593Smuzhiyun};
156*4882a593Smuzhiyun
157*4882a593Smuzhiyun&i2c1 {
158*4882a593Smuzhiyun	clock-frequency = <100000>;
159*4882a593Smuzhiyun	pinctrl-names = "default";
160*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_i2c1>;
161*4882a593Smuzhiyun	status = "okay";
162*4882a593Smuzhiyun
163*4882a593Smuzhiyun	gsc: gsc@20 {
164*4882a593Smuzhiyun		compatible = "gw,gsc";
165*4882a593Smuzhiyun		reg = <0x20>;
166*4882a593Smuzhiyun		interrupt-parent = <&gpio1>;
167*4882a593Smuzhiyun		interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
168*4882a593Smuzhiyun		interrupt-controller;
169*4882a593Smuzhiyun		#interrupt-cells = <1>;
170*4882a593Smuzhiyun		#size-cells = <0>;
171*4882a593Smuzhiyun
172*4882a593Smuzhiyun		adc {
173*4882a593Smuzhiyun			compatible = "gw,gsc-adc";
174*4882a593Smuzhiyun			#address-cells = <1>;
175*4882a593Smuzhiyun			#size-cells = <0>;
176*4882a593Smuzhiyun
177*4882a593Smuzhiyun			channel@6 {
178*4882a593Smuzhiyun				gw,mode = <0>;
179*4882a593Smuzhiyun				reg = <0x06>;
180*4882a593Smuzhiyun				label = "temp";
181*4882a593Smuzhiyun			};
182*4882a593Smuzhiyun
183*4882a593Smuzhiyun			channel@8 {
184*4882a593Smuzhiyun				gw,mode = <3>;
185*4882a593Smuzhiyun				reg = <0x08>;
186*4882a593Smuzhiyun				label = "vdd_bat";
187*4882a593Smuzhiyun			};
188*4882a593Smuzhiyun
189*4882a593Smuzhiyun			channel@82 {
190*4882a593Smuzhiyun				gw,mode = <2>;
191*4882a593Smuzhiyun				reg = <0x82>;
192*4882a593Smuzhiyun				label = "vdd_vin";
193*4882a593Smuzhiyun				gw,voltage-divider-ohms = <22100 1000>;
194*4882a593Smuzhiyun				gw,voltage-offset-microvolt = <800000>;
195*4882a593Smuzhiyun			};
196*4882a593Smuzhiyun
197*4882a593Smuzhiyun			channel@84 {
198*4882a593Smuzhiyun				gw,mode = <2>;
199*4882a593Smuzhiyun				reg = <0x84>;
200*4882a593Smuzhiyun				label = "vdd_5p0";
201*4882a593Smuzhiyun				gw,voltage-divider-ohms = <22100 10000>;
202*4882a593Smuzhiyun			};
203*4882a593Smuzhiyun
204*4882a593Smuzhiyun			channel@86 {
205*4882a593Smuzhiyun				gw,mode = <2>;
206*4882a593Smuzhiyun				reg = <0x86>;
207*4882a593Smuzhiyun				label = "vdd_3p3";
208*4882a593Smuzhiyun				gw,voltage-divider-ohms = <10000 10000>;
209*4882a593Smuzhiyun			};
210*4882a593Smuzhiyun
211*4882a593Smuzhiyun			channel@88 {
212*4882a593Smuzhiyun				gw,mode = <2>;
213*4882a593Smuzhiyun				reg = <0x88>;
214*4882a593Smuzhiyun				label = "vdd_2p5";
215*4882a593Smuzhiyun				gw,voltage-divider-ohms = <10000 10000>;
216*4882a593Smuzhiyun			};
217*4882a593Smuzhiyun
218*4882a593Smuzhiyun			channel@8c {
219*4882a593Smuzhiyun				gw,mode = <2>;
220*4882a593Smuzhiyun				reg = <0x8c>;
221*4882a593Smuzhiyun				label = "vdd_3p0";
222*4882a593Smuzhiyun			};
223*4882a593Smuzhiyun
224*4882a593Smuzhiyun			channel@8e {
225*4882a593Smuzhiyun				gw,mode = <2>;
226*4882a593Smuzhiyun				reg = <0x8e>;
227*4882a593Smuzhiyun				label = "vdd_arm";
228*4882a593Smuzhiyun			};
229*4882a593Smuzhiyun
230*4882a593Smuzhiyun			channel@90 {
231*4882a593Smuzhiyun				gw,mode = <2>;
232*4882a593Smuzhiyun				reg = <0x90>;
233*4882a593Smuzhiyun				label = "vdd_soc";
234*4882a593Smuzhiyun			};
235*4882a593Smuzhiyun
236*4882a593Smuzhiyun			channel@92 {
237*4882a593Smuzhiyun				gw,mode = <2>;
238*4882a593Smuzhiyun				reg = <0x92>;
239*4882a593Smuzhiyun				label = "vdd_1p5";
240*4882a593Smuzhiyun			};
241*4882a593Smuzhiyun
242*4882a593Smuzhiyun			channel@98 {
243*4882a593Smuzhiyun				gw,mode = <2>;
244*4882a593Smuzhiyun				reg = <0x98>;
245*4882a593Smuzhiyun				label = "vdd_1p8";
246*4882a593Smuzhiyun			};
247*4882a593Smuzhiyun
248*4882a593Smuzhiyun			channel@9a {
249*4882a593Smuzhiyun				gw,mode = <2>;
250*4882a593Smuzhiyun				reg = <0x9a>;
251*4882a593Smuzhiyun				label = "vdd_1p0";
252*4882a593Smuzhiyun				gw,voltage-divider-ohms = <10000 10000>;
253*4882a593Smuzhiyun			};
254*4882a593Smuzhiyun
255*4882a593Smuzhiyun			channel@9c {
256*4882a593Smuzhiyun				gw,mode = <2>;
257*4882a593Smuzhiyun				reg = <0x9c>;
258*4882a593Smuzhiyun				label = "vdd_an1";
259*4882a593Smuzhiyun				gw,voltage-divider-ohms = <10000 10000>;
260*4882a593Smuzhiyun			};
261*4882a593Smuzhiyun
262*4882a593Smuzhiyun			channel@a2 {
263*4882a593Smuzhiyun				gw,mode = <2>;
264*4882a593Smuzhiyun				reg = <0xa2>;
265*4882a593Smuzhiyun				label = "vdd_gsc";
266*4882a593Smuzhiyun				gw,voltage-divider-ohms = <10000 10000>;
267*4882a593Smuzhiyun			};
268*4882a593Smuzhiyun		};
269*4882a593Smuzhiyun	};
270*4882a593Smuzhiyun
271*4882a593Smuzhiyun	gsc_gpio: gpio@23 {
272*4882a593Smuzhiyun		compatible = "nxp,pca9555";
273*4882a593Smuzhiyun		reg = <0x23>;
274*4882a593Smuzhiyun		gpio-controller;
275*4882a593Smuzhiyun		#gpio-cells = <2>;
276*4882a593Smuzhiyun		interrupt-parent = <&gsc>;
277*4882a593Smuzhiyun		interrupts = <4>;
278*4882a593Smuzhiyun	};
279*4882a593Smuzhiyun
280*4882a593Smuzhiyun	eeprom@50 {
281*4882a593Smuzhiyun		compatible = "atmel,24c02";
282*4882a593Smuzhiyun		reg = <0x50>;
283*4882a593Smuzhiyun		pagesize = <16>;
284*4882a593Smuzhiyun	};
285*4882a593Smuzhiyun
286*4882a593Smuzhiyun	eeprom@51 {
287*4882a593Smuzhiyun		compatible = "atmel,24c02";
288*4882a593Smuzhiyun		reg = <0x51>;
289*4882a593Smuzhiyun		pagesize = <16>;
290*4882a593Smuzhiyun	};
291*4882a593Smuzhiyun
292*4882a593Smuzhiyun	eeprom@52 {
293*4882a593Smuzhiyun		compatible = "atmel,24c02";
294*4882a593Smuzhiyun		reg = <0x52>;
295*4882a593Smuzhiyun		pagesize = <16>;
296*4882a593Smuzhiyun	};
297*4882a593Smuzhiyun
298*4882a593Smuzhiyun	eeprom@53 {
299*4882a593Smuzhiyun		compatible = "atmel,24c02";
300*4882a593Smuzhiyun		reg = <0x53>;
301*4882a593Smuzhiyun		pagesize = <16>;
302*4882a593Smuzhiyun	};
303*4882a593Smuzhiyun
304*4882a593Smuzhiyun	rtc@68 {
305*4882a593Smuzhiyun		compatible = "dallas,ds1672";
306*4882a593Smuzhiyun		reg = <0x68>;
307*4882a593Smuzhiyun	};
308*4882a593Smuzhiyun};
309*4882a593Smuzhiyun
310*4882a593Smuzhiyun&i2c2 {
311*4882a593Smuzhiyun	clock-frequency = <100000>;
312*4882a593Smuzhiyun	pinctrl-names = "default";
313*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_i2c2>;
314*4882a593Smuzhiyun	status = "okay";
315*4882a593Smuzhiyun};
316*4882a593Smuzhiyun
317*4882a593Smuzhiyun&i2c3 {
318*4882a593Smuzhiyun	clock-frequency = <100000>;
319*4882a593Smuzhiyun	pinctrl-names = "default";
320*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_i2c3>;
321*4882a593Smuzhiyun	status = "okay";
322*4882a593Smuzhiyun
323*4882a593Smuzhiyun	accel@19 {
324*4882a593Smuzhiyun		pinctrl-names = "default";
325*4882a593Smuzhiyun		pinctrl-0 = <&pinctrl_accel>;
326*4882a593Smuzhiyun		compatible = "st,lis2de12";
327*4882a593Smuzhiyun		reg = <0x19>;
328*4882a593Smuzhiyun		st,drdy-int-pin = <1>;
329*4882a593Smuzhiyun		interrupt-parent = <&gpio7>;
330*4882a593Smuzhiyun		interrupts = <13 0>;
331*4882a593Smuzhiyun		interrupt-names = "INT1";
332*4882a593Smuzhiyun	};
333*4882a593Smuzhiyun};
334*4882a593Smuzhiyun
335*4882a593Smuzhiyun&pcie {
336*4882a593Smuzhiyun	pinctrl-names = "default";
337*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_pcie>;
338*4882a593Smuzhiyun	reset-gpio = <&gpio3 20 GPIO_ACTIVE_LOW>;
339*4882a593Smuzhiyun	status = "okay";
340*4882a593Smuzhiyun};
341*4882a593Smuzhiyun
342*4882a593Smuzhiyun&pwm2 {
343*4882a593Smuzhiyun	pinctrl-names = "default";
344*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_pwm2>; /* MX6_DIO1 */
345*4882a593Smuzhiyun	status = "disabled";
346*4882a593Smuzhiyun};
347*4882a593Smuzhiyun
348*4882a593Smuzhiyun&pwm3 {
349*4882a593Smuzhiyun	pinctrl-names = "default";
350*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_pwm3>; /* MX6_DIO2 */
351*4882a593Smuzhiyun	status = "disabled";
352*4882a593Smuzhiyun};
353*4882a593Smuzhiyun
354*4882a593Smuzhiyun/* off-board RS232 */
355*4882a593Smuzhiyun&uart1 {
356*4882a593Smuzhiyun	pinctrl-names = "default";
357*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_uart1>;
358*4882a593Smuzhiyun	status = "okay";
359*4882a593Smuzhiyun};
360*4882a593Smuzhiyun
361*4882a593Smuzhiyun/* serial console */
362*4882a593Smuzhiyun&uart2 {
363*4882a593Smuzhiyun	pinctrl-names = "default";
364*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_uart2>;
365*4882a593Smuzhiyun	status = "okay";
366*4882a593Smuzhiyun};
367*4882a593Smuzhiyun
368*4882a593Smuzhiyun/* cc1352 */
369*4882a593Smuzhiyun&uart3 {
370*4882a593Smuzhiyun	pinctrl-names = "default";
371*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_uart3>;
372*4882a593Smuzhiyun	uart-has-rtscts;
373*4882a593Smuzhiyun	status = "okay";
374*4882a593Smuzhiyun};
375*4882a593Smuzhiyun
376*4882a593Smuzhiyun/* Sterling-LWB Bluetooth */
377*4882a593Smuzhiyun&uart4 {
378*4882a593Smuzhiyun	pinctrl-names = "default";
379*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_uart4>,<&pinctrl_bten>;
380*4882a593Smuzhiyun	uart-has-rtscts;
381*4882a593Smuzhiyun	status = "okay";
382*4882a593Smuzhiyun
383*4882a593Smuzhiyun	bluetooth {
384*4882a593Smuzhiyun		compatible = "brcm,bcm4330-bt";
385*4882a593Smuzhiyun		shutdown-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
386*4882a593Smuzhiyun	};
387*4882a593Smuzhiyun};
388*4882a593Smuzhiyun
389*4882a593Smuzhiyun/* GPS */
390*4882a593Smuzhiyun&uart5 {
391*4882a593Smuzhiyun	pinctrl-names = "default";
392*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_uart5>;
393*4882a593Smuzhiyun	status = "okay";
394*4882a593Smuzhiyun};
395*4882a593Smuzhiyun
396*4882a593Smuzhiyun&usbotg {
397*4882a593Smuzhiyun	vbus-supply = <&reg_5p0v>;
398*4882a593Smuzhiyun	pinctrl-names = "default";
399*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_usbotg>;
400*4882a593Smuzhiyun	disable-over-current;
401*4882a593Smuzhiyun	status = "okay";
402*4882a593Smuzhiyun};
403*4882a593Smuzhiyun
404*4882a593Smuzhiyun&usbh1 {
405*4882a593Smuzhiyun	status = "okay";
406*4882a593Smuzhiyun};
407*4882a593Smuzhiyun
408*4882a593Smuzhiyun/* Sterling-LWB SDIO WiFi */
409*4882a593Smuzhiyun&usdhc2 {
410*4882a593Smuzhiyun	pinctrl-names = "default";
411*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_usdhc2>;
412*4882a593Smuzhiyun	vmmc-supply = <&reg_wl>;
413*4882a593Smuzhiyun	non-removable;
414*4882a593Smuzhiyun	bus-width = <4>;
415*4882a593Smuzhiyun	status = "okay";
416*4882a593Smuzhiyun};
417*4882a593Smuzhiyun
418*4882a593Smuzhiyun&usdhc3 {
419*4882a593Smuzhiyun	pinctrl-names = "default", "state_100mhz", "state_200mhz";
420*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_usdhc3>;
421*4882a593Smuzhiyun	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
422*4882a593Smuzhiyun	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
423*4882a593Smuzhiyun	cd-gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
424*4882a593Smuzhiyun	vmmc-supply = <&reg_3p3v>;
425*4882a593Smuzhiyun	status = "okay";
426*4882a593Smuzhiyun};
427*4882a593Smuzhiyun
428*4882a593Smuzhiyun&wdog1 {
429*4882a593Smuzhiyun	pinctrl-names = "default";
430*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_wdog>;
431*4882a593Smuzhiyun	fsl,ext-reset-output;
432*4882a593Smuzhiyun};
433*4882a593Smuzhiyun
434*4882a593Smuzhiyun&iomuxc {
435*4882a593Smuzhiyun	pinctrl_accel: accelmuxgrp {
436*4882a593Smuzhiyun		fsl,pins = <
437*4882a593Smuzhiyun			MX6QDL_PAD_GPIO_18__GPIO7_IO13		0x1b0b1
438*4882a593Smuzhiyun		>;
439*4882a593Smuzhiyun	};
440*4882a593Smuzhiyun
441*4882a593Smuzhiyun	pinctrl_bten: btengrp {
442*4882a593Smuzhiyun		fsl,pins = <
443*4882a593Smuzhiyun			MX6QDL_PAD_GPIO_2__GPIO1_IO02		0x1b0b1
444*4882a593Smuzhiyun		>;
445*4882a593Smuzhiyun	};
446*4882a593Smuzhiyun
447*4882a593Smuzhiyun	pinctrl_ecspi3: escpi3grp {
448*4882a593Smuzhiyun		fsl,pins = <
449*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT0__ECSPI3_SCLK	0x100b1
450*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT1__ECSPI3_MOSI	0x100b1
451*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT2__ECSPI3_MISO	0x100b1
452*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT3__GPIO4_IO24	0x100b1
453*4882a593Smuzhiyun		>;
454*4882a593Smuzhiyun	};
455*4882a593Smuzhiyun
456*4882a593Smuzhiyun	pinctrl_enet: enetgrp {
457*4882a593Smuzhiyun		fsl,pins = <
458*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b030
459*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x1b030
460*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x1b030
461*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b030
462*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b030
463*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x1b030
464*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x1b030
465*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x1b030
466*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x1b030
467*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x1b030
468*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x1b030
469*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x1b030
470*4882a593Smuzhiyun			MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x1b0b0
471*4882a593Smuzhiyun			MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b0b0
472*4882a593Smuzhiyun			MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b0b0
473*4882a593Smuzhiyun			MX6QDL_PAD_GPIO_16__ENET_REF_CLK	0x4001b0a8
474*4882a593Smuzhiyun			MX6QDL_PAD_ENET_TXD0__GPIO1_IO30	0x1b0b0
475*4882a593Smuzhiyun		>;
476*4882a593Smuzhiyun	};
477*4882a593Smuzhiyun
478*4882a593Smuzhiyun	pinctrl_gpio_leds: gpioledsgrp {
479*4882a593Smuzhiyun		fsl,pins = <
480*4882a593Smuzhiyun			MX6QDL_PAD_KEY_COL0__GPIO4_IO06  0x1b0b0
481*4882a593Smuzhiyun			MX6QDL_PAD_KEY_ROW0__GPIO4_IO07  0x1b0b0
482*4882a593Smuzhiyun			MX6QDL_PAD_KEY_ROW4__GPIO4_IO15  0x1b0b0
483*4882a593Smuzhiyun		>;
484*4882a593Smuzhiyun	};
485*4882a593Smuzhiyun
486*4882a593Smuzhiyun	pinctrl_gpmi_nand: gpminandgrp {
487*4882a593Smuzhiyun		fsl,pins = <
488*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_CLE__NAND_CLE		0xb0b1
489*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_ALE__NAND_ALE		0xb0b1
490*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_WP_B__NAND_WP_B	0xb0b1
491*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_RB0__NAND_READY_B	0xb000
492*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_CS0__NAND_CE0_B	0xb0b1
493*4882a593Smuzhiyun			MX6QDL_PAD_SD4_CMD__NAND_RE_B		0xb0b1
494*4882a593Smuzhiyun			MX6QDL_PAD_SD4_CLK__NAND_WE_B		0xb0b1
495*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_D0__NAND_DATA00	0xb0b1
496*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_D1__NAND_DATA01	0xb0b1
497*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_D2__NAND_DATA02	0xb0b1
498*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_D3__NAND_DATA03	0xb0b1
499*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_D4__NAND_DATA04	0xb0b1
500*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_D5__NAND_DATA05	0xb0b1
501*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_D6__NAND_DATA06	0xb0b1
502*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_D7__NAND_DATA07	0xb0b1
503*4882a593Smuzhiyun		>;
504*4882a593Smuzhiyun	};
505*4882a593Smuzhiyun
506*4882a593Smuzhiyun	pinctrl_i2c1: i2c1grp {
507*4882a593Smuzhiyun		fsl,pins = <
508*4882a593Smuzhiyun			MX6QDL_PAD_EIM_D21__I2C1_SCL		0x4001b8b1
509*4882a593Smuzhiyun			MX6QDL_PAD_EIM_D28__I2C1_SDA		0x4001b8b1
510*4882a593Smuzhiyun			MX6QDL_PAD_GPIO_4__GPIO1_IO04		0x0001b0b0
511*4882a593Smuzhiyun		>;
512*4882a593Smuzhiyun	};
513*4882a593Smuzhiyun
514*4882a593Smuzhiyun	pinctrl_i2c2: i2c2grp {
515*4882a593Smuzhiyun		fsl,pins = <
516*4882a593Smuzhiyun			MX6QDL_PAD_KEY_COL3__I2C2_SCL		0x4001b8b1
517*4882a593Smuzhiyun			MX6QDL_PAD_KEY_ROW3__I2C2_SDA		0x4001b8b1
518*4882a593Smuzhiyun		>;
519*4882a593Smuzhiyun	};
520*4882a593Smuzhiyun
521*4882a593Smuzhiyun	pinctrl_i2c3: i2c3grp {
522*4882a593Smuzhiyun		fsl,pins = <
523*4882a593Smuzhiyun			MX6QDL_PAD_GPIO_3__I2C3_SCL		0x4001b8b1
524*4882a593Smuzhiyun			MX6QDL_PAD_GPIO_6__I2C3_SDA		0x4001b8b1
525*4882a593Smuzhiyun		>;
526*4882a593Smuzhiyun	};
527*4882a593Smuzhiyun
528*4882a593Smuzhiyun	pinctrl_pcie: pciegrp {
529*4882a593Smuzhiyun		fsl,pins = <
530*4882a593Smuzhiyun			MX6QDL_PAD_EIM_D20__GPIO3_IO20		0x1b0b0
531*4882a593Smuzhiyun		>;
532*4882a593Smuzhiyun	};
533*4882a593Smuzhiyun
534*4882a593Smuzhiyun	pinctrl_pps: ppsgrp {
535*4882a593Smuzhiyun		fsl,pins = <
536*4882a593Smuzhiyun			MX6QDL_PAD_DI0_DISP_CLK__GPIO4_IO16	0x1b0b1
537*4882a593Smuzhiyun		>;
538*4882a593Smuzhiyun	};
539*4882a593Smuzhiyun
540*4882a593Smuzhiyun	pinctrl_pwm2: pwm2grp {
541*4882a593Smuzhiyun		fsl,pins = <
542*4882a593Smuzhiyun			MX6QDL_PAD_SD1_DAT2__PWM2_OUT		0x1b0b1
543*4882a593Smuzhiyun		>;
544*4882a593Smuzhiyun	};
545*4882a593Smuzhiyun
546*4882a593Smuzhiyun	pinctrl_pwm3: pwm3grp {
547*4882a593Smuzhiyun		fsl,pins = <
548*4882a593Smuzhiyun			MX6QDL_PAD_SD1_DAT1__PWM3_OUT		0x1b0b1
549*4882a593Smuzhiyun		>;
550*4882a593Smuzhiyun	};
551*4882a593Smuzhiyun
552*4882a593Smuzhiyun	pinctrl_reg_wl: regwlgrp {
553*4882a593Smuzhiyun		fsl,pins = <
554*4882a593Smuzhiyun			MX6QDL_PAD_GPIO_5__GPIO1_IO05		0x1b0b1
555*4882a593Smuzhiyun		>;
556*4882a593Smuzhiyun	};
557*4882a593Smuzhiyun
558*4882a593Smuzhiyun	pinctrl_uart1: uart1grp {
559*4882a593Smuzhiyun		fsl,pins = <
560*4882a593Smuzhiyun			MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA	0x1b0b1
561*4882a593Smuzhiyun			MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA	0x1b0b1
562*4882a593Smuzhiyun		>;
563*4882a593Smuzhiyun	};
564*4882a593Smuzhiyun
565*4882a593Smuzhiyun	pinctrl_uart2: uart2grp {
566*4882a593Smuzhiyun		fsl,pins = <
567*4882a593Smuzhiyun			MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA	0x1b0b1
568*4882a593Smuzhiyun			MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA	0x1b0b1
569*4882a593Smuzhiyun		>;
570*4882a593Smuzhiyun	};
571*4882a593Smuzhiyun
572*4882a593Smuzhiyun	pinctrl_uart3: uart3grp {
573*4882a593Smuzhiyun		fsl,pins = <
574*4882a593Smuzhiyun			MX6QDL_PAD_EIM_D24__UART3_TX_DATA	0x1b0b1
575*4882a593Smuzhiyun			MX6QDL_PAD_EIM_D25__UART3_RX_DATA	0x1b0b1
576*4882a593Smuzhiyun			MX6QDL_PAD_EIM_D23__UART3_RTS_B		0x1b0b1
577*4882a593Smuzhiyun			MX6QDL_PAD_EIM_D31__UART3_CTS_B		0x1b0b1
578*4882a593Smuzhiyun			MX6QDL_PAD_EIM_A25__GPIO5_IO02		0x4001b0b1 /* DIO20 */
579*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT11__GPIO5_IO05	0x4001b0b1 /* DIO14 */
580*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT12__GPIO5_IO06	0x4001b0b1 /* DIO15 */
581*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT14__GPIO5_IO08	0x1b0b1 /* TMS */
582*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT15__GPIO5_IO09	0x1b0b1 /* TCK */
583*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT16__GPIO5_IO10	0x1b0b1 /* TDO */
584*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT17__GPIO5_IO11	0x1b0b1 /* TDI */
585*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT23__GPIO5_IO17	0x4001b0b1 /* RST# */
586*4882a593Smuzhiyun		>;
587*4882a593Smuzhiyun	};
588*4882a593Smuzhiyun
589*4882a593Smuzhiyun	pinctrl_uart4: uart4grp {
590*4882a593Smuzhiyun		fsl,pins = <
591*4882a593Smuzhiyun			MX6QDL_PAD_CSI0_DAT12__UART4_TX_DATA	0x1b0b1
592*4882a593Smuzhiyun			MX6QDL_PAD_CSI0_DAT13__UART4_RX_DATA	0x1b0b1
593*4882a593Smuzhiyun			MX6QDL_PAD_CSI0_DAT16__UART4_RTS_B	0x1b0b1
594*4882a593Smuzhiyun			MX6QDL_PAD_CSI0_DAT17__UART4_CTS_B	0x1b0b1
595*4882a593Smuzhiyun		>;
596*4882a593Smuzhiyun	};
597*4882a593Smuzhiyun
598*4882a593Smuzhiyun	pinctrl_uart5: uart5grp {
599*4882a593Smuzhiyun		fsl,pins = <
600*4882a593Smuzhiyun			MX6QDL_PAD_KEY_COL1__UART5_TX_DATA	0x1b0b1
601*4882a593Smuzhiyun			MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA	0x1b0b1
602*4882a593Smuzhiyun		>;
603*4882a593Smuzhiyun	};
604*4882a593Smuzhiyun
605*4882a593Smuzhiyun	pinctrl_usbotg: usbotggrp {
606*4882a593Smuzhiyun		fsl,pins = <
607*4882a593Smuzhiyun			MX6QDL_PAD_GPIO_1__USB_OTG_ID		0x13059
608*4882a593Smuzhiyun		>;
609*4882a593Smuzhiyun	};
610*4882a593Smuzhiyun
611*4882a593Smuzhiyun	pinctrl_usdhc2: usdhc2grp {
612*4882a593Smuzhiyun		fsl,pins = <
613*4882a593Smuzhiyun			MX6QDL_PAD_SD2_CMD__SD2_CMD		0x17059
614*4882a593Smuzhiyun			MX6QDL_PAD_SD2_CLK__SD2_CLK		0x10059
615*4882a593Smuzhiyun			MX6QDL_PAD_SD2_DAT0__SD2_DATA0		0x17059
616*4882a593Smuzhiyun			MX6QDL_PAD_SD2_DAT1__SD2_DATA1		0x17059
617*4882a593Smuzhiyun			MX6QDL_PAD_SD2_DAT2__SD2_DATA2		0x17059
618*4882a593Smuzhiyun			MX6QDL_PAD_SD2_DAT3__SD2_DATA3		0x17059
619*4882a593Smuzhiyun		>;
620*4882a593Smuzhiyun	};
621*4882a593Smuzhiyun
622*4882a593Smuzhiyun	pinctrl_usdhc3: usdhc3grp {
623*4882a593Smuzhiyun		fsl,pins = <
624*4882a593Smuzhiyun			MX6QDL_PAD_SD3_CMD__SD3_CMD		0x17059
625*4882a593Smuzhiyun			MX6QDL_PAD_SD3_CLK__SD3_CLK		0x10059
626*4882a593Smuzhiyun			MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x17059
627*4882a593Smuzhiyun			MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x17059
628*4882a593Smuzhiyun			MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x17059
629*4882a593Smuzhiyun			MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x17059
630*4882a593Smuzhiyun			MX6QDL_PAD_SD3_DAT5__GPIO7_IO00		0x17059 /* CD */
631*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_CS1__SD3_VSELECT	0x17059
632*4882a593Smuzhiyun		>;
633*4882a593Smuzhiyun	};
634*4882a593Smuzhiyun
635*4882a593Smuzhiyun	pinctrl_usdhc3_100mhz: usdhc3grp100mhz {
636*4882a593Smuzhiyun		fsl,pins = <
637*4882a593Smuzhiyun			MX6QDL_PAD_SD3_CMD__SD3_CMD		0x170b9
638*4882a593Smuzhiyun			MX6QDL_PAD_SD3_CLK__SD3_CLK		0x170b9
639*4882a593Smuzhiyun			MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x170b9
640*4882a593Smuzhiyun			MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x170b9
641*4882a593Smuzhiyun			MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x170b9
642*4882a593Smuzhiyun			MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x170b9
643*4882a593Smuzhiyun			MX6QDL_PAD_SD3_DAT5__GPIO7_IO00		0x170b9 /* CD */
644*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_CS1__SD3_VSELECT	0x170b9
645*4882a593Smuzhiyun		>;
646*4882a593Smuzhiyun	};
647*4882a593Smuzhiyun
648*4882a593Smuzhiyun	pinctrl_usdhc3_200mhz: usdhc3grp200mhz {
649*4882a593Smuzhiyun		fsl,pins = <
650*4882a593Smuzhiyun			MX6QDL_PAD_SD3_CMD__SD3_CMD		0x170f9
651*4882a593Smuzhiyun			MX6QDL_PAD_SD3_CLK__SD3_CLK		0x100f9
652*4882a593Smuzhiyun			MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x170f9
653*4882a593Smuzhiyun			MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x170f9
654*4882a593Smuzhiyun			MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x170f9
655*4882a593Smuzhiyun			MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x170f9
656*4882a593Smuzhiyun			MX6QDL_PAD_SD3_DAT5__GPIO7_IO00		0x170f9 /* CD */
657*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_CS1__SD3_VSELECT	0x170f9
658*4882a593Smuzhiyun		>;
659*4882a593Smuzhiyun	};
660*4882a593Smuzhiyun
661*4882a593Smuzhiyun	pinctrl_wdog: wdoggrp {
662*4882a593Smuzhiyun		fsl,pins = <
663*4882a593Smuzhiyun			MX6QDL_PAD_DISP0_DAT8__WDOG1_B		0x1b0b0
664*4882a593Smuzhiyun		>;
665*4882a593Smuzhiyun	};
666*4882a593Smuzhiyun};
667