1262569Simp/*
2262569Simp * Copyright (C) 2014 Russell King
3262569Simp */
4262569Simp#include "imx6qdl-microsom.dtsi"
5262569Simp#include "imx6qdl-microsom-ar8035.dtsi"
6262569Simp
7262569Simp/ {
8262569Simp	ir_recv: ir-receiver {
9262569Simp		compatible = "gpio-ir-receiver";
10262569Simp		gpios = <&gpio3 9 1>;
11262569Simp		pinctrl-names = "default";
12262569Simp		pinctrl-0 = <&pinctrl_cubox_i_ir>;
13262569Simp	};
14262569Simp
15270864Simp	pwmleds {
16270864Simp		compatible = "pwm-leds";
17270864Simp		pinctrl-names = "default";
18270864Simp		pinctrl-0 = <&pinctrl_cubox_i_pwm1>;
19270864Simp
20270864Simp		front {
21270864Simp			active-low;
22270864Simp			label = "imx6:red:front";
23270864Simp			max-brightness = <248>;
24270864Simp			pwms = <&pwm1 0 50000>;
25270864Simp		};
26270864Simp	};
27270864Simp
28262569Simp	regulators {
29262569Simp		compatible = "simple-bus";
30262569Simp
31262569Simp		reg_3p3v: 3p3v {
32262569Simp			compatible = "regulator-fixed";
33262569Simp			regulator-name = "3P3V";
34262569Simp			regulator-min-microvolt = <3300000>;
35262569Simp			regulator-max-microvolt = <3300000>;
36262569Simp			regulator-always-on;
37262569Simp		};
38262569Simp
39262569Simp		reg_usbh1_vbus: usb-h1-vbus {
40262569Simp			compatible = "regulator-fixed";
41262569Simp			enable-active-high;
42262569Simp			gpio = <&gpio1 0 0>;
43262569Simp			pinctrl-names = "default";
44262569Simp			pinctrl-0 = <&pinctrl_cubox_i_usbh1_vbus>;
45262569Simp			regulator-name = "usb_h1_vbus";
46262569Simp			regulator-min-microvolt = <5000000>;
47262569Simp			regulator-max-microvolt = <5000000>;
48262569Simp		};
49262569Simp
50262569Simp		reg_usbotg_vbus: usb-otg-vbus {
51262569Simp			compatible = "regulator-fixed";
52262569Simp			enable-active-high;
53262569Simp			gpio = <&gpio3 22 0>;
54262569Simp			pinctrl-names = "default";
55262569Simp			pinctrl-0 = <&pinctrl_cubox_i_usbotg_vbus>;
56262569Simp			regulator-name = "usb_otg_vbus";
57262569Simp			regulator-min-microvolt = <5000000>;
58262569Simp			regulator-max-microvolt = <5000000>;
59262569Simp		};
60262569Simp	};
61262569Simp
62262569Simp	sound-spdif {
63262569Simp		compatible = "fsl,imx-audio-spdif";
64284090Sian		model = "Integrated SPDIF";
65262569Simp		/* IMX6 doesn't implement this yet */
66262569Simp		spdif-controller = <&spdif>;
67262569Simp		spdif-out;
68262569Simp	};
69262569Simp};
70262569Simp
71270864Simp&hdmi {
72270864Simp	pinctrl-names = "default";
73270864Simp	pinctrl-0 = <&pinctrl_cubox_i_hdmi>;
74270864Simp	ddc-i2c-bus = <&i2c2>;
75270864Simp	status = "okay";
76270864Simp};
77270864Simp
78270864Simp&i2c2 {
79270864Simp	clock-frequency = <100000>;
80270864Simp	pinctrl-names = "default";
81270864Simp	pinctrl-0 = <&pinctrl_cubox_i_i2c2>;
82270864Simp	status = "okay";
83270864Simp};
84270864Simp
85262569Simp&i2c3 {
86262569Simp	pinctrl-names = "default";
87262569Simp	pinctrl-0 = <&pinctrl_cubox_i_i2c3>;
88262569Simp
89262569Simp	status = "okay";
90262569Simp
91262569Simp	rtc: pcf8523@68 {
92262569Simp		compatible = "nxp,pcf8523";
93262569Simp		reg = <0x68>;
94262569Simp	};
95262569Simp};
96262569Simp
97262569Simp&iomuxc {
98262569Simp	cubox_i {
99270864Simp		pinctrl_cubox_i_hdmi: cubox-i-hdmi {
100270864Simp			fsl,pins = <
101270864Simp				MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x1f8b0
102270864Simp			>;
103270864Simp		};
104270864Simp
105270864Simp		pinctrl_cubox_i_i2c2: cubox-i-i2c2 {
106270864Simp			fsl,pins = <
107270864Simp				MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
108270864Simp				MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
109270864Simp			>;
110270864Simp		};
111270864Simp
112262569Simp		pinctrl_cubox_i_i2c3: cubox-i-i2c3 {
113262569Simp			fsl,pins = <
114262569Simp				MX6QDL_PAD_EIM_D17__I2C3_SCL 0x4001b8b1
115262569Simp				MX6QDL_PAD_EIM_D18__I2C3_SDA 0x4001b8b1
116262569Simp			>;
117262569Simp		};
118262569Simp
119262569Simp		pinctrl_cubox_i_ir: cubox-i-ir {
120262569Simp			fsl,pins = <
121262569Simp				MX6QDL_PAD_EIM_DA9__GPIO3_IO09 0x80000000
122262569Simp			>;
123262569Simp		};
124262569Simp
125270864Simp		pinctrl_cubox_i_pwm1: cubox-i-pwm1-front-led {
126270864Simp			fsl,pins = <MX6QDL_PAD_DISP0_DAT8__PWM1_OUT 0x1b0b0>;
127270864Simp		};
128270864Simp
129262569Simp		pinctrl_cubox_i_spdif: cubox-i-spdif {
130262569Simp			fsl,pins = <MX6QDL_PAD_GPIO_17__SPDIF_OUT 0x13091>;
131262569Simp		};
132262569Simp
133284090Sian		pinctrl_cubox_i_usbh1: cubox-i-usbh1 {
134284090Sian			fsl,pins = <MX6QDL_PAD_GPIO_3__USB_H1_OC 0x1b0b0>;
135284090Sian		};
136284090Sian
137262569Simp		pinctrl_cubox_i_usbh1_vbus: cubox-i-usbh1-vbus {
138262569Simp			fsl,pins = <MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x4001b0b0>;
139262569Simp		};
140262569Simp
141284090Sian		pinctrl_cubox_i_usbotg: cubox-i-usbotg {
142270864Simp			/*
143284090Sian			 * The Cubox-i pulls ID low, but as it's pointless
144270864Simp			 * leaving it as a pull-up, even if it is just 10uA.
145270864Simp			 */
146284090Sian			fsl,pins = <
147284090Sian				MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x13059
148284090Sian				MX6QDL_PAD_KEY_COL4__USB_OTG_OC 0x1b0b0
149284090Sian			>;
150270864Simp		};
151270864Simp
152262569Simp		pinctrl_cubox_i_usbotg_vbus: cubox-i-usbotg-vbus {
153262569Simp			fsl,pins = <MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x4001b0b0>;
154262569Simp		};
155262569Simp
156262569Simp		pinctrl_cubox_i_usdhc2_aux: cubox-i-usdhc2-aux {
157262569Simp			fsl,pins = <
158262569Simp				MX6QDL_PAD_GPIO_4__GPIO1_IO04    0x1f071
159262569Simp				MX6QDL_PAD_KEY_ROW1__SD2_VSELECT 0x1b071
160262569Simp			>;
161262569Simp		};
162262569Simp
163262569Simp		pinctrl_cubox_i_usdhc2: cubox-i-usdhc2 {
164262569Simp			fsl,pins = <
165262569Simp				MX6QDL_PAD_SD2_CMD__SD2_CMD    0x17059
166262569Simp				MX6QDL_PAD_SD2_CLK__SD2_CLK    0x10059
167262569Simp				MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059
168262569Simp				MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059
169262569Simp				MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059
170262569Simp				MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x13059
171262569Simp			>;
172262569Simp		};
173262569Simp	};
174262569Simp};
175262569Simp
176262569Simp&spdif {
177262569Simp	pinctrl-names = "default";
178262569Simp	pinctrl-0 = <&pinctrl_cubox_i_spdif>;
179262569Simp	status = "okay";
180262569Simp};
181262569Simp
182262569Simp&usbh1 {
183284090Sian	pinctrl-names = "default";
184284090Sian	pinctrl-0 = <&pinctrl_cubox_i_usbh1>;
185262569Simp	vbus-supply = <&reg_usbh1_vbus>;
186262569Simp	status = "okay";
187262569Simp};
188262569Simp
189262569Simp&usbotg {
190270864Simp	pinctrl-names = "default";
191284090Sian	pinctrl-0 = <&pinctrl_cubox_i_usbotg>;
192262569Simp	vbus-supply = <&reg_usbotg_vbus>;
193262569Simp	status = "okay";
194262569Simp};
195262569Simp
196262569Simp&usdhc2 {
197262569Simp	pinctrl-names = "default";
198262569Simp	pinctrl-0 = <&pinctrl_cubox_i_usdhc2_aux &pinctrl_cubox_i_usdhc2>;
199262569Simp	vmmc-supply = <&reg_3p3v>;
200262569Simp	cd-gpios = <&gpio1 4 0>;
201262569Simp	status = "okay";
202262569Simp};
203