Merge tag 'pwm/for-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry...
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / rk3188-radxarock.dts
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                         gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
47                         default-state = "off";
48                 };
49
50                 yellow {
51                         gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
52                         default-state = "off";
53                 };
54
55                 sleep {
56                         gpios = <&gpio0 15 0>;
57                         default-state = "off";
58                 };
59         };
60
61         ir_recv: gpio-ir-receiver {
62                 compatible = "gpio-ir-receiver";
63                 gpios = <&gpio0 10 1>;
64                 pinctrl-names = "default";
65                 pinctrl-0 = <&ir_recv_pin>;
66         };
67
68         vcc_otg: usb-otg-regulator {
69                 compatible = "regulator-fixed";
70                 enable-active-high;
71                 gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>;
72                 pinctrl-names = "default";
73                 pinctrl-0 = <&otg_vbus_drv>;
74                 regulator-name = "otg-vbus";
75                 regulator-min-microvolt = <5000000>;
76                 regulator-max-microvolt = <5000000>;
77                 regulator-always-on;
78                 regulator-boot-on;
79         };
80
81         vcc_sd0: sdmmc-regulator {
82                 compatible = "regulator-fixed";
83                 regulator-name = "sdmmc-supply";
84                 regulator-min-microvolt = <3300000>;
85                 regulator-max-microvolt = <3300000>;
86                 gpio = <&gpio3 1 GPIO_ACTIVE_LOW>;
87                 startup-delay-us = <100000>;
88                 vin-supply = <&vcc_io>;
89         };
90
91         vcc_host: usb-host-regulator {
92                 compatible = "regulator-fixed";
93                 enable-active-high;
94                 gpio = <&gpio0 3 GPIO_ACTIVE_HIGH>;
95                 pinctrl-names = "default";
96                 pinctrl-0 = <&host_vbus_drv>;
97                 regulator-name = "host-pwr";
98                 regulator-min-microvolt = <5000000>;
99                 regulator-max-microvolt = <5000000>;
100                 regulator-always-on;
101                 regulator-boot-on;
102         };
103 };
104
105 &emac {
106         status = "okay";
107
108         pinctrl-names = "default";
109         pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&phy_int>;
110
111         phy = <&phy0>;
112         phy-supply = <&vcc_rmii>;
113
114         phy0: ethernet-phy@0 {
115                 reg = <0>;
116                 interrupt-parent = <&gpio3>;
117                 interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
118         };
119 };
120
121 &i2c1 {
122         status = "okay";
123         clock-frequency = <400000>;
124
125         rtc@51 {
126                 compatible = "haoyu,hym8563";
127                 reg = <0x51>;
128                 interrupt-parent = <&gpio0>;
129                 interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
130                 pinctrl-names = "default";
131                 pinctrl-0 = <&rtc_int>;
132                 #clock-cells = <0>;
133                 clock-output-names = "xin32k";
134         };
135
136         act8846: act8846@5a {
137                 compatible = "active-semi,act8846";
138                 reg = <0x5a>;
139                 status = "okay";
140
141                 pinctrl-names = "default";
142                 pinctrl-0 = <&act8846_dvs0_ctl>;
143
144                 regulators {
145                         vcc_ddr: REG1 {
146                                 regulator-name = "VCC_DDR";
147                                 regulator-min-microvolt = <1200000>;
148                                 regulator-max-microvolt = <1200000>;
149                                 regulator-always-on;
150                         };
151
152                         vdd_log: REG2 {
153                                 regulator-name = "VDD_LOG";
154                                 regulator-min-microvolt = <1000000>;
155                                 regulator-max-microvolt = <1000000>;
156                                 regulator-always-on;
157                         };
158
159                         vdd_arm: REG3 {
160                                 regulator-name = "VDD_ARM";
161                                 regulator-min-microvolt = <875000>;
162                                 regulator-max-microvolt = <1300000>;
163                                 regulator-always-on;
164                         };
165
166                         vcc_io: REG4 {
167                                 regulator-name = "VCC_IO";
168                                 regulator-min-microvolt = <3300000>;
169                                 regulator-max-microvolt = <3300000>;
170                                 regulator-always-on;
171                         };
172
173                         vdd_10: REG5 {
174                                 regulator-name = "VDD_10";
175                                 regulator-min-microvolt = <1000000>;
176                                 regulator-max-microvolt = <1000000>;
177                                 regulator-always-on;
178                         };
179
180                         vdd_hdmi: REG6 {
181                                 regulator-name = "VDD_HDMI";
182                                 regulator-min-microvolt = <2500000>;
183                                 regulator-max-microvolt = <2500000>;
184                                 regulator-always-on;
185                         };
186
187                         vcc18: REG7 {
188                                 regulator-name = "VCC_18";
189                                 regulator-min-microvolt = <1800000>;
190                                 regulator-max-microvolt = <1800000>;
191                                 regulator-always-on;
192                         };
193
194                         vcca_33: REG8 {
195                                 regulator-name = "VCCA_33";
196                                 regulator-min-microvolt = <3300000>;
197                                 regulator-max-microvolt = <3300000>;
198                                 regulator-always-on;
199                         };
200
201                         vcc_rmii: REG9 {
202                                 regulator-name = "VCC_RMII";
203                                 regulator-min-microvolt = <3300000>;
204                                 regulator-max-microvolt = <3300000>;
205                         };
206
207                         vccio_wl: REG10 {
208                                 regulator-name = "VCCIO_WL";
209                                 regulator-min-microvolt = <3300000>;
210                                 regulator-max-microvolt = <3300000>;
211                                 regulator-always-on;
212                         };
213
214                         vcc_18: REG11 {
215                                 regulator-name = "VCC18_IO";
216                                 regulator-min-microvolt = <1800000>;
217                                 regulator-max-microvolt = <1800000>;
218                                 regulator-always-on;
219                         };
220
221                         vcc28: REG12 {
222                                 regulator-name = "VCC_28";
223                                 regulator-min-microvolt = <2800000>;
224                                 regulator-max-microvolt = <2800000>;
225                                 regulator-always-on;
226                         };
227                 };
228         };
229 };
230
231 &mmc0 {
232         num-slots = <1>;
233         status = "okay";
234         pinctrl-names = "default";
235         pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
236         vmmc-supply = <&vcc_sd0>;
237
238         bus-width = <4>;
239         disable-wp;
240 };
241
242 &pinctrl {
243         pcfg_output_low: pcfg-output-low {
244                 output-low;
245         };
246
247         act8846 {
248                 act8846_dvs0_ctl: act8846-dvs0-ctl {
249                         rockchip,pins = <RK_GPIO3 27 RK_FUNC_GPIO &pcfg_output_low>;
250                 };
251         };
252
253         hym8563 {
254                 rtc_int: rtc-int {
255                         rockchip,pins = <RK_GPIO0 0 RK_FUNC_GPIO &pcfg_pull_up>;
256                 };
257         };
258
259         lan8720a  {
260                 phy_int: phy-int {
261                         rockchip,pins = <RK_GPIO3 26 RK_FUNC_GPIO &pcfg_pull_up>;
262                 };
263         };
264
265         ir-receiver {
266                 ir_recv_pin: ir-recv-pin {
267                         rockchip,pins = <RK_GPIO0 10 RK_FUNC_GPIO &pcfg_pull_none>;
268                 };
269         };
270
271         usb {
272                 host_vbus_drv: host-vbus-drv {
273                         rockchip,pins = <0 3 RK_FUNC_GPIO &pcfg_pull_none>;
274                 };
275                 otg_vbus_drv: otg-vbus-drv {
276                         rockchip,pins = <2 31 RK_FUNC_GPIO &pcfg_pull_none>;
277                 };
278         };
279 };
280
281 &uart0 {
282         status = "okay";
283 };
284
285 &uart1 {
286         status = "okay";
287 };
288
289 &uart2 {
290         status = "okay";
291 };
292
293 &uart3 {
294         status = "okay";
295 };
296
297 &usb_host {
298         status = "okay";
299 };
300
301 &usb_otg {
302         status = "okay";
303 };
304
305 &wdt {
306         status = "okay";
307 };