xref: /linux/arch/arm/boot/dts/nxp/imx/imx6qdl-sabrelite.dtsi (revision 621cde16e49b3ecf7d59a8106a20aaebfb4a59a9)
1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0 OR X11
2724ba675SRob Herring/*
3724ba675SRob Herring * Copyright 2011 Freescale Semiconductor, Inc.
4724ba675SRob Herring * Copyright 2011 Linaro Ltd.
5724ba675SRob Herring *
6724ba675SRob Herring */
7724ba675SRob Herring
8724ba675SRob Herring#include <dt-bindings/clock/imx6qdl-clock.h>
9724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
10724ba675SRob Herring#include <dt-bindings/input/input.h>
11724ba675SRob Herring
12724ba675SRob Herring/ {
13724ba675SRob Herring	chosen {
14724ba675SRob Herring		stdout-path = &uart2;
15724ba675SRob Herring	};
16724ba675SRob Herring
17724ba675SRob Herring	aliases {
18724ba675SRob Herring		mmc0 = &usdhc3;
19724ba675SRob Herring		mmc1 = &usdhc4;
20724ba675SRob Herring	};
21724ba675SRob Herring
22724ba675SRob Herring	memory@10000000 {
23724ba675SRob Herring		device_type = "memory";
24724ba675SRob Herring		reg = <0x10000000 0x40000000>;
25724ba675SRob Herring	};
26724ba675SRob Herring
27ec20d468SFabio Estevam	reg_2p5v: regulator-2p5v {
28724ba675SRob Herring		compatible = "regulator-fixed";
29724ba675SRob Herring		regulator-name = "2P5V";
30724ba675SRob Herring		regulator-min-microvolt = <2500000>;
31724ba675SRob Herring		regulator-max-microvolt = <2500000>;
32724ba675SRob Herring		regulator-always-on;
33724ba675SRob Herring	};
34724ba675SRob Herring
35ec20d468SFabio Estevam	reg_3p3v: regulator-3p3v {
36724ba675SRob Herring		compatible = "regulator-fixed";
37724ba675SRob Herring		regulator-name = "3P3V";
38724ba675SRob Herring		regulator-min-microvolt = <3300000>;
39724ba675SRob Herring		regulator-max-microvolt = <3300000>;
40724ba675SRob Herring		regulator-always-on;
41724ba675SRob Herring	};
42724ba675SRob Herring
43ec20d468SFabio Estevam	reg_usb_otg_vbus: regulator-usb-otg-vbus {
44724ba675SRob Herring		compatible = "regulator-fixed";
45724ba675SRob Herring		regulator-name = "usb_otg_vbus";
46724ba675SRob Herring		regulator-min-microvolt = <5000000>;
47724ba675SRob Herring		regulator-max-microvolt = <5000000>;
48724ba675SRob Herring		gpio = <&gpio3 22 0>;
49724ba675SRob Herring		enable-active-high;
50724ba675SRob Herring	};
51724ba675SRob Herring
52ec20d468SFabio Estevam	reg_can_xcvr: regulator-can-xcvr {
53724ba675SRob Herring		compatible = "regulator-fixed";
54724ba675SRob Herring		regulator-name = "CAN XCVR";
55724ba675SRob Herring		regulator-min-microvolt = <3300000>;
56724ba675SRob Herring		regulator-max-microvolt = <3300000>;
57724ba675SRob Herring		pinctrl-names = "default";
58724ba675SRob Herring		pinctrl-0 = <&pinctrl_can_xcvr>;
59724ba675SRob Herring		gpio = <&gpio1 2 GPIO_ACTIVE_LOW>;
60724ba675SRob Herring	};
61724ba675SRob Herring
62ec20d468SFabio Estevam	reg_1p5v: regulator-1p5v {
63724ba675SRob Herring		compatible = "regulator-fixed";
64724ba675SRob Herring		regulator-name = "1P5V";
65724ba675SRob Herring		regulator-min-microvolt = <1500000>;
66724ba675SRob Herring		regulator-max-microvolt = <1500000>;
67724ba675SRob Herring		regulator-always-on;
68724ba675SRob Herring	};
69724ba675SRob Herring
70ec20d468SFabio Estevam	reg_1p8v: regulator-1p8v {
71724ba675SRob Herring		compatible = "regulator-fixed";
72724ba675SRob Herring		regulator-name = "1P8V";
73724ba675SRob Herring		regulator-min-microvolt = <1800000>;
74724ba675SRob Herring		regulator-max-microvolt = <1800000>;
75724ba675SRob Herring		regulator-always-on;
76724ba675SRob Herring	};
77724ba675SRob Herring
78ec20d468SFabio Estevam	reg_2p8v: regulator-2p8v {
79724ba675SRob Herring		compatible = "regulator-fixed";
80724ba675SRob Herring		regulator-name = "2P8V";
81724ba675SRob Herring		regulator-min-microvolt = <2800000>;
82724ba675SRob Herring		regulator-max-microvolt = <2800000>;
83724ba675SRob Herring		regulator-always-on;
84724ba675SRob Herring	};
85724ba675SRob Herring
86ec20d468SFabio Estevam	reg_usb_h1_vbus: regulator-usb-h1-vbus {
87724ba675SRob Herring		compatible = "regulator-fixed";
88724ba675SRob Herring		pinctrl-names = "default";
89724ba675SRob Herring		pinctrl-0 = <&pinctrl_usbh1>;
90724ba675SRob Herring		regulator-name = "usb_h1_vbus";
91724ba675SRob Herring		regulator-min-microvolt = <3300000>;
92724ba675SRob Herring		regulator-max-microvolt = <3300000>;
93724ba675SRob Herring		gpio = <&gpio7 12 GPIO_ACTIVE_HIGH>;
94724ba675SRob Herring		enable-active-high;
95724ba675SRob Herring	};
96724ba675SRob Herring
97724ba675SRob Herring	mipi_xclk: mipi_xclk {
98724ba675SRob Herring		compatible = "pwm-clock";
99724ba675SRob Herring		#clock-cells = <0>;
100724ba675SRob Herring		clock-frequency = <22000000>;
101724ba675SRob Herring		clock-output-names = "mipi_pwm3";
102*2a08654eSUwe Kleine-König		pwms = <&pwm3 0 45 0>; /* 1 / 45 ns = 22 MHz */
103724ba675SRob Herring		status = "okay";
104724ba675SRob Herring	};
105724ba675SRob Herring
106724ba675SRob Herring	gpio-keys {
107724ba675SRob Herring		compatible = "gpio-keys";
108724ba675SRob Herring		pinctrl-names = "default";
109724ba675SRob Herring		pinctrl-0 = <&pinctrl_gpio_keys>;
110724ba675SRob Herring
111724ba675SRob Herring		power {
112724ba675SRob Herring			label = "Power Button";
113724ba675SRob Herring			gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
114724ba675SRob Herring			linux,code = <KEY_POWER>;
115724ba675SRob Herring			wakeup-source;
116724ba675SRob Herring		};
117724ba675SRob Herring
118724ba675SRob Herring		menu {
119724ba675SRob Herring			label = "Menu";
120724ba675SRob Herring			gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
121724ba675SRob Herring			linux,code = <KEY_MENU>;
122724ba675SRob Herring		};
123724ba675SRob Herring
124724ba675SRob Herring		home {
125724ba675SRob Herring			label = "Home";
126724ba675SRob Herring			gpios = <&gpio2 4 GPIO_ACTIVE_LOW>;
127724ba675SRob Herring			linux,code = <KEY_HOME>;
128724ba675SRob Herring		};
129724ba675SRob Herring
130724ba675SRob Herring		back {
131724ba675SRob Herring			label = "Back";
132724ba675SRob Herring			gpios = <&gpio2 2 GPIO_ACTIVE_LOW>;
133724ba675SRob Herring			linux,code = <KEY_BACK>;
134724ba675SRob Herring		};
135724ba675SRob Herring
136724ba675SRob Herring		volume-up {
137724ba675SRob Herring			label = "Volume Up";
138724ba675SRob Herring			gpios = <&gpio7 13 GPIO_ACTIVE_LOW>;
139724ba675SRob Herring			linux,code = <KEY_VOLUMEUP>;
140724ba675SRob Herring		};
141724ba675SRob Herring
142724ba675SRob Herring		volume-down {
143724ba675SRob Herring			label = "Volume Down";
144724ba675SRob Herring			gpios = <&gpio4 5 GPIO_ACTIVE_LOW>;
145724ba675SRob Herring			linux,code = <KEY_VOLUMEDOWN>;
146724ba675SRob Herring		};
147724ba675SRob Herring	};
148724ba675SRob Herring
149724ba675SRob Herring	sound {
150724ba675SRob Herring		compatible = "fsl,imx6q-sabrelite-sgtl5000",
151724ba675SRob Herring			     "fsl,imx-audio-sgtl5000";
152724ba675SRob Herring		model = "imx6q-sabrelite-sgtl5000";
153724ba675SRob Herring		ssi-controller = <&ssi1>;
154724ba675SRob Herring		audio-codec = <&codec>;
155724ba675SRob Herring		audio-routing =
156724ba675SRob Herring			"MIC_IN", "Mic Jack",
157724ba675SRob Herring			"Mic Jack", "Mic Bias",
158724ba675SRob Herring			"Headphone Jack", "HP_OUT";
159724ba675SRob Herring		mux-int-port = <1>;
160724ba675SRob Herring		mux-ext-port = <4>;
161724ba675SRob Herring	};
162724ba675SRob Herring
163724ba675SRob Herring	backlight_lcd: backlight-lcd {
164724ba675SRob Herring		compatible = "pwm-backlight";
165*2a08654eSUwe Kleine-König		pwms = <&pwm1 0 5000000 0>;
166724ba675SRob Herring		brightness-levels = <0 4 8 16 32 64 128 255>;
167724ba675SRob Herring		default-brightness-level = <7>;
168724ba675SRob Herring		power-supply = <&reg_3p3v>;
169724ba675SRob Herring		status = "okay";
170724ba675SRob Herring	};
171724ba675SRob Herring
172724ba675SRob Herring	backlight_lvds: backlight-lvds {
173724ba675SRob Herring		compatible = "pwm-backlight";
174*2a08654eSUwe Kleine-König		pwms = <&pwm4 0 5000000 0>;
175724ba675SRob Herring		brightness-levels = <0 4 8 16 32 64 128 255>;
176724ba675SRob Herring		default-brightness-level = <7>;
177724ba675SRob Herring		power-supply = <&reg_3p3v>;
178724ba675SRob Herring		status = "okay";
179724ba675SRob Herring	};
180724ba675SRob Herring
181724ba675SRob Herring	lcd_display: disp0 {
182724ba675SRob Herring		compatible = "fsl,imx-parallel-display";
183724ba675SRob Herring		#address-cells = <1>;
184724ba675SRob Herring		#size-cells = <0>;
185724ba675SRob Herring		interface-pix-fmt = "bgr666";
186724ba675SRob Herring		pinctrl-names = "default";
187724ba675SRob Herring		pinctrl-0 = <&pinctrl_j15>;
188724ba675SRob Herring		status = "okay";
189724ba675SRob Herring
190724ba675SRob Herring		port@0 {
191724ba675SRob Herring			reg = <0>;
192724ba675SRob Herring
193724ba675SRob Herring			lcd_display_in: endpoint {
194724ba675SRob Herring				remote-endpoint = <&ipu1_di0_disp0>;
195724ba675SRob Herring			};
196724ba675SRob Herring		};
197724ba675SRob Herring
198724ba675SRob Herring		port@1 {
199724ba675SRob Herring			reg = <1>;
200724ba675SRob Herring
201724ba675SRob Herring			lcd_display_out: endpoint {
202724ba675SRob Herring				remote-endpoint = <&lcd_panel_in>;
203724ba675SRob Herring			};
204724ba675SRob Herring		};
205724ba675SRob Herring	};
206724ba675SRob Herring
207724ba675SRob Herring	panel-lcd {
208724ba675SRob Herring		compatible = "okaya,rs800480t-7x0gp";
209724ba675SRob Herring		backlight = <&backlight_lcd>;
210724ba675SRob Herring
211724ba675SRob Herring		port {
212724ba675SRob Herring			lcd_panel_in: endpoint {
213724ba675SRob Herring				remote-endpoint = <&lcd_display_out>;
214724ba675SRob Herring			};
215724ba675SRob Herring		};
216724ba675SRob Herring	};
217724ba675SRob Herring
218724ba675SRob Herring	panel-lvds0 {
219724ba675SRob Herring		compatible = "hannstar,hsd100pxn1";
220724ba675SRob Herring		backlight = <&backlight_lvds>;
221724ba675SRob Herring
222724ba675SRob Herring		port {
223724ba675SRob Herring			panel_in: endpoint {
224724ba675SRob Herring				remote-endpoint = <&lvds0_out>;
225724ba675SRob Herring			};
226724ba675SRob Herring		};
227724ba675SRob Herring	};
228724ba675SRob Herring};
229724ba675SRob Herring
230724ba675SRob Herring&ipu1_csi0_from_ipu1_csi0_mux {
231724ba675SRob Herring	bus-width = <8>;
232724ba675SRob Herring	data-shift = <12>; /* Lines 19:12 used */
233724ba675SRob Herring	hsync-active = <1>;
234724ba675SRob Herring	vync-active = <1>;
235724ba675SRob Herring};
236724ba675SRob Herring
237724ba675SRob Herring&ipu1_csi0_mux_from_parallel_sensor {
238724ba675SRob Herring	remote-endpoint = <&ov5642_to_ipu1_csi0_mux>;
239724ba675SRob Herring};
240724ba675SRob Herring
241724ba675SRob Herring&ipu1_csi0 {
242724ba675SRob Herring	pinctrl-names = "default";
243724ba675SRob Herring	pinctrl-0 = <&pinctrl_ipu1_csi0>;
244724ba675SRob Herring};
245724ba675SRob Herring
246724ba675SRob Herring&audmux {
247724ba675SRob Herring	pinctrl-names = "default";
248724ba675SRob Herring	pinctrl-0 = <&pinctrl_audmux>;
249724ba675SRob Herring	status = "okay";
250724ba675SRob Herring};
251724ba675SRob Herring
252724ba675SRob Herring&can1 {
253724ba675SRob Herring	pinctrl-names = "default";
254724ba675SRob Herring	pinctrl-0 = <&pinctrl_can1>;
255724ba675SRob Herring	xceiver-supply = <&reg_can_xcvr>;
256724ba675SRob Herring	status = "okay";
257724ba675SRob Herring};
258724ba675SRob Herring
259724ba675SRob Herring&clks {
260724ba675SRob Herring	assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>,
261724ba675SRob Herring			  <&clks IMX6QDL_CLK_LDB_DI1_SEL>;
262724ba675SRob Herring	assigned-clock-parents = <&clks IMX6QDL_CLK_PLL3_USB_OTG>,
263724ba675SRob Herring				 <&clks IMX6QDL_CLK_PLL3_USB_OTG>;
264724ba675SRob Herring};
265724ba675SRob Herring
266724ba675SRob Herring&ecspi1 {
267724ba675SRob Herring	cs-gpios = <&gpio3 19 GPIO_ACTIVE_LOW>;
268724ba675SRob Herring	pinctrl-names = "default";
269724ba675SRob Herring	pinctrl-0 = <&pinctrl_ecspi1>;
270724ba675SRob Herring	status = "okay";
271724ba675SRob Herring
272724ba675SRob Herring	flash: flash@0 {
273724ba675SRob Herring		compatible = "sst,sst25vf016b", "jedec,spi-nor";
274724ba675SRob Herring		spi-max-frequency = <20000000>;
275724ba675SRob Herring		reg = <0>;
276724ba675SRob Herring	};
277724ba675SRob Herring};
278724ba675SRob Herring
279724ba675SRob Herring&fec {
280724ba675SRob Herring	pinctrl-names = "default";
281724ba675SRob Herring	pinctrl-0 = <&pinctrl_enet>;
282724ba675SRob Herring	phy-mode = "rgmii";
283724ba675SRob Herring	phy-handle = <&ethphy>;
284724ba675SRob Herring	phy-reset-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>;
285724ba675SRob Herring	status = "okay";
286724ba675SRob Herring
287724ba675SRob Herring	mdio {
288724ba675SRob Herring		#address-cells = <1>;
289724ba675SRob Herring		#size-cells = <0>;
290724ba675SRob Herring
291724ba675SRob Herring		ethphy: ethernet-phy {
292724ba675SRob Herring			compatible = "ethernet-phy-ieee802.3-c22";
293724ba675SRob Herring			txen-skew-ps = <0>;
294724ba675SRob Herring			txc-skew-ps = <3000>;
295724ba675SRob Herring			rxdv-skew-ps = <0>;
296724ba675SRob Herring			rxc-skew-ps = <3000>;
297724ba675SRob Herring			rxd0-skew-ps = <0>;
298724ba675SRob Herring			rxd1-skew-ps = <0>;
299724ba675SRob Herring			rxd2-skew-ps = <0>;
300724ba675SRob Herring			rxd3-skew-ps = <0>;
301724ba675SRob Herring			txd0-skew-ps = <0>;
302724ba675SRob Herring			txd1-skew-ps = <0>;
303724ba675SRob Herring			txd2-skew-ps = <0>;
304724ba675SRob Herring			txd3-skew-ps = <0>;
305724ba675SRob Herring		};
306724ba675SRob Herring	};
307724ba675SRob Herring};
308724ba675SRob Herring
309724ba675SRob Herring&hdmi {
310724ba675SRob Herring	ddc-i2c-bus = <&i2c2>;
311724ba675SRob Herring	status = "okay";
312724ba675SRob Herring};
313724ba675SRob Herring
314724ba675SRob Herring&i2c1 {
315724ba675SRob Herring	clock-frequency = <100000>;
316724ba675SRob Herring	pinctrl-names = "default";
317724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c1>;
318724ba675SRob Herring	status = "okay";
319724ba675SRob Herring
320724ba675SRob Herring	codec: sgtl5000@a {
321724ba675SRob Herring		compatible = "fsl,sgtl5000";
322724ba675SRob Herring		reg = <0x0a>;
323d54bcc3aSFabio Estevam		#sound-dai-cells = <0>;
324724ba675SRob Herring		clocks = <&clks IMX6QDL_CLK_CKO>;
325724ba675SRob Herring		VDDA-supply = <&reg_2p5v>;
326724ba675SRob Herring		VDDIO-supply = <&reg_3p3v>;
327724ba675SRob Herring	};
328724ba675SRob Herring};
329724ba675SRob Herring
330724ba675SRob Herring&i2c2 {
331724ba675SRob Herring	clock-frequency = <100000>;
332724ba675SRob Herring	pinctrl-names = "default";
333724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c2>;
334724ba675SRob Herring	status = "okay";
335724ba675SRob Herring
336724ba675SRob Herring	ov5640: camera@40 {
337724ba675SRob Herring		compatible = "ovti,ov5640";
338724ba675SRob Herring		pinctrl-names = "default";
339724ba675SRob Herring		pinctrl-0 = <&pinctrl_ov5640>;
340724ba675SRob Herring		reg = <0x40>;
341724ba675SRob Herring		clocks = <&mipi_xclk>;
342724ba675SRob Herring		clock-names = "xclk";
343724ba675SRob Herring		DOVDD-supply = <&reg_1p8v>;
344724ba675SRob Herring		AVDD-supply = <&reg_2p8v>;
345724ba675SRob Herring		DVDD-supply = <&reg_1p5v>;
346724ba675SRob Herring		reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>; /* NANDF_D5 */
347724ba675SRob Herring		powerdown-gpios = <&gpio6 9 GPIO_ACTIVE_HIGH>; /* NANDF_WP_B */
348724ba675SRob Herring
349724ba675SRob Herring		port {
350724ba675SRob Herring			ov5640_to_mipi_csi2: endpoint {
351724ba675SRob Herring				remote-endpoint = <&mipi_csi2_in>;
352724ba675SRob Herring				clock-lanes = <0>;
353724ba675SRob Herring				data-lanes = <1 2>;
354724ba675SRob Herring			};
355724ba675SRob Herring		};
356724ba675SRob Herring	};
357724ba675SRob Herring
358724ba675SRob Herring	ov5642: camera@42 {
359724ba675SRob Herring		compatible = "ovti,ov5642";
360724ba675SRob Herring		pinctrl-names = "default";
361724ba675SRob Herring		pinctrl-0 = <&pinctrl_ov5642>;
362724ba675SRob Herring		clocks = <&clks IMX6QDL_CLK_CKO2>;
363724ba675SRob Herring		clock-names = "xclk";
364724ba675SRob Herring		reg = <0x42>;
365724ba675SRob Herring		reset-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
366724ba675SRob Herring		powerdown-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
367724ba675SRob Herring		gp-gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>;
368724ba675SRob Herring		status = "disabled";
369724ba675SRob Herring
370724ba675SRob Herring		port {
371724ba675SRob Herring			ov5642_to_ipu1_csi0_mux: endpoint {
372724ba675SRob Herring				remote-endpoint = <&ipu1_csi0_mux_from_parallel_sensor>;
373724ba675SRob Herring				bus-width = <8>;
374724ba675SRob Herring				hsync-active = <1>;
375724ba675SRob Herring				vsync-active = <1>;
376724ba675SRob Herring			};
377724ba675SRob Herring		};
378724ba675SRob Herring	};
379724ba675SRob Herring};
380724ba675SRob Herring
381724ba675SRob Herring&i2c3 {
382724ba675SRob Herring	clock-frequency = <100000>;
383724ba675SRob Herring	pinctrl-names = "default";
384724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c3>;
385724ba675SRob Herring	status = "okay";
386724ba675SRob Herring};
387724ba675SRob Herring
388724ba675SRob Herring&iomuxc {
389724ba675SRob Herring	pinctrl-names = "default";
390724ba675SRob Herring	pinctrl-0 = <&pinctrl_hog>;
391724ba675SRob Herring
392724ba675SRob Herring	imx6q-sabrelite {
393724ba675SRob Herring		pinctrl_hog: hoggrp {
394724ba675SRob Herring			fsl,pins = <
395724ba675SRob Herring				/* SGTL5000 sys_mclk */
396724ba675SRob Herring				MX6QDL_PAD_GPIO_0__CCM_CLKO1    0x030b0
397724ba675SRob Herring			>;
398724ba675SRob Herring		};
399724ba675SRob Herring
400724ba675SRob Herring		pinctrl_audmux: audmuxgrp {
401724ba675SRob Herring			fsl,pins = <
402724ba675SRob Herring				MX6QDL_PAD_SD2_DAT0__AUD4_RXD		0x130b0
403724ba675SRob Herring				MX6QDL_PAD_SD2_DAT3__AUD4_TXC		0x130b0
404724ba675SRob Herring				MX6QDL_PAD_SD2_DAT2__AUD4_TXD		0x110b0
405724ba675SRob Herring				MX6QDL_PAD_SD2_DAT1__AUD4_TXFS		0x130b0
406724ba675SRob Herring			>;
407724ba675SRob Herring		};
408724ba675SRob Herring
409724ba675SRob Herring		pinctrl_can1: can1grp {
410724ba675SRob Herring			fsl,pins = <
411724ba675SRob Herring				MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX	0x1b0b0
412724ba675SRob Herring				MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX	0x1b0b0
413724ba675SRob Herring			>;
414724ba675SRob Herring		};
415724ba675SRob Herring
416724ba675SRob Herring		pinctrl_can_xcvr: can-xcvrgrp {
417724ba675SRob Herring			fsl,pins = <
418724ba675SRob Herring				/* Flexcan XCVR enable */
419724ba675SRob Herring				MX6QDL_PAD_GPIO_2__GPIO1_IO02		0x1b0b0
420724ba675SRob Herring			>;
421724ba675SRob Herring		};
422724ba675SRob Herring
423724ba675SRob Herring		pinctrl_ecspi1: ecspi1grp {
424724ba675SRob Herring			fsl,pins = <
425724ba675SRob Herring				MX6QDL_PAD_EIM_D17__ECSPI1_MISO		0x100b1
426724ba675SRob Herring				MX6QDL_PAD_EIM_D18__ECSPI1_MOSI		0x100b1
427724ba675SRob Herring				MX6QDL_PAD_EIM_D16__ECSPI1_SCLK		0x100b1
428724ba675SRob Herring				MX6QDL_PAD_EIM_D19__GPIO3_IO19  0x000b1	/* CS */
429724ba675SRob Herring			>;
430724ba675SRob Herring		};
431724ba675SRob Herring
432724ba675SRob Herring		pinctrl_enet: enetgrp {
433724ba675SRob Herring			fsl,pins = <
434724ba675SRob Herring				MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x100b0
435724ba675SRob Herring				MX6QDL_PAD_ENET_MDC__ENET_MDC		0x100b0
436724ba675SRob Herring				MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x10030
437724ba675SRob Herring				MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x10030
438724ba675SRob Herring				MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x10030
439724ba675SRob Herring				MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x10030
440724ba675SRob Herring				MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x10030
441724ba675SRob Herring				MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x10030
442724ba675SRob Herring				MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x100b0
443724ba675SRob Herring				MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b030
444724ba675SRob Herring				MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x1b030
445724ba675SRob Herring				MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x1b030
446724ba675SRob Herring				MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b030
447724ba675SRob Herring				MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b030
448724ba675SRob Herring				MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x1b030
449724ba675SRob Herring				/* Phy reset */
450724ba675SRob Herring				MX6QDL_PAD_EIM_D23__GPIO3_IO23		0x000b0
451724ba675SRob Herring			>;
452724ba675SRob Herring		};
453724ba675SRob Herring
454724ba675SRob Herring		pinctrl_gpio_keys: gpio-keysgrp {
455724ba675SRob Herring			fsl,pins = <
456724ba675SRob Herring				/* Power Button */
457724ba675SRob Herring				MX6QDL_PAD_NANDF_D3__GPIO2_IO03		0x1b0b0
458724ba675SRob Herring				/* Menu Button */
459724ba675SRob Herring				MX6QDL_PAD_NANDF_D1__GPIO2_IO01		0x1b0b0
460724ba675SRob Herring				/* Home Button */
461724ba675SRob Herring				MX6QDL_PAD_NANDF_D4__GPIO2_IO04		0x1b0b0
462724ba675SRob Herring				/* Back Button */
463724ba675SRob Herring				MX6QDL_PAD_NANDF_D2__GPIO2_IO02		0x1b0b0
464724ba675SRob Herring				/* Volume Up Button */
465724ba675SRob Herring				MX6QDL_PAD_GPIO_18__GPIO7_IO13		0x1b0b0
466724ba675SRob Herring				/* Volume Down Button */
467724ba675SRob Herring				MX6QDL_PAD_GPIO_19__GPIO4_IO05		0x1b0b0
468724ba675SRob Herring			>;
469724ba675SRob Herring		};
470724ba675SRob Herring
471724ba675SRob Herring		pinctrl_i2c1: i2c1grp {
472724ba675SRob Herring			fsl,pins = <
473724ba675SRob Herring				MX6QDL_PAD_EIM_D21__I2C1_SCL		0x4001b8b1
474724ba675SRob Herring				MX6QDL_PAD_EIM_D28__I2C1_SDA		0x4001b8b1
475724ba675SRob Herring			>;
476724ba675SRob Herring		};
477724ba675SRob Herring
478724ba675SRob Herring		pinctrl_i2c2: i2c2grp {
479724ba675SRob Herring			fsl,pins = <
480724ba675SRob Herring				MX6QDL_PAD_KEY_COL3__I2C2_SCL		0x4001b8b1
481724ba675SRob Herring				MX6QDL_PAD_KEY_ROW3__I2C2_SDA		0x4001b8b1
482724ba675SRob Herring			>;
483724ba675SRob Herring		};
484724ba675SRob Herring
485724ba675SRob Herring		pinctrl_i2c3: i2c3grp {
486724ba675SRob Herring			fsl,pins = <
487724ba675SRob Herring				MX6QDL_PAD_GPIO_5__I2C3_SCL		0x4001b8b1
488724ba675SRob Herring				MX6QDL_PAD_GPIO_16__I2C3_SDA		0x4001b8b1
489724ba675SRob Herring			>;
490724ba675SRob Herring		};
491724ba675SRob Herring
492724ba675SRob Herring		pinctrl_ipu1_csi0: ipu1csi0grp {
493724ba675SRob Herring			fsl,pins = <
494724ba675SRob Herring				MX6QDL_PAD_CSI0_DAT12__IPU1_CSI0_DATA12    0x1b0b0
495724ba675SRob Herring				MX6QDL_PAD_CSI0_DAT13__IPU1_CSI0_DATA13    0x1b0b0
496724ba675SRob Herring				MX6QDL_PAD_CSI0_DAT14__IPU1_CSI0_DATA14    0x1b0b0
497724ba675SRob Herring				MX6QDL_PAD_CSI0_DAT15__IPU1_CSI0_DATA15    0x1b0b0
498724ba675SRob Herring				MX6QDL_PAD_CSI0_DAT16__IPU1_CSI0_DATA16    0x1b0b0
499724ba675SRob Herring				MX6QDL_PAD_CSI0_DAT17__IPU1_CSI0_DATA17    0x1b0b0
500724ba675SRob Herring				MX6QDL_PAD_CSI0_DAT18__IPU1_CSI0_DATA18    0x1b0b0
501724ba675SRob Herring				MX6QDL_PAD_CSI0_DAT19__IPU1_CSI0_DATA19    0x1b0b0
502724ba675SRob Herring				MX6QDL_PAD_CSI0_PIXCLK__IPU1_CSI0_PIXCLK   0x1b0b0
503724ba675SRob Herring				MX6QDL_PAD_CSI0_MCLK__IPU1_CSI0_HSYNC      0x1b0b0
504724ba675SRob Herring				MX6QDL_PAD_CSI0_VSYNC__IPU1_CSI0_VSYNC     0x1b0b0
505724ba675SRob Herring				MX6QDL_PAD_CSI0_DATA_EN__IPU1_CSI0_DATA_EN 0x1b0b0
506724ba675SRob Herring			>;
507724ba675SRob Herring		};
508724ba675SRob Herring
509724ba675SRob Herring		pinctrl_j15: j15grp {
510724ba675SRob Herring			fsl,pins = <
511724ba675SRob Herring				MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x10
512724ba675SRob Herring				MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15       0x10
513724ba675SRob Herring				MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02        0x10
514724ba675SRob Herring				MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03        0x10
515724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00   0x10
516724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01   0x10
517724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02   0x10
518724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03   0x10
519724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04   0x10
520724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05   0x10
521724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06   0x10
522724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07   0x10
523724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08   0x10
524724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09   0x10
525724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10  0x10
526724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11  0x10
527724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12  0x10
528724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13  0x10
529724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14  0x10
530724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15  0x10
531724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16  0x10
532724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17  0x10
533724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18  0x10
534724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19  0x10
535724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20  0x10
536724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21  0x10
537724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22  0x10
538724ba675SRob Herring				MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23  0x10
539724ba675SRob Herring			>;
540724ba675SRob Herring		};
541724ba675SRob Herring
542724ba675SRob Herring		pinctrl_ov5640: ov5640grp {
543724ba675SRob Herring			fsl,pins = <
544724ba675SRob Herring				MX6QDL_PAD_NANDF_D5__GPIO2_IO05   0x000b0
545724ba675SRob Herring				MX6QDL_PAD_NANDF_WP_B__GPIO6_IO09 0x0b0b0
546724ba675SRob Herring			>;
547724ba675SRob Herring		};
548724ba675SRob Herring
549724ba675SRob Herring		pinctrl_ov5642: ov5642grp {
550724ba675SRob Herring			fsl,pins = <
551724ba675SRob Herring				MX6QDL_PAD_SD1_DAT0__GPIO1_IO16 0x1b0b0
552724ba675SRob Herring				MX6QDL_PAD_GPIO_6__GPIO1_IO06   0x1b0b0
553724ba675SRob Herring				MX6QDL_PAD_GPIO_8__GPIO1_IO08   0x130b0
554724ba675SRob Herring				MX6QDL_PAD_GPIO_3__CCM_CLKO2    0x000b0
555724ba675SRob Herring			>;
556724ba675SRob Herring		};
557724ba675SRob Herring
558724ba675SRob Herring		pinctrl_pwm1: pwm1grp {
559724ba675SRob Herring			fsl,pins = <
560724ba675SRob Herring				MX6QDL_PAD_SD1_DAT3__PWM1_OUT 0x1b0b1
561724ba675SRob Herring			>;
562724ba675SRob Herring		};
563724ba675SRob Herring
564724ba675SRob Herring		pinctrl_pwm3: pwm3grp {
565724ba675SRob Herring			fsl,pins = <
566724ba675SRob Herring				MX6QDL_PAD_SD1_DAT1__PWM3_OUT 0x1b0b1
567724ba675SRob Herring			>;
568724ba675SRob Herring		};
569724ba675SRob Herring
570724ba675SRob Herring		pinctrl_pwm4: pwm4grp {
571724ba675SRob Herring			fsl,pins = <
572724ba675SRob Herring				MX6QDL_PAD_SD1_CMD__PWM4_OUT 0x1b0b1
573724ba675SRob Herring			>;
574724ba675SRob Herring		};
575724ba675SRob Herring
576724ba675SRob Herring		pinctrl_uart1: uart1grp {
577724ba675SRob Herring			fsl,pins = <
578724ba675SRob Herring				MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA	0x1b0b1
579724ba675SRob Herring				MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA	0x1b0b1
580724ba675SRob Herring			>;
581724ba675SRob Herring		};
582724ba675SRob Herring
583724ba675SRob Herring		pinctrl_uart2: uart2grp {
584724ba675SRob Herring			fsl,pins = <
585724ba675SRob Herring				MX6QDL_PAD_EIM_D26__UART2_TX_DATA	0x1b0b1
586724ba675SRob Herring				MX6QDL_PAD_EIM_D27__UART2_RX_DATA	0x1b0b1
587724ba675SRob Herring			>;
588724ba675SRob Herring		};
589724ba675SRob Herring
590724ba675SRob Herring		pinctrl_usbh1: usbh1grp {
591724ba675SRob Herring			fsl,pins = <
592724ba675SRob Herring				MX6QDL_PAD_GPIO_17__GPIO7_IO12		0x030b0
593724ba675SRob Herring			>;
594724ba675SRob Herring		};
595724ba675SRob Herring
596724ba675SRob Herring		pinctrl_usbotg: usbotggrp {
597724ba675SRob Herring			fsl,pins = <
598724ba675SRob Herring				MX6QDL_PAD_GPIO_1__USB_OTG_ID		0x17059
599724ba675SRob Herring				MX6QDL_PAD_KEY_COL4__USB_OTG_OC	0x1b0b0
600724ba675SRob Herring				/* power enable, high active */
601724ba675SRob Herring				MX6QDL_PAD_EIM_D22__GPIO3_IO22  0x000b0
602724ba675SRob Herring			>;
603724ba675SRob Herring		};
604724ba675SRob Herring
605724ba675SRob Herring		pinctrl_usdhc3: usdhc3grp {
606724ba675SRob Herring			fsl,pins = <
607724ba675SRob Herring				MX6QDL_PAD_SD3_CMD__SD3_CMD		0x17059
608724ba675SRob Herring				MX6QDL_PAD_SD3_CLK__SD3_CLK		0x10059
609724ba675SRob Herring				MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x17059
610724ba675SRob Herring				MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x17059
611724ba675SRob Herring				MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x17059
612724ba675SRob Herring				MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x17059
613724ba675SRob Herring				MX6QDL_PAD_SD3_DAT5__GPIO7_IO00 0x1b0b0	/* CD */
614724ba675SRob Herring				MX6QDL_PAD_SD3_DAT4__GPIO7_IO01 0x1f0b0	/* WP */
615724ba675SRob Herring			>;
616724ba675SRob Herring		};
617724ba675SRob Herring
618724ba675SRob Herring		pinctrl_usdhc4: usdhc4grp {
619724ba675SRob Herring			fsl,pins = <
620724ba675SRob Herring				MX6QDL_PAD_SD4_CMD__SD4_CMD		0x17059
621724ba675SRob Herring				MX6QDL_PAD_SD4_CLK__SD4_CLK		0x10059
622724ba675SRob Herring				MX6QDL_PAD_SD4_DAT0__SD4_DATA0		0x17059
623724ba675SRob Herring				MX6QDL_PAD_SD4_DAT1__SD4_DATA1		0x17059
624724ba675SRob Herring				MX6QDL_PAD_SD4_DAT2__SD4_DATA2		0x17059
625724ba675SRob Herring				MX6QDL_PAD_SD4_DAT3__SD4_DATA3		0x17059
626724ba675SRob Herring				MX6QDL_PAD_NANDF_D6__GPIO2_IO06 0x1b0b0	/* CD */
627724ba675SRob Herring			>;
628724ba675SRob Herring		};
629724ba675SRob Herring	};
630724ba675SRob Herring};
631724ba675SRob Herring
632724ba675SRob Herring&ipu1_di0_disp0 {
633724ba675SRob Herring	remote-endpoint = <&lcd_display_in>;
634724ba675SRob Herring};
635724ba675SRob Herring
636724ba675SRob Herring&ldb {
637724ba675SRob Herring	status = "okay";
638724ba675SRob Herring
639724ba675SRob Herring	lvds-channel@0 {
640724ba675SRob Herring		status = "okay";
641724ba675SRob Herring
642724ba675SRob Herring		port@4 {
643724ba675SRob Herring			reg = <4>;
644724ba675SRob Herring
645724ba675SRob Herring			lvds0_out: endpoint {
646724ba675SRob Herring				remote-endpoint = <&panel_in>;
647724ba675SRob Herring			};
648724ba675SRob Herring		};
649724ba675SRob Herring	};
650724ba675SRob Herring};
651724ba675SRob Herring
652724ba675SRob Herring&pcie {
653724ba675SRob Herring	status = "okay";
654724ba675SRob Herring};
655724ba675SRob Herring
656724ba675SRob Herring&pwm1 {
657724ba675SRob Herring	pinctrl-names = "default";
658724ba675SRob Herring	pinctrl-0 = <&pinctrl_pwm1>;
659724ba675SRob Herring	status = "okay";
660724ba675SRob Herring};
661724ba675SRob Herring
662724ba675SRob Herring&pwm3 {
663724ba675SRob Herring	pinctrl-names = "default";
664724ba675SRob Herring	pinctrl-0 = <&pinctrl_pwm3>;
665724ba675SRob Herring	status = "okay";
666724ba675SRob Herring};
667724ba675SRob Herring
668724ba675SRob Herring&pwm4 {
669724ba675SRob Herring	pinctrl-names = "default";
670724ba675SRob Herring	pinctrl-0 = <&pinctrl_pwm4>;
671724ba675SRob Herring	status = "okay";
672724ba675SRob Herring};
673724ba675SRob Herring
674724ba675SRob Herring&ssi1 {
675724ba675SRob Herring	status = "okay";
676724ba675SRob Herring};
677724ba675SRob Herring
678724ba675SRob Herring&uart1 {
679724ba675SRob Herring	pinctrl-names = "default";
680724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart1>;
681724ba675SRob Herring	status = "okay";
682724ba675SRob Herring};
683724ba675SRob Herring
684724ba675SRob Herring&uart2 {
685724ba675SRob Herring	pinctrl-names = "default";
686724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart2>;
687724ba675SRob Herring	status = "okay";
688724ba675SRob Herring};
689724ba675SRob Herring
690724ba675SRob Herring&usbh1 {
691724ba675SRob Herring	vbus-supply = <&reg_usb_h1_vbus>;
692724ba675SRob Herring	status = "okay";
693724ba675SRob Herring};
694724ba675SRob Herring
695724ba675SRob Herring&usbotg {
696724ba675SRob Herring	vbus-supply = <&reg_usb_otg_vbus>;
697724ba675SRob Herring	pinctrl-names = "default";
698724ba675SRob Herring	pinctrl-0 = <&pinctrl_usbotg>;
699724ba675SRob Herring	disable-over-current;
700724ba675SRob Herring	status = "okay";
701724ba675SRob Herring};
702724ba675SRob Herring
703724ba675SRob Herring&usdhc3 {
704724ba675SRob Herring	pinctrl-names = "default";
705724ba675SRob Herring	pinctrl-0 = <&pinctrl_usdhc3>;
706724ba675SRob Herring	cd-gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
707724ba675SRob Herring	wp-gpios = <&gpio7 1 GPIO_ACTIVE_HIGH>;
708724ba675SRob Herring	vmmc-supply = <&reg_3p3v>;
709724ba675SRob Herring	status = "okay";
710724ba675SRob Herring};
711724ba675SRob Herring
712724ba675SRob Herring&usdhc4 {
713724ba675SRob Herring	pinctrl-names = "default";
714724ba675SRob Herring	pinctrl-0 = <&pinctrl_usdhc4>;
715724ba675SRob Herring	cd-gpios = <&gpio2 6 GPIO_ACTIVE_LOW>;
716724ba675SRob Herring	vmmc-supply = <&reg_3p3v>;
717724ba675SRob Herring	status = "okay";
718724ba675SRob Herring};
719724ba675SRob Herring
720724ba675SRob Herring&mipi_csi {
721724ba675SRob Herring	status = "okay";
722724ba675SRob Herring
723724ba675SRob Herring	port@0 {
724724ba675SRob Herring		reg = <0>;
725724ba675SRob Herring
726724ba675SRob Herring		mipi_csi2_in: endpoint {
727724ba675SRob Herring			remote-endpoint = <&ov5640_to_mipi_csi2>;
728724ba675SRob Herring			clock-lanes = <0>;
729724ba675SRob Herring			data-lanes = <1 2>;
730724ba675SRob Herring		};
731724ba675SRob Herring	};
732724ba675SRob Herring};
733