Merge tag 'u-boot-rockchip-20200501' of https://gitlab.denx.de/u-boot/custodians...
[oweals/u-boot.git] / arch / arm / dts / rk3399-evb.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Copyright (c) 2016 Fuzhou Rockchip Electronics Co., Ltd
4  */
5
6 /dts-v1/;
7 #include <dt-bindings/pwm/pwm.h>
8 #include "rk3399.dtsi"
9
10 / {
11         model = "Rockchip RK3399 Evaluation Board";
12         compatible = "rockchip,rk3399-evb", "rockchip,rk3399";
13
14         backlight: backlight {
15                 compatible = "pwm-backlight";
16                 brightness-levels = <
17                           0   1   2   3   4   5   6   7
18                           8   9  10  11  12  13  14  15
19                          16  17  18  19  20  21  22  23
20                          24  25  26  27  28  29  30  31
21                          32  33  34  35  36  37  38  39
22                          40  41  42  43  44  45  46  47
23                          48  49  50  51  52  53  54  55
24                          56  57  58  59  60  61  62  63
25                          64  65  66  67  68  69  70  71
26                          72  73  74  75  76  77  78  79
27                          80  81  82  83  84  85  86  87
28                          88  89  90  91  92  93  94  95
29                          96  97  98  99 100 101 102 103
30                         104 105 106 107 108 109 110 111
31                         112 113 114 115 116 117 118 119
32                         120 121 122 123 124 125 126 127
33                         128 129 130 131 132 133 134 135
34                         136 137 138 139 140 141 142 143
35                         144 145 146 147 148 149 150 151
36                         152 153 154 155 156 157 158 159
37                         160 161 162 163 164 165 166 167
38                         168 169 170 171 172 173 174 175
39                         176 177 178 179 180 181 182 183
40                         184 185 186 187 188 189 190 191
41                         192 193 194 195 196 197 198 199
42                         200 201 202 203 204 205 206 207
43                         208 209 210 211 212 213 214 215
44                         216 217 218 219 220 221 222 223
45                         224 225 226 227 228 229 230 231
46                         232 233 234 235 236 237 238 239
47                         240 241 242 243 244 245 246 247
48                         248 249 250 251 252 253 254 255>;
49                 default-brightness-level = <200>;
50                 pwms = <&pwm0 0 25000 0>;
51         };
52
53         edp_panel: edp-panel {
54                 compatible ="lg,lp079qx1-sp0v";
55                 backlight = <&backlight>;
56                 enable-gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>;
57                 power-supply = <&vcc3v3_s0>;
58
59                 port {
60                         panel_in_edp: endpoint {
61                                 remote-endpoint = <&edp_out_panel>;
62                         };
63                 };
64         };
65
66         clkin_gmac: external-gmac-clock {
67                 compatible = "fixed-clock";
68                 clock-frequency = <125000000>;
69                 clock-output-names = "clkin_gmac";
70                 #clock-cells = <0>;
71         };
72
73         vdd_center: vdd-center {
74                 compatible = "pwm-regulator";
75                 pwms = <&pwm3 0 25000 0>;
76                 regulator-name = "vdd_center";
77                 regulator-min-microvolt = <800000>;
78                 regulator-max-microvolt = <1400000>;
79                 regulator-always-on;
80                 regulator-boot-on;
81                 status = "okay";
82         };
83
84         vcc3v3_sys: vcc3v3-sys {
85                 compatible = "regulator-fixed";
86                 regulator-name = "vcc3v3_sys";
87                 regulator-always-on;
88                 regulator-boot-on;
89                 regulator-min-microvolt = <3300000>;
90                 regulator-max-microvolt = <3300000>;
91         };
92
93         vcc5v0_sys: vcc5v0-sys {
94                 compatible = "regulator-fixed";
95                 regulator-name = "vcc5v0_sys";
96                 regulator-always-on;
97                 regulator-boot-on;
98                 regulator-min-microvolt = <5000000>;
99                 regulator-max-microvolt = <5000000>;
100         };
101
102         vcc5v0_host: vcc5v0-host-regulator {
103                 compatible = "regulator-fixed";
104                 enable-active-high;
105                 gpio = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>;
106                 pinctrl-names = "default";
107                 pinctrl-0 = <&vcc5v0_host_en>;
108                 regulator-name = "vcc5v0_host";
109                 vin-supply = <&vcc5v0_sys>;
110         };
111
112         vcc_phy: vcc-phy-regulator {
113                 compatible = "regulator-fixed";
114                 regulator-name = "vcc_phy";
115                 regulator-always-on;
116                 regulator-boot-on;
117         };
118
119         vcc_phy: vcc-phy-regulator {
120                 compatible = "regulator-fixed";
121                 regulator-name = "vcc_phy";
122                 regulator-always-on;
123                 regulator-boot-on;
124         };
125
126 };
127
128 &edp {
129         status = "okay";
130         force-hpd;
131
132         ports {
133                 edp_out: port@1 {
134                         reg = <1>;
135                         #address-cells = <1>;
136                         #size-cells = <0>;
137
138                         edp_out_panel: endpoint@0 {
139                                 reg = <0>;
140                                 remote-endpoint = <&panel_in_edp>;
141                         };
142                 };
143         };
144 };
145
146 &emmc_phy {
147         status = "okay";
148 };
149
150 &gmac {
151         assigned-clocks = <&cru SCLK_RMII_SRC>;
152         assigned-clock-parents = <&clkin_gmac>;
153         clock_in_out = "input";
154         phy-supply = <&vcc_phy>;
155         phy-mode = "rgmii";
156         pinctrl-names = "default";
157         pinctrl-0 = <&rgmii_pins>;
158         snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
159         snps,reset-active-low;
160         snps,reset-delays-us = <0 10000 50000>;
161         tx_delay = <0x28>;
162         rx_delay = <0x11>;
163         status = "okay";
164 };
165
166 &i2c0 {
167         status = "okay";
168
169         rk808: pmic@1b {
170                 compatible = "rockchip,rk808";
171                 reg = <0x1b>;
172                 interrupt-parent = <&gpio1>;
173                 interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
174                 pinctrl-names = "default";
175                 pinctrl-0 = <&pmic_int_l>;
176                 rockchip,system-power-controller;
177                 wakeup-source;
178                 #clock-cells = <1>;
179                 clock-output-names = "rk808-clkout1", "rk808-clkout2";
180
181                 vcc1-supply = <&vcc3v3_sys>;
182                 vcc2-supply = <&vcc3v3_sys>;
183                 vcc3-supply = <&vcc3v3_sys>;
184                 vcc4-supply = <&vcc3v3_sys>;
185                 vcc6-supply = <&vcc3v3_sys>;
186                 vcc7-supply = <&vcc3v3_sys>;
187                 vcc8-supply = <&vcc3v3_sys>;
188                 vcc9-supply = <&vcc3v3_sys>;
189                 vcc10-supply = <&vcc3v3_sys>;
190                 vcc11-supply = <&vcc3v3_sys>;
191                 vcc12-supply = <&vcc3v3_sys>;
192                 vddio-supply = <&vcc1v8_pmu>;
193
194                 regulators {
195                         vdd_log: DCDC_REG1 {
196                                 regulator-name = "vdd_log";
197                                 regulator-min-microvolt = <750000>;
198                                 regulator-max-microvolt = <1350000>;
199                                 regulator-ramp-delay = <6001>;
200                                 regulator-always-on;
201                                 regulator-boot-on;
202                                 regulator-state-mem {
203                                         regulator-on-in-suspend;
204                                         regulator-suspend-microvolt = <900000>;
205                                 };
206                         };
207
208                         vdd_cpu_l: DCDC_REG2 {
209                                 regulator-name = "vdd_cpu_l";
210                                 regulator-min-microvolt = <750000>;
211                                 regulator-max-microvolt = <1350000>;
212                                 regulator-ramp-delay = <6001>;
213                                 regulator-always-on;
214                                 regulator-boot-on;
215                                 regulator-state-mem {
216                                         regulator-off-in-suspend;
217                                 };
218                         };
219
220                         vcc_ddr: DCDC_REG3 {
221                                 regulator-name = "vcc_ddr";
222                                 regulator-always-on;
223                                 regulator-boot-on;
224                                 regulator-state-mem {
225                                         regulator-on-in-suspend;
226                                 };
227                         };
228
229                         vcc_1v8: DCDC_REG4 {
230                                 regulator-name = "vcc_1v8";
231                                 regulator-min-microvolt = <1800000>;
232                                 regulator-max-microvolt = <1800000>;
233                                 regulator-always-on;
234                                 regulator-boot-on;
235                                 regulator-state-mem {
236                                         regulator-on-in-suspend;
237                                         regulator-suspend-microvolt = <1800000>;
238                                 };
239                         };
240
241                         vcc1v8_dvp: LDO_REG1 {
242                                 regulator-name = "vcc1v8_dvp";
243                                 regulator-min-microvolt = <1800000>;
244                                 regulator-max-microvolt = <1800000>;
245                                 regulator-always-on;
246                                 regulator-boot-on;
247                                 regulator-state-mem {
248                                         regulator-off-in-suspend;
249                                 };
250                         };
251
252                         vcc3v0_tp: LDO_REG2 {
253                                 regulator-name = "vcc3v0_tp";
254                                 regulator-min-microvolt = <3000000>;
255                                 regulator-max-microvolt = <3000000>;
256                                 regulator-always-on;
257                                 regulator-boot-on;
258                                 regulator-state-mem {
259                                         regulator-off-in-suspend;
260                                 };
261                         };
262
263                         vcc1v8_pmu: LDO_REG3 {
264                                 regulator-name = "vcc1v8_pmu";
265                                 regulator-min-microvolt = <1800000>;
266                                 regulator-max-microvolt = <1800000>;
267                                 regulator-always-on;
268                                 regulator-boot-on;
269                                 regulator-state-mem {
270                                         regulator-on-in-suspend;
271                                         regulator-suspend-microvolt = <1800000>;
272                                 };
273                         };
274
275                         vcc_sd: LDO_REG4 {
276                                 regulator-name = "vcc_sd";
277                                 regulator-min-microvolt = <1800000>;
278                                 regulator-max-microvolt = <3000000>;
279                                 regulator-always-on;
280                                 regulator-boot-on;
281                                 regulator-state-mem {
282                                         regulator-on-in-suspend;
283                                         regulator-suspend-microvolt = <3000000>;
284                                 };
285                         };
286
287                         vcca3v0_codec: LDO_REG5 {
288                                 regulator-name = "vcca3v0_codec";
289                                 regulator-min-microvolt = <3000000>;
290                                 regulator-max-microvolt = <3000000>;
291                                 regulator-always-on;
292                                 regulator-boot-on;
293                                 regulator-state-mem {
294                                         regulator-off-in-suspend;
295                                 };
296                         };
297
298                         vcc_1v5: LDO_REG6 {
299                                 regulator-name = "vcc_1v5";
300                                 regulator-min-microvolt = <1500000>;
301                                 regulator-max-microvolt = <1500000>;
302                                 regulator-always-on;
303                                 regulator-boot-on;
304                                 regulator-state-mem {
305                                         regulator-on-in-suspend;
306                                         regulator-suspend-microvolt = <1500000>;
307                                 };
308                         };
309
310                         vcca1v8_codec: LDO_REG7 {
311                                 regulator-name = "vcca1v8_codec";
312                                 regulator-min-microvolt = <1800000>;
313                                 regulator-max-microvolt = <1800000>;
314                                 regulator-always-on;
315                                 regulator-boot-on;
316                                 regulator-state-mem {
317                                         regulator-off-in-suspend;
318                                 };
319                         };
320
321                         vcc_3v0: LDO_REG8 {
322                                 regulator-name = "vcc_3v0";
323                                 regulator-min-microvolt = <3000000>;
324                                 regulator-max-microvolt = <3000000>;
325                                 regulator-always-on;
326                                 regulator-boot-on;
327                                 regulator-state-mem {
328                                         regulator-on-in-suspend;
329                                         regulator-suspend-microvolt = <3000000>;
330                                 };
331                         };
332
333                         vcc3v3_s3: SWITCH_REG1 {
334                                 regulator-name = "vcc3v3_s3";
335                                 regulator-always-on;
336                                 regulator-boot-on;
337                                 regulator-state-mem {
338                                         regulator-on-in-suspend;
339                                 };
340                         };
341
342                         vcc3v3_s0: SWITCH_REG2 {
343                                 regulator-name = "vcc3v3_s0";
344                                 regulator-always-on;
345                                 regulator-boot-on;
346                                 regulator-state-mem {
347                                         regulator-off-in-suspend;
348                                 };
349                         };
350                 };
351         };
352
353         vdd_cpu_b: regulator@40 {
354                 compatible = "silergy,syr827";
355                 reg = <0x40>;
356                 fcs,suspend-voltage-selector = <1>;
357                 regulator-name = "vdd_cpu_b";
358                 regulator-min-microvolt = <712500>;
359                 regulator-max-microvolt = <1500000>;
360                 regulator-ramp-delay = <1000>;
361                 regulator-always-on;
362                 regulator-boot-on;
363                 vin-supply = <&vcc5v0_sys>;
364
365                 regulator-state-mem {
366                         regulator-off-in-suspend;
367                 };
368         };
369
370         vdd_gpu: regulator@41 {
371                 compatible = "silergy,syr828";
372                 reg = <0x41>;
373                 fcs,suspend-voltage-selector = <1>;
374                 regulator-name = "vdd_gpu";
375                 regulator-min-microvolt = <712500>;
376                 regulator-max-microvolt = <1500000>;
377                 regulator-ramp-delay = <1000>;
378                 regulator-always-on;
379                 regulator-boot-on;
380                 vin-supply = <&vcc5v0_sys>;
381
382                 regulator-state-mem {
383                         regulator-off-in-suspend;
384                 };
385         };
386 };
387
388 &pwm0 {
389         status = "okay";
390 };
391
392 &pwm2 {
393         status = "okay";
394 };
395
396 &pwm3 {
397         status = "okay";
398 };
399
400 &sdhci {
401         bus-width = <8>;
402         mmc-hs400-1_8v;
403         mmc-hs400-enhanced-strobe;
404         non-removable;
405         status = "okay";
406 };
407
408 &pcie_phy {
409         status = "disabled";
410 };
411
412 &pcie0 {
413         ep-gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_HIGH>;
414         num-lanes = <4>;
415         pinctrl-names = "default";
416         pinctrl-0 = <&pcie_clkreqn_cpm>;
417         status = "disabled";
418 };
419
420 &u2phy0 {
421         status = "okay";
422 };
423
424 &u2phy0_host {
425         phy-supply = <&vcc5v0_host>;
426         status = "okay";
427 };
428
429 &u2phy1 {
430         status = "okay";
431 };
432
433 &u2phy1_host {
434         phy-supply = <&vcc5v0_host>;
435         status = "okay";
436 };
437
438 &uart2 {
439         status = "okay";
440 };
441
442 &usb_host0_ehci {
443         status = "okay";
444 };
445
446 &usb_host0_ohci {
447         status = "okay";
448 };
449
450 &usb_host1_ehci {
451         status = "okay";
452 };
453
454 &usb_host1_ohci {
455         status = "okay";
456 };
457
458 &pinctrl {
459         pmic {
460                 pmic_int_l: pmic-int-l {
461                         rockchip,pins =
462                                 <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
463                 };
464         };
465
466         usb2 {
467                 vcc5v0_host_en: vcc5v0-host-en {
468                         rockchip,pins =
469                                 <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
470                 };
471         };
472 };
473
474 &vopb {
475         status = "okay";
476 };
477
478 &vopb_mmu {
479         status = "okay";
480 };