Merge git://git.denx.de/u-boot-sunxi
[oweals/u-boot.git] / arch / arm / dts / rk3188-radxarock.dts
1 /*
2  * Copyright (c) 2013 Heiko Stuebner <heiko@sntech.de>
3  *
4  * SPDX-License-Identifier:     GPL-2.0+ or X11
5  */
6
7 /dts-v1/;
8 #include <dt-bindings/input/input.h>
9 #include "rk3188.dtsi"
10 #include "rk3188-radxarock-u-boot.dtsi"
11
12 / {
13         model = "Radxa Rock";
14         compatible = "radxa,rock", "rockchip,rk3188";
15
16         chosen {
17 /*              stdout-path = &uart2; */
18                 stdout-path = "serial2:115200n8";
19         };
20
21         config {
22                 u-boot,dm-pre-reloc;
23                 u-boot,boot-led = "rock:red:power";
24         };
25
26         memory {
27                 device_type = "memory";
28                 reg = <0x60000000 0x80000000>;
29         };
30
31         gpio-keys {
32                 compatible = "gpio-keys";
33                 autorepeat;
34
35                 power {
36                         gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;
37                         linux,code = <KEY_POWER>;
38                         label = "GPIO Key Power";
39                         linux,input-type = <1>;
40                         wakeup-source;
41                         debounce-interval = <100>;
42                 };
43         };
44
45         gpio-leds {
46                 compatible = "gpio-leds";
47
48                 green {
49                         label = "rock:green:user1";
50                         gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
51                         default-state = "off";
52                 };
53
54                 blue {
55                         label = "rock:blue:user2";
56                         gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
57                         default-state = "off";
58                 };
59
60                 sleep {
61                         label = "rock:red:power";
62                         gpios = <&gpio0 15 0>;
63                         default-state = "off";
64                 };
65         };
66
67         sound {
68                 compatible = "simple-audio-card";
69                 simple-audio-card,name = "SPDIF";
70
71                 simple-audio-card,dai-link@1 {  /* S/PDIF - S/PDIF */
72                         cpu { sound-dai = <&spdif>; };
73                         codec { sound-dai = <&spdif_out>; };
74                 };
75         };
76
77         spdif_out: spdif-out {
78                 compatible = "linux,spdif-dit";
79                 #sound-dai-cells = <0>;
80         };
81
82         ir_recv: gpio-ir-receiver {
83                 compatible = "gpio-ir-receiver";
84                 gpios = <&gpio0 10 1>;
85                 pinctrl-names = "default";
86                 pinctrl-0 = <&ir_recv_pin>;
87         };
88
89         vcc_otg: usb-otg-regulator {
90                 compatible = "regulator-fixed";
91                 enable-active-high;
92                 gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>;
93                 pinctrl-names = "default";
94                 pinctrl-0 = <&otg_vbus_drv>;
95                 regulator-name = "otg-vbus";
96                 regulator-min-microvolt = <5000000>;
97                 regulator-max-microvolt = <5000000>;
98                 regulator-always-on;
99                 regulator-boot-on;
100         };
101
102         vcc_sd0: sdmmc-regulator {
103                 compatible = "regulator-fixed";
104                 regulator-name = "sdmmc-supply";
105                 regulator-min-microvolt = <3300000>;
106                 regulator-max-microvolt = <3300000>;
107                 gpio = <&gpio3 1 GPIO_ACTIVE_LOW>;
108                 startup-delay-us = <100000>;
109                 vin-supply = <&vcc_io>;
110         };
111
112         vcc_host: usb-host-regulator {
113                 compatible = "regulator-fixed";
114                 enable-active-high;
115                 gpio = <&gpio0 3 GPIO_ACTIVE_HIGH>;
116                 pinctrl-names = "default";
117                 pinctrl-0 = <&host_vbus_drv>;
118                 regulator-name = "host-pwr";
119                 regulator-min-microvolt = <5000000>;
120                 regulator-max-microvolt = <5000000>;
121                 regulator-always-on;
122                 regulator-boot-on;
123         };
124
125         vsys: vsys-regulator {
126                 compatible = "regulator-fixed";
127                 regulator-name = "vsys";
128                 regulator-min-microvolt = <5000000>;
129                 regulator-max-microvolt = <5000000>;
130                 regulator-boot-on;
131         };
132 };
133
134 &dmc {
135         rockchip,pctl-timing = <0x12c 0xc8 0x1f4 0x1e 0x4e 0x4 0x69 0x6
136                 0x3 0x0 0x6 0x5 0xc 0x10 0x6 0x4
137                 0x4 0x5 0x4 0x200 0x3 0xa 0x40 0x0
138                 0x1 0x5 0x5 0x3 0xc 0x1e 0x100 0x0
139                 0x4 0x0>;
140         rockchip,phy-timing = <0x208c6690 0x690878 0x10022a00
141                 0x220 0x40 0x0 0x0>;
142         rockchip,sdram-params = <0x24716310 0 2 300000000 3 9 0>;
143 };
144
145 &emac {
146         status = "okay";
147
148         pinctrl-names = "default";
149         pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&phy_int>;
150
151         phy = <&phy0>;
152         phy-supply = <&vcc_rmii>;
153
154         phy0: ethernet-phy@0 {
155                 reg = <0>;
156                 interrupt-parent = <&gpio3>;
157                 interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
158         };
159 };
160
161 &cpu0 {
162         cpu0-supply = <&vdd_arm>;
163 };
164
165 &i2c1 {
166         status = "okay";
167         clock-frequency = <400000>;
168
169         rtc@51 {
170                 compatible = "haoyu,hym8563";
171                 reg = <0x51>;
172                 interrupt-parent = <&gpio0>;
173                 interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
174                 pinctrl-names = "default";
175                 pinctrl-0 = <&rtc_int>;
176                 #clock-cells = <0>;
177                 clock-output-names = "xin32k";
178         };
179
180         act8846: act8846@5a {
181                 compatible = "active-semi,act8846";
182                 reg = <0x5a>;
183                 status = "okay";
184                 system-power-controller;
185
186                 pinctrl-names = "default";
187                 pinctrl-0 = <&act8846_dvs0_ctl>;
188
189                 vp1-supply = <&vsys>;
190                 vp2-supply = <&vsys>;
191                 vp3-supply = <&vsys>;
192                 vp4-supply = <&vsys>;
193                 inl1-supply = <&vcc_io>;
194                 inl2-supply = <&vsys>;
195                 inl3-supply = <&vsys>;
196
197                 regulators {
198                         vcc_ddr: REG1 {
199                                 regulator-name = "VCC_DDR";
200                                 regulator-min-microvolt = <1200000>;
201                                 regulator-max-microvolt = <1200000>;
202                                 regulator-always-on;
203                         };
204
205                         vdd_log: REG2 {
206                                 regulator-name = "VDD_LOG";
207                                 regulator-min-microvolt = <1000000>;
208                                 regulator-max-microvolt = <1000000>;
209                                 regulator-always-on;
210                         };
211
212                         vdd_arm: REG3 {
213                                 regulator-name = "VDD_ARM";
214                                 regulator-min-microvolt = <875000>;
215                                 regulator-max-microvolt = <1350000>;
216                                 regulator-always-on;
217                         };
218
219                         vcc_io: REG4 {
220                                 regulator-name = "VCC_IO";
221                                 regulator-min-microvolt = <3300000>;
222                                 regulator-max-microvolt = <3300000>;
223                                 regulator-always-on;
224                         };
225
226                         vdd_10: REG5 {
227                                 regulator-name = "VDD_10";
228                                 regulator-min-microvolt = <1000000>;
229                                 regulator-max-microvolt = <1000000>;
230                                 regulator-always-on;
231                         };
232
233                         vdd_hdmi: REG6 {
234                                 regulator-name = "VDD_HDMI";
235                                 regulator-min-microvolt = <2500000>;
236                                 regulator-max-microvolt = <2500000>;
237                                 regulator-always-on;
238                         };
239
240                         vcc18: REG7 {
241                                 regulator-name = "VCC_18";
242                                 regulator-min-microvolt = <1800000>;
243                                 regulator-max-microvolt = <1800000>;
244                                 regulator-always-on;
245                         };
246
247                         vcca_33: REG8 {
248                                 regulator-name = "VCCA_33";
249                                 regulator-min-microvolt = <3300000>;
250                                 regulator-max-microvolt = <3300000>;
251                                 regulator-always-on;
252                         };
253
254                         vcc_rmii: REG9 {
255                                 regulator-name = "VCC_RMII";
256                                 regulator-min-microvolt = <3300000>;
257                                 regulator-max-microvolt = <3300000>;
258                         };
259
260                         vccio_wl: REG10 {
261                                 regulator-name = "VCCIO_WL";
262                                 regulator-min-microvolt = <3300000>;
263                                 regulator-max-microvolt = <3300000>;
264                                 regulator-always-on;
265                         };
266
267                         vcc_18: REG11 {
268                                 regulator-name = "VCC18_IO";
269                                 regulator-min-microvolt = <1800000>;
270                                 regulator-max-microvolt = <1800000>;
271                                 regulator-always-on;
272                         };
273
274                         vcc28: REG12 {
275                                 regulator-name = "VCC_28";
276                                 regulator-min-microvolt = <2800000>;
277                                 regulator-max-microvolt = <2800000>;
278                                 regulator-always-on;
279                         };
280                 };
281         };
282 };
283
284 &mmc0 {
285         num-slots = <1>;
286         status = "okay";
287         pinctrl-names = "default";
288         pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
289         vmmc-supply = <&vcc_sd0>;
290
291         bus-width = <4>;
292         cap-mmc-highspeed;
293         cap-sd-highspeed;
294         disable-wp;
295 };
296
297 &pwm1 {
298         status = "okay";
299 };
300
301 &pwm2 {
302         status = "okay";
303 };
304
305 &pwm3 {
306         status = "okay";
307 };
308
309 &pinctrl {
310         pcfg_output_low: pcfg-output-low {
311                 output-low;
312         };
313
314         act8846 {
315                 act8846_dvs0_ctl: act8846-dvs0-ctl {
316                         rockchip,pins = <RK_GPIO3 27 RK_FUNC_GPIO &pcfg_output_low>;
317                 };
318         };
319
320         hym8563 {
321                 rtc_int: rtc-int {
322                         rockchip,pins = <RK_GPIO0 0 RK_FUNC_GPIO &pcfg_pull_up>;
323                 };
324         };
325
326         lan8720a  {
327                 phy_int: phy-int {
328                         rockchip,pins = <RK_GPIO3 26 RK_FUNC_GPIO &pcfg_pull_up>;
329                 };
330         };
331
332         ir-receiver {
333                 ir_recv_pin: ir-recv-pin {
334                         rockchip,pins = <RK_GPIO0 10 RK_FUNC_GPIO &pcfg_pull_none>;
335                 };
336         };
337
338         usb {
339                 host_vbus_drv: host-vbus-drv {
340                         rockchip,pins = <0 3 RK_FUNC_GPIO &pcfg_pull_none>;
341                 };
342                 otg_vbus_drv: otg-vbus-drv {
343                         rockchip,pins = <2 31 RK_FUNC_GPIO &pcfg_pull_none>;
344                 };
345         };
346 };
347
348 &spdif {
349         status = "okay";
350 };
351
352 &uart0 {
353         status = "okay";
354 };
355
356 &uart1 {
357         status = "okay";
358 };
359
360 &uart3 {
361         status = "okay";
362 };
363
364 &usbphy {
365         status = "okay";
366 };
367
368 &usb_host {
369         status = "okay";
370 };
371
372 &usb_otg {
373         status = "okay";
374 };
375
376 &wdt {
377         status = "okay";
378 };