xref: /freebsd-src/sys/contrib/device-tree/src/arm/nxp/imx/imx6qdl-udoo.dtsi (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
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
62aa1a8ff2SEmmanuel Vadot	reg_panel: regulator-panel {
63f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
64f126890aSEmmanuel Vadot		regulator-name = "lcd_panel";
65f126890aSEmmanuel Vadot		enable-active-high;
66f126890aSEmmanuel Vadot		gpio = <&gpio1 2 0>;
67f126890aSEmmanuel Vadot	};
68f126890aSEmmanuel Vadot
69f126890aSEmmanuel Vadot	sound {
70f126890aSEmmanuel Vadot		compatible = "fsl,imx6q-udoo-ac97",
71f126890aSEmmanuel Vadot			     "fsl,imx-audio-ac97";
72f126890aSEmmanuel Vadot		model = "fsl,imx6q-udoo-ac97";
73f126890aSEmmanuel Vadot		audio-cpu = <&ssi1>;
74f126890aSEmmanuel Vadot		audio-routing =
75f126890aSEmmanuel Vadot			"RX", "Mic Jack",
76f126890aSEmmanuel Vadot			"Headphone Jack", "TX";
77f126890aSEmmanuel Vadot		mux-int-port = <1>;
78f126890aSEmmanuel Vadot		mux-ext-port = <6>;
79f126890aSEmmanuel Vadot	};
80f126890aSEmmanuel Vadot};
81f126890aSEmmanuel Vadot
82f126890aSEmmanuel Vadot&fec {
83f126890aSEmmanuel Vadot	pinctrl-names = "default";
84f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_enet>;
85f126890aSEmmanuel Vadot	phy-mode = "rgmii-id";
86f126890aSEmmanuel Vadot	status = "okay";
87f126890aSEmmanuel Vadot};
88f126890aSEmmanuel Vadot
89f126890aSEmmanuel Vadot&hdmi {
90f126890aSEmmanuel Vadot	ddc-i2c-bus = <&i2c2>;
91f126890aSEmmanuel Vadot	status = "okay";
92f126890aSEmmanuel Vadot};
93f126890aSEmmanuel Vadot
94f126890aSEmmanuel Vadot&i2c2 {
95f126890aSEmmanuel Vadot	clock-frequency = <100000>;
96f126890aSEmmanuel Vadot	pinctrl-names = "default";
97f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_i2c2>;
98f126890aSEmmanuel Vadot	status = "okay";
99f126890aSEmmanuel Vadot};
100f126890aSEmmanuel Vadot
101f126890aSEmmanuel Vadot&i2c3 {
102f126890aSEmmanuel Vadot	clock-frequency = <100000>;
103f126890aSEmmanuel Vadot	pinctrl-names = "default";
104f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_i2c3>;
105f126890aSEmmanuel Vadot	status = "okay";
106f126890aSEmmanuel Vadot
107f126890aSEmmanuel Vadot	touchscreenp7: touchscreenp7@55 {
108f126890aSEmmanuel Vadot		compatible = "sitronix,st1232";
109f126890aSEmmanuel Vadot		pinctrl-names = "default";
110f126890aSEmmanuel Vadot		pinctrl-0 = <&pinctrl_touchscreenp7>;
111f126890aSEmmanuel Vadot		reg = <0x55>;
112f126890aSEmmanuel Vadot		interrupt-parent = <&gpio1>;
113f126890aSEmmanuel Vadot		interrupts = <13 8>;
114f126890aSEmmanuel Vadot		gpios = <&gpio1 15 0>;
115f126890aSEmmanuel Vadot		status = "disabled";
116f126890aSEmmanuel Vadot	};
117f126890aSEmmanuel Vadot};
118f126890aSEmmanuel Vadot
119f126890aSEmmanuel Vadot&iomuxc {
120f126890aSEmmanuel Vadot	imx6q-udoo {
121f126890aSEmmanuel Vadot		pinctrl_enet: enetgrp {
122f126890aSEmmanuel Vadot			fsl,pins = <
123f126890aSEmmanuel Vadot				MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b030
124f126890aSEmmanuel Vadot				MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x1b030
125f126890aSEmmanuel Vadot				MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x1b030
126f126890aSEmmanuel Vadot				MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b030
127f126890aSEmmanuel Vadot				MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b030
128f126890aSEmmanuel Vadot				MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x1b030
129f126890aSEmmanuel Vadot				MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x1b030
130f126890aSEmmanuel Vadot				MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x1b030
131f126890aSEmmanuel Vadot				MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x1b030
132f126890aSEmmanuel Vadot				MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x1b030
133f126890aSEmmanuel Vadot				MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x1b030
134f126890aSEmmanuel Vadot				MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x1b030
135f126890aSEmmanuel Vadot				MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x1b0b0
136f126890aSEmmanuel Vadot				MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b0b0
137f126890aSEmmanuel Vadot				MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b0b0
138f126890aSEmmanuel Vadot				MX6QDL_PAD_GPIO_16__ENET_REF_CLK	0x4001b0a8
139f126890aSEmmanuel Vadot			>;
140f126890aSEmmanuel Vadot		};
141f126890aSEmmanuel Vadot
142f126890aSEmmanuel Vadot		pinctrl_i2c2: i2c2grp {
143f126890aSEmmanuel Vadot			fsl,pins = <
144f126890aSEmmanuel Vadot				MX6QDL_PAD_KEY_COL3__I2C2_SCL		0x4001b8b1
145f126890aSEmmanuel Vadot				MX6QDL_PAD_KEY_ROW3__I2C2_SDA		0x4001b8b1
146f126890aSEmmanuel Vadot			>;
147f126890aSEmmanuel Vadot		};
148f126890aSEmmanuel Vadot
149f126890aSEmmanuel Vadot		pinctrl_i2c3: i2c3grp {
150f126890aSEmmanuel Vadot			fsl,pins = <
151f126890aSEmmanuel Vadot				MX6QDL_PAD_GPIO_5__I2C3_SCL		0x4001f8b1
152f126890aSEmmanuel Vadot				MX6QDL_PAD_GPIO_6__I2C3_SDA		0x4001f8b1
153f126890aSEmmanuel Vadot			>;
154f126890aSEmmanuel Vadot		};
155f126890aSEmmanuel Vadot
156f126890aSEmmanuel Vadot		pinctrl_panel: panelgrp {
157f126890aSEmmanuel Vadot			fsl,pins = <
158f126890aSEmmanuel Vadot				MX6QDL_PAD_GPIO_2__GPIO1_IO02		0x70
159f126890aSEmmanuel Vadot				MX6QDL_PAD_GPIO_4__GPIO1_IO04		0x70
160f126890aSEmmanuel Vadot			>;
161f126890aSEmmanuel Vadot		};
162f126890aSEmmanuel Vadot
163f126890aSEmmanuel Vadot		pinctrl_power_off: poweroffgrp {
164f126890aSEmmanuel Vadot			fsl,pins = <
165f126890aSEmmanuel Vadot				MX6QDL_PAD_NANDF_D4__GPIO2_IO04		0x30
166f126890aSEmmanuel Vadot			>;
167f126890aSEmmanuel Vadot		};
168f126890aSEmmanuel Vadot
169f126890aSEmmanuel Vadot		pinctrl_touchscreenp7: touchscreenp7grp {
170f126890aSEmmanuel Vadot			fsl,pins = <
171f126890aSEmmanuel Vadot				MX6QDL_PAD_SD2_DAT0__GPIO1_IO15		0x70
172f126890aSEmmanuel Vadot				MX6QDL_PAD_SD2_DAT2__GPIO1_IO13		0x1b0b0
173f126890aSEmmanuel Vadot			>;
174f126890aSEmmanuel Vadot		};
175f126890aSEmmanuel Vadot
176f126890aSEmmanuel Vadot		pinctrl_uart2: uart2grp {
177f126890aSEmmanuel Vadot			fsl,pins = <
178f126890aSEmmanuel Vadot				MX6QDL_PAD_EIM_D26__UART2_TX_DATA	0x1b0b1
179f126890aSEmmanuel Vadot				MX6QDL_PAD_EIM_D27__UART2_RX_DATA	0x1b0b1
180f126890aSEmmanuel Vadot			>;
181f126890aSEmmanuel Vadot		};
182f126890aSEmmanuel Vadot
183f126890aSEmmanuel Vadot		pinctrl_uart4: uart4grp {
184f126890aSEmmanuel Vadot			fsl,pins = <
185f126890aSEmmanuel Vadot				MX6QDL_PAD_KEY_COL0__UART4_TX_DATA	0x1b0b1
186f126890aSEmmanuel Vadot				MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA	0x1b0b1
187f126890aSEmmanuel Vadot			>;
188f126890aSEmmanuel Vadot		};
189f126890aSEmmanuel Vadot
190f126890aSEmmanuel Vadot		pinctrl_usbh: usbhgrp {
191f126890aSEmmanuel Vadot			fsl,pins = <
192f126890aSEmmanuel Vadot				MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x80000000
193f126890aSEmmanuel Vadot				MX6QDL_PAD_NANDF_CS2__CCM_CLKO2 0x130b0
194f126890aSEmmanuel Vadot			>;
195f126890aSEmmanuel Vadot		};
196f126890aSEmmanuel Vadot
197f126890aSEmmanuel Vadot		pinctrl_usbotg: usbotg {
198f126890aSEmmanuel Vadot			fsl,pins = <
199f126890aSEmmanuel Vadot				MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
200f126890aSEmmanuel Vadot				MX6QDL_PAD_EIM_D22__USB_OTG_PWR 0x17059
201f126890aSEmmanuel Vadot				MX6QDL_PAD_EIM_D21__USB_OTG_OC 0x17059
202f126890aSEmmanuel Vadot			>;
203f126890aSEmmanuel Vadot		};
204f126890aSEmmanuel Vadot
205f126890aSEmmanuel Vadot		pinctrl_usdhc3: usdhc3grp {
206f126890aSEmmanuel Vadot			fsl,pins = <
207f126890aSEmmanuel Vadot				MX6QDL_PAD_SD3_CMD__SD3_CMD		0x17059
208f126890aSEmmanuel Vadot				MX6QDL_PAD_SD3_CLK__SD3_CLK		0x10059
209f126890aSEmmanuel Vadot				MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x17059
210f126890aSEmmanuel Vadot				MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x17059
211f126890aSEmmanuel Vadot				MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x17059
212f126890aSEmmanuel Vadot				MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x17059
213f126890aSEmmanuel Vadot				MX6QDL_PAD_SD3_DAT5__GPIO7_IO00		0x1b0b0
214f126890aSEmmanuel Vadot			>;
215f126890aSEmmanuel Vadot		};
216f126890aSEmmanuel Vadot
217f126890aSEmmanuel Vadot		pinctrl_ac97_running: ac97running {
218f126890aSEmmanuel Vadot			fsl,pins = <
219f126890aSEmmanuel Vadot				MX6QDL_PAD_DI0_PIN2__AUD6_TXD		0x1b0b0
220f126890aSEmmanuel Vadot				MX6QDL_PAD_DI0_PIN3__AUD6_TXFS		0x1b0b0
221f126890aSEmmanuel Vadot				MX6QDL_PAD_DI0_PIN4__AUD6_RXD		0x13080
222f126890aSEmmanuel Vadot				MX6QDL_PAD_DI0_PIN15__AUD6_TXC		0x13080
223f126890aSEmmanuel Vadot				MX6QDL_PAD_EIM_EB2__GPIO2_IO30		0x1b0b0
224f126890aSEmmanuel Vadot			>;
225f126890aSEmmanuel Vadot		};
226f126890aSEmmanuel Vadot
227f126890aSEmmanuel Vadot		pinctrl_ac97_warm_reset: ac97warmreset {
228f126890aSEmmanuel Vadot			fsl,pins = <
229f126890aSEmmanuel Vadot				MX6QDL_PAD_DI0_PIN2__AUD6_TXD		0x1b0b0
230f126890aSEmmanuel Vadot				MX6QDL_PAD_DI0_PIN3__GPIO4_IO19		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_reset: ac97reset {
238f126890aSEmmanuel Vadot			fsl,pins = <
239f126890aSEmmanuel Vadot				MX6QDL_PAD_DI0_PIN2__GPIO4_IO18		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};
248f126890aSEmmanuel Vadot
249f126890aSEmmanuel Vadot&ldb {
250f126890aSEmmanuel Vadot	status = "okay";
251f126890aSEmmanuel Vadot
252f126890aSEmmanuel Vadot	panelchan: lvds-channel@0 {
253f126890aSEmmanuel Vadot		port@4 {
254f126890aSEmmanuel Vadot			reg = <4>;
255f126890aSEmmanuel Vadot
256f126890aSEmmanuel Vadot			lvds0_out: endpoint {
257f126890aSEmmanuel Vadot				remote-endpoint = <&panel_in>;
258f126890aSEmmanuel Vadot			};
259f126890aSEmmanuel Vadot		};
260f126890aSEmmanuel Vadot	};
261f126890aSEmmanuel Vadot};
262f126890aSEmmanuel Vadot
263f126890aSEmmanuel Vadot&uart2 {
264f126890aSEmmanuel Vadot	pinctrl-names = "default";
265f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_uart2>;
266f126890aSEmmanuel Vadot	status = "okay";
267f126890aSEmmanuel Vadot};
268f126890aSEmmanuel Vadot
269f126890aSEmmanuel Vadot&uart4 {
270f126890aSEmmanuel Vadot	pinctrl-names = "default";
271f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_uart4>;
272f126890aSEmmanuel Vadot	status = "okay";
273f126890aSEmmanuel Vadot};
274f126890aSEmmanuel Vadot
275f126890aSEmmanuel Vadot&usbh1 {
276f126890aSEmmanuel Vadot	pinctrl-names = "default";
277f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_usbh>;
278*7d0873ebSEmmanuel Vadot	#address-cells = <1>;
279*7d0873ebSEmmanuel Vadot	#size-cells = <0>;
280*7d0873ebSEmmanuel Vadot	status = "okay";
281*7d0873ebSEmmanuel Vadot
282*7d0873ebSEmmanuel Vadot	usb-port@1 {
283*7d0873ebSEmmanuel Vadot		compatible = "usb424,2514";
284*7d0873ebSEmmanuel Vadot		reg = <1>;
285*7d0873ebSEmmanuel Vadot		#address-cells = <1>;
286*7d0873ebSEmmanuel Vadot		#size-cells = <0>;
287f126890aSEmmanuel Vadot		clocks = <&clks IMX6QDL_CLK_CKO>;
288*7d0873ebSEmmanuel Vadot		reset-gpios = <&gpio7 12 GPIO_ACTIVE_LOW>;
289*7d0873ebSEmmanuel Vadot	};
290f126890aSEmmanuel Vadot};
291f126890aSEmmanuel Vadot
292f126890aSEmmanuel Vadot&usbotg {
293f126890aSEmmanuel Vadot	pinctrl-names = "default";
294f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_usbotg>;
295f126890aSEmmanuel Vadot	status = "okay";
296f126890aSEmmanuel Vadot};
297f126890aSEmmanuel Vadot
298f126890aSEmmanuel Vadot&usdhc3 {
299f126890aSEmmanuel Vadot	pinctrl-names = "default";
300f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_usdhc3>;
301f126890aSEmmanuel Vadot	cd-gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
302f126890aSEmmanuel Vadot	status = "okay";
303f126890aSEmmanuel Vadot};
304f126890aSEmmanuel Vadot
305f126890aSEmmanuel Vadot&audmux {
306f126890aSEmmanuel Vadot	status = "okay";
307f126890aSEmmanuel Vadot};
308f126890aSEmmanuel Vadot
309f126890aSEmmanuel Vadot&ssi1 {
310f126890aSEmmanuel Vadot	cell-index = <0>;
311f126890aSEmmanuel Vadot	fsl,mode = "ac97-slave";
312f126890aSEmmanuel Vadot	pinctrl-names = "ac97-running", "ac97-reset", "ac97-warm-reset";
313f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_ac97_running>;
314f126890aSEmmanuel Vadot	pinctrl-1 = <&pinctrl_ac97_reset>;
315f126890aSEmmanuel Vadot	pinctrl-2 = <&pinctrl_ac97_warm_reset>;
316f126890aSEmmanuel Vadot	ac97-gpios = <&gpio4 19 0 &gpio4 18 0 &gpio2 30 0>;
317f126890aSEmmanuel Vadot	status = "okay";
318f126890aSEmmanuel Vadot};
319