xref: /linux/scripts/dtc/include-prefixes/arm/nxp/imx/imx6qdl-udoo.dtsi (revision 724ba6751532055db75992fc6ae21c3e322e94a7)
1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2*724ba675SRob Herring/*
3*724ba675SRob Herring * Copyright 2013 Freescale Semiconductor, Inc.
4*724ba675SRob Herring *
5*724ba675SRob Herring * Author: Fabio Estevam <fabio.estevam@freescale.com>
6*724ba675SRob Herring */
7*724ba675SRob Herring
8*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
9*724ba675SRob Herring
10*724ba675SRob Herring/ {
11*724ba675SRob Herring	aliases {
12*724ba675SRob Herring		backlight = &backlight;
13*724ba675SRob Herring		panelchan = &panelchan;
14*724ba675SRob Herring		panel7 = &panel7;
15*724ba675SRob Herring		touchscreenp7 = &touchscreenp7;
16*724ba675SRob Herring	};
17*724ba675SRob Herring
18*724ba675SRob Herring	chosen {
19*724ba675SRob Herring		stdout-path = &uart2;
20*724ba675SRob Herring	};
21*724ba675SRob Herring
22*724ba675SRob Herring	backlight: backlight {
23*724ba675SRob Herring		compatible = "gpio-backlight";
24*724ba675SRob Herring		gpios = <&gpio1 4 0>;
25*724ba675SRob Herring		default-on;
26*724ba675SRob Herring		status = "disabled";
27*724ba675SRob Herring	};
28*724ba675SRob Herring
29*724ba675SRob Herring	gpio-poweroff {
30*724ba675SRob Herring		compatible = "gpio-poweroff";
31*724ba675SRob Herring		gpios = <&gpio2 4 0>;
32*724ba675SRob Herring		pinctrl-0 = <&pinctrl_power_off>;
33*724ba675SRob Herring		pinctrl-names = "default";
34*724ba675SRob Herring	};
35*724ba675SRob Herring
36*724ba675SRob Herring	memory@10000000 {
37*724ba675SRob Herring		device_type = "memory";
38*724ba675SRob Herring		reg = <0x10000000 0x40000000>;
39*724ba675SRob Herring	};
40*724ba675SRob Herring
41*724ba675SRob Herring	panel7: panel7 {
42*724ba675SRob Herring		/*
43*724ba675SRob Herring		 * in reality it is a -20t (parallel) model,
44*724ba675SRob Herring		 * but with LVDS bridge chip attached,
45*724ba675SRob Herring		 * so it is equivalent to -19t model in drive
46*724ba675SRob Herring		 * characteristics
47*724ba675SRob Herring		 */
48*724ba675SRob Herring		compatible = "urt,umsh-8596md-19t";
49*724ba675SRob Herring		pinctrl-names = "default";
50*724ba675SRob Herring		pinctrl-0 = <&pinctrl_panel>;
51*724ba675SRob Herring		power-supply = <&reg_panel>;
52*724ba675SRob Herring		backlight = <&backlight>;
53*724ba675SRob Herring		status = "disabled";
54*724ba675SRob Herring
55*724ba675SRob Herring		port {
56*724ba675SRob Herring			panel_in: endpoint {
57*724ba675SRob Herring				remote-endpoint = <&lvds0_out>;
58*724ba675SRob Herring			};
59*724ba675SRob Herring		};
60*724ba675SRob Herring	};
61*724ba675SRob Herring
62*724ba675SRob Herring	regulators {
63*724ba675SRob Herring		compatible = "simple-bus";
64*724ba675SRob Herring		#address-cells = <1>;
65*724ba675SRob Herring		#size-cells = <0>;
66*724ba675SRob Herring
67*724ba675SRob Herring		reg_usb_h1_vbus: regulator@0 {
68*724ba675SRob Herring			compatible = "regulator-fixed";
69*724ba675SRob Herring			reg = <0>;
70*724ba675SRob Herring			regulator-name = "usb_h1_vbus";
71*724ba675SRob Herring			regulator-min-microvolt = <5000000>;
72*724ba675SRob Herring			regulator-max-microvolt = <5000000>;
73*724ba675SRob Herring			enable-active-high;
74*724ba675SRob Herring			startup-delay-us = <2>; /* USB2415 requires a POR of 1 us minimum */
75*724ba675SRob Herring			gpio = <&gpio7 12 0>;
76*724ba675SRob Herring		};
77*724ba675SRob Herring
78*724ba675SRob Herring		reg_panel: regulator@1 {
79*724ba675SRob Herring			compatible = "regulator-fixed";
80*724ba675SRob Herring			reg = <1>;
81*724ba675SRob Herring			regulator-name = "lcd_panel";
82*724ba675SRob Herring			enable-active-high;
83*724ba675SRob Herring			gpio = <&gpio1 2 0>;
84*724ba675SRob Herring		};
85*724ba675SRob Herring	};
86*724ba675SRob Herring
87*724ba675SRob Herring	sound {
88*724ba675SRob Herring		compatible = "fsl,imx6q-udoo-ac97",
89*724ba675SRob Herring			     "fsl,imx-audio-ac97";
90*724ba675SRob Herring		model = "fsl,imx6q-udoo-ac97";
91*724ba675SRob Herring		audio-cpu = <&ssi1>;
92*724ba675SRob Herring		audio-routing =
93*724ba675SRob Herring			"RX", "Mic Jack",
94*724ba675SRob Herring			"Headphone Jack", "TX";
95*724ba675SRob Herring		mux-int-port = <1>;
96*724ba675SRob Herring		mux-ext-port = <6>;
97*724ba675SRob Herring	};
98*724ba675SRob Herring};
99*724ba675SRob Herring
100*724ba675SRob Herring&fec {
101*724ba675SRob Herring	pinctrl-names = "default";
102*724ba675SRob Herring	pinctrl-0 = <&pinctrl_enet>;
103*724ba675SRob Herring	phy-mode = "rgmii-id";
104*724ba675SRob Herring	status = "okay";
105*724ba675SRob Herring};
106*724ba675SRob Herring
107*724ba675SRob Herring&hdmi {
108*724ba675SRob Herring	ddc-i2c-bus = <&i2c2>;
109*724ba675SRob Herring	status = "okay";
110*724ba675SRob Herring};
111*724ba675SRob Herring
112*724ba675SRob Herring&i2c2 {
113*724ba675SRob Herring	clock-frequency = <100000>;
114*724ba675SRob Herring	pinctrl-names = "default";
115*724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c2>;
116*724ba675SRob Herring	status = "okay";
117*724ba675SRob Herring};
118*724ba675SRob Herring
119*724ba675SRob Herring&i2c3 {
120*724ba675SRob Herring	clock-frequency = <100000>;
121*724ba675SRob Herring	pinctrl-names = "default";
122*724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c3>;
123*724ba675SRob Herring	status = "okay";
124*724ba675SRob Herring
125*724ba675SRob Herring	touchscreenp7: touchscreenp7@55 {
126*724ba675SRob Herring		compatible = "sitronix,st1232";
127*724ba675SRob Herring		pinctrl-names = "default";
128*724ba675SRob Herring		pinctrl-0 = <&pinctrl_touchscreenp7>;
129*724ba675SRob Herring		reg = <0x55>;
130*724ba675SRob Herring		interrupt-parent = <&gpio1>;
131*724ba675SRob Herring		interrupts = <13 8>;
132*724ba675SRob Herring		gpios = <&gpio1 15 0>;
133*724ba675SRob Herring		status = "disabled";
134*724ba675SRob Herring	};
135*724ba675SRob Herring};
136*724ba675SRob Herring
137*724ba675SRob Herring&iomuxc {
138*724ba675SRob Herring	imx6q-udoo {
139*724ba675SRob Herring		pinctrl_enet: enetgrp {
140*724ba675SRob Herring			fsl,pins = <
141*724ba675SRob Herring				MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b030
142*724ba675SRob Herring				MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x1b030
143*724ba675SRob Herring				MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x1b030
144*724ba675SRob Herring				MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b030
145*724ba675SRob Herring				MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b030
146*724ba675SRob Herring				MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x1b030
147*724ba675SRob Herring				MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x1b030
148*724ba675SRob Herring				MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x1b030
149*724ba675SRob Herring				MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x1b030
150*724ba675SRob Herring				MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x1b030
151*724ba675SRob Herring				MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x1b030
152*724ba675SRob Herring				MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x1b030
153*724ba675SRob Herring				MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x1b0b0
154*724ba675SRob Herring				MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b0b0
155*724ba675SRob Herring				MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b0b0
156*724ba675SRob Herring				MX6QDL_PAD_GPIO_16__ENET_REF_CLK	0x4001b0a8
157*724ba675SRob Herring			>;
158*724ba675SRob Herring		};
159*724ba675SRob Herring
160*724ba675SRob Herring		pinctrl_i2c2: i2c2grp {
161*724ba675SRob Herring			fsl,pins = <
162*724ba675SRob Herring				MX6QDL_PAD_KEY_COL3__I2C2_SCL		0x4001b8b1
163*724ba675SRob Herring				MX6QDL_PAD_KEY_ROW3__I2C2_SDA		0x4001b8b1
164*724ba675SRob Herring			>;
165*724ba675SRob Herring		};
166*724ba675SRob Herring
167*724ba675SRob Herring		pinctrl_i2c3: i2c3grp {
168*724ba675SRob Herring			fsl,pins = <
169*724ba675SRob Herring				MX6QDL_PAD_GPIO_5__I2C3_SCL		0x4001f8b1
170*724ba675SRob Herring				MX6QDL_PAD_GPIO_6__I2C3_SDA		0x4001f8b1
171*724ba675SRob Herring			>;
172*724ba675SRob Herring		};
173*724ba675SRob Herring
174*724ba675SRob Herring		pinctrl_panel: panelgrp {
175*724ba675SRob Herring			fsl,pins = <
176*724ba675SRob Herring				MX6QDL_PAD_GPIO_2__GPIO1_IO02		0x70
177*724ba675SRob Herring				MX6QDL_PAD_GPIO_4__GPIO1_IO04		0x70
178*724ba675SRob Herring			>;
179*724ba675SRob Herring		};
180*724ba675SRob Herring
181*724ba675SRob Herring		pinctrl_power_off: poweroffgrp {
182*724ba675SRob Herring			fsl,pins = <
183*724ba675SRob Herring				MX6QDL_PAD_NANDF_D4__GPIO2_IO04		0x30
184*724ba675SRob Herring			>;
185*724ba675SRob Herring		};
186*724ba675SRob Herring
187*724ba675SRob Herring		pinctrl_touchscreenp7: touchscreenp7grp {
188*724ba675SRob Herring			fsl,pins = <
189*724ba675SRob Herring				MX6QDL_PAD_SD2_DAT0__GPIO1_IO15		0x70
190*724ba675SRob Herring				MX6QDL_PAD_SD2_DAT2__GPIO1_IO13		0x1b0b0
191*724ba675SRob Herring			>;
192*724ba675SRob Herring		};
193*724ba675SRob Herring
194*724ba675SRob Herring		pinctrl_uart2: uart2grp {
195*724ba675SRob Herring			fsl,pins = <
196*724ba675SRob Herring				MX6QDL_PAD_EIM_D26__UART2_TX_DATA	0x1b0b1
197*724ba675SRob Herring				MX6QDL_PAD_EIM_D27__UART2_RX_DATA	0x1b0b1
198*724ba675SRob Herring			>;
199*724ba675SRob Herring		};
200*724ba675SRob Herring
201*724ba675SRob Herring		pinctrl_uart4: uart4grp {
202*724ba675SRob Herring			fsl,pins = <
203*724ba675SRob Herring				MX6QDL_PAD_KEY_COL0__UART4_TX_DATA	0x1b0b1
204*724ba675SRob Herring				MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA	0x1b0b1
205*724ba675SRob Herring			>;
206*724ba675SRob Herring		};
207*724ba675SRob Herring
208*724ba675SRob Herring		pinctrl_usbh: usbhgrp {
209*724ba675SRob Herring			fsl,pins = <
210*724ba675SRob Herring				MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x80000000
211*724ba675SRob Herring				MX6QDL_PAD_NANDF_CS2__CCM_CLKO2 0x130b0
212*724ba675SRob Herring			>;
213*724ba675SRob Herring		};
214*724ba675SRob Herring
215*724ba675SRob Herring		pinctrl_usbotg: usbotg {
216*724ba675SRob Herring			fsl,pins = <
217*724ba675SRob Herring				MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
218*724ba675SRob Herring				MX6QDL_PAD_EIM_D22__USB_OTG_PWR 0x17059
219*724ba675SRob Herring				MX6QDL_PAD_EIM_D21__USB_OTG_OC 0x17059
220*724ba675SRob Herring			>;
221*724ba675SRob Herring		};
222*724ba675SRob Herring
223*724ba675SRob Herring		pinctrl_usdhc3: usdhc3grp {
224*724ba675SRob Herring			fsl,pins = <
225*724ba675SRob Herring				MX6QDL_PAD_SD3_CMD__SD3_CMD		0x17059
226*724ba675SRob Herring				MX6QDL_PAD_SD3_CLK__SD3_CLK		0x10059
227*724ba675SRob Herring				MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x17059
228*724ba675SRob Herring				MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x17059
229*724ba675SRob Herring				MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x17059
230*724ba675SRob Herring				MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x17059
231*724ba675SRob Herring				MX6QDL_PAD_SD3_DAT5__GPIO7_IO00		0x1b0b0
232*724ba675SRob Herring			>;
233*724ba675SRob Herring		};
234*724ba675SRob Herring
235*724ba675SRob Herring		pinctrl_ac97_running: ac97running {
236*724ba675SRob Herring			fsl,pins = <
237*724ba675SRob Herring				MX6QDL_PAD_DI0_PIN2__AUD6_TXD		0x1b0b0
238*724ba675SRob Herring				MX6QDL_PAD_DI0_PIN3__AUD6_TXFS		0x1b0b0
239*724ba675SRob Herring				MX6QDL_PAD_DI0_PIN4__AUD6_RXD		0x13080
240*724ba675SRob Herring				MX6QDL_PAD_DI0_PIN15__AUD6_TXC		0x13080
241*724ba675SRob Herring				MX6QDL_PAD_EIM_EB2__GPIO2_IO30		0x1b0b0
242*724ba675SRob Herring			>;
243*724ba675SRob Herring		};
244*724ba675SRob Herring
245*724ba675SRob Herring		pinctrl_ac97_warm_reset: ac97warmreset {
246*724ba675SRob Herring			fsl,pins = <
247*724ba675SRob Herring				MX6QDL_PAD_DI0_PIN2__AUD6_TXD		0x1b0b0
248*724ba675SRob Herring				MX6QDL_PAD_DI0_PIN3__GPIO4_IO19		0x1b0b0
249*724ba675SRob Herring				MX6QDL_PAD_DI0_PIN4__AUD6_RXD		0x13080
250*724ba675SRob Herring				MX6QDL_PAD_DI0_PIN15__AUD6_TXC		0x13080
251*724ba675SRob Herring				MX6QDL_PAD_EIM_EB2__GPIO2_IO30		0x1b0b0
252*724ba675SRob Herring			>;
253*724ba675SRob Herring		};
254*724ba675SRob Herring
255*724ba675SRob Herring		pinctrl_ac97_reset: ac97reset {
256*724ba675SRob Herring			fsl,pins = <
257*724ba675SRob Herring				MX6QDL_PAD_DI0_PIN2__GPIO4_IO18		0x1b0b0
258*724ba675SRob Herring				MX6QDL_PAD_DI0_PIN3__GPIO4_IO19		0x1b0b0
259*724ba675SRob Herring				MX6QDL_PAD_DI0_PIN4__AUD6_RXD		0x13080
260*724ba675SRob Herring				MX6QDL_PAD_DI0_PIN15__AUD6_TXC		0x13080
261*724ba675SRob Herring				MX6QDL_PAD_EIM_EB2__GPIO2_IO30		0x1b0b0
262*724ba675SRob Herring			>;
263*724ba675SRob Herring		};
264*724ba675SRob Herring	};
265*724ba675SRob Herring};
266*724ba675SRob Herring
267*724ba675SRob Herring&ldb {
268*724ba675SRob Herring	status = "okay";
269*724ba675SRob Herring
270*724ba675SRob Herring	panelchan: lvds-channel@0 {
271*724ba675SRob Herring		port@4 {
272*724ba675SRob Herring			reg = <4>;
273*724ba675SRob Herring
274*724ba675SRob Herring			lvds0_out: endpoint {
275*724ba675SRob Herring				remote-endpoint = <&panel_in>;
276*724ba675SRob Herring			};
277*724ba675SRob Herring		};
278*724ba675SRob Herring	};
279*724ba675SRob Herring};
280*724ba675SRob Herring
281*724ba675SRob Herring&uart2 {
282*724ba675SRob Herring	pinctrl-names = "default";
283*724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart2>;
284*724ba675SRob Herring	status = "okay";
285*724ba675SRob Herring};
286*724ba675SRob Herring
287*724ba675SRob Herring&uart4 {
288*724ba675SRob Herring	pinctrl-names = "default";
289*724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart4>;
290*724ba675SRob Herring	status = "okay";
291*724ba675SRob Herring};
292*724ba675SRob Herring
293*724ba675SRob Herring&usbh1 {
294*724ba675SRob Herring	pinctrl-names = "default";
295*724ba675SRob Herring	pinctrl-0 = <&pinctrl_usbh>;
296*724ba675SRob Herring	vbus-supply = <&reg_usb_h1_vbus>;
297*724ba675SRob Herring	clocks = <&clks IMX6QDL_CLK_CKO>;
298*724ba675SRob Herring	status = "disabled";
299*724ba675SRob Herring};
300*724ba675SRob Herring
301*724ba675SRob Herring&usbotg {
302*724ba675SRob Herring	pinctrl-names = "default";
303*724ba675SRob Herring	pinctrl-0 = <&pinctrl_usbotg>;
304*724ba675SRob Herring	status = "okay";
305*724ba675SRob Herring};
306*724ba675SRob Herring
307*724ba675SRob Herring&usdhc3 {
308*724ba675SRob Herring	pinctrl-names = "default";
309*724ba675SRob Herring	pinctrl-0 = <&pinctrl_usdhc3>;
310*724ba675SRob Herring	cd-gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
311*724ba675SRob Herring	status = "okay";
312*724ba675SRob Herring};
313*724ba675SRob Herring
314*724ba675SRob Herring&audmux {
315*724ba675SRob Herring	status = "okay";
316*724ba675SRob Herring};
317*724ba675SRob Herring
318*724ba675SRob Herring&ssi1 {
319*724ba675SRob Herring	cell-index = <0>;
320*724ba675SRob Herring	fsl,mode = "ac97-slave";
321*724ba675SRob Herring	pinctrl-names = "ac97-running", "ac97-reset", "ac97-warm-reset";
322*724ba675SRob Herring	pinctrl-0 = <&pinctrl_ac97_running>;
323*724ba675SRob Herring	pinctrl-1 = <&pinctrl_ac97_reset>;
324*724ba675SRob Herring	pinctrl-2 = <&pinctrl_ac97_warm_reset>;
325*724ba675SRob Herring	ac97-gpios = <&gpio4 19 0 &gpio4 18 0 &gpio2 30 0>;
326*724ba675SRob Herring	status = "okay";
327*724ba675SRob Herring};
328