rk3188-radxarock.dts revision 284090
1/*
2 * Copyright (c) 2013 Heiko Stuebner <heiko@sntech.de>
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 * GNU General Public License for more details.
13 */
14
15/dts-v1/;
16#include "rk3188.dtsi"
17
18/ {
19	model = "Radxa Rock";
20	compatible = "radxa,rock", "rockchip,rk3188";
21
22	memory {
23		reg = <0x60000000 0x80000000>;
24	};
25
26	gpio-keys {
27		compatible = "gpio-keys";
28		#address-cells = <1>;
29		#size-cells = <0>;
30		autorepeat;
31
32		button@0 {
33			gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;
34			linux,code = <116>;
35			label = "GPIO Key Power";
36			linux,input-type = <1>;
37			gpio-key,wakeup = <1>;
38			debounce-interval = <100>;
39		};
40	};
41
42	gpio-leds {
43		compatible = "gpio-leds";
44
45		green {
46			label = "rock:green:user1";
47			gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
48			default-state = "off";
49		};
50
51		blue {
52			label = "rock:blue:user2";
53			gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
54			default-state = "off";
55		};
56
57		sleep {
58			label = "rock:red:power";
59			gpios = <&gpio0 15 0>;
60			default-state = "off";
61		};
62	};
63
64	ir_recv: gpio-ir-receiver {
65		compatible = "gpio-ir-receiver";
66		gpios = <&gpio0 10 1>;
67		pinctrl-names = "default";
68		pinctrl-0 = <&ir_recv_pin>;
69	};
70
71	vcc_otg: usb-otg-regulator {
72		compatible = "regulator-fixed";
73		enable-active-high;
74		gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>;
75		pinctrl-names = "default";
76		pinctrl-0 = <&otg_vbus_drv>;
77		regulator-name = "otg-vbus";
78		regulator-min-microvolt = <5000000>;
79		regulator-max-microvolt = <5000000>;
80		regulator-always-on;
81		regulator-boot-on;
82	};
83
84	vcc_sd0: sdmmc-regulator {
85		compatible = "regulator-fixed";
86		regulator-name = "sdmmc-supply";
87		regulator-min-microvolt = <3300000>;
88		regulator-max-microvolt = <3300000>;
89		gpio = <&gpio3 1 GPIO_ACTIVE_LOW>;
90		startup-delay-us = <100000>;
91		vin-supply = <&vcc_io>;
92	};
93
94	vcc_host: usb-host-regulator {
95		compatible = "regulator-fixed";
96		enable-active-high;
97		gpio = <&gpio0 3 GPIO_ACTIVE_HIGH>;
98		pinctrl-names = "default";
99		pinctrl-0 = <&host_vbus_drv>;
100		regulator-name = "host-pwr";
101		regulator-min-microvolt = <5000000>;
102		regulator-max-microvolt = <5000000>;
103		regulator-always-on;
104		regulator-boot-on;
105	};
106};
107
108&emac {
109	status = "okay";
110
111	pinctrl-names = "default";
112	pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&phy_int>;
113
114	phy = <&phy0>;
115	phy-supply = <&vcc_rmii>;
116
117	phy0: ethernet-phy@0 {
118		reg = <0>;
119		interrupt-parent = <&gpio3>;
120		interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
121	};
122};
123
124&cpu0 {
125	cpu0-supply = <&vdd_arm>;
126};
127
128&i2c1 {
129	status = "okay";
130	clock-frequency = <400000>;
131
132	rtc@51 {
133		compatible = "haoyu,hym8563";
134		reg = <0x51>;
135		interrupt-parent = <&gpio0>;
136		interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
137		pinctrl-names = "default";
138		pinctrl-0 = <&rtc_int>;
139		#clock-cells = <0>;
140		clock-output-names = "xin32k";
141	};
142
143	act8846: act8846@5a {
144		compatible = "active-semi,act8846";
145		reg = <0x5a>;
146		status = "okay";
147
148		pinctrl-names = "default";
149		pinctrl-0 = <&act8846_dvs0_ctl>;
150
151		regulators {
152			vcc_ddr: REG1 {
153				regulator-name = "VCC_DDR";
154				regulator-min-microvolt = <1200000>;
155				regulator-max-microvolt = <1200000>;
156				regulator-always-on;
157			};
158
159			vdd_log: REG2 {
160				regulator-name = "VDD_LOG";
161				regulator-min-microvolt = <1000000>;
162				regulator-max-microvolt = <1000000>;
163				regulator-always-on;
164			};
165
166			vdd_arm: REG3 {
167				regulator-name = "VDD_ARM";
168				regulator-min-microvolt = <875000>;
169				regulator-max-microvolt = <1350000>;
170				regulator-always-on;
171			};
172
173			vcc_io: REG4 {
174				regulator-name = "VCC_IO";
175				regulator-min-microvolt = <3300000>;
176				regulator-max-microvolt = <3300000>;
177				regulator-always-on;
178			};
179
180			vdd_10: REG5 {
181				regulator-name = "VDD_10";
182				regulator-min-microvolt = <1000000>;
183				regulator-max-microvolt = <1000000>;
184				regulator-always-on;
185			};
186
187			vdd_hdmi: REG6 {
188				regulator-name = "VDD_HDMI";
189				regulator-min-microvolt = <2500000>;
190				regulator-max-microvolt = <2500000>;
191				regulator-always-on;
192			};
193
194			vcc18: REG7 {
195				regulator-name = "VCC_18";
196				regulator-min-microvolt = <1800000>;
197				regulator-max-microvolt = <1800000>;
198				regulator-always-on;
199			};
200
201			vcca_33: REG8 {
202				regulator-name = "VCCA_33";
203				regulator-min-microvolt = <3300000>;
204				regulator-max-microvolt = <3300000>;
205				regulator-always-on;
206			};
207
208			vcc_rmii: REG9 {
209				regulator-name = "VCC_RMII";
210				regulator-min-microvolt = <3300000>;
211				regulator-max-microvolt = <3300000>;
212			};
213
214			vccio_wl: REG10 {
215				regulator-name = "VCCIO_WL";
216				regulator-min-microvolt = <3300000>;
217				regulator-max-microvolt = <3300000>;
218				regulator-always-on;
219			};
220
221			vcc_18: REG11 {
222				regulator-name = "VCC18_IO";
223				regulator-min-microvolt = <1800000>;
224				regulator-max-microvolt = <1800000>;
225				regulator-always-on;
226			};
227
228			vcc28: REG12 {
229				regulator-name = "VCC_28";
230				regulator-min-microvolt = <2800000>;
231				regulator-max-microvolt = <2800000>;
232				regulator-always-on;
233			};
234		};
235	};
236};
237
238&mmc0 {
239	num-slots = <1>;
240	status = "okay";
241	pinctrl-names = "default";
242	pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
243	vmmc-supply = <&vcc_sd0>;
244
245	bus-width = <4>;
246	disable-wp;
247};
248
249&pwm1 {
250	status = "okay";
251};
252
253&pwm2 {
254	status = "okay";
255};
256
257&pwm3 {
258	status = "okay";
259};
260
261&pinctrl {
262	pcfg_output_low: pcfg-output-low {
263		output-low;
264	};
265
266	act8846 {
267		act8846_dvs0_ctl: act8846-dvs0-ctl {
268			rockchip,pins = <RK_GPIO3 27 RK_FUNC_GPIO &pcfg_output_low>;
269		};
270	};
271
272	hym8563 {
273		rtc_int: rtc-int {
274			rockchip,pins = <RK_GPIO0 0 RK_FUNC_GPIO &pcfg_pull_up>;
275		};
276	};
277
278	lan8720a  {
279		phy_int: phy-int {
280			rockchip,pins = <RK_GPIO3 26 RK_FUNC_GPIO &pcfg_pull_up>;
281		};
282	};
283
284	ir-receiver {
285		ir_recv_pin: ir-recv-pin {
286			rockchip,pins = <RK_GPIO0 10 RK_FUNC_GPIO &pcfg_pull_none>;
287		};
288	};
289
290	usb {
291		host_vbus_drv: host-vbus-drv {
292			rockchip,pins = <0 3 RK_FUNC_GPIO &pcfg_pull_none>;
293		};
294		otg_vbus_drv: otg-vbus-drv {
295			rockchip,pins = <2 31 RK_FUNC_GPIO &pcfg_pull_none>;
296		};
297	};
298};
299
300&uart0 {
301	status = "okay";
302};
303
304&uart1 {
305	status = "okay";
306};
307
308&uart2 {
309	status = "okay";
310};
311
312&uart3 {
313	status = "okay";
314};
315
316&usb_host {
317	status = "okay";
318};
319
320&usb_otg {
321	status = "okay";
322};
323
324&wdt {
325	status = "okay";
326};
327