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