Merge git://git.denx.de/u-boot-rockchip
[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         ext_gmac: external-gmac-clock {
15                 compatible = "fixed-clock";
16                 #clock-cells = <0>;
17                 clock-frequency = <125000000>;
18                 clock-output-names = "ext_gmac";
19         };
20
21         keys: gpio-keys {
22                 compatible = "gpio-keys";
23                 #address-cells = <1>;
24                 #size-cells = <0>;
25
26                 button@0 {
27                         gpio-key,wakeup = <1>;
28                         gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
29                         label = "GPIO Power";
30                         linux,code = <116>;
31                         pinctrl-names = "default";
32                         pinctrl-0 = <&pwr_key>;
33                 };
34         };
35
36         vcc_sys: vsys-regulator {
37                 compatible = "regulator-fixed";
38                 regulator-name = "vcc_sys";
39                 regulator-min-microvolt = <5000000>;
40                 regulator-max-microvolt = <5000000>;
41                 regulator-always-on;
42                 regulator-boot-on;
43         };
44
45         vcc_flash: flash-regulator {
46                 compatible = "regulator-fixed";
47                 regulator-name = "vcc_flash";
48                 regulator-min-microvolt = <1800000>;
49                 regulator-max-microvolt = <1800000>;
50                 vin-supply = <&vcc_io>;
51         };
52
53         vcc_5v: usb-regulator {
54                 compatible = "regulator-fixed";
55                 regulator-name = "vcc_5v";
56                 regulator-min-microvolt = <5000000>;
57                 regulator-max-microvolt = <5000000>;
58                 regulator-always-on;
59                 regulator-boot-on;
60                 vin-supply = <&vcc_sys>;
61         };
62
63         vcc_host_5v: usb-host-regulator {
64                 compatible = "regulator-fixed";
65                 enable-active-high;
66                 gpio = <&gpio0 14 GPIO_ACTIVE_HIGH>;
67                 pinctrl-names = "default";
68                 pinctrl-0 = <&host_vbus_drv>;
69                 regulator-name = "vcc_host_5v";
70                 regulator-min-microvolt = <5000000>;
71                 regulator-max-microvolt = <5000000>;
72                 regulator-always-on;
73                 vin-supply = <&vcc_5v>;
74         };
75
76         vcc_otg_5v: usb-otg-regulator {
77                 compatible = "regulator-fixed";
78                 enable-active-high;
79                 gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>;
80                 pinctrl-names = "default";
81                 pinctrl-0 = <&otg_vbus_drv>;
82                 regulator-name = "vcc_otg_5v";
83                 regulator-min-microvolt = <5000000>;
84                 regulator-max-microvolt = <5000000>;
85                 regulator-always-on;
86                 vin-supply = <&vcc_5v>;
87         };
88
89         backlight: backlight {
90                 compatible = "pwm-backlight";
91                 power-supply = <&vcc_sys>;
92                 enable-gpios = <&gpio7 2 GPIO_ACTIVE_HIGH>;
93                 brightness-levels = <
94                           0   1   2   3   4   5   6   7
95                           8   9  10  11  12  13  14  15
96                          16  17  18  19  20  21  22  23
97                          24  25  26  27  28  29  30  31
98                          32  33  34  35  36  37  38  39
99                          40  41  42  43  44  45  46  47
100                          48  49  50  51  52  53  54  55
101                          56  57  58  59  60  61  62  63
102                          64  65  66  67  68  69  70  71
103                          72  73  74  75  76  77  78  79
104                          80  81  82  83  84  85  86  87
105                          88  89  90  91  92  93  94  95
106                          96  97  98  99 100 101 102 103
107                         104 105 106 107 108 109 110 111
108                         112 113 114 115 116 117 118 119
109                         120 121 122 123 124 125 126 127
110                         128 129 130 131 132 133 134 135
111                         136 137 138 139 140 141 142 143
112                         144 145 146 147 148 149 150 151
113                         152 153 154 155 156 157 158 159
114                         160 161 162 163 164 165 166 167
115                         168 169 170 171 172 173 174 175
116                         176 177 178 179 180 181 182 183
117                         184 185 186 187 188 189 190 191
118                         192 193 194 195 196 197 198 199
119                         200 201 202 203 204 205 206 207
120                         208 209 210 211 212 213 214 215
121                         216 217 218 219 220 221 222 223
122                         224 225 226 227 228 229 230 231
123                         232 233 234 235 236 237 238 239
124                         240 241 242 243 244 245 246 247
125                         248 249 250 251 252 253 254 255>;
126                 default-brightness-level = <50>;
127                 pwms = <&pwm0 0 25000 0>;
128                 pinctrl-names = "default";
129                 pinctrl-0 = <&pwm0_pin>;
130                 pwm-delay-us = <10000>;
131                 status = "disabled";
132         };
133
134         panel: panel {
135                 compatible = "simple-panel";
136                 power-supply = <&vcc_io>;
137                 backlight = <&backlight>;
138                 enable-gpios = <&gpio7 3 GPIO_ACTIVE_HIGH>;
139                 status = "disabled";
140         };
141 };
142
143 &cpu0 {
144         cpu0-supply = <&vdd_cpu>;
145 };
146
147 &emmc {
148         broken-cd;
149         bus-width = <8>;
150         cap-mmc-highspeed;
151         disable-wp;
152         non-removable;
153         num-slots = <1>;
154         pinctrl-names = "default";
155         pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_pwr>, <&emmc_bus8>;
156         vmmc-supply = <&vcc_io>;
157         vqmmc-supply = <&vcc_flash>;
158         status = "okay";
159 };
160
161 &gmac {
162         phy-mode = "rgmii";
163         clock_in_out = "input";
164         snps,reset-gpio = <&gpio4 7 0>;
165         snps,reset-active-low;
166         snps,reset-delays-us = <0 10000 1000000>;
167         assigned-clocks = <&cru SCLK_MAC>;
168         assigned-clock-parents = <&ext_gmac>;
169         pinctrl-names = "default";
170         pinctrl-0 = <&rgmii_pins>;
171         tx_delay = <0x30>;
172         rx_delay = <0x10>;
173         status = "okay";
174 };
175
176 &hdmi {
177         ddc-i2c-bus = <&i2c5>;
178         status = "okay";
179 };
180
181 &i2c0 {
182         clock-frequency = <400000>;
183         status = "okay";
184
185         vdd_cpu: syr827@40 {
186                 compatible = "silergy,syr827";
187                 fcs,suspend-voltage-selector = <1>;
188                 reg = <0x40>;
189                 regulator-name = "vdd_cpu";
190                 regulator-min-microvolt = <850000>;
191                 regulator-max-microvolt = <1350000>;
192                 regulator-always-on;
193                 regulator-boot-on;
194                 vin-supply = <&vcc_sys>;
195         };
196
197         vdd_gpu: syr828@41 {
198                 compatible = "silergy,syr828";
199                 fcs,suspend-voltage-selector = <1>;
200                 reg = <0x41>;
201                 regulator-name = "vdd_gpu";
202                 regulator-min-microvolt = <850000>;
203                 regulator-max-microvolt = <1350000>;
204                 regulator-always-on;
205                 vin-supply = <&vcc_sys>;
206         };
207
208         hym8563: hym8563@51 {
209                 compatible = "haoyu,hym8563";
210                 reg = <0x51>;
211                 #clock-cells = <0>;
212                 clock-frequency = <32768>;
213                 clock-output-names = "xin32k";
214                 interrupt-parent = <&gpio7>;
215                 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
216                 pinctrl-names = "default";
217                 pinctrl-0 = <&rtc_int>;
218         };
219
220         act8846: act8846@5a {
221                 compatible = "active-semi,act8846";
222                 reg = <0x5a>;
223                 pinctrl-names = "default";
224                 pinctrl-0 = <&pwr_hold>;
225                 system-power-controller;
226
227                 regulators {
228                         vcc_ddr: REG1 {
229                                 regulator-name = "vcc_ddr";
230                                 regulator-min-microvolt = <1200000>;
231                                 regulator-max-microvolt = <1200000>;
232                                 regulator-always-on;
233                         };
234
235                         vcc_io: REG2 {
236                                 regulator-name = "vcc_io";
237                                 regulator-min-microvolt = <3300000>;
238                                 regulator-max-microvolt = <3300000>;
239                                 regulator-always-on;
240                         };
241
242                         vdd_log: REG3 {
243                                 regulator-name = "vdd_log";
244                                 regulator-min-microvolt = <1100000>;
245                                 regulator-max-microvolt = <1100000>;
246                                 regulator-always-on;
247                         };
248
249                         vcc_20: REG4 {
250                                 regulator-name = "vcc_20";
251                                 regulator-min-microvolt = <2000000>;
252                                 regulator-max-microvolt = <2000000>;
253                                 regulator-always-on;
254                         };
255
256                         vccio_sd: REG5 {
257                                 regulator-name = "vccio_sd";
258                                 regulator-min-microvolt = <3300000>;
259                                 regulator-max-microvolt = <3300000>;
260                                 regulator-always-on;
261                         };
262
263                         vdd10_lcd: REG6 {
264                                 regulator-name = "vdd10_lcd";
265                                 regulator-min-microvolt = <1000000>;
266                                 regulator-max-microvolt = <1000000>;
267                                 regulator-always-on;
268                         };
269
270                         vcca_codec: REG7 {
271                                 regulator-name = "vcca_codec";
272                                 regulator-min-microvolt = <3300000>;
273                                 regulator-max-microvolt = <3300000>;
274                         };
275
276                         vcc_tp: REG8 {
277                                 regulator-name = "vcca_33";
278                                 regulator-min-microvolt = <3300000>;
279                                 regulator-max-microvolt = <3300000>;
280                         };
281
282                         vccio_pmu: REG9 {
283                                 regulator-name = "vccio_pmu";
284                                 regulator-min-microvolt = <3300000>;
285                                 regulator-max-microvolt = <3300000>;
286                         };
287
288                         vdd_10: REG10 {
289                                 regulator-name = "vdd_10";
290                                 regulator-min-microvolt = <1000000>;
291                                 regulator-max-microvolt = <1000000>;
292                                 regulator-always-on;
293                         };
294
295                         vcc_18: REG11 {
296                                 regulator-name = "vcc_18";
297                                 regulator-min-microvolt = <1800000>;
298                                 regulator-max-microvolt = <1800000>;
299                                 regulator-always-on;
300                         };
301
302                         vcc18_lcd: REG12 {
303                                 regulator-name = "vcc18_lcd";
304                                 regulator-min-microvolt = <1800000>;
305                                 regulator-max-microvolt = <1800000>;
306                                 regulator-always-on;
307                         };
308                 };
309         };
310 };
311
312 &i2c1 {
313         status = "okay";
314 };
315
316 &i2c2 {
317         status = "okay";
318 };
319
320 &i2c4 {
321         status = "okay";
322 };
323
324 &i2c5 {
325         status = "okay";
326 };
327
328 &pinctrl {
329         pcfg_output_high: pcfg-output-high {
330                 output-high;
331         };
332
333         pcfg_output_low: pcfg-output-low {
334                 output-low;
335         };
336
337         act8846 {
338                 pwr_hold: pwr-hold {
339                         rockchip,pins = <0 9 RK_FUNC_GPIO &pcfg_output_high>;
340                 };
341         };
342
343         hym8563 {
344                 rtc_int: rtc-int {
345                         rockchip,pins = <0 4 RK_FUNC_GPIO &pcfg_pull_up>;
346                 };
347         };
348
349         keys {
350                 pwr_key: pwr-key {
351                         rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>;
352                 };
353         };
354
355         sdmmc {
356                 sdmmc_pwr: sdmmc-pwr {
357                         rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>;
358                 };
359         };
360
361         usb_host {
362                 host_vbus_drv: host-vbus-drv {
363                         rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>;
364                 };
365         };
366
367         usb_otg {
368                 otg_vbus_drv: otg-vbus-drv {
369                         rockchip,pins = <0 12 RK_FUNC_GPIO &pcfg_pull_none>;
370                 };
371         };
372 };
373
374 &pwm0 {
375         status = "okay";
376 };
377
378 &saradc {
379         vref-supply = <&vcc_18>;
380         status = "okay";
381 };
382
383 &sdio0 {
384         broken-cd;
385         bus-width = <4>;
386         disable-wp;
387         non-removable;
388         num-slots = <1>;
389         pinctrl-names = "default";
390         pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>;
391         vmmc-supply = <&vcc_18>;
392         status = "disabled";
393 };
394
395 &sdmmc {
396         bus-width = <4>;
397         cap-mmc-highspeed;
398         cap-sd-highspeed;
399         card-detect-delay = <200>;
400         disable-wp;
401         num-slots = <1>;
402         pinctrl-names = "default";
403         pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>;
404         vmmc-supply = <&vccio_sd>;
405         status = "okay";
406 };
407
408 &spi0 {
409         pinctrl-names = "default";
410         pinctrl-0 = <&spi0_clk>, <&spi0_cs0>, <&spi0_tx>, <&spi0_rx>, <&spi0_cs1>;
411         status = "okay";
412 };
413
414 &uart0 {
415         pinctrl-names = "default";
416         pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>;
417         status = "okay";
418 };
419
420 &uart1 {
421         status = "okay";
422 };
423
424 &uart2 {
425         status = "okay";
426 };
427
428 &uart3 {
429         status = "okay";
430 };
431
432 &usb_host1 {
433         status = "okay";
434 };
435
436 &usb_otg {
437         status = "okay";
438 };
439
440 &vopb {
441         status = "okay";
442 };
443
444 &vopb_mmu {
445         status = "okay";
446 };
447
448 &vopl {
449         status = "okay";
450 };
451
452 &vopl_mmu {
453         status = "okay";
454 };
455
456 &mipi_dsi0 {
457         status = "disabled";
458         rockchip,panel = <&panel>;
459         display-timings {
460                 timing0 {
461                 bits-per-pixel = <24>;
462                 clock-frequency = <160000000>;
463                 hfront-porch = <120>;
464                 hsync-len = <20>;
465                 hback-porch = <21>;
466                 hactive = <1200>;
467                 vfront-porch = <21>;
468                 vsync-len = <3>;
469                 vback-porch = <18>;
470                 vactive = <1920>;
471                 hsync-active = <0>;
472                 vsync-active = <0>;
473                 de-active = <1>;
474                 pixelclk-active = <0>;
475                 };
476         };
477 };
478
479 &wdt {
480         status = "okay";
481 };