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