1270866Simp/*
2270866Simp * Copyright 2013 Boundary Devices, Inc.
3270866Simp * Copyright 2011 Freescale Semiconductor, Inc.
4270866Simp * Copyright 2011 Linaro Ltd.
5270866Simp *
6295436Sandrew * This file is dual-licensed: you can use it either under the terms
7295436Sandrew * of the GPL or the X11 license, at your option. Note that this dual
8295436Sandrew * licensing only applies to this file, and not this project as a
9295436Sandrew * whole.
10270866Simp *
11295436Sandrew *  a) This file is free software; you can redistribute it and/or
12295436Sandrew *     modify it under the terms of the GNU General Public License
13295436Sandrew *     version 2 as published by the Free Software Foundation.
14295436Sandrew *
15295436Sandrew *     This file is distributed in the hope that it will be useful
16295436Sandrew *     but WITHOUT ANY WARRANTY; without even the implied warranty of
17295436Sandrew *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18295436Sandrew *     GNU General Public License for more details.
19295436Sandrew *
20295436Sandrew * Or, alternatively
21295436Sandrew *
22295436Sandrew *  b) Permission is hereby granted, free of charge, to any person
23295436Sandrew *     obtaining a copy of this software and associated documentation
24295436Sandrew *     files (the "Software"), to deal in the Software without
25295436Sandrew *     restriction, including without limitation the rights to use
26295436Sandrew *     copy, modify, merge, publish, distribute, sublicense, and/or
27295436Sandrew *     sell copies of the Software, and to permit persons to whom the
28295436Sandrew *     Software is furnished to do so, subject to the following
29295436Sandrew *     conditions:
30295436Sandrew *
31295436Sandrew *     The above copyright notice and this permission notice shall be
32295436Sandrew *     included in all copies or substantial portions of the Software.
33295436Sandrew *
34295436Sandrew *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
35295436Sandrew *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
36295436Sandrew *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
37295436Sandrew *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
38295436Sandrew *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
39295436Sandrew *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
40295436Sandrew *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
41295436Sandrew *     OTHER DEALINGS IN THE SOFTWARE.
42270866Simp */
43270866Simp#include <dt-bindings/gpio/gpio.h>
44270866Simp#include <dt-bindings/input/input.h>
45270866Simp
46270866Simp/ {
47270866Simp	chosen {
48270866Simp		stdout-path = &uart2;
49270866Simp	};
50270866Simp
51270866Simp	memory {
52270866Simp		reg = <0x10000000 0x40000000>;
53270866Simp	};
54270866Simp
55270866Simp	regulators {
56270866Simp		compatible = "simple-bus";
57270866Simp		#address-cells = <1>;
58270866Simp		#size-cells = <0>;
59270866Simp
60270866Simp		reg_2p5v: regulator@0 {
61270866Simp			compatible = "regulator-fixed";
62270866Simp			reg = <0>;
63270866Simp			regulator-name = "2P5V";
64270866Simp			regulator-min-microvolt = <2500000>;
65270866Simp			regulator-max-microvolt = <2500000>;
66270866Simp			regulator-always-on;
67270866Simp		};
68270866Simp
69270866Simp		reg_3p3v: regulator@1 {
70270866Simp			compatible = "regulator-fixed";
71270866Simp			reg = <1>;
72270866Simp			regulator-name = "3P3V";
73270866Simp			regulator-min-microvolt = <3300000>;
74270866Simp			regulator-max-microvolt = <3300000>;
75270866Simp			regulator-always-on;
76270866Simp		};
77270866Simp
78270866Simp		reg_usb_otg_vbus: regulator@2 {
79270866Simp			compatible = "regulator-fixed";
80270866Simp			reg = <2>;
81270866Simp			regulator-name = "usb_otg_vbus";
82270866Simp			regulator-min-microvolt = <5000000>;
83270866Simp			regulator-max-microvolt = <5000000>;
84270866Simp			gpio = <&gpio3 22 0>;
85270866Simp			enable-active-high;
86270866Simp		};
87295436Sandrew
88295436Sandrew		reg_can_xcvr: regulator@3 {
89295436Sandrew			compatible = "regulator-fixed";
90295436Sandrew			reg = <3>;
91295436Sandrew			regulator-name = "CAN XCVR";
92295436Sandrew			regulator-min-microvolt = <3300000>;
93295436Sandrew			regulator-max-microvolt = <3300000>;
94295436Sandrew			pinctrl-names = "default";
95295436Sandrew			pinctrl-0 = <&pinctrl_can_xcvr>;
96295436Sandrew			gpio = <&gpio1 2 GPIO_ACTIVE_LOW>;
97295436Sandrew		};
98295436Sandrew
99295436Sandrew		reg_wlan_vmmc: regulator@4 {
100295436Sandrew			compatible = "regulator-fixed";
101295436Sandrew			reg = <4>;
102295436Sandrew			pinctrl-names = "default";
103295436Sandrew			pinctrl-0 = <&pinctrl_wlan_vmmc>;
104295436Sandrew			regulator-name = "reg_wlan_vmmc";
105295436Sandrew			regulator-min-microvolt = <3300000>;
106295436Sandrew			regulator-max-microvolt = <3300000>;
107295436Sandrew			gpio = <&gpio6 15 GPIO_ACTIVE_HIGH>;
108295436Sandrew			startup-delay-us = <70000>;
109295436Sandrew			enable-active-high;
110295436Sandrew		};
111270866Simp	};
112270866Simp
113270866Simp	gpio-keys {
114270866Simp		compatible = "gpio-keys";
115270866Simp		pinctrl-names = "default";
116270866Simp		pinctrl-0 = <&pinctrl_gpio_keys>;
117270866Simp
118270866Simp		power {
119270866Simp			label = "Power Button";
120270866Simp			gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
121270866Simp			linux,code = <KEY_POWER>;
122270866Simp			gpio-key,wakeup;
123270866Simp		};
124270866Simp
125270866Simp		menu {
126270866Simp			label = "Menu";
127270866Simp			gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
128270866Simp			linux,code = <KEY_MENU>;
129270866Simp		};
130270866Simp
131270866Simp		home {
132270866Simp			label = "Home";
133270866Simp			gpios = <&gpio2 4 GPIO_ACTIVE_LOW>;
134270866Simp			linux,code = <KEY_HOME>;
135270866Simp		};
136270866Simp
137270866Simp		back {
138270866Simp			label = "Back";
139270866Simp			gpios = <&gpio2 2 GPIO_ACTIVE_LOW>;
140270866Simp			linux,code = <KEY_BACK>;
141270866Simp		};
142270866Simp
143270866Simp		volume-up {
144270866Simp			label = "Volume Up";
145270866Simp			gpios = <&gpio7 13 GPIO_ACTIVE_LOW>;
146270866Simp			linux,code = <KEY_VOLUMEUP>;
147270866Simp		};
148270866Simp
149270866Simp		volume-down {
150270866Simp			label = "Volume Down";
151270866Simp			gpios = <&gpio4 5 GPIO_ACTIVE_LOW>;
152270866Simp			linux,code = <KEY_VOLUMEDOWN>;
153270866Simp		};
154270866Simp	};
155270866Simp
156270866Simp	sound {
157270866Simp		compatible = "fsl,imx6q-nitrogen6x-sgtl5000",
158270866Simp			     "fsl,imx-audio-sgtl5000";
159270866Simp		model = "imx6q-nitrogen6x-sgtl5000";
160270866Simp		ssi-controller = <&ssi1>;
161270866Simp		audio-codec = <&codec>;
162270866Simp		audio-routing =
163270866Simp			"MIC_IN", "Mic Jack",
164270866Simp			"Mic Jack", "Mic Bias",
165270866Simp			"Headphone Jack", "HP_OUT";
166270866Simp		mux-int-port = <1>;
167270866Simp		mux-ext-port = <3>;
168270866Simp	};
169270866Simp
170295436Sandrew	backlight_lcd: backlight_lcd {
171270866Simp		compatible = "pwm-backlight";
172270866Simp		pwms = <&pwm1 0 5000000>;
173270866Simp		brightness-levels = <0 4 8 16 32 64 128 255>;
174270866Simp		default-brightness-level = <7>;
175270866Simp		power-supply = <&reg_3p3v>;
176270866Simp		status = "okay";
177270866Simp	};
178270866Simp
179295436Sandrew	backlight_lvds: backlight_lvds {
180270866Simp		compatible = "pwm-backlight";
181270866Simp		pwms = <&pwm4 0 5000000>;
182270866Simp		brightness-levels = <0 4 8 16 32 64 128 255>;
183270866Simp		default-brightness-level = <7>;
184270866Simp		power-supply = <&reg_3p3v>;
185270866Simp		status = "okay";
186270866Simp	};
187295436Sandrew
188295436Sandrew	lcd_display: display@di0 {
189295436Sandrew		compatible = "fsl,imx-parallel-display";
190295436Sandrew		#address-cells = <1>;
191295436Sandrew		#size-cells = <0>;
192295436Sandrew		interface-pix-fmt = "bgr666";
193295436Sandrew		pinctrl-names = "default";
194295436Sandrew		pinctrl-0 = <&pinctrl_j15>;
195295436Sandrew		status = "okay";
196295436Sandrew
197295436Sandrew		port@0 {
198295436Sandrew			reg = <0>;
199295436Sandrew
200295436Sandrew			lcd_display_in: endpoint {
201295436Sandrew				remote-endpoint = <&ipu1_di0_disp0>;
202295436Sandrew			};
203295436Sandrew		};
204295436Sandrew
205295436Sandrew		port@1 {
206295436Sandrew			reg = <1>;
207295436Sandrew
208295436Sandrew			lcd_display_out: endpoint {
209295436Sandrew				remote-endpoint = <&lcd_panel_in>;
210295436Sandrew			};
211295436Sandrew		};
212295436Sandrew	};
213295436Sandrew
214295436Sandrew	lcd_panel {
215295436Sandrew		compatible = "okaya,rs800480t-7x0gp";
216295436Sandrew		backlight = <&backlight_lcd>;
217295436Sandrew
218295436Sandrew		port {
219295436Sandrew			lcd_panel_in: endpoint {
220295436Sandrew				remote-endpoint = <&lcd_display_out>;
221295436Sandrew			};
222295436Sandrew		};
223295436Sandrew	};
224295436Sandrew
225295436Sandrew	panel {
226295436Sandrew		compatible = "hannstar,hsd100pxn1";
227295436Sandrew		backlight = <&backlight_lvds>;
228295436Sandrew
229295436Sandrew		port {
230295436Sandrew			panel_in: endpoint {
231295436Sandrew				remote-endpoint = <&lvds0_out>;
232295436Sandrew			};
233295436Sandrew		};
234295436Sandrew	};
235270866Simp};
236270866Simp
237270866Simp&audmux {
238270866Simp	pinctrl-names = "default";
239270866Simp	pinctrl-0 = <&pinctrl_audmux>;
240270866Simp	status = "okay";
241270866Simp};
242270866Simp
243295436Sandrew&can1 {
244295436Sandrew	pinctrl-names = "default";
245295436Sandrew	pinctrl-0 = <&pinctrl_can1>;
246295436Sandrew	xceiver-supply = <&reg_can_xcvr>;
247295436Sandrew	status = "okay";
248295436Sandrew};
249295436Sandrew
250295436Sandrew&clks {
251295436Sandrew	assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>,
252295436Sandrew			  <&clks IMX6QDL_CLK_LDB_DI1_SEL>;
253295436Sandrew	assigned-clock-parents = <&clks IMX6QDL_CLK_PLL3_USB_OTG>,
254295436Sandrew				 <&clks IMX6QDL_CLK_PLL3_USB_OTG>;
255295436Sandrew};
256295436Sandrew
257270866Simp&ecspi1 {
258270866Simp	fsl,spi-num-chipselects = <1>;
259270866Simp	cs-gpios = <&gpio3 19 0>;
260270866Simp	pinctrl-names = "default";
261270866Simp	pinctrl-0 = <&pinctrl_ecspi1>;
262270866Simp	status = "okay";
263270866Simp
264270866Simp	flash: m25p80@0 {
265295436Sandrew		compatible = "sst,sst25vf016b", "jedec,spi-nor";
266270866Simp		spi-max-frequency = <20000000>;
267270866Simp		reg = <0>;
268270866Simp	};
269270866Simp};
270270866Simp
271270866Simp&fec {
272270866Simp	pinctrl-names = "default";
273270866Simp	pinctrl-0 = <&pinctrl_enet>;
274270866Simp	phy-mode = "rgmii";
275270866Simp	phy-reset-gpios = <&gpio1 27 0>;
276270866Simp	txen-skew-ps = <0>;
277270866Simp	txc-skew-ps = <3000>;
278270866Simp	rxdv-skew-ps = <0>;
279270866Simp	rxc-skew-ps = <3000>;
280270866Simp	rxd0-skew-ps = <0>;
281270866Simp	rxd1-skew-ps = <0>;
282270866Simp	rxd2-skew-ps = <0>;
283270866Simp	rxd3-skew-ps = <0>;
284270866Simp	txd0-skew-ps = <0>;
285270866Simp	txd1-skew-ps = <0>;
286270866Simp	txd2-skew-ps = <0>;
287270866Simp	txd3-skew-ps = <0>;
288270866Simp	interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>,
289270866Simp			      <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>;
290270866Simp	status = "okay";
291270866Simp};
292270866Simp
293279385Simp&hdmi {
294279385Simp	ddc-i2c-bus = <&i2c2>;
295279385Simp	status = "okay";
296279385Simp};
297279385Simp
298270866Simp&i2c1 {
299270866Simp	clock-frequency = <100000>;
300270866Simp	pinctrl-names = "default";
301270866Simp	pinctrl-0 = <&pinctrl_i2c1>;
302270866Simp	status = "okay";
303270866Simp
304270866Simp	codec: sgtl5000@0a {
305270866Simp		compatible = "fsl,sgtl5000";
306270866Simp		reg = <0x0a>;
307270866Simp		clocks = <&clks 201>;
308270866Simp		VDDA-supply = <&reg_2p5v>;
309270866Simp		VDDIO-supply = <&reg_3p3v>;
310270866Simp	};
311279385Simp
312279385Simp	rtc: rtc@6f {
313279385Simp		compatible = "isil,isl1208";
314279385Simp		reg = <0x6f>;
315279385Simp	};
316270866Simp};
317270866Simp
318279385Simp&i2c2 {
319279385Simp	clock-frequency = <100000>;
320279385Simp	pinctrl-names = "default";
321279385Simp	pinctrl-0 = <&pinctrl_i2c2>;
322279385Simp	status = "okay";
323279385Simp};
324279385Simp
325279385Simp&i2c3 {
326279385Simp	clock-frequency = <100000>;
327279385Simp	pinctrl-names = "default";
328279385Simp	pinctrl-0 = <&pinctrl_i2c3>;
329279385Simp	status = "okay";
330295436Sandrew
331295436Sandrew	touchscreen@04 {
332295436Sandrew		compatible = "eeti,egalax_ts";
333295436Sandrew		reg = <0x04>;
334295436Sandrew		interrupt-parent = <&gpio1>;
335295436Sandrew		interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
336295436Sandrew		wakeup-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
337295436Sandrew	};
338295436Sandrew
339295436Sandrew	touchscreen@38 {
340295436Sandrew		compatible = "edt,edt-ft5x06";
341295436Sandrew		reg = <0x38>;
342295436Sandrew		interrupt-parent = <&gpio1>;
343295436Sandrew		interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
344295436Sandrew	};
345279385Simp};
346279385Simp
347270866Simp&iomuxc {
348270866Simp	pinctrl-names = "default";
349270866Simp	pinctrl-0 = <&pinctrl_hog>;
350270866Simp
351270866Simp	imx6q-nitrogen6x {
352270866Simp		pinctrl_hog: hoggrp {
353270866Simp			fsl,pins = <
354270866Simp				/* SGTL5000 sys_mclk */
355270866Simp				MX6QDL_PAD_GPIO_0__CCM_CLKO1    0x030b0
356295436Sandrew				MX6QDL_PAD_GPIO_9__GPIO1_IO09	0x1b0b0
357270866Simp			>;
358270866Simp		};
359270866Simp
360270866Simp		pinctrl_audmux: audmuxgrp {
361270866Simp			fsl,pins = <
362270866Simp				MX6QDL_PAD_CSI0_DAT7__AUD3_RXD		0x130b0
363270866Simp				MX6QDL_PAD_CSI0_DAT4__AUD3_TXC		0x130b0
364270866Simp				MX6QDL_PAD_CSI0_DAT5__AUD3_TXD		0x110b0
365270866Simp				MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS		0x130b0
366270866Simp			>;
367270866Simp		};
368270866Simp
369295436Sandrew		pinctrl_can1: can1grp {
370295436Sandrew			fsl,pins = <
371295436Sandrew				MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX	0x1b0b0
372295436Sandrew				MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX	0x1b0b0
373295436Sandrew			>;
374295436Sandrew		};
375295436Sandrew
376295436Sandrew		pinctrl_can_xcvr: can-xcvrgrp {
377295436Sandrew			fsl,pins = <
378295436Sandrew				/* Flexcan XCVR enable */
379295436Sandrew				MX6QDL_PAD_GPIO_2__GPIO1_IO02		0x1b0b0
380295436Sandrew			>;
381295436Sandrew		};
382295436Sandrew
383270866Simp		pinctrl_ecspi1: ecspi1grp {
384270866Simp			fsl,pins = <
385270866Simp				MX6QDL_PAD_EIM_D17__ECSPI1_MISO		0x100b1
386270866Simp				MX6QDL_PAD_EIM_D18__ECSPI1_MOSI		0x100b1
387270866Simp				MX6QDL_PAD_EIM_D16__ECSPI1_SCLK		0x100b1
388270866Simp				MX6QDL_PAD_EIM_D19__GPIO3_IO19  0x000b1	/* CS */
389270866Simp			>;
390270866Simp		};
391270866Simp
392270866Simp		pinctrl_enet: enetgrp {
393270866Simp			fsl,pins = <
394270866Simp				MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x100b0
395270866Simp				MX6QDL_PAD_ENET_MDC__ENET_MDC		0x100b0
396270866Simp				MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x100b0
397270866Simp				MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x100b0
398270866Simp				MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x100b0
399270866Simp				MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x100b0
400270866Simp				MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x100b0
401270866Simp				MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x100b0
402270866Simp				MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x100b0
403270866Simp				MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b0b0
404270866Simp				MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x1b0b0
405270866Simp				MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x1b0b0
406270866Simp				MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b0b0
407270866Simp				MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b0b0
408270866Simp				MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x1b0b0
409270866Simp				/* Phy reset */
410270866Simp				MX6QDL_PAD_ENET_RXD0__GPIO1_IO27	0x000b0
411270866Simp				MX6QDL_PAD_GPIO_6__ENET_IRQ		0x000b1
412270866Simp			>;
413270866Simp		};
414270866Simp
415270866Simp		pinctrl_gpio_keys: gpio_keysgrp {
416270866Simp			fsl,pins = <
417270866Simp				/* Power Button */
418270866Simp				MX6QDL_PAD_NANDF_D3__GPIO2_IO03		0x1b0b0
419270866Simp				/* Menu Button */
420270866Simp				MX6QDL_PAD_NANDF_D1__GPIO2_IO01		0x1b0b0
421270866Simp				/* Home Button */
422270866Simp				MX6QDL_PAD_NANDF_D4__GPIO2_IO04		0x1b0b0
423270866Simp				/* Back Button */
424270866Simp				MX6QDL_PAD_NANDF_D2__GPIO2_IO02		0x1b0b0
425270866Simp				/* Volume Up Button */
426270866Simp				MX6QDL_PAD_GPIO_18__GPIO7_IO13		0x1b0b0
427270866Simp				/* Volume Down Button */
428270866Simp				MX6QDL_PAD_GPIO_19__GPIO4_IO05		0x1b0b0
429270866Simp			>;
430270866Simp		};
431270866Simp
432270866Simp		pinctrl_i2c1: i2c1grp {
433270866Simp			fsl,pins = <
434270866Simp				MX6QDL_PAD_EIM_D21__I2C1_SCL		0x4001b8b1
435270866Simp				MX6QDL_PAD_EIM_D28__I2C1_SDA		0x4001b8b1
436270866Simp			>;
437270866Simp		};
438270866Simp
439279385Simp		pinctrl_i2c2: i2c2grp {
440279385Simp			fsl,pins = <
441279385Simp				MX6QDL_PAD_KEY_COL3__I2C2_SCL		0x4001b8b1
442279385Simp				MX6QDL_PAD_KEY_ROW3__I2C2_SDA		0x4001b8b1
443279385Simp			>;
444279385Simp		};
445279385Simp
446279385Simp		pinctrl_i2c3: i2c3grp {
447279385Simp			fsl,pins = <
448279385Simp				MX6QDL_PAD_GPIO_5__I2C3_SCL		0x4001b8b1
449279385Simp				MX6QDL_PAD_GPIO_16__I2C3_SDA		0x4001b8b1
450279385Simp			>;
451279385Simp		};
452279385Simp
453295436Sandrew		pinctrl_j15: j15grp {
454295436Sandrew			fsl,pins = <
455295436Sandrew				MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x10
456295436Sandrew				MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15       0x10
457295436Sandrew				MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02        0x10
458295436Sandrew				MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03        0x10
459295436Sandrew				MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00   0x10
460295436Sandrew				MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01   0x10
461295436Sandrew				MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02   0x10
462295436Sandrew				MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03   0x10
463295436Sandrew				MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04   0x10
464295436Sandrew				MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05   0x10
465295436Sandrew				MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06   0x10
466295436Sandrew				MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07   0x10
467295436Sandrew				MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08   0x10
468295436Sandrew				MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09   0x10
469295436Sandrew				MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10  0x10
470295436Sandrew				MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11  0x10
471295436Sandrew				MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12  0x10
472295436Sandrew				MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13  0x10
473295436Sandrew				MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14  0x10
474295436Sandrew				MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15  0x10
475295436Sandrew				MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16  0x10
476295436Sandrew				MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17  0x10
477295436Sandrew				MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18  0x10
478295436Sandrew				MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19  0x10
479295436Sandrew				MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20  0x10
480295436Sandrew				MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21  0x10
481295436Sandrew				MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22  0x10
482295436Sandrew				MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23  0x10
483295436Sandrew			>;
484295436Sandrew		};
485295436Sandrew
486270866Simp		pinctrl_pwm1: pwm1grp {
487270866Simp			fsl,pins = <
488270866Simp				MX6QDL_PAD_SD1_DAT3__PWM1_OUT 0x1b0b1
489270866Simp			>;
490270866Simp		};
491270866Simp
492270866Simp		pinctrl_pwm3: pwm3grp {
493270866Simp			fsl,pins = <
494270866Simp				MX6QDL_PAD_SD1_DAT1__PWM3_OUT 0x1b0b1
495270866Simp			>;
496270866Simp		};
497270866Simp
498270866Simp		pinctrl_pwm4: pwm4grp {
499270866Simp			fsl,pins = <
500270866Simp				MX6QDL_PAD_SD1_CMD__PWM4_OUT 0x1b0b1
501270866Simp			>;
502270866Simp		};
503270866Simp
504270866Simp		pinctrl_uart1: uart1grp {
505270866Simp			fsl,pins = <
506270866Simp				MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA	0x1b0b1
507270866Simp				MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA	0x1b0b1
508270866Simp			>;
509270866Simp		};
510270866Simp
511270866Simp		pinctrl_uart2: uart2grp {
512270866Simp			fsl,pins = <
513270866Simp				MX6QDL_PAD_EIM_D26__UART2_TX_DATA	0x1b0b1
514270866Simp				MX6QDL_PAD_EIM_D27__UART2_RX_DATA	0x1b0b1
515270866Simp			>;
516270866Simp		};
517270866Simp
518270866Simp		pinctrl_usbotg: usbotggrp {
519270866Simp			fsl,pins = <
520270866Simp				MX6QDL_PAD_GPIO_1__USB_OTG_ID	0x17059
521270866Simp				MX6QDL_PAD_KEY_COL4__USB_OTG_OC	0x1b0b0
522270866Simp				/* power enable, high active */
523270866Simp				MX6QDL_PAD_EIM_D22__GPIO3_IO22  0x000b0
524270866Simp			>;
525270866Simp		};
526270866Simp
527295436Sandrew		pinctrl_usdhc2: usdhc2grp {
528295436Sandrew			fsl,pins = <
529295436Sandrew				MX6QDL_PAD_SD2_CMD__SD2_CMD		0x17071
530295436Sandrew				MX6QDL_PAD_SD2_CLK__SD2_CLK		0x10071
531295436Sandrew				MX6QDL_PAD_SD2_DAT0__SD2_DATA0		0x17071
532295436Sandrew				MX6QDL_PAD_SD2_DAT1__SD2_DATA1		0x17071
533295436Sandrew				MX6QDL_PAD_SD2_DAT2__SD2_DATA2		0x17071
534295436Sandrew				MX6QDL_PAD_SD2_DAT3__SD2_DATA3		0x17071
535295436Sandrew				MX6QDL_PAD_NANDF_CS2__GPIO6_IO15	0x000b0
536295436Sandrew			>;
537295436Sandrew		};
538295436Sandrew
539270866Simp		pinctrl_usdhc3: usdhc3grp {
540270866Simp			fsl,pins = <
541270866Simp				MX6QDL_PAD_SD3_CMD__SD3_CMD		0x17059
542270866Simp				MX6QDL_PAD_SD3_CLK__SD3_CLK		0x10059
543270866Simp				MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x17059
544270866Simp				MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x17059
545270866Simp				MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x17059
546270866Simp				MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x17059
547270866Simp				MX6QDL_PAD_SD3_DAT5__GPIO7_IO00 0x1b0b0	/* CD */
548270866Simp			>;
549270866Simp		};
550270866Simp
551270866Simp		pinctrl_usdhc4: usdhc4grp {
552270866Simp			fsl,pins = <
553270866Simp				MX6QDL_PAD_SD4_CMD__SD4_CMD		0x17059
554270866Simp				MX6QDL_PAD_SD4_CLK__SD4_CLK		0x10059
555270866Simp				MX6QDL_PAD_SD4_DAT0__SD4_DATA0		0x17059
556270866Simp				MX6QDL_PAD_SD4_DAT1__SD4_DATA1		0x17059
557270866Simp				MX6QDL_PAD_SD4_DAT2__SD4_DATA2		0x17059
558270866Simp				MX6QDL_PAD_SD4_DAT3__SD4_DATA3		0x17059
559270866Simp				MX6QDL_PAD_NANDF_D6__GPIO2_IO06 0x1b0b0	/* CD */
560270866Simp			>;
561270866Simp		};
562295436Sandrew
563295436Sandrew		pinctrl_wlan_vmmc: wlan_vmmcgrp {
564295436Sandrew			fsl,pins = <
565295436Sandrew				MX6QDL_PAD_NANDF_CS0__GPIO6_IO11	0x100b0
566295436Sandrew				MX6QDL_PAD_NANDF_CS2__GPIO6_IO15	0x000b0
567295436Sandrew				MX6QDL_PAD_NANDF_CS3__GPIO6_IO16	0x000b0
568295436Sandrew				MX6QDL_PAD_SD1_CLK__OSC32K_32K_OUT	0x000b0
569295436Sandrew			>;
570295436Sandrew		};
571270866Simp	};
572270866Simp};
573270866Simp
574295436Sandrew&ipu1_di0_disp0 {
575295436Sandrew	remote-endpoint = <&lcd_display_in>;
576295436Sandrew};
577295436Sandrew
578270866Simp&ldb {
579270866Simp	status = "okay";
580270866Simp
581270866Simp	lvds-channel@0 {
582270866Simp		fsl,data-mapping = "spwg";
583270866Simp		fsl,data-width = <18>;
584270866Simp		status = "okay";
585270866Simp
586295436Sandrew		port@4 {
587295436Sandrew			reg = <4>;
588295436Sandrew
589295436Sandrew			lvds0_out: endpoint {
590295436Sandrew				remote-endpoint = <&panel_in>;
591270866Simp			};
592270866Simp		};
593270866Simp	};
594270866Simp};
595270866Simp
596270866Simp&pcie {
597270866Simp	status = "okay";
598270866Simp};
599270866Simp
600270866Simp&pwm1 {
601270866Simp	pinctrl-names = "default";
602270866Simp	pinctrl-0 = <&pinctrl_pwm1>;
603270866Simp	status = "okay";
604270866Simp};
605270866Simp
606270866Simp&pwm3 {
607270866Simp	pinctrl-names = "default";
608270866Simp	pinctrl-0 = <&pinctrl_pwm3>;
609270866Simp	status = "okay";
610270866Simp};
611270866Simp
612270866Simp&pwm4 {
613270866Simp	pinctrl-names = "default";
614270866Simp	pinctrl-0 = <&pinctrl_pwm4>;
615270866Simp	status = "okay";
616270866Simp};
617270866Simp
618270866Simp&ssi1 {
619270866Simp	status = "okay";
620270866Simp};
621270866Simp
622270866Simp&uart1 {
623270866Simp	pinctrl-names = "default";
624270866Simp	pinctrl-0 = <&pinctrl_uart1>;
625270866Simp	status = "okay";
626270866Simp};
627270866Simp
628270866Simp&uart2 {
629270866Simp	pinctrl-names = "default";
630270866Simp	pinctrl-0 = <&pinctrl_uart2>;
631270866Simp	status = "okay";
632270866Simp};
633270866Simp
634270866Simp&usbh1 {
635270866Simp	status = "okay";
636270866Simp};
637270866Simp
638270866Simp&usbotg {
639270866Simp	vbus-supply = <&reg_usb_otg_vbus>;
640270866Simp	pinctrl-names = "default";
641270866Simp	pinctrl-0 = <&pinctrl_usbotg>;
642270866Simp	disable-over-current;
643270866Simp	status = "okay";
644270866Simp};
645270866Simp
646295436Sandrew&usdhc2 {
647295436Sandrew	pinctrl-names = "default";
648295436Sandrew	pinctrl-0 = <&pinctrl_usdhc2>;
649295436Sandrew	bus-width = <4>;
650295436Sandrew	non-removable;
651295436Sandrew	vmmc-supply = <&reg_wlan_vmmc>;
652295436Sandrew	cap-power-off-card;
653295436Sandrew	keep-power-in-suspend;
654295436Sandrew	status = "okay";
655295436Sandrew
656295436Sandrew	#address-cells = <1>;
657295436Sandrew	#size-cells = <0>;
658295436Sandrew	wlcore: wlcore@2 {
659295436Sandrew		compatible = "ti,wl1271";
660295436Sandrew		reg = <2>;
661295436Sandrew		interrupt-parent = <&gpio6>;
662295436Sandrew		interrupts = <14 IRQ_TYPE_LEVEL_HIGH>;
663295436Sandrew		ref-clock-frequency = <38400000>;
664295436Sandrew	};
665295436Sandrew};
666295436Sandrew
667270866Simp&usdhc3 {
668270866Simp	pinctrl-names = "default";
669270866Simp	pinctrl-0 = <&pinctrl_usdhc3>;
670295436Sandrew	cd-gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
671270866Simp	vmmc-supply = <&reg_3p3v>;
672270866Simp	status = "okay";
673270866Simp};
674270866Simp
675270866Simp&usdhc4 {
676270866Simp	pinctrl-names = "default";
677270866Simp	pinctrl-0 = <&pinctrl_usdhc4>;
678295436Sandrew	cd-gpios = <&gpio2 6 GPIO_ACTIVE_LOW>;
679270866Simp	vmmc-supply = <&reg_3p3v>;
680270866Simp	status = "okay";
681270866Simp};
682