xref: /linux/scripts/dtc/include-prefixes/arm/nxp/imx/imx6qdl-sabrelite.dtsi (revision 724ba6751532055db75992fc6ae21c3e322e94a7)
1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0 OR X11
2*724ba675SRob Herring/*
3*724ba675SRob Herring * Copyright 2011 Freescale Semiconductor, Inc.
4*724ba675SRob Herring * Copyright 2011 Linaro Ltd.
5*724ba675SRob Herring *
6*724ba675SRob Herring */
7*724ba675SRob Herring
8*724ba675SRob Herring#include <dt-bindings/clock/imx6qdl-clock.h>
9*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
10*724ba675SRob Herring#include <dt-bindings/input/input.h>
11*724ba675SRob Herring
12*724ba675SRob Herring/ {
13*724ba675SRob Herring	chosen {
14*724ba675SRob Herring		stdout-path = &uart2;
15*724ba675SRob Herring	};
16*724ba675SRob Herring
17*724ba675SRob Herring	aliases {
18*724ba675SRob Herring		mmc0 = &usdhc3;
19*724ba675SRob Herring		mmc1 = &usdhc4;
20*724ba675SRob Herring	};
21*724ba675SRob Herring
22*724ba675SRob Herring	memory@10000000 {
23*724ba675SRob Herring		device_type = "memory";
24*724ba675SRob Herring		reg = <0x10000000 0x40000000>;
25*724ba675SRob Herring	};
26*724ba675SRob Herring
27*724ba675SRob Herring	regulators {
28*724ba675SRob Herring		compatible = "simple-bus";
29*724ba675SRob Herring		#address-cells = <1>;
30*724ba675SRob Herring		#size-cells = <0>;
31*724ba675SRob Herring
32*724ba675SRob Herring		reg_2p5v: regulator@0 {
33*724ba675SRob Herring			compatible = "regulator-fixed";
34*724ba675SRob Herring			reg = <0>;
35*724ba675SRob Herring			regulator-name = "2P5V";
36*724ba675SRob Herring			regulator-min-microvolt = <2500000>;
37*724ba675SRob Herring			regulator-max-microvolt = <2500000>;
38*724ba675SRob Herring			regulator-always-on;
39*724ba675SRob Herring		};
40*724ba675SRob Herring
41*724ba675SRob Herring		reg_3p3v: regulator@1 {
42*724ba675SRob Herring			compatible = "regulator-fixed";
43*724ba675SRob Herring			reg = <1>;
44*724ba675SRob Herring			regulator-name = "3P3V";
45*724ba675SRob Herring			regulator-min-microvolt = <3300000>;
46*724ba675SRob Herring			regulator-max-microvolt = <3300000>;
47*724ba675SRob Herring			regulator-always-on;
48*724ba675SRob Herring		};
49*724ba675SRob Herring
50*724ba675SRob Herring		reg_usb_otg_vbus: regulator@2 {
51*724ba675SRob Herring			compatible = "regulator-fixed";
52*724ba675SRob Herring			reg = <2>;
53*724ba675SRob Herring			regulator-name = "usb_otg_vbus";
54*724ba675SRob Herring			regulator-min-microvolt = <5000000>;
55*724ba675SRob Herring			regulator-max-microvolt = <5000000>;
56*724ba675SRob Herring			gpio = <&gpio3 22 0>;
57*724ba675SRob Herring			enable-active-high;
58*724ba675SRob Herring		};
59*724ba675SRob Herring
60*724ba675SRob Herring		reg_can_xcvr: regulator@3 {
61*724ba675SRob Herring			compatible = "regulator-fixed";
62*724ba675SRob Herring			reg = <3>;
63*724ba675SRob Herring			regulator-name = "CAN XCVR";
64*724ba675SRob Herring			regulator-min-microvolt = <3300000>;
65*724ba675SRob Herring			regulator-max-microvolt = <3300000>;
66*724ba675SRob Herring			pinctrl-names = "default";
67*724ba675SRob Herring			pinctrl-0 = <&pinctrl_can_xcvr>;
68*724ba675SRob Herring			gpio = <&gpio1 2 GPIO_ACTIVE_LOW>;
69*724ba675SRob Herring		};
70*724ba675SRob Herring
71*724ba675SRob Herring		reg_1p5v: regulator@4 {
72*724ba675SRob Herring			compatible = "regulator-fixed";
73*724ba675SRob Herring			reg = <4>;
74*724ba675SRob Herring			regulator-name = "1P5V";
75*724ba675SRob Herring			regulator-min-microvolt = <1500000>;
76*724ba675SRob Herring			regulator-max-microvolt = <1500000>;
77*724ba675SRob Herring			regulator-always-on;
78*724ba675SRob Herring		};
79*724ba675SRob Herring
80*724ba675SRob Herring		reg_1p8v: regulator@5 {
81*724ba675SRob Herring			compatible = "regulator-fixed";
82*724ba675SRob Herring			reg = <5>;
83*724ba675SRob Herring			regulator-name = "1P8V";
84*724ba675SRob Herring			regulator-min-microvolt = <1800000>;
85*724ba675SRob Herring			regulator-max-microvolt = <1800000>;
86*724ba675SRob Herring			regulator-always-on;
87*724ba675SRob Herring		};
88*724ba675SRob Herring
89*724ba675SRob Herring		reg_2p8v: regulator@6 {
90*724ba675SRob Herring			compatible = "regulator-fixed";
91*724ba675SRob Herring			reg = <6>;
92*724ba675SRob Herring			regulator-name = "2P8V";
93*724ba675SRob Herring			regulator-min-microvolt = <2800000>;
94*724ba675SRob Herring			regulator-max-microvolt = <2800000>;
95*724ba675SRob Herring			regulator-always-on;
96*724ba675SRob Herring		};
97*724ba675SRob Herring
98*724ba675SRob Herring		reg_usb_h1_vbus: regulator@7 {
99*724ba675SRob Herring			compatible = "regulator-fixed";
100*724ba675SRob Herring			reg = <7>;
101*724ba675SRob Herring			pinctrl-names = "default";
102*724ba675SRob Herring			pinctrl-0 = <&pinctrl_usbh1>;
103*724ba675SRob Herring			regulator-name = "usb_h1_vbus";
104*724ba675SRob Herring			regulator-min-microvolt = <3300000>;
105*724ba675SRob Herring			regulator-max-microvolt = <3300000>;
106*724ba675SRob Herring			gpio = <&gpio7 12 GPIO_ACTIVE_HIGH>;
107*724ba675SRob Herring			enable-active-high;
108*724ba675SRob Herring		};
109*724ba675SRob Herring	};
110*724ba675SRob Herring
111*724ba675SRob Herring	mipi_xclk: mipi_xclk {
112*724ba675SRob Herring		compatible = "pwm-clock";
113*724ba675SRob Herring		#clock-cells = <0>;
114*724ba675SRob Herring		clock-frequency = <22000000>;
115*724ba675SRob Herring		clock-output-names = "mipi_pwm3";
116*724ba675SRob Herring		pwms = <&pwm3 0 45>; /* 1 / 45 ns = 22 MHz */
117*724ba675SRob Herring		status = "okay";
118*724ba675SRob Herring	};
119*724ba675SRob Herring
120*724ba675SRob Herring	gpio-keys {
121*724ba675SRob Herring		compatible = "gpio-keys";
122*724ba675SRob Herring		pinctrl-names = "default";
123*724ba675SRob Herring		pinctrl-0 = <&pinctrl_gpio_keys>;
124*724ba675SRob Herring
125*724ba675SRob Herring		power {
126*724ba675SRob Herring			label = "Power Button";
127*724ba675SRob Herring			gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
128*724ba675SRob Herring			linux,code = <KEY_POWER>;
129*724ba675SRob Herring			wakeup-source;
130*724ba675SRob Herring		};
131*724ba675SRob Herring
132*724ba675SRob Herring		menu {
133*724ba675SRob Herring			label = "Menu";
134*724ba675SRob Herring			gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
135*724ba675SRob Herring			linux,code = <KEY_MENU>;
136*724ba675SRob Herring		};
137*724ba675SRob Herring
138*724ba675SRob Herring		home {
139*724ba675SRob Herring			label = "Home";
140*724ba675SRob Herring			gpios = <&gpio2 4 GPIO_ACTIVE_LOW>;
141*724ba675SRob Herring			linux,code = <KEY_HOME>;
142*724ba675SRob Herring		};
143*724ba675SRob Herring
144*724ba675SRob Herring		back {
145*724ba675SRob Herring			label = "Back";
146*724ba675SRob Herring			gpios = <&gpio2 2 GPIO_ACTIVE_LOW>;
147*724ba675SRob Herring			linux,code = <KEY_BACK>;
148*724ba675SRob Herring		};
149*724ba675SRob Herring
150*724ba675SRob Herring		volume-up {
151*724ba675SRob Herring			label = "Volume Up";
152*724ba675SRob Herring			gpios = <&gpio7 13 GPIO_ACTIVE_LOW>;
153*724ba675SRob Herring			linux,code = <KEY_VOLUMEUP>;
154*724ba675SRob Herring		};
155*724ba675SRob Herring
156*724ba675SRob Herring		volume-down {
157*724ba675SRob Herring			label = "Volume Down";
158*724ba675SRob Herring			gpios = <&gpio4 5 GPIO_ACTIVE_LOW>;
159*724ba675SRob Herring			linux,code = <KEY_VOLUMEDOWN>;
160*724ba675SRob Herring		};
161*724ba675SRob Herring	};
162*724ba675SRob Herring
163*724ba675SRob Herring	sound {
164*724ba675SRob Herring		compatible = "fsl,imx6q-sabrelite-sgtl5000",
165*724ba675SRob Herring			     "fsl,imx-audio-sgtl5000";
166*724ba675SRob Herring		model = "imx6q-sabrelite-sgtl5000";
167*724ba675SRob Herring		ssi-controller = <&ssi1>;
168*724ba675SRob Herring		audio-codec = <&codec>;
169*724ba675SRob Herring		audio-routing =
170*724ba675SRob Herring			"MIC_IN", "Mic Jack",
171*724ba675SRob Herring			"Mic Jack", "Mic Bias",
172*724ba675SRob Herring			"Headphone Jack", "HP_OUT";
173*724ba675SRob Herring		mux-int-port = <1>;
174*724ba675SRob Herring		mux-ext-port = <4>;
175*724ba675SRob Herring	};
176*724ba675SRob Herring
177*724ba675SRob Herring	backlight_lcd: backlight-lcd {
178*724ba675SRob Herring		compatible = "pwm-backlight";
179*724ba675SRob Herring		pwms = <&pwm1 0 5000000>;
180*724ba675SRob Herring		brightness-levels = <0 4 8 16 32 64 128 255>;
181*724ba675SRob Herring		default-brightness-level = <7>;
182*724ba675SRob Herring		power-supply = <&reg_3p3v>;
183*724ba675SRob Herring		status = "okay";
184*724ba675SRob Herring	};
185*724ba675SRob Herring
186*724ba675SRob Herring	backlight_lvds: backlight-lvds {
187*724ba675SRob Herring		compatible = "pwm-backlight";
188*724ba675SRob Herring		pwms = <&pwm4 0 5000000>;
189*724ba675SRob Herring		brightness-levels = <0 4 8 16 32 64 128 255>;
190*724ba675SRob Herring		default-brightness-level = <7>;
191*724ba675SRob Herring		power-supply = <&reg_3p3v>;
192*724ba675SRob Herring		status = "okay";
193*724ba675SRob Herring	};
194*724ba675SRob Herring
195*724ba675SRob Herring	lcd_display: disp0 {
196*724ba675SRob Herring		compatible = "fsl,imx-parallel-display";
197*724ba675SRob Herring		#address-cells = <1>;
198*724ba675SRob Herring		#size-cells = <0>;
199*724ba675SRob Herring		interface-pix-fmt = "bgr666";
200*724ba675SRob Herring		pinctrl-names = "default";
201*724ba675SRob Herring		pinctrl-0 = <&pinctrl_j15>;
202*724ba675SRob Herring		status = "okay";
203*724ba675SRob Herring
204*724ba675SRob Herring		port@0 {
205*724ba675SRob Herring			reg = <0>;
206*724ba675SRob Herring
207*724ba675SRob Herring			lcd_display_in: endpoint {
208*724ba675SRob Herring				remote-endpoint = <&ipu1_di0_disp0>;
209*724ba675SRob Herring			};
210*724ba675SRob Herring		};
211*724ba675SRob Herring
212*724ba675SRob Herring		port@1 {
213*724ba675SRob Herring			reg = <1>;
214*724ba675SRob Herring
215*724ba675SRob Herring			lcd_display_out: endpoint {
216*724ba675SRob Herring				remote-endpoint = <&lcd_panel_in>;
217*724ba675SRob Herring			};
218*724ba675SRob Herring		};
219*724ba675SRob Herring	};
220*724ba675SRob Herring
221*724ba675SRob Herring	panel-lcd {
222*724ba675SRob Herring		compatible = "okaya,rs800480t-7x0gp";
223*724ba675SRob Herring		backlight = <&backlight_lcd>;
224*724ba675SRob Herring
225*724ba675SRob Herring		port {
226*724ba675SRob Herring			lcd_panel_in: endpoint {
227*724ba675SRob Herring				remote-endpoint = <&lcd_display_out>;
228*724ba675SRob Herring			};
229*724ba675SRob Herring		};
230*724ba675SRob Herring	};
231*724ba675SRob Herring
232*724ba675SRob Herring	panel-lvds0 {
233*724ba675SRob Herring		compatible = "hannstar,hsd100pxn1";
234*724ba675SRob Herring		backlight = <&backlight_lvds>;
235*724ba675SRob Herring
236*724ba675SRob Herring		port {
237*724ba675SRob Herring			panel_in: endpoint {
238*724ba675SRob Herring				remote-endpoint = <&lvds0_out>;
239*724ba675SRob Herring			};
240*724ba675SRob Herring		};
241*724ba675SRob Herring	};
242*724ba675SRob Herring};
243*724ba675SRob Herring
244*724ba675SRob Herring&ipu1_csi0_from_ipu1_csi0_mux {
245*724ba675SRob Herring	bus-width = <8>;
246*724ba675SRob Herring	data-shift = <12>; /* Lines 19:12 used */
247*724ba675SRob Herring	hsync-active = <1>;
248*724ba675SRob Herring	vync-active = <1>;
249*724ba675SRob Herring};
250*724ba675SRob Herring
251*724ba675SRob Herring&ipu1_csi0_mux_from_parallel_sensor {
252*724ba675SRob Herring	remote-endpoint = <&ov5642_to_ipu1_csi0_mux>;
253*724ba675SRob Herring};
254*724ba675SRob Herring
255*724ba675SRob Herring&ipu1_csi0 {
256*724ba675SRob Herring	pinctrl-names = "default";
257*724ba675SRob Herring	pinctrl-0 = <&pinctrl_ipu1_csi0>;
258*724ba675SRob Herring};
259*724ba675SRob Herring
260*724ba675SRob Herring&audmux {
261*724ba675SRob Herring	pinctrl-names = "default";
262*724ba675SRob Herring	pinctrl-0 = <&pinctrl_audmux>;
263*724ba675SRob Herring	status = "okay";
264*724ba675SRob Herring};
265*724ba675SRob Herring
266*724ba675SRob Herring&can1 {
267*724ba675SRob Herring	pinctrl-names = "default";
268*724ba675SRob Herring	pinctrl-0 = <&pinctrl_can1>;
269*724ba675SRob Herring	xceiver-supply = <&reg_can_xcvr>;
270*724ba675SRob Herring	status = "okay";
271*724ba675SRob Herring};
272*724ba675SRob Herring
273*724ba675SRob Herring&clks {
274*724ba675SRob Herring	assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>,
275*724ba675SRob Herring			  <&clks IMX6QDL_CLK_LDB_DI1_SEL>;
276*724ba675SRob Herring	assigned-clock-parents = <&clks IMX6QDL_CLK_PLL3_USB_OTG>,
277*724ba675SRob Herring				 <&clks IMX6QDL_CLK_PLL3_USB_OTG>;
278*724ba675SRob Herring};
279*724ba675SRob Herring
280*724ba675SRob Herring&ecspi1 {
281*724ba675SRob Herring	cs-gpios = <&gpio3 19 GPIO_ACTIVE_LOW>;
282*724ba675SRob Herring	pinctrl-names = "default";
283*724ba675SRob Herring	pinctrl-0 = <&pinctrl_ecspi1>;
284*724ba675SRob Herring	status = "okay";
285*724ba675SRob Herring
286*724ba675SRob Herring	flash: flash@0 {
287*724ba675SRob Herring		compatible = "sst,sst25vf016b", "jedec,spi-nor";
288*724ba675SRob Herring		spi-max-frequency = <20000000>;
289*724ba675SRob Herring		reg = <0>;
290*724ba675SRob Herring	};
291*724ba675SRob Herring};
292*724ba675SRob Herring
293*724ba675SRob Herring&fec {
294*724ba675SRob Herring	pinctrl-names = "default";
295*724ba675SRob Herring	pinctrl-0 = <&pinctrl_enet>;
296*724ba675SRob Herring	phy-mode = "rgmii";
297*724ba675SRob Herring	phy-handle = <&ethphy>;
298*724ba675SRob Herring	phy-reset-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>;
299*724ba675SRob Herring	status = "okay";
300*724ba675SRob Herring
301*724ba675SRob Herring	mdio {
302*724ba675SRob Herring		#address-cells = <1>;
303*724ba675SRob Herring		#size-cells = <0>;
304*724ba675SRob Herring
305*724ba675SRob Herring		ethphy: ethernet-phy {
306*724ba675SRob Herring			compatible = "ethernet-phy-ieee802.3-c22";
307*724ba675SRob Herring			txen-skew-ps = <0>;
308*724ba675SRob Herring			txc-skew-ps = <3000>;
309*724ba675SRob Herring			rxdv-skew-ps = <0>;
310*724ba675SRob Herring			rxc-skew-ps = <3000>;
311*724ba675SRob Herring			rxd0-skew-ps = <0>;
312*724ba675SRob Herring			rxd1-skew-ps = <0>;
313*724ba675SRob Herring			rxd2-skew-ps = <0>;
314*724ba675SRob Herring			rxd3-skew-ps = <0>;
315*724ba675SRob Herring			txd0-skew-ps = <0>;
316*724ba675SRob Herring			txd1-skew-ps = <0>;
317*724ba675SRob Herring			txd2-skew-ps = <0>;
318*724ba675SRob Herring			txd3-skew-ps = <0>;
319*724ba675SRob Herring		};
320*724ba675SRob Herring	};
321*724ba675SRob Herring};
322*724ba675SRob Herring
323*724ba675SRob Herring&hdmi {
324*724ba675SRob Herring	ddc-i2c-bus = <&i2c2>;
325*724ba675SRob Herring	status = "okay";
326*724ba675SRob Herring};
327*724ba675SRob Herring
328*724ba675SRob Herring&i2c1 {
329*724ba675SRob Herring	clock-frequency = <100000>;
330*724ba675SRob Herring	pinctrl-names = "default";
331*724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c1>;
332*724ba675SRob Herring	status = "okay";
333*724ba675SRob Herring
334*724ba675SRob Herring	codec: sgtl5000@a {
335*724ba675SRob Herring		compatible = "fsl,sgtl5000";
336*724ba675SRob Herring		reg = <0x0a>;
337*724ba675SRob Herring		clocks = <&clks IMX6QDL_CLK_CKO>;
338*724ba675SRob Herring		VDDA-supply = <&reg_2p5v>;
339*724ba675SRob Herring		VDDIO-supply = <&reg_3p3v>;
340*724ba675SRob Herring	};
341*724ba675SRob Herring};
342*724ba675SRob Herring
343*724ba675SRob Herring&i2c2 {
344*724ba675SRob Herring	clock-frequency = <100000>;
345*724ba675SRob Herring	pinctrl-names = "default";
346*724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c2>;
347*724ba675SRob Herring	status = "okay";
348*724ba675SRob Herring
349*724ba675SRob Herring	ov5640: camera@40 {
350*724ba675SRob Herring		compatible = "ovti,ov5640";
351*724ba675SRob Herring		pinctrl-names = "default";
352*724ba675SRob Herring		pinctrl-0 = <&pinctrl_ov5640>;
353*724ba675SRob Herring		reg = <0x40>;
354*724ba675SRob Herring		clocks = <&mipi_xclk>;
355*724ba675SRob Herring		clock-names = "xclk";
356*724ba675SRob Herring		DOVDD-supply = <&reg_1p8v>;
357*724ba675SRob Herring		AVDD-supply = <&reg_2p8v>;
358*724ba675SRob Herring		DVDD-supply = <&reg_1p5v>;
359*724ba675SRob Herring		reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>; /* NANDF_D5 */
360*724ba675SRob Herring		powerdown-gpios = <&gpio6 9 GPIO_ACTIVE_HIGH>; /* NANDF_WP_B */
361*724ba675SRob Herring
362*724ba675SRob Herring		port {
363*724ba675SRob Herring			ov5640_to_mipi_csi2: endpoint {
364*724ba675SRob Herring				remote-endpoint = <&mipi_csi2_in>;
365*724ba675SRob Herring				clock-lanes = <0>;
366*724ba675SRob Herring				data-lanes = <1 2>;
367*724ba675SRob Herring			};
368*724ba675SRob Herring		};
369*724ba675SRob Herring	};
370*724ba675SRob Herring
371*724ba675SRob Herring	ov5642: camera@42 {
372*724ba675SRob Herring		compatible = "ovti,ov5642";
373*724ba675SRob Herring		pinctrl-names = "default";
374*724ba675SRob Herring		pinctrl-0 = <&pinctrl_ov5642>;
375*724ba675SRob Herring		clocks = <&clks IMX6QDL_CLK_CKO2>;
376*724ba675SRob Herring		clock-names = "xclk";
377*724ba675SRob Herring		reg = <0x42>;
378*724ba675SRob Herring		reset-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
379*724ba675SRob Herring		powerdown-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
380*724ba675SRob Herring		gp-gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>;
381*724ba675SRob Herring		status = "disabled";
382*724ba675SRob Herring
383*724ba675SRob Herring		port {
384*724ba675SRob Herring			ov5642_to_ipu1_csi0_mux: endpoint {
385*724ba675SRob Herring				remote-endpoint = <&ipu1_csi0_mux_from_parallel_sensor>;
386*724ba675SRob Herring				bus-width = <8>;
387*724ba675SRob Herring				hsync-active = <1>;
388*724ba675SRob Herring				vsync-active = <1>;
389*724ba675SRob Herring			};
390*724ba675SRob Herring		};
391*724ba675SRob Herring	};
392*724ba675SRob Herring};
393*724ba675SRob Herring
394*724ba675SRob Herring&i2c3 {
395*724ba675SRob Herring	clock-frequency = <100000>;
396*724ba675SRob Herring	pinctrl-names = "default";
397*724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c3>;
398*724ba675SRob Herring	status = "okay";
399*724ba675SRob Herring};
400*724ba675SRob Herring
401*724ba675SRob Herring&iomuxc {
402*724ba675SRob Herring	pinctrl-names = "default";
403*724ba675SRob Herring	pinctrl-0 = <&pinctrl_hog>;
404*724ba675SRob Herring
405*724ba675SRob Herring	imx6q-sabrelite {
406*724ba675SRob Herring		pinctrl_hog: hoggrp {
407*724ba675SRob Herring			fsl,pins = <
408*724ba675SRob Herring				/* SGTL5000 sys_mclk */
409*724ba675SRob Herring				MX6QDL_PAD_GPIO_0__CCM_CLKO1    0x030b0
410*724ba675SRob Herring			>;
411*724ba675SRob Herring		};
412*724ba675SRob Herring
413*724ba675SRob Herring		pinctrl_audmux: audmuxgrp {
414*724ba675SRob Herring			fsl,pins = <
415*724ba675SRob Herring				MX6QDL_PAD_SD2_DAT0__AUD4_RXD		0x130b0
416*724ba675SRob Herring				MX6QDL_PAD_SD2_DAT3__AUD4_TXC		0x130b0
417*724ba675SRob Herring				MX6QDL_PAD_SD2_DAT2__AUD4_TXD		0x110b0
418*724ba675SRob Herring				MX6QDL_PAD_SD2_DAT1__AUD4_TXFS		0x130b0
419*724ba675SRob Herring			>;
420*724ba675SRob Herring		};
421*724ba675SRob Herring
422*724ba675SRob Herring		pinctrl_can1: can1grp {
423*724ba675SRob Herring			fsl,pins = <
424*724ba675SRob Herring				MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX	0x1b0b0
425*724ba675SRob Herring				MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX	0x1b0b0
426*724ba675SRob Herring			>;
427*724ba675SRob Herring		};
428*724ba675SRob Herring
429*724ba675SRob Herring		pinctrl_can_xcvr: can-xcvrgrp {
430*724ba675SRob Herring			fsl,pins = <
431*724ba675SRob Herring				/* Flexcan XCVR enable */
432*724ba675SRob Herring				MX6QDL_PAD_GPIO_2__GPIO1_IO02		0x1b0b0
433*724ba675SRob Herring			>;
434*724ba675SRob Herring		};
435*724ba675SRob Herring
436*724ba675SRob Herring		pinctrl_ecspi1: ecspi1grp {
437*724ba675SRob Herring			fsl,pins = <
438*724ba675SRob Herring				MX6QDL_PAD_EIM_D17__ECSPI1_MISO		0x100b1
439*724ba675SRob Herring				MX6QDL_PAD_EIM_D18__ECSPI1_MOSI		0x100b1
440*724ba675SRob Herring				MX6QDL_PAD_EIM_D16__ECSPI1_SCLK		0x100b1
441*724ba675SRob Herring				MX6QDL_PAD_EIM_D19__GPIO3_IO19  0x000b1	/* CS */
442*724ba675SRob Herring			>;
443*724ba675SRob Herring		};
444*724ba675SRob Herring
445*724ba675SRob Herring		pinctrl_enet: enetgrp {
446*724ba675SRob Herring			fsl,pins = <
447*724ba675SRob Herring				MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x100b0
448*724ba675SRob Herring				MX6QDL_PAD_ENET_MDC__ENET_MDC		0x100b0
449*724ba675SRob Herring				MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x10030
450*724ba675SRob Herring				MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x10030
451*724ba675SRob Herring				MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x10030
452*724ba675SRob Herring				MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x10030
453*724ba675SRob Herring				MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x10030
454*724ba675SRob Herring				MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x10030
455*724ba675SRob Herring				MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x100b0
456*724ba675SRob Herring				MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b030
457*724ba675SRob Herring				MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x1b030
458*724ba675SRob Herring				MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x1b030
459*724ba675SRob Herring				MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b030
460*724ba675SRob Herring				MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b030
461*724ba675SRob Herring				MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x1b030
462*724ba675SRob Herring				/* Phy reset */
463*724ba675SRob Herring				MX6QDL_PAD_EIM_D23__GPIO3_IO23		0x000b0
464*724ba675SRob Herring			>;
465*724ba675SRob Herring		};
466*724ba675SRob Herring
467*724ba675SRob Herring		pinctrl_gpio_keys: gpio-keysgrp {
468*724ba675SRob Herring			fsl,pins = <
469*724ba675SRob Herring				/* Power Button */
470*724ba675SRob Herring				MX6QDL_PAD_NANDF_D3__GPIO2_IO03		0x1b0b0
471*724ba675SRob Herring				/* Menu Button */
472*724ba675SRob Herring				MX6QDL_PAD_NANDF_D1__GPIO2_IO01		0x1b0b0
473*724ba675SRob Herring				/* Home Button */
474*724ba675SRob Herring				MX6QDL_PAD_NANDF_D4__GPIO2_IO04		0x1b0b0
475*724ba675SRob Herring				/* Back Button */
476*724ba675SRob Herring				MX6QDL_PAD_NANDF_D2__GPIO2_IO02		0x1b0b0
477*724ba675SRob Herring				/* Volume Up Button */
478*724ba675SRob Herring				MX6QDL_PAD_GPIO_18__GPIO7_IO13		0x1b0b0
479*724ba675SRob Herring				/* Volume Down Button */
480*724ba675SRob Herring				MX6QDL_PAD_GPIO_19__GPIO4_IO05		0x1b0b0
481*724ba675SRob Herring			>;
482*724ba675SRob Herring		};
483*724ba675SRob Herring
484*724ba675SRob Herring		pinctrl_i2c1: i2c1grp {
485*724ba675SRob Herring			fsl,pins = <
486*724ba675SRob Herring				MX6QDL_PAD_EIM_D21__I2C1_SCL		0x4001b8b1
487*724ba675SRob Herring				MX6QDL_PAD_EIM_D28__I2C1_SDA		0x4001b8b1
488*724ba675SRob Herring			>;
489*724ba675SRob Herring		};
490*724ba675SRob Herring
491*724ba675SRob Herring		pinctrl_i2c2: i2c2grp {
492*724ba675SRob Herring			fsl,pins = <
493*724ba675SRob Herring				MX6QDL_PAD_KEY_COL3__I2C2_SCL		0x4001b8b1
494*724ba675SRob Herring				MX6QDL_PAD_KEY_ROW3__I2C2_SDA		0x4001b8b1
495*724ba675SRob Herring			>;
496*724ba675SRob Herring		};
497*724ba675SRob Herring
498*724ba675SRob Herring		pinctrl_i2c3: i2c3grp {
499*724ba675SRob Herring			fsl,pins = <
500*724ba675SRob Herring				MX6QDL_PAD_GPIO_5__I2C3_SCL		0x4001b8b1
501*724ba675SRob Herring				MX6QDL_PAD_GPIO_16__I2C3_SDA		0x4001b8b1
502*724ba675SRob Herring			>;
503*724ba675SRob Herring		};
504*724ba675SRob Herring
505*724ba675SRob Herring		pinctrl_ipu1_csi0: ipu1csi0grp {
506*724ba675SRob Herring			fsl,pins = <
507*724ba675SRob Herring				MX6QDL_PAD_CSI0_DAT12__IPU1_CSI0_DATA12    0x1b0b0
508*724ba675SRob Herring				MX6QDL_PAD_CSI0_DAT13__IPU1_CSI0_DATA13    0x1b0b0
509*724ba675SRob Herring				MX6QDL_PAD_CSI0_DAT14__IPU1_CSI0_DATA14    0x1b0b0
510*724ba675SRob Herring				MX6QDL_PAD_CSI0_DAT15__IPU1_CSI0_DATA15    0x1b0b0
511*724ba675SRob Herring				MX6QDL_PAD_CSI0_DAT16__IPU1_CSI0_DATA16    0x1b0b0
512*724ba675SRob Herring				MX6QDL_PAD_CSI0_DAT17__IPU1_CSI0_DATA17    0x1b0b0
513*724ba675SRob Herring				MX6QDL_PAD_CSI0_DAT18__IPU1_CSI0_DATA18    0x1b0b0
514*724ba675SRob Herring				MX6QDL_PAD_CSI0_DAT19__IPU1_CSI0_DATA19    0x1b0b0
515*724ba675SRob Herring				MX6QDL_PAD_CSI0_PIXCLK__IPU1_CSI0_PIXCLK   0x1b0b0
516*724ba675SRob Herring				MX6QDL_PAD_CSI0_MCLK__IPU1_CSI0_HSYNC      0x1b0b0
517*724ba675SRob Herring				MX6QDL_PAD_CSI0_VSYNC__IPU1_CSI0_VSYNC     0x1b0b0
518*724ba675SRob Herring				MX6QDL_PAD_CSI0_DATA_EN__IPU1_CSI0_DATA_EN 0x1b0b0
519*724ba675SRob Herring			>;
520*724ba675SRob Herring		};
521*724ba675SRob Herring
522*724ba675SRob Herring		pinctrl_j15: j15grp {
523*724ba675SRob Herring			fsl,pins = <
524*724ba675SRob Herring				MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x10
525*724ba675SRob Herring				MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15       0x10
526*724ba675SRob Herring				MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02        0x10
527*724ba675SRob Herring				MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03        0x10
528*724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00   0x10
529*724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01   0x10
530*724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02   0x10
531*724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03   0x10
532*724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04   0x10
533*724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05   0x10
534*724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06   0x10
535*724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07   0x10
536*724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08   0x10
537*724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09   0x10
538*724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10  0x10
539*724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11  0x10
540*724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12  0x10
541*724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13  0x10
542*724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14  0x10
543*724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15  0x10
544*724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16  0x10
545*724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17  0x10
546*724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18  0x10
547*724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19  0x10
548*724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20  0x10
549*724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21  0x10
550*724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22  0x10
551*724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23  0x10
552*724ba675SRob Herring			>;
553*724ba675SRob Herring		};
554*724ba675SRob Herring
555*724ba675SRob Herring		pinctrl_ov5640: ov5640grp {
556*724ba675SRob Herring			fsl,pins = <
557*724ba675SRob Herring				MX6QDL_PAD_NANDF_D5__GPIO2_IO05   0x000b0
558*724ba675SRob Herring				MX6QDL_PAD_NANDF_WP_B__GPIO6_IO09 0x0b0b0
559*724ba675SRob Herring			>;
560*724ba675SRob Herring		};
561*724ba675SRob Herring
562*724ba675SRob Herring		pinctrl_ov5642: ov5642grp {
563*724ba675SRob Herring			fsl,pins = <
564*724ba675SRob Herring				MX6QDL_PAD_SD1_DAT0__GPIO1_IO16 0x1b0b0
565*724ba675SRob Herring				MX6QDL_PAD_GPIO_6__GPIO1_IO06   0x1b0b0
566*724ba675SRob Herring				MX6QDL_PAD_GPIO_8__GPIO1_IO08   0x130b0
567*724ba675SRob Herring				MX6QDL_PAD_GPIO_3__CCM_CLKO2    0x000b0
568*724ba675SRob Herring			>;
569*724ba675SRob Herring		};
570*724ba675SRob Herring
571*724ba675SRob Herring		pinctrl_pwm1: pwm1grp {
572*724ba675SRob Herring			fsl,pins = <
573*724ba675SRob Herring				MX6QDL_PAD_SD1_DAT3__PWM1_OUT 0x1b0b1
574*724ba675SRob Herring			>;
575*724ba675SRob Herring		};
576*724ba675SRob Herring
577*724ba675SRob Herring		pinctrl_pwm3: pwm3grp {
578*724ba675SRob Herring			fsl,pins = <
579*724ba675SRob Herring				MX6QDL_PAD_SD1_DAT1__PWM3_OUT 0x1b0b1
580*724ba675SRob Herring			>;
581*724ba675SRob Herring		};
582*724ba675SRob Herring
583*724ba675SRob Herring		pinctrl_pwm4: pwm4grp {
584*724ba675SRob Herring			fsl,pins = <
585*724ba675SRob Herring				MX6QDL_PAD_SD1_CMD__PWM4_OUT 0x1b0b1
586*724ba675SRob Herring			>;
587*724ba675SRob Herring		};
588*724ba675SRob Herring
589*724ba675SRob Herring		pinctrl_uart1: uart1grp {
590*724ba675SRob Herring			fsl,pins = <
591*724ba675SRob Herring				MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA	0x1b0b1
592*724ba675SRob Herring				MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA	0x1b0b1
593*724ba675SRob Herring			>;
594*724ba675SRob Herring		};
595*724ba675SRob Herring
596*724ba675SRob Herring		pinctrl_uart2: uart2grp {
597*724ba675SRob Herring			fsl,pins = <
598*724ba675SRob Herring				MX6QDL_PAD_EIM_D26__UART2_TX_DATA	0x1b0b1
599*724ba675SRob Herring				MX6QDL_PAD_EIM_D27__UART2_RX_DATA	0x1b0b1
600*724ba675SRob Herring			>;
601*724ba675SRob Herring		};
602*724ba675SRob Herring
603*724ba675SRob Herring		pinctrl_usbh1: usbh1grp {
604*724ba675SRob Herring			fsl,pins = <
605*724ba675SRob Herring				MX6QDL_PAD_GPIO_17__GPIO7_IO12		0x030b0
606*724ba675SRob Herring			>;
607*724ba675SRob Herring		};
608*724ba675SRob Herring
609*724ba675SRob Herring		pinctrl_usbotg: usbotggrp {
610*724ba675SRob Herring			fsl,pins = <
611*724ba675SRob Herring				MX6QDL_PAD_GPIO_1__USB_OTG_ID		0x17059
612*724ba675SRob Herring				MX6QDL_PAD_KEY_COL4__USB_OTG_OC	0x1b0b0
613*724ba675SRob Herring				/* power enable, high active */
614*724ba675SRob Herring				MX6QDL_PAD_EIM_D22__GPIO3_IO22  0x000b0
615*724ba675SRob Herring			>;
616*724ba675SRob Herring		};
617*724ba675SRob Herring
618*724ba675SRob Herring		pinctrl_usdhc3: usdhc3grp {
619*724ba675SRob Herring			fsl,pins = <
620*724ba675SRob Herring				MX6QDL_PAD_SD3_CMD__SD3_CMD		0x17059
621*724ba675SRob Herring				MX6QDL_PAD_SD3_CLK__SD3_CLK		0x10059
622*724ba675SRob Herring				MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x17059
623*724ba675SRob Herring				MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x17059
624*724ba675SRob Herring				MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x17059
625*724ba675SRob Herring				MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x17059
626*724ba675SRob Herring				MX6QDL_PAD_SD3_DAT5__GPIO7_IO00 0x1b0b0	/* CD */
627*724ba675SRob Herring				MX6QDL_PAD_SD3_DAT4__GPIO7_IO01 0x1f0b0	/* WP */
628*724ba675SRob Herring			>;
629*724ba675SRob Herring		};
630*724ba675SRob Herring
631*724ba675SRob Herring		pinctrl_usdhc4: usdhc4grp {
632*724ba675SRob Herring			fsl,pins = <
633*724ba675SRob Herring				MX6QDL_PAD_SD4_CMD__SD4_CMD		0x17059
634*724ba675SRob Herring				MX6QDL_PAD_SD4_CLK__SD4_CLK		0x10059
635*724ba675SRob Herring				MX6QDL_PAD_SD4_DAT0__SD4_DATA0		0x17059
636*724ba675SRob Herring				MX6QDL_PAD_SD4_DAT1__SD4_DATA1		0x17059
637*724ba675SRob Herring				MX6QDL_PAD_SD4_DAT2__SD4_DATA2		0x17059
638*724ba675SRob Herring				MX6QDL_PAD_SD4_DAT3__SD4_DATA3		0x17059
639*724ba675SRob Herring				MX6QDL_PAD_NANDF_D6__GPIO2_IO06 0x1b0b0	/* CD */
640*724ba675SRob Herring			>;
641*724ba675SRob Herring		};
642*724ba675SRob Herring	};
643*724ba675SRob Herring};
644*724ba675SRob Herring
645*724ba675SRob Herring&ipu1_di0_disp0 {
646*724ba675SRob Herring	remote-endpoint = <&lcd_display_in>;
647*724ba675SRob Herring};
648*724ba675SRob Herring
649*724ba675SRob Herring&ldb {
650*724ba675SRob Herring	status = "okay";
651*724ba675SRob Herring
652*724ba675SRob Herring	lvds-channel@0 {
653*724ba675SRob Herring		status = "okay";
654*724ba675SRob Herring
655*724ba675SRob Herring		port@4 {
656*724ba675SRob Herring			reg = <4>;
657*724ba675SRob Herring
658*724ba675SRob Herring			lvds0_out: endpoint {
659*724ba675SRob Herring				remote-endpoint = <&panel_in>;
660*724ba675SRob Herring			};
661*724ba675SRob Herring		};
662*724ba675SRob Herring	};
663*724ba675SRob Herring};
664*724ba675SRob Herring
665*724ba675SRob Herring&pcie {
666*724ba675SRob Herring	status = "okay";
667*724ba675SRob Herring};
668*724ba675SRob Herring
669*724ba675SRob Herring&pwm1 {
670*724ba675SRob Herring	#pwm-cells = <2>;
671*724ba675SRob Herring	pinctrl-names = "default";
672*724ba675SRob Herring	pinctrl-0 = <&pinctrl_pwm1>;
673*724ba675SRob Herring	status = "okay";
674*724ba675SRob Herring};
675*724ba675SRob Herring
676*724ba675SRob Herring&pwm3 {
677*724ba675SRob Herring	#pwm-cells = <2>;
678*724ba675SRob Herring	pinctrl-names = "default";
679*724ba675SRob Herring	pinctrl-0 = <&pinctrl_pwm3>;
680*724ba675SRob Herring	status = "okay";
681*724ba675SRob Herring};
682*724ba675SRob Herring
683*724ba675SRob Herring&pwm4 {
684*724ba675SRob Herring	#pwm-cells = <2>;
685*724ba675SRob Herring	pinctrl-names = "default";
686*724ba675SRob Herring	pinctrl-0 = <&pinctrl_pwm4>;
687*724ba675SRob Herring	status = "okay";
688*724ba675SRob Herring};
689*724ba675SRob Herring
690*724ba675SRob Herring&ssi1 {
691*724ba675SRob Herring	status = "okay";
692*724ba675SRob Herring};
693*724ba675SRob Herring
694*724ba675SRob Herring&uart1 {
695*724ba675SRob Herring	pinctrl-names = "default";
696*724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart1>;
697*724ba675SRob Herring	status = "okay";
698*724ba675SRob Herring};
699*724ba675SRob Herring
700*724ba675SRob Herring&uart2 {
701*724ba675SRob Herring	pinctrl-names = "default";
702*724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart2>;
703*724ba675SRob Herring	status = "okay";
704*724ba675SRob Herring};
705*724ba675SRob Herring
706*724ba675SRob Herring&usbh1 {
707*724ba675SRob Herring	vbus-supply = <&reg_usb_h1_vbus>;
708*724ba675SRob Herring	status = "okay";
709*724ba675SRob Herring};
710*724ba675SRob Herring
711*724ba675SRob Herring&usbotg {
712*724ba675SRob Herring	vbus-supply = <&reg_usb_otg_vbus>;
713*724ba675SRob Herring	pinctrl-names = "default";
714*724ba675SRob Herring	pinctrl-0 = <&pinctrl_usbotg>;
715*724ba675SRob Herring	disable-over-current;
716*724ba675SRob Herring	status = "okay";
717*724ba675SRob Herring};
718*724ba675SRob Herring
719*724ba675SRob Herring&usdhc3 {
720*724ba675SRob Herring	pinctrl-names = "default";
721*724ba675SRob Herring	pinctrl-0 = <&pinctrl_usdhc3>;
722*724ba675SRob Herring	cd-gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
723*724ba675SRob Herring	wp-gpios = <&gpio7 1 GPIO_ACTIVE_HIGH>;
724*724ba675SRob Herring	vmmc-supply = <&reg_3p3v>;
725*724ba675SRob Herring	status = "okay";
726*724ba675SRob Herring};
727*724ba675SRob Herring
728*724ba675SRob Herring&usdhc4 {
729*724ba675SRob Herring	pinctrl-names = "default";
730*724ba675SRob Herring	pinctrl-0 = <&pinctrl_usdhc4>;
731*724ba675SRob Herring	cd-gpios = <&gpio2 6 GPIO_ACTIVE_LOW>;
732*724ba675SRob Herring	vmmc-supply = <&reg_3p3v>;
733*724ba675SRob Herring	status = "okay";
734*724ba675SRob Herring};
735*724ba675SRob Herring
736*724ba675SRob Herring&mipi_csi {
737*724ba675SRob Herring	status = "okay";
738*724ba675SRob Herring
739*724ba675SRob Herring	port@0 {
740*724ba675SRob Herring		reg = <0>;
741*724ba675SRob Herring
742*724ba675SRob Herring		mipi_csi2_in: endpoint {
743*724ba675SRob Herring			remote-endpoint = <&ov5640_to_mipi_csi2>;
744*724ba675SRob Herring			clock-lanes = <0>;
745*724ba675SRob Herring			data-lanes = <1 2>;
746*724ba675SRob Herring		};
747*724ba675SRob Herring	};
748*724ba675SRob Herring};
749