Merge branch 'rmobile' of git://git.denx.de/u-boot-sh
[platform/kernel/u-boot.git] / arch / arm / dts / rk3288-evb.dtsi
1 /*
2  * (C) Copyright 2016 Rockchip Electronics Co., Ltd
3  *
4  * SPDX-License-Identifier:     GPL-2.0+ X11
5  */
6
7 #include "rk3288.dtsi"
8
9 / {
10         memory {
11                 reg = <0 0x80000000>;
12         };
13
14         keys: gpio-keys {
15                 compatible = "gpio-keys";
16                 #address-cells = <1>;
17                 #size-cells = <0>;
18
19                 button@0 {
20                         gpio-key,wakeup = <1>;
21                         gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
22                         label = "GPIO Power";
23                         linux,code = <116>;
24                         pinctrl-names = "default";
25                         pinctrl-0 = <&pwr_key>;
26                 };
27         };
28
29         vcc_sys: vsys-regulator {
30                 compatible = "regulator-fixed";
31                 regulator-name = "vcc_sys";
32                 regulator-min-microvolt = <5000000>;
33                 regulator-max-microvolt = <5000000>;
34                 regulator-always-on;
35                 regulator-boot-on;
36         };
37
38         vcc_flash: flash-regulator {
39                 compatible = "regulator-fixed";
40                 regulator-name = "vcc_flash";
41                 regulator-min-microvolt = <1800000>;
42                 regulator-max-microvolt = <1800000>;
43                 vin-supply = <&vcc_io>;
44         };
45
46         vcc_5v: usb-regulator {
47                 compatible = "regulator-fixed";
48                 regulator-name = "vcc_5v";
49                 regulator-min-microvolt = <5000000>;
50                 regulator-max-microvolt = <5000000>;
51                 regulator-always-on;
52                 regulator-boot-on;
53                 vin-supply = <&vcc_sys>;
54         };
55
56         vcc_host_5v: usb-host-regulator {
57                 compatible = "regulator-fixed";
58                 enable-active-high;
59                 gpio = <&gpio0 14 GPIO_ACTIVE_HIGH>;
60                 pinctrl-names = "default";
61                 pinctrl-0 = <&host_vbus_drv>;
62                 regulator-name = "vcc_host_5v";
63                 regulator-min-microvolt = <5000000>;
64                 regulator-max-microvolt = <5000000>;
65                 regulator-always-on;
66                 vin-supply = <&vcc_5v>;
67         };
68
69         vcc_otg_5v: usb-otg-regulator {
70                 compatible = "regulator-fixed";
71                 enable-active-high;
72                 gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>;
73                 pinctrl-names = "default";
74                 pinctrl-0 = <&otg_vbus_drv>;
75                 regulator-name = "vcc_otg_5v";
76                 regulator-min-microvolt = <5000000>;
77                 regulator-max-microvolt = <5000000>;
78                 regulator-always-on;
79                 vin-supply = <&vcc_5v>;
80         };
81 };
82
83 &cpu0 {
84         cpu0-supply = <&vdd_cpu>;
85 };
86
87 &emmc {
88         broken-cd;
89         bus-width = <8>;
90         cap-mmc-highspeed;
91         disable-wp;
92         non-removable;
93         num-slots = <1>;
94         pinctrl-names = "default";
95         pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_pwr>, <&emmc_bus8>;
96         vmmc-supply = <&vcc_io>;
97         vqmmc-supply = <&vcc_flash>;
98         status = "okay";
99 };
100
101 &hdmi {
102         ddc-i2c-bus = <&i2c5>;
103         status = "okay";
104 };
105
106 &i2c0 {
107         clock-frequency = <400000>;
108         status = "okay";
109
110         vdd_cpu: syr827@40 {
111                 compatible = "silergy,syr827";
112                 fcs,suspend-voltage-selector = <1>;
113                 reg = <0x40>;
114                 regulator-name = "vdd_cpu";
115                 regulator-min-microvolt = <850000>;
116                 regulator-max-microvolt = <1350000>;
117                 regulator-always-on;
118                 regulator-boot-on;
119                 vin-supply = <&vcc_sys>;
120         };
121
122         vdd_gpu: syr828@41 {
123                 compatible = "silergy,syr828";
124                 fcs,suspend-voltage-selector = <1>;
125                 reg = <0x41>;
126                 regulator-name = "vdd_gpu";
127                 regulator-min-microvolt = <850000>;
128                 regulator-max-microvolt = <1350000>;
129                 regulator-always-on;
130                 vin-supply = <&vcc_sys>;
131         };
132
133         hym8563: hym8563@51 {
134                 compatible = "haoyu,hym8563";
135                 reg = <0x51>;
136                 #clock-cells = <0>;
137                 clock-frequency = <32768>;
138                 clock-output-names = "xin32k";
139                 interrupt-parent = <&gpio7>;
140                 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
141                 pinctrl-names = "default";
142                 pinctrl-0 = <&rtc_int>;
143         };
144
145         act8846: act8846@5a {
146                 compatible = "active-semi,act8846";
147                 reg = <0x5a>;
148                 pinctrl-names = "default";
149                 pinctrl-0 = <&pwr_hold>;
150                 system-power-controller;
151
152                 regulators {
153                         vcc_ddr: REG1 {
154                                 regulator-name = "vcc_ddr";
155                                 regulator-min-microvolt = <1200000>;
156                                 regulator-max-microvolt = <1200000>;
157                                 regulator-always-on;
158                         };
159
160                         vcc_io: REG2 {
161                                 regulator-name = "vcc_io";
162                                 regulator-min-microvolt = <3300000>;
163                                 regulator-max-microvolt = <3300000>;
164                                 regulator-always-on;
165                         };
166
167                         vdd_log: REG3 {
168                                 regulator-name = "vdd_log";
169                                 regulator-min-microvolt = <1100000>;
170                                 regulator-max-microvolt = <1100000>;
171                                 regulator-always-on;
172                         };
173
174                         vcc_20: REG4 {
175                                 regulator-name = "vcc_20";
176                                 regulator-min-microvolt = <2000000>;
177                                 regulator-max-microvolt = <2000000>;
178                                 regulator-always-on;
179                         };
180
181                         vccio_sd: REG5 {
182                                 regulator-name = "vccio_sd";
183                                 regulator-min-microvolt = <3300000>;
184                                 regulator-max-microvolt = <3300000>;
185                                 regulator-always-on;
186                         };
187
188                         vdd10_lcd: REG6 {
189                                 regulator-name = "vdd10_lcd";
190                                 regulator-min-microvolt = <1000000>;
191                                 regulator-max-microvolt = <1000000>;
192                                 regulator-always-on;
193                         };
194
195                         vcca_codec: REG7 {
196                                 regulator-name = "vcca_codec";
197                                 regulator-min-microvolt = <3300000>;
198                                 regulator-max-microvolt = <3300000>;
199                         };
200
201                         vcc_tp: REG8 {
202                                 regulator-name = "vcca_33";
203                                 regulator-min-microvolt = <3300000>;
204                                 regulator-max-microvolt = <3300000>;
205                         };
206
207                         vccio_pmu: REG9 {
208                                 regulator-name = "vccio_pmu";
209                                 regulator-min-microvolt = <3300000>;
210                                 regulator-max-microvolt = <3300000>;
211                         };
212
213                         vdd_10: REG10 {
214                                 regulator-name = "vdd_10";
215                                 regulator-min-microvolt = <1000000>;
216                                 regulator-max-microvolt = <1000000>;
217                                 regulator-always-on;
218                         };
219
220                         vcc_18: REG11 {
221                                 regulator-name = "vcc_18";
222                                 regulator-min-microvolt = <1800000>;
223                                 regulator-max-microvolt = <1800000>;
224                                 regulator-always-on;
225                         };
226
227                         vcc18_lcd: REG12 {
228                                 regulator-name = "vcc18_lcd";
229                                 regulator-min-microvolt = <1800000>;
230                                 regulator-max-microvolt = <1800000>;
231                                 regulator-always-on;
232                         };
233                 };
234         };
235 };
236
237 &i2c1 {
238         status = "okay";
239 };
240
241 &i2c2 {
242         status = "okay";
243 };
244
245 &i2c4 {
246         status = "okay";
247 };
248
249 &i2c5 {
250         status = "okay";
251 };
252
253 &pinctrl {
254         pcfg_output_high: pcfg-output-high {
255                 output-high;
256         };
257
258         pcfg_output_low: pcfg-output-low {
259                 output-low;
260         };
261
262         act8846 {
263                 pwr_hold: pwr-hold {
264                         rockchip,pins = <0 9 RK_FUNC_GPIO &pcfg_output_high>;
265                 };
266         };
267
268         hym8563 {
269                 rtc_int: rtc-int {
270                         rockchip,pins = <0 4 RK_FUNC_GPIO &pcfg_pull_up>;
271                 };
272         };
273
274         keys {
275                 pwr_key: pwr-key {
276                         rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>;
277                 };
278         };
279
280         sdmmc {
281                 sdmmc_pwr: sdmmc-pwr {
282                         rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>;
283                 };
284         };
285
286         usb_host {
287                 host_vbus_drv: host-vbus-drv {
288                         rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>;
289                 };
290         };
291
292         usb_otg {
293                 otg_vbus_drv: otg-vbus-drv {
294                         rockchip,pins = <0 12 RK_FUNC_GPIO &pcfg_pull_none>;
295                 };
296         };
297 };
298
299 &saradc {
300         vref-supply = <&vcc_18>;
301         status = "okay";
302 };
303
304 &sdio0 {
305         broken-cd;
306         bus-width = <4>;
307         disable-wp;
308         non-removable;
309         num-slots = <1>;
310         pinctrl-names = "default";
311         pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>;
312         vmmc-supply = <&vcc_18>;
313         status = "disabled";
314 };
315
316 &sdmmc {
317         bus-width = <4>;
318         cap-mmc-highspeed;
319         cap-sd-highspeed;
320         card-detect-delay = <200>;
321         disable-wp;
322         num-slots = <1>;
323         pinctrl-names = "default";
324         pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>;
325         vmmc-supply = <&vccio_sd>;
326         status = "okay";
327 };
328
329 &spi0 {
330         pinctrl-names = "default";
331         pinctrl-0 = <&spi0_clk>, <&spi0_cs0>, <&spi0_tx>, <&spi0_rx>, <&spi0_cs1>;
332         status = "okay";
333 };
334
335 &uart0 {
336         pinctrl-names = "default";
337         pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>;
338         status = "okay";
339 };
340
341 &uart1 {
342         status = "okay";
343 };
344
345 &uart2 {
346         status = "okay";
347 };
348
349 &uart3 {
350         status = "okay";
351 };
352
353 &usb_host1 {
354         status = "okay";
355 };
356
357 &usb_otg {
358         status = "okay";
359 };
360
361 &vopb {
362         status = "okay";
363 };
364
365 &vopb_mmu {
366         status = "okay";
367 };
368
369 &vopl {
370         status = "okay";
371 };
372
373 &vopl_mmu {
374         status = "okay";
375 };
376
377 &wdt {
378         status = "okay";
379 };