xref: /freebsd-src/sys/contrib/device-tree/src/arm/nxp/imx/imx6qdl-cubox-i.dtsi (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
1f126890aSEmmanuel Vadot/*
2f126890aSEmmanuel Vadot * Copyright (C) 2014 Russell King
3f126890aSEmmanuel Vadot *
4f126890aSEmmanuel Vadot * This file is dual-licensed: you can use it either under the terms
5f126890aSEmmanuel Vadot * of the GPL or the X11 license, at your option. Note that this dual
6f126890aSEmmanuel Vadot * licensing only applies to this file, and not this project as a
7f126890aSEmmanuel Vadot * whole.
8f126890aSEmmanuel Vadot *
9f126890aSEmmanuel Vadot *  a) This file is free software; you can redistribute it and/or
10f126890aSEmmanuel Vadot *     modify it under the terms of the GNU General Public License
11f126890aSEmmanuel Vadot *     version 2 as published by the Free Software Foundation.
12f126890aSEmmanuel Vadot *
13f126890aSEmmanuel Vadot *     This file is distributed in the hope that it will be useful,
14f126890aSEmmanuel Vadot *     but WITHOUT ANY WARRANTY; without even the implied warranty of
15f126890aSEmmanuel Vadot *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16f126890aSEmmanuel Vadot *     GNU General Public License for more details.
17f126890aSEmmanuel Vadot *
18f126890aSEmmanuel Vadot * Or, alternatively,
19f126890aSEmmanuel Vadot *
20f126890aSEmmanuel Vadot *  b) Permission is hereby granted, free of charge, to any person
21f126890aSEmmanuel Vadot *     obtaining a copy of this software and associated documentation
22f126890aSEmmanuel Vadot *     files (the "Software"), to deal in the Software without
23f126890aSEmmanuel Vadot *     restriction, including without limitation the rights to use,
24f126890aSEmmanuel Vadot *     copy, modify, merge, publish, distribute, sublicense, and/or
25f126890aSEmmanuel Vadot *     sell copies of the Software, and to permit persons to whom the
26f126890aSEmmanuel Vadot *     Software is furnished to do so, subject to the following
27f126890aSEmmanuel Vadot *     conditions:
28f126890aSEmmanuel Vadot *
29f126890aSEmmanuel Vadot *     The above copyright notice and this permission notice shall be
30f126890aSEmmanuel Vadot *     included in all copies or substantial portions of the Software.
31f126890aSEmmanuel Vadot *
32f126890aSEmmanuel Vadot *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
33f126890aSEmmanuel Vadot *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
34f126890aSEmmanuel Vadot *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
35f126890aSEmmanuel Vadot *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
36f126890aSEmmanuel Vadot *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
37f126890aSEmmanuel Vadot *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
38f126890aSEmmanuel Vadot *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
39f126890aSEmmanuel Vadot *     OTHER DEALINGS IN THE SOFTWARE.
40f126890aSEmmanuel Vadot */
41f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h>
42f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
43f126890aSEmmanuel Vadot
44f126890aSEmmanuel Vadot/ {
45f126890aSEmmanuel Vadot	/* Will be filled by the bootloader */
46f126890aSEmmanuel Vadot	memory@10000000 {
47f126890aSEmmanuel Vadot		device_type = "memory";
48f126890aSEmmanuel Vadot		reg = <0x10000000 0>;
49f126890aSEmmanuel Vadot	};
50f126890aSEmmanuel Vadot
51f126890aSEmmanuel Vadot	ir_recv: ir-receiver {
52f126890aSEmmanuel Vadot		compatible = "gpio-ir-receiver";
53f126890aSEmmanuel Vadot		gpios = <&gpio3 9 1>;
54f126890aSEmmanuel Vadot		pinctrl-names = "default";
55f126890aSEmmanuel Vadot		pinctrl-0 = <&pinctrl_cubox_i_ir>;
56f126890aSEmmanuel Vadot	};
57f126890aSEmmanuel Vadot
58f126890aSEmmanuel Vadot	led-controller {
59f126890aSEmmanuel Vadot		compatible = "pwm-leds";
60f126890aSEmmanuel Vadot		pinctrl-names = "default";
61f126890aSEmmanuel Vadot		pinctrl-0 = <&pinctrl_cubox_i_pwm1>;
62f126890aSEmmanuel Vadot
63f126890aSEmmanuel Vadot		led-1 {
64f126890aSEmmanuel Vadot			active-low;
65f126890aSEmmanuel Vadot			label = "imx6:red:front";
66f126890aSEmmanuel Vadot			max-brightness = <248>;
677d0873ebSEmmanuel Vadot			pwms = <&pwm1 0 50000 0>;
68f126890aSEmmanuel Vadot		};
69f126890aSEmmanuel Vadot	};
70f126890aSEmmanuel Vadot
71f126890aSEmmanuel Vadot	v_5v0: regulator-v-5v0 {
72f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
73f126890aSEmmanuel Vadot		regulator-always-on;
74f126890aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
75f126890aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
76f126890aSEmmanuel Vadot		regulator-name = "v_5v0";
77f126890aSEmmanuel Vadot	};
78f126890aSEmmanuel Vadot
79f126890aSEmmanuel Vadot	v_usb2: regulator-v-usb2 {
80f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
81f126890aSEmmanuel Vadot		enable-active-high;
82f126890aSEmmanuel Vadot		gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>;
83f126890aSEmmanuel Vadot		pinctrl-names = "default";
84f126890aSEmmanuel Vadot		pinctrl-0 = <&pinctrl_cubox_i_usbh1_vbus>;
85f126890aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
86f126890aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
87f126890aSEmmanuel Vadot		regulator-name = "v_usb2";
88f126890aSEmmanuel Vadot		vin-supply = <&v_5v0>;
89f126890aSEmmanuel Vadot	};
90f126890aSEmmanuel Vadot
91f126890aSEmmanuel Vadot	v_usb1: regulator-v-usb1 {
92f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
93f126890aSEmmanuel Vadot		enable-active-high;
94f126890aSEmmanuel Vadot		gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
95f126890aSEmmanuel Vadot		pinctrl-names = "default";
96f126890aSEmmanuel Vadot		pinctrl-0 = <&pinctrl_cubox_i_usbotg_vbus>;
97f126890aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
98f126890aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
99f126890aSEmmanuel Vadot		regulator-name = "v_usb1";
100f126890aSEmmanuel Vadot		vin-supply = <&v_5v0>;
101f126890aSEmmanuel Vadot	};
102f126890aSEmmanuel Vadot
103*b2d2a78aSEmmanuel Vadot	spdif_out: spdif-out {
104*b2d2a78aSEmmanuel Vadot		compatible = "linux,spdif-dit";
105*b2d2a78aSEmmanuel Vadot		#sound-dai-cells = <0>;
106*b2d2a78aSEmmanuel Vadot	};
107*b2d2a78aSEmmanuel Vadot
108f126890aSEmmanuel Vadot	sound-spdif {
109f126890aSEmmanuel Vadot		compatible = "fsl,imx-audio-spdif";
110f126890aSEmmanuel Vadot		model = "Integrated SPDIF";
111f126890aSEmmanuel Vadot		/* IMX6 doesn't implement this yet */
112*b2d2a78aSEmmanuel Vadot		audio-cpu = <&spdif>;
113*b2d2a78aSEmmanuel Vadot		audio-codec = <&spdif_out>;
114f126890aSEmmanuel Vadot	};
115f126890aSEmmanuel Vadot
116f126890aSEmmanuel Vadot	gpio-keys {
117f126890aSEmmanuel Vadot		compatible = "gpio-keys";
118f126890aSEmmanuel Vadot		pinctrl-0 = <&pinctrl_gpio_key>;
119f126890aSEmmanuel Vadot		pinctrl-names = "default";
120f126890aSEmmanuel Vadot
121f126890aSEmmanuel Vadot		button_0 {
122f126890aSEmmanuel Vadot			label = "Button 0";
123f126890aSEmmanuel Vadot			gpios = <&gpio3 8 GPIO_ACTIVE_LOW>;
124f126890aSEmmanuel Vadot			linux,code = <BTN_0>;
125f126890aSEmmanuel Vadot		};
126f126890aSEmmanuel Vadot	};
127f126890aSEmmanuel Vadot};
128f126890aSEmmanuel Vadot
129f126890aSEmmanuel Vadot&hdmi {
130f126890aSEmmanuel Vadot	pinctrl-names = "default";
131f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_cubox_i_hdmi>;
132f126890aSEmmanuel Vadot	ddc-i2c-bus = <&i2c2>;
133f126890aSEmmanuel Vadot	status = "okay";
134f126890aSEmmanuel Vadot};
135f126890aSEmmanuel Vadot
136f126890aSEmmanuel Vadot&i2c2 {
137f126890aSEmmanuel Vadot	clock-frequency = <100000>;
138f126890aSEmmanuel Vadot	pinctrl-names = "default";
139f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_cubox_i_i2c2>;
140f126890aSEmmanuel Vadot	status = "okay";
141f126890aSEmmanuel Vadot};
142f126890aSEmmanuel Vadot
143f126890aSEmmanuel Vadot&i2c3 {
144f126890aSEmmanuel Vadot	pinctrl-names = "default";
145f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_cubox_i_i2c3>;
146f126890aSEmmanuel Vadot
147f126890aSEmmanuel Vadot	status = "okay";
148f126890aSEmmanuel Vadot
149f126890aSEmmanuel Vadot	rtc@68 {
150f126890aSEmmanuel Vadot		compatible = "nxp,pcf8523";
151f126890aSEmmanuel Vadot		reg = <0x68>;
152f126890aSEmmanuel Vadot	};
153f126890aSEmmanuel Vadot};
154f126890aSEmmanuel Vadot
155f126890aSEmmanuel Vadot&iomuxc {
156f126890aSEmmanuel Vadot	cubox_i {
157f126890aSEmmanuel Vadot		pinctrl_cubox_i_hdmi: cubox-i-hdmi {
158f126890aSEmmanuel Vadot			fsl,pins = <
159f126890aSEmmanuel Vadot				MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x1f8b0
160f126890aSEmmanuel Vadot			>;
161f126890aSEmmanuel Vadot		};
162f126890aSEmmanuel Vadot
163f126890aSEmmanuel Vadot		pinctrl_cubox_i_i2c2: cubox-i-i2c2 {
164f126890aSEmmanuel Vadot			fsl,pins = <
165f126890aSEmmanuel Vadot				MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
166f126890aSEmmanuel Vadot				MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
167f126890aSEmmanuel Vadot			>;
168f126890aSEmmanuel Vadot		};
169f126890aSEmmanuel Vadot
170f126890aSEmmanuel Vadot		pinctrl_cubox_i_i2c3: cubox-i-i2c3 {
171f126890aSEmmanuel Vadot			fsl,pins = <
172f126890aSEmmanuel Vadot				MX6QDL_PAD_EIM_D17__I2C3_SCL 0x4001b8b1
173f126890aSEmmanuel Vadot				MX6QDL_PAD_EIM_D18__I2C3_SDA 0x4001b8b1
174f126890aSEmmanuel Vadot			>;
175f126890aSEmmanuel Vadot		};
176f126890aSEmmanuel Vadot
177f126890aSEmmanuel Vadot		pinctrl_cubox_i_ir: cubox-i-ir {
178f126890aSEmmanuel Vadot			fsl,pins = <
179f126890aSEmmanuel Vadot				MX6QDL_PAD_EIM_DA9__GPIO3_IO09 0x80000000
180f126890aSEmmanuel Vadot			>;
181f126890aSEmmanuel Vadot		};
182f126890aSEmmanuel Vadot
183f126890aSEmmanuel Vadot		pinctrl_cubox_i_pwm1: cubox-i-pwm1-front-led {
184f126890aSEmmanuel Vadot			fsl,pins = <MX6QDL_PAD_DISP0_DAT8__PWM1_OUT 0x1b0b0>;
185f126890aSEmmanuel Vadot		};
186f126890aSEmmanuel Vadot
187f126890aSEmmanuel Vadot		pinctrl_cubox_i_spdif: cubox-i-spdif {
188f126890aSEmmanuel Vadot			fsl,pins = <MX6QDL_PAD_GPIO_17__SPDIF_OUT 0x13091>;
189f126890aSEmmanuel Vadot		};
190f126890aSEmmanuel Vadot
191f126890aSEmmanuel Vadot		pinctrl_cubox_i_usbh1: cubox-i-usbh1 {
192f126890aSEmmanuel Vadot			fsl,pins = <MX6QDL_PAD_GPIO_3__USB_H1_OC 0x1b0b0>;
193f126890aSEmmanuel Vadot		};
194f126890aSEmmanuel Vadot
195f126890aSEmmanuel Vadot		pinctrl_cubox_i_usbh1_vbus: cubox-i-usbh1-vbus {
196f126890aSEmmanuel Vadot			fsl,pins = <MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x4001b0b0>;
197f126890aSEmmanuel Vadot		};
198f126890aSEmmanuel Vadot
199f126890aSEmmanuel Vadot		pinctrl_cubox_i_usbotg: cubox-i-usbotg {
200f126890aSEmmanuel Vadot			/*
201f126890aSEmmanuel Vadot			 * The Cubox-i pulls ID low, but as it's pointless
202f126890aSEmmanuel Vadot			 * leaving it as a pull-up, even if it is just 10uA.
203f126890aSEmmanuel Vadot			 */
204f126890aSEmmanuel Vadot			fsl,pins = <
205f126890aSEmmanuel Vadot				MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x13059
206f126890aSEmmanuel Vadot				MX6QDL_PAD_KEY_COL4__USB_OTG_OC 0x1b0b0
207f126890aSEmmanuel Vadot			>;
208f126890aSEmmanuel Vadot		};
209f126890aSEmmanuel Vadot
210f126890aSEmmanuel Vadot		pinctrl_cubox_i_usbotg_vbus: cubox-i-usbotg-vbus {
211f126890aSEmmanuel Vadot			fsl,pins = <MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x4001b0b0>;
212f126890aSEmmanuel Vadot		};
213f126890aSEmmanuel Vadot
214f126890aSEmmanuel Vadot		pinctrl_cubox_i_usdhc2_aux: cubox-i-usdhc2-aux {
215f126890aSEmmanuel Vadot			fsl,pins = <
216f126890aSEmmanuel Vadot				MX6QDL_PAD_GPIO_4__GPIO1_IO04    0x1f071
217f126890aSEmmanuel Vadot				MX6QDL_PAD_KEY_ROW1__SD2_VSELECT 0x1b071
218f126890aSEmmanuel Vadot			>;
219f126890aSEmmanuel Vadot		};
220f126890aSEmmanuel Vadot
221f126890aSEmmanuel Vadot		pinctrl_cubox_i_usdhc2: cubox-i-usdhc2 {
222f126890aSEmmanuel Vadot			fsl,pins = <
223f126890aSEmmanuel Vadot				MX6QDL_PAD_SD2_CMD__SD2_CMD    0x17059
224f126890aSEmmanuel Vadot				MX6QDL_PAD_SD2_CLK__SD2_CLK    0x10059
225f126890aSEmmanuel Vadot				MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059
226f126890aSEmmanuel Vadot				MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059
227f126890aSEmmanuel Vadot				MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059
228f126890aSEmmanuel Vadot				MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x13059
229f126890aSEmmanuel Vadot			>;
230f126890aSEmmanuel Vadot		};
231f126890aSEmmanuel Vadot
232f126890aSEmmanuel Vadot		pinctrl_gpio_key: gpio-key {
233f126890aSEmmanuel Vadot			fsl,pins = <
234f126890aSEmmanuel Vadot				MX6QDL_PAD_EIM_DA8__GPIO3_IO08	0x17059
235f126890aSEmmanuel Vadot			>;
236f126890aSEmmanuel Vadot		};
237f126890aSEmmanuel Vadot	};
238f126890aSEmmanuel Vadot};
239f126890aSEmmanuel Vadot
240f126890aSEmmanuel Vadot&pwm1 {
241f126890aSEmmanuel Vadot	status = "okay";
242f126890aSEmmanuel Vadot};
243f126890aSEmmanuel Vadot
244f126890aSEmmanuel Vadot&spdif {
245f126890aSEmmanuel Vadot	pinctrl-names = "default";
246f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_cubox_i_spdif>;
247f126890aSEmmanuel Vadot	status = "okay";
248f126890aSEmmanuel Vadot};
249f126890aSEmmanuel Vadot
250f126890aSEmmanuel Vadot&usbh1 {
251f126890aSEmmanuel Vadot	pinctrl-names = "default";
252f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_cubox_i_usbh1>;
253f126890aSEmmanuel Vadot	vbus-supply = <&v_usb2>;
254f126890aSEmmanuel Vadot	status = "okay";
255f126890aSEmmanuel Vadot};
256f126890aSEmmanuel Vadot
257f126890aSEmmanuel Vadot&usbotg {
258f126890aSEmmanuel Vadot	pinctrl-names = "default";
259f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_cubox_i_usbotg>;
260f126890aSEmmanuel Vadot	vbus-supply = <&v_usb1>;
261f126890aSEmmanuel Vadot	status = "okay";
262f126890aSEmmanuel Vadot};
263f126890aSEmmanuel Vadot
264f126890aSEmmanuel Vadot&usdhc2 {
265f126890aSEmmanuel Vadot	pinctrl-names = "default";
266f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_cubox_i_usdhc2_aux &pinctrl_cubox_i_usdhc2>;
267f126890aSEmmanuel Vadot	vmmc-supply = <&vcc_3v3>;
268f126890aSEmmanuel Vadot	cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
269f126890aSEmmanuel Vadot	status = "okay";
270f126890aSEmmanuel Vadot};
271f126890aSEmmanuel Vadot
272f126890aSEmmanuel Vadot&vcc_3v3 {
273f126890aSEmmanuel Vadot	vin-supply = <&v_5v0>;
274f126890aSEmmanuel Vadot};
275