1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2724ba675SRob Herring/*
3724ba675SRob Herring * Copyright 2013 Freescale Semiconductor, Inc.
4724ba675SRob Herring *
5724ba675SRob Herring * Author: Fabio Estevam <fabio.estevam@freescale.com>
6724ba675SRob Herring */
7724ba675SRob Herring
8724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
9724ba675SRob Herring
10724ba675SRob Herring/ {
11724ba675SRob Herring	chosen {
12724ba675SRob Herring		stdout-path = &uart1;
13724ba675SRob Herring	};
14724ba675SRob Herring
15724ba675SRob Herring	sound {
16724ba675SRob Herring		compatible = "fsl,imx6-wandboard-sgtl5000",
17724ba675SRob Herring			     "fsl,imx-audio-sgtl5000";
18724ba675SRob Herring		model = "imx6-wandboard-sgtl5000";
19724ba675SRob Herring		ssi-controller = <&ssi1>;
20724ba675SRob Herring		audio-codec = <&codec>;
21724ba675SRob Herring		audio-routing =
22724ba675SRob Herring			"MIC_IN", "Mic Jack",
23724ba675SRob Herring			"Mic Jack", "Mic Bias",
24724ba675SRob Herring			"Headphone Jack", "HP_OUT";
25724ba675SRob Herring		mux-int-port = <1>;
26724ba675SRob Herring		mux-ext-port = <3>;
27724ba675SRob Herring	};
28724ba675SRob Herring
29724ba675SRob Herring	sound-spdif {
30724ba675SRob Herring		compatible = "fsl,imx-audio-spdif";
31724ba675SRob Herring		model = "imx-spdif";
32724ba675SRob Herring		spdif-controller = <&spdif>;
33724ba675SRob Herring		spdif-out;
34724ba675SRob Herring	};
35724ba675SRob Herring
36724ba675SRob Herring	reg_1p5v: regulator-1p5v {
37724ba675SRob Herring		compatible = "regulator-fixed";
38724ba675SRob Herring		regulator-name = "1P5V";
39724ba675SRob Herring		regulator-min-microvolt = <1500000>;
40724ba675SRob Herring		regulator-max-microvolt = <1500000>;
41724ba675SRob Herring		regulator-always-on;
42724ba675SRob Herring	};
43724ba675SRob Herring
44724ba675SRob Herring	reg_1p8v: regulator-1p8v {
45724ba675SRob Herring		compatible = "regulator-fixed";
46724ba675SRob Herring		regulator-name = "1P8V";
47724ba675SRob Herring		regulator-min-microvolt = <1800000>;
48724ba675SRob Herring		regulator-max-microvolt = <1800000>;
49724ba675SRob Herring		regulator-always-on;
50724ba675SRob Herring	};
51724ba675SRob Herring
52724ba675SRob Herring	reg_2p8v: regulator-2p8v {
53724ba675SRob Herring		compatible = "regulator-fixed";
54724ba675SRob Herring		regulator-name = "2P8V";
55724ba675SRob Herring		regulator-min-microvolt = <2800000>;
56724ba675SRob Herring		regulator-max-microvolt = <2800000>;
57724ba675SRob Herring		regulator-always-on;
58724ba675SRob Herring	};
59724ba675SRob Herring
60724ba675SRob Herring	reg_2p5v: regulator-2p5v {
61724ba675SRob Herring		compatible = "regulator-fixed";
62724ba675SRob Herring		regulator-name = "2P5V";
63724ba675SRob Herring		regulator-min-microvolt = <2500000>;
64724ba675SRob Herring		regulator-max-microvolt = <2500000>;
65724ba675SRob Herring		regulator-always-on;
66724ba675SRob Herring	};
67724ba675SRob Herring
68724ba675SRob Herring	reg_3p3v: regulator-3p3v {
69724ba675SRob Herring		compatible = "regulator-fixed";
70724ba675SRob Herring		regulator-name = "3P3V";
71724ba675SRob Herring		regulator-min-microvolt = <3300000>;
72724ba675SRob Herring		regulator-max-microvolt = <3300000>;
73724ba675SRob Herring		regulator-always-on;
74724ba675SRob Herring	};
75724ba675SRob Herring
76724ba675SRob Herring	reg_usb_otg_vbus: regulator-usbotgvbus {
77724ba675SRob Herring		compatible = "regulator-fixed";
78724ba675SRob Herring		regulator-name = "usb_otg_vbus";
79724ba675SRob Herring		regulator-min-microvolt = <5000000>;
80724ba675SRob Herring		regulator-max-microvolt = <5000000>;
81724ba675SRob Herring		pinctrl-names = "default";
82724ba675SRob Herring		pinctrl-0 = <&pinctrl_usbotgvbus>;
83724ba675SRob Herring		gpio = <&gpio3 22 GPIO_ACTIVE_LOW>;
84724ba675SRob Herring	};
85724ba675SRob Herring};
86724ba675SRob Herring
87724ba675SRob Herring&audmux {
88724ba675SRob Herring	pinctrl-names = "default";
89724ba675SRob Herring	pinctrl-0 = <&pinctrl_audmux>;
90724ba675SRob Herring	status = "okay";
91724ba675SRob Herring};
92724ba675SRob Herring
93724ba675SRob Herring&hdmi {
94724ba675SRob Herring	ddc-i2c-bus = <&i2c1>;
95724ba675SRob Herring	status = "okay";
96724ba675SRob Herring};
97724ba675SRob Herring
98724ba675SRob Herring&i2c1 {
99724ba675SRob Herring	clock-frequency = <100000>;
100724ba675SRob Herring	pinctrl-names = "default", "gpio";
101724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c1>;
102724ba675SRob Herring	pinctrl-1 = <&pinctrl_i2c1_gpio>;
103724ba675SRob Herring	scl-gpios = <&gpio3 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
104724ba675SRob Herring	sda-gpios = <&gpio3 28 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
105724ba675SRob Herring	status = "okay";
106724ba675SRob Herring};
107724ba675SRob Herring
108724ba675SRob Herring&i2c2 {
109724ba675SRob Herring	clock-frequency = <100000>;
110724ba675SRob Herring	pinctrl-names = "default", "gpio";
111724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c2>;
112724ba675SRob Herring	pinctrl-1 = <&pinctrl_i2c2_gpio>;
113724ba675SRob Herring	scl-gpios = <&gpio4 12 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
114724ba675SRob Herring	sda-gpios = <&gpio4 13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
115724ba675SRob Herring	status = "okay";
116724ba675SRob Herring
117724ba675SRob Herring	codec: sgtl5000@a {
118724ba675SRob Herring		pinctrl-names = "default";
119724ba675SRob Herring		pinctrl-0 = <&pinctrl_mclk>;
120724ba675SRob Herring		compatible = "fsl,sgtl5000";
121724ba675SRob Herring		reg = <0x0a>;
122*d54bcc3aSFabio Estevam		#sound-dai-cells = <0>;
123724ba675SRob Herring		clocks = <&clks IMX6QDL_CLK_CKO>;
124724ba675SRob Herring		VDDA-supply = <&reg_2p5v>;
125724ba675SRob Herring		VDDIO-supply = <&reg_3p3v>;
126724ba675SRob Herring		lrclk-strength = <3>;
127724ba675SRob Herring	};
128724ba675SRob Herring
129724ba675SRob Herring	camera@3c {
130724ba675SRob Herring		compatible = "ovti,ov5645";
131724ba675SRob Herring		pinctrl-names = "default";
132724ba675SRob Herring		pinctrl-0 = <&pinctrl_ov5645>;
133724ba675SRob Herring		reg = <0x3c>;
134724ba675SRob Herring		clocks = <&clks IMX6QDL_CLK_CKO2>;
135724ba675SRob Herring		clock-frequency = <24000000>;
136724ba675SRob Herring		vdddo-supply = <&reg_1p8v>;
137724ba675SRob Herring		vdda-supply = <&reg_2p8v>;
138724ba675SRob Herring		vddd-supply = <&reg_1p5v>;
139724ba675SRob Herring		enable-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
140724ba675SRob Herring		reset-gpios = <&gpio4 14 GPIO_ACTIVE_LOW>;
141724ba675SRob Herring
142724ba675SRob Herring		port {
143724ba675SRob Herring			ov5645_to_mipi_csi2: endpoint {
144724ba675SRob Herring				remote-endpoint = <&mipi_csi2_in>;
145724ba675SRob Herring				clock-lanes = <0>;
146724ba675SRob Herring				data-lanes = <1 2>;
147724ba675SRob Herring			};
148724ba675SRob Herring		};
149724ba675SRob Herring	};
150724ba675SRob Herring};
151724ba675SRob Herring
152724ba675SRob Herring&iomuxc {
153724ba675SRob Herring	pinctrl-names = "default";
154724ba675SRob Herring
155724ba675SRob Herring	imx6qdl-wandboard {
156724ba675SRob Herring
157724ba675SRob Herring		pinctrl_audmux: audmuxgrp {
158724ba675SRob Herring			fsl,pins = <
159724ba675SRob Herring				MX6QDL_PAD_CSI0_DAT7__AUD3_RXD		0x130b0
160724ba675SRob Herring				MX6QDL_PAD_CSI0_DAT4__AUD3_TXC		0x130b0
161724ba675SRob Herring				MX6QDL_PAD_CSI0_DAT5__AUD3_TXD		0x110b0
162724ba675SRob Herring				MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS		0x130b0
163724ba675SRob Herring			>;
164724ba675SRob Herring		};
165724ba675SRob Herring
166724ba675SRob Herring		pinctrl_enet: enetgrp {
167724ba675SRob Herring			fsl,pins = <
168724ba675SRob Herring				MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b0b0
169724ba675SRob Herring				MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b0b0
170724ba675SRob Herring				MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x1b030
171724ba675SRob Herring				MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x1b030
172724ba675SRob Herring				MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x1b030
173724ba675SRob Herring				MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x1b030
174724ba675SRob Herring				MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x1b030
175724ba675SRob Herring				MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x1b030
176724ba675SRob Herring				MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x1b0b0
177724ba675SRob Herring				MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b030
178724ba675SRob Herring				MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x1b030
179724ba675SRob Herring				MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x1b030
180724ba675SRob Herring				MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b030
181724ba675SRob Herring				MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b030
182724ba675SRob Herring				MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x1b030
183724ba675SRob Herring				MX6QDL_PAD_GPIO_16__ENET_REF_CLK	0x4001b0a8
184724ba675SRob Herring			>;
185724ba675SRob Herring		};
186724ba675SRob Herring
187724ba675SRob Herring		pinctrl_i2c1: i2c1grp {
188724ba675SRob Herring			fsl,pins = <
189724ba675SRob Herring				MX6QDL_PAD_EIM_D21__I2C1_SCL		0x4001b8b1
190724ba675SRob Herring				MX6QDL_PAD_EIM_D28__I2C1_SDA		0x4001b8b1
191724ba675SRob Herring			>;
192724ba675SRob Herring		};
193724ba675SRob Herring
194724ba675SRob Herring		pinctrl_i2c1_gpio: i2c1gpiogrp {
195724ba675SRob Herring			fsl,pins = <
196724ba675SRob Herring				MX6QDL_PAD_EIM_D21__GPIO3_IO21		0x4001b8b0
197724ba675SRob Herring				MX6QDL_PAD_EIM_D28__GPIO3_IO28		0x4001b8b0
198724ba675SRob Herring			>;
199724ba675SRob Herring		};
200724ba675SRob Herring
201724ba675SRob Herring		pinctrl_i2c2: i2c2grp {
202724ba675SRob Herring			fsl,pins = <
203724ba675SRob Herring				MX6QDL_PAD_KEY_COL3__I2C2_SCL		0x4001b8b1
204724ba675SRob Herring				MX6QDL_PAD_KEY_ROW3__I2C2_SDA		0x4001b8b1
205724ba675SRob Herring			>;
206724ba675SRob Herring		};
207724ba675SRob Herring
208724ba675SRob Herring		pinctrl_i2c2_gpio: i2c2gpiogrp {
209724ba675SRob Herring			fsl,pins = <
210724ba675SRob Herring				MX6QDL_PAD_KEY_COL3__GPIO4_IO12		0x4001b8b0
211724ba675SRob Herring				MX6QDL_PAD_KEY_ROW3__GPIO4_IO13		0x4001b8b0
212724ba675SRob Herring			>;
213724ba675SRob Herring		};
214724ba675SRob Herring
215724ba675SRob Herring		pinctrl_mclk: mclkgrp {
216724ba675SRob Herring			fsl,pins = <
217724ba675SRob Herring				MX6QDL_PAD_GPIO_0__CCM_CLKO1		0x130b0
218724ba675SRob Herring			>;
219724ba675SRob Herring		};
220724ba675SRob Herring
221724ba675SRob Herring		pinctrl_ov5645: ov5645grp {
222724ba675SRob Herring			fsl,pins = <
223724ba675SRob Herring				MX6QDL_PAD_GPIO_3__CCM_CLKO2		0x000b0
224724ba675SRob Herring				MX6QDL_PAD_GPIO_6__GPIO1_IO06		0x1b0b0
225724ba675SRob Herring				MX6QDL_PAD_KEY_COL4__GPIO4_IO14		0x1b0b0
226724ba675SRob Herring			>;
227724ba675SRob Herring		};
228724ba675SRob Herring
229724ba675SRob Herring		pinctrl_spdif: spdifgrp {
230724ba675SRob Herring			fsl,pins = <
231724ba675SRob Herring				MX6QDL_PAD_ENET_RXD0__SPDIF_OUT		0x1b0b0
232724ba675SRob Herring			>;
233724ba675SRob Herring		};
234724ba675SRob Herring
235724ba675SRob Herring		pinctrl_uart1: uart1grp {
236724ba675SRob Herring			fsl,pins = <
237724ba675SRob Herring				MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA	0x1b0b1
238724ba675SRob Herring				MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA	0x1b0b1
239724ba675SRob Herring			>;
240724ba675SRob Herring		};
241724ba675SRob Herring
242724ba675SRob Herring		pinctrl_uart3: uart3grp {
243724ba675SRob Herring			fsl,pins = <
244724ba675SRob Herring				MX6QDL_PAD_EIM_D24__UART3_TX_DATA	0x1b0b1
245724ba675SRob Herring				MX6QDL_PAD_EIM_D25__UART3_RX_DATA	0x1b0b1
246724ba675SRob Herring				MX6QDL_PAD_EIM_D23__UART3_CTS_B		0x1b0b1
247724ba675SRob Herring				MX6QDL_PAD_EIM_EB3__UART3_RTS_B		0x1b0b1
248724ba675SRob Herring			>;
249724ba675SRob Herring		};
250724ba675SRob Herring
251724ba675SRob Herring		pinctrl_usbotg: usbotggrp {
252724ba675SRob Herring			fsl,pins = <
253724ba675SRob Herring				MX6QDL_PAD_GPIO_1__USB_OTG_ID		0x17059
254724ba675SRob Herring			>;
255724ba675SRob Herring		};
256724ba675SRob Herring
257724ba675SRob Herring		pinctrl_usbotgvbus: usbotgvbusgrp {
258724ba675SRob Herring			fsl,pins = <
259724ba675SRob Herring				MX6QDL_PAD_EIM_D22__GPIO3_IO22		0x130b0
260724ba675SRob Herring			>;
261724ba675SRob Herring		};
262724ba675SRob Herring
263724ba675SRob Herring		pinctrl_usdhc1: usdhc1grp {
264724ba675SRob Herring			fsl,pins = <
265724ba675SRob Herring				MX6QDL_PAD_SD1_CMD__SD1_CMD		0x17059
266724ba675SRob Herring				MX6QDL_PAD_SD1_CLK__SD1_CLK		0x10059
267724ba675SRob Herring				MX6QDL_PAD_SD1_DAT0__SD1_DATA0		0x17059
268724ba675SRob Herring				MX6QDL_PAD_SD1_DAT1__SD1_DATA1		0x17059
269724ba675SRob Herring				MX6QDL_PAD_SD1_DAT2__SD1_DATA2		0x17059
270724ba675SRob Herring				MX6QDL_PAD_SD1_DAT3__SD1_DATA3		0x17059
271724ba675SRob Herring			>;
272724ba675SRob Herring		};
273724ba675SRob Herring
274724ba675SRob Herring		pinctrl_usdhc2: usdhc2grp {
275724ba675SRob Herring			fsl,pins = <
276724ba675SRob Herring				MX6QDL_PAD_SD2_CMD__SD2_CMD		0x17059
277724ba675SRob Herring				MX6QDL_PAD_SD2_CLK__SD2_CLK		0x10059
278724ba675SRob Herring				MX6QDL_PAD_SD2_DAT0__SD2_DATA0		0x17059
279724ba675SRob Herring				MX6QDL_PAD_SD2_DAT1__SD2_DATA1		0x17059
280724ba675SRob Herring				MX6QDL_PAD_SD2_DAT2__SD2_DATA2		0x17059
281724ba675SRob Herring				MX6QDL_PAD_SD2_DAT3__SD2_DATA3		0x17059
282724ba675SRob Herring			>;
283724ba675SRob Herring		};
284724ba675SRob Herring
285724ba675SRob Herring		pinctrl_usdhc3: usdhc3grp {
286724ba675SRob Herring			fsl,pins = <
287724ba675SRob Herring				MX6QDL_PAD_SD3_CMD__SD3_CMD		0x17059
288724ba675SRob Herring				MX6QDL_PAD_SD3_CLK__SD3_CLK		0x10059
289724ba675SRob Herring				MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x17059
290724ba675SRob Herring				MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x17059
291724ba675SRob Herring				MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x17059
292724ba675SRob Herring				MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x17059
293724ba675SRob Herring			>;
294724ba675SRob Herring		};
295724ba675SRob Herring	};
296724ba675SRob Herring};
297724ba675SRob Herring
298724ba675SRob Herring&fec {
299724ba675SRob Herring	pinctrl-names = "default";
300724ba675SRob Herring	pinctrl-0 = <&pinctrl_enet>;
301724ba675SRob Herring	phy-mode = "rgmii-id";
302724ba675SRob Herring	phy-handle = <&ethphy>;
303724ba675SRob Herring	phy-reset-gpios = <&gpio3 29 GPIO_ACTIVE_LOW>;
304724ba675SRob Herring	status = "okay";
305724ba675SRob Herring
306724ba675SRob Herring	mdio {
307724ba675SRob Herring		#address-cells = <1>;
308724ba675SRob Herring		#size-cells = <0>;
309724ba675SRob Herring
310724ba675SRob Herring		ethphy: ethernet-phy@1 {
311724ba675SRob Herring			reg = <1>;
312724ba675SRob Herring			qca,clk-out-frequency = <125000000>;
313724ba675SRob Herring		};
314724ba675SRob Herring	};
315724ba675SRob Herring};
316724ba675SRob Herring
317724ba675SRob Herring&mipi_csi {
318724ba675SRob Herring	status = "okay";
319724ba675SRob Herring
320724ba675SRob Herring	port@0 {
321724ba675SRob Herring		reg = <0>;
322724ba675SRob Herring
323724ba675SRob Herring		mipi_csi2_in: endpoint {
324724ba675SRob Herring			remote-endpoint = <&ov5645_to_mipi_csi2>;
325724ba675SRob Herring			clock-lanes = <0>;
326724ba675SRob Herring			data-lanes = <1 2>;
327724ba675SRob Herring		};
328724ba675SRob Herring	};
329724ba675SRob Herring};
330724ba675SRob Herring
331724ba675SRob Herring&spdif {
332724ba675SRob Herring	pinctrl-names = "default";
333724ba675SRob Herring	pinctrl-0 = <&pinctrl_spdif>;
334724ba675SRob Herring	status = "okay";
335724ba675SRob Herring};
336724ba675SRob Herring
337724ba675SRob Herring&ssi1 {
338724ba675SRob Herring	status = "okay";
339724ba675SRob Herring};
340724ba675SRob Herring
341724ba675SRob Herring&uart1 {
342724ba675SRob Herring	pinctrl-names = "default";
343724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart1>;
344724ba675SRob Herring	status = "okay";
345724ba675SRob Herring};
346724ba675SRob Herring
347724ba675SRob Herring&uart3 {
348724ba675SRob Herring	pinctrl-names = "default";
349724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart3>;
350724ba675SRob Herring	uart-has-rtscts;
351724ba675SRob Herring	status = "okay";
352724ba675SRob Herring};
353724ba675SRob Herring
354724ba675SRob Herring&usbh1 {
355724ba675SRob Herring	status = "okay";
356724ba675SRob Herring};
357724ba675SRob Herring
358724ba675SRob Herring&usbotg {
359724ba675SRob Herring	vbus-supply = <&reg_usb_otg_vbus>;
360724ba675SRob Herring	pinctrl-names = "default";
361724ba675SRob Herring	pinctrl-0 = <&pinctrl_usbotg>;
362724ba675SRob Herring	disable-over-current;
363724ba675SRob Herring	dr_mode = "otg";
364724ba675SRob Herring	status = "okay";
365724ba675SRob Herring};
366724ba675SRob Herring
367724ba675SRob Herring&usdhc1 {
368724ba675SRob Herring	pinctrl-names = "default";
369724ba675SRob Herring	pinctrl-0 = <&pinctrl_usdhc1>;
370724ba675SRob Herring	cd-gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
371724ba675SRob Herring	status = "okay";
372724ba675SRob Herring};
373724ba675SRob Herring
374724ba675SRob Herring&usdhc3 {
375724ba675SRob Herring	pinctrl-names = "default";
376724ba675SRob Herring	pinctrl-0 = <&pinctrl_usdhc3>;
377724ba675SRob Herring	cd-gpios = <&gpio3 9 GPIO_ACTIVE_LOW>;
378724ba675SRob Herring	status = "okay";
379724ba675SRob Herring};
380