]> git.ipfire.org Git - thirdparty/u-boot.git/blob - src/arm64/rockchip/rk3399-kobol-helios64.dts
Squashed 'dts/upstream/' changes from aaba2d45dc2a..b35b9bd1d4ee
[thirdparty/u-boot.git] / src / arm64 / rockchip / rk3399-kobol-helios64.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3 * Copyright (c) 2020 Aditya Prayoga <aditya@kobol.io>
4 */
5
6 /*
7 * The Kobol Helios64 is a board designed to operate as a NAS and optionally
8 * ships with an enclosing that can host five 2.5" hard disks.
9 *
10 * See https://wiki.kobol.io/helios64/intro/ for further details.
11 */
12
13 /dts-v1/;
14 #include "rk3399.dtsi"
15 #include "rk3399-opp.dtsi"
16
17 / {
18 model = "Kobol Helios64";
19 compatible = "kobol,helios64", "rockchip,rk3399";
20
21 aliases {
22 ethernet0 = &gmac;
23 mmc0 = &sdmmc;
24 mmc1 = &sdhci;
25 spi1 = &spi1;
26 spi2 = &spi2;
27 spi5 = &spi5;
28 };
29
30 avdd_0v9_s0: avdd-0v9-s0 {
31 compatible = "regulator-fixed";
32 regulator-name = "avdd_0v9_s0";
33 regulator-always-on;
34 regulator-boot-on;
35 regulator-min-microvolt = <900000>;
36 regulator-max-microvolt = <900000>;
37 vin-supply = <&vcc1v8_sys_s3>;
38 };
39
40 avdd_1v8_s0: avdd-1v8-s0 {
41 compatible = "regulator-fixed";
42 regulator-name = "avdd_1v8_s0";
43 regulator-always-on;
44 regulator-boot-on;
45 regulator-min-microvolt = <1800000>;
46 regulator-max-microvolt = <1800000>;
47 vin-supply = <&vcc3v3_sys_s3>;
48 };
49
50 chosen {
51 stdout-path = "serial2:1500000n8";
52 };
53
54 clkin_gmac: external-gmac-clock {
55 compatible = "fixed-clock";
56 clock-frequency = <125000000>;
57 clock-output-names = "clkin_gmac";
58 #clock-cells = <0>;
59 };
60
61 fan1 {
62 /* fan connected to P7 */
63 compatible = "pwm-fan";
64 pwms = <&pwm0 0 40000 0>;
65 cooling-levels = <0 80 170 255>;
66 };
67
68 fan2 {
69 /* fan connected to P6 */
70 compatible = "pwm-fan";
71 pwms = <&pwm1 0 40000 0>;
72 cooling-levels = <0 80 170 255>;
73 };
74
75 leds {
76 compatible = "gpio-leds";
77 pinctrl-names = "default";
78 pinctrl-0 = <&sys_grn_led_on &sys_red_led_on>;
79
80 led-0 {
81 label = "helios64:green:status";
82 gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
83 default-state = "on";
84 };
85
86 led-1 {
87 label = "helios64:red:fault";
88 gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
89 default-state = "keep";
90 };
91 };
92
93 hdd_a_power: hdd-a-power {
94 compatible = "regulator-fixed";
95 enable-active-high;
96 gpio = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
97 pinctrl-0 = <&hdd_a_power_en>;
98 pinctrl-names = "default";
99 regulator-always-on;
100 regulator-boot-on;
101 regulator-name = "hdd_a_power";
102 startup-delay-us = <2000000>;
103 };
104
105 hdd_b_power: hdd-b-power {
106 compatible = "regulator-fixed";
107 enable-active-high;
108 gpio = <&gpio1 RK_PA1 GPIO_ACTIVE_HIGH>;
109 pinctrl-0 = <&hdd_b_power_en>;
110 pinctrl-names = "default";
111 regulator-always-on;
112 regulator-boot-on;
113 regulator-name = "hdd_b_power";
114 startup-delay-us = <2000000>;
115 };
116
117 pcie_power: pcie-power {
118 compatible = "regulator-fixed";
119 enable-active-high;
120 gpio = <&gpio1 RK_PD0 GPIO_ACTIVE_HIGH>;
121 pinctrl-0 = <&pcie_pwr>;
122 pinctrl-names = "default";
123 regulator-boot-on;
124 regulator-name = "pcie_power";
125 startup-delay-us = <10000>;
126 vin-supply = <&vcc5v0_perdev>;
127 };
128
129 usblan_power: usblan-power {
130 compatible = "regulator-fixed";
131 enable-active-high;
132 gpio = <&gpio1 RK_PC7 GPIO_ACTIVE_HIGH>;
133 pinctrl-names = "default";
134 pinctrl-0 = <&usb_lan_en>;
135 regulator-name = "usblan_power";
136 regulator-always-on;
137 regulator-boot-on;
138 vin-supply = <&vcc5v0_usb>;
139 };
140
141 vcc1v8_sys_s0: vcc1v8-sys-s0 {
142 compatible = "regulator-fixed";
143 regulator-name = "vcc1v8_sys_s0";
144 regulator-always-on;
145 regulator-boot-on;
146 regulator-min-microvolt = <1800000>;
147 regulator-max-microvolt = <1800000>;
148 vin-supply = <&vcc1v8_sys_s3>;
149 };
150
151 vcc3v0_sd: vcc3v0-sd {
152 compatible = "regulator-fixed";
153 enable-active-high;
154 gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
155 regulator-name = "vcc3v0_sd";
156 regulator-boot-on;
157 regulator-min-microvolt = <3000000>;
158 regulator-max-microvolt = <3000000>;
159 pinctrl-names = "default";
160 pinctrl-0 = <&sdmmc0_pwr_h>;
161 vin-supply = <&vcc3v3_sys_s3>;
162 };
163
164 vcc3v3_sys_s3: vcc_lan: vcc3v3-sys-s3 {
165 compatible = "regulator-fixed";
166 regulator-name = "vcc3v3_sys_s3";
167 regulator-always-on;
168 regulator-boot-on;
169 regulator-min-microvolt = <3300000>;
170 regulator-max-microvolt = <3300000>;
171 vin-supply = <&vcc5v0_sys>;
172
173 regulator-state-mem {
174 regulator-on-in-suspend;
175 };
176 };
177
178 vcc5v0_perdev: vcc5v0-perdev {
179 compatible = "regulator-fixed";
180 regulator-name = "vcc5v0_perdev";
181 regulator-always-on;
182 regulator-boot-on;
183 regulator-min-microvolt = <5000000>;
184 regulator-max-microvolt = <5000000>;
185 vin-supply = <&vcc12v_dcin_bkup>;
186 };
187
188 vcc5v0_sys: vcc5v0-sys {
189 compatible = "regulator-fixed";
190 regulator-name = "vcc5v0_sys";
191 regulator-always-on;
192 regulator-boot-on;
193 regulator-min-microvolt = <5000000>;
194 regulator-max-microvolt = <5000000>;
195 vin-supply = <&vcc12v_dcin_bkup>;
196
197 regulator-state-mem {
198 regulator-on-in-suspend;
199 };
200 };
201
202 vcc5v0_usb: vcc5v0-usb {
203 compatible = "regulator-fixed";
204 enable-active-high;
205 gpio = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>;
206 pinctrl-names = "default";
207 pinctrl-0 = <&vcc5v0_usb_en>;
208 regulator-name = "vcc5v0_usb";
209 regulator-always-on;
210 regulator-boot-on;
211 regulator-min-microvolt = <5000000>;
212 regulator-max-microvolt = <5000000>;
213 vin-supply = <&vcc5v0_perdev>;
214 };
215
216 vcc12v_dcin: vcc12v-dcin {
217 compatible = "regulator-fixed";
218 regulator-name = "vcc12v_dcin";
219 regulator-always-on;
220 regulator-boot-on;
221 regulator-min-microvolt = <12000000>;
222 regulator-max-microvolt = <12000000>;
223 };
224
225 vcc12v_dcin_bkup: vcc12v-dcin-bkup {
226 compatible = "regulator-fixed";
227 regulator-name = "vcc12v_dcin_bkup";
228 regulator-always-on;
229 regulator-boot-on;
230 regulator-min-microvolt = <12000000>;
231 regulator-max-microvolt = <12000000>;
232 vin-supply = <&vcc12v_dcin>;
233 };
234 };
235
236 /*
237 * The system doesn't run stable with cpu freq enabled, so disallow the lower
238 * frequencies until this problem is properly understood and resolved.
239 */
240 &cluster0_opp {
241 /delete-node/ opp00;
242 /delete-node/ opp01;
243 /delete-node/ opp02;
244 /delete-node/ opp03;
245 /delete-node/ opp04;
246 };
247
248 &cluster1_opp {
249 /delete-node/ opp00;
250 /delete-node/ opp01;
251 /delete-node/ opp02;
252 /delete-node/ opp03;
253 /delete-node/ opp04;
254 /delete-node/ opp05;
255 /delete-node/ opp06;
256 };
257
258 &cpu_b0 {
259 cpu-supply = <&vdd_cpu_b>;
260 };
261
262 &cpu_b1 {
263 cpu-supply = <&vdd_cpu_b>;
264 };
265
266 &cpu_l0 {
267 cpu-supply = <&vdd_cpu_l>;
268 };
269
270 &cpu_l1 {
271 cpu-supply = <&vdd_cpu_l>;
272 };
273
274 &cpu_l2 {
275 cpu-supply = <&vdd_cpu_l>;
276 };
277
278 &cpu_l3 {
279 cpu-supply = <&vdd_cpu_l>;
280 };
281
282 &emmc_phy {
283 status = "okay";
284 };
285
286 &gmac {
287 assigned-clock-parents = <&clkin_gmac>;
288 assigned-clocks = <&cru SCLK_RMII_SRC>;
289 clock_in_out = "input";
290 phy-mode = "rgmii";
291 phy-supply = <&vcc_lan>;
292 pinctrl-names = "default";
293 pinctrl-0 = <&rgmii_pins &gphy_reset>;
294 rx_delay = <0x20>;
295 tx_delay = <0x28>;
296 snps,reset-active-low;
297 snps,reset-delays-us = <0 10000 50000>;
298 snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
299 status = "okay";
300 };
301
302 &i2c0 {
303 clock-frequency = <400000>;
304 i2c-scl-rising-time-ns = <168>;
305 i2c-scl-falling-time-ns = <4>;
306 status = "okay";
307
308 rk808: pmic@1b {
309 compatible = "rockchip,rk808";
310 reg = <0x1b>;
311 interrupt-parent = <&gpio0>;
312 interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
313 clock-output-names = "xin32k", "rk808-clkout2";
314 pinctrl-names = "default";
315 pinctrl-0 = <&pmic_int_l>;
316 rockchip,system-power-controller;
317 vcc1-supply = <&vcc5v0_sys>;
318 vcc2-supply = <&vcc5v0_sys>;
319 vcc3-supply = <&vcc5v0_sys>;
320 vcc4-supply = <&vcc5v0_sys>;
321 vcc6-supply = <&vcc5v0_sys>;
322 vcc7-supply = <&vcc5v0_sys>;
323 vcc8-supply = <&vcc3v3_sys_s3>;
324 vcc9-supply = <&vcc5v0_sys>;
325 vcc10-supply = <&vcc5v0_sys>;
326 vcc11-supply = <&vcc5v0_sys>;
327 vcc12-supply = <&vcc3v3_sys_s3>;
328 vddio-supply = <&vcc3v0_s3>;
329 wakeup-source;
330 #clock-cells = <1>;
331
332 regulators {
333 vdd_cpu_l: DCDC_REG2 {
334 regulator-name = "vdd_cpu_l";
335 regulator-always-on;
336 regulator-boot-on;
337 regulator-min-microvolt = <750000>;
338 regulator-max-microvolt = <1350000>;
339 regulator-ramp-delay = <6001>;
340
341 regulator-state-mem {
342 regulator-off-in-suspend;
343 };
344 };
345
346 vcc1v8_sys_s3: DCDC_REG4 {
347 regulator-name = "vcc1v8_sys_s3";
348 regulator-always-on;
349 regulator-boot-on;
350 regulator-min-microvolt = <1800000>;
351 regulator-max-microvolt = <1800000>;
352
353 regulator-state-mem {
354 regulator-on-in-suspend;
355 regulator-suspend-microvolt = <1800000>;
356 };
357 };
358
359 vcc_sdio_s0: LDO_REG4 {
360 regulator-name = "vcc_sdio_s0";
361 regulator-always-on;
362 regulator-boot-on;
363 regulator-min-microvolt = <1800000>;
364 regulator-max-microvolt = <3000000>;
365
366 regulator-state-mem {
367 regulator-on-in-suspend;
368 regulator-suspend-microvolt = <3000000>;
369 };
370 };
371
372 vcc3v0_s3: LDO_REG8 {
373 regulator-name = "vcc3v0_s3";
374 regulator-always-on;
375 regulator-boot-on;
376 regulator-min-microvolt = <3000000>;
377 regulator-max-microvolt = <3000000>;
378
379 regulator-state-mem {
380 regulator-on-in-suspend;
381 regulator-suspend-microvolt = <3000000>;
382 };
383 };
384 };
385 };
386
387 vdd_cpu_b: regulator@40 {
388 compatible = "silergy,syr827";
389 reg = <0x40>;
390 fcs,suspend-voltage-selector = <1>;
391 regulator-name = "vdd_cpu_b";
392 regulator-always-on;
393 regulator-boot-on;
394 regulator-min-microvolt = <712500>;
395 regulator-max-microvolt = <1500000>;
396 regulator-ramp-delay = <1000>;
397 vin-supply = <&vcc5v0_sys>;
398
399 regulator-state-mem {
400 regulator-off-in-suspend;
401 };
402 };
403 };
404
405 &i2c2 {
406 clock-frequency = <400000>;
407 i2c-scl-rising-time-ns = <160>;
408 i2c-scl-falling-time-ns = <30>;
409 status = "okay";
410
411 temp@4c {
412 compatible = "national,lm75";
413 reg = <0x4c>;
414 };
415 };
416
417 &io_domains {
418 audio-supply = <&vcc1v8_sys_s0>;
419 bt656-supply = <&vcc1v8_sys_s0>;
420 gpio1830-supply = <&vcc3v0_s3>;
421 sdmmc-supply = <&vcc_sdio_s0>;
422 status = "okay";
423 };
424
425 &pcie_phy {
426 status = "okay";
427 };
428
429 &pcie0 {
430 ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>;
431 max-link-speed = <2>;
432 num-lanes = <2>;
433 pinctrl-names = "default";
434 status = "okay";
435
436 vpcie12v-supply = <&vcc12v_dcin>;
437 vpcie3v3-supply = <&pcie_power>;
438 vpcie1v8-supply = <&avdd_1v8_s0>;
439 vpcie0v9-supply = <&avdd_0v9_s0>;
440 };
441
442 &pinctrl {
443 gmac {
444 gphy_reset: gphy-reset {
445 rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_output_low>;
446 };
447 };
448
449 leds {
450 sys_grn_led_on: sys-grn-led-on {
451 rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_down>;
452 };
453
454 sys_red_led_on: sys-red-led-on {
455 rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_down>;
456 };
457 };
458
459 pcie {
460 pcie_pwr: pcie-pwr {
461 rockchip,pins =
462 <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
463 };
464 };
465
466 pmic {
467 pmic_int_l: pmic-int-l {
468 rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
469 };
470 };
471
472 power {
473 hdd_a_power_en: hdd-a-power-en {
474 rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
475 };
476
477 hdd_b_power_en: hdd-b-power-en {
478 rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
479 };
480
481 vcc5v0_usb_en: vcc5v0-usb-en {
482 rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
483 };
484
485 usb_lan_en: usb-lan-en {
486 rockchip,pins = <1 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
487 };
488 };
489
490 vcc3v0-sd {
491 sdmmc0_pwr_h: sdmmc0-pwr-h {
492 rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
493 };
494 };
495 };
496
497 &pmu_io_domains {
498 pmu1830-supply = <&vcc3v0_s3>;
499 status = "okay";
500 };
501
502 &pwm0 {
503 /* pwm-fan on P7 */
504 status = "okay";
505 };
506
507 &pwm1 {
508 /* pwm-fan on P6 */
509 status = "okay";
510 };
511
512 &sdhci {
513 bus-width = <8>;
514 mmc-hs200-1_8v;
515 non-removable;
516 vqmmc-supply = <&vcc1v8_sys_s0>;
517 status = "okay";
518 };
519
520 &sdmmc {
521 bus-width = <4>;
522 cap-sd-highspeed;
523 cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
524 disable-wp;
525 pinctrl-names = "default";
526 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
527 vmmc-supply = <&vcc3v0_sd>;
528 vqmmc-supply = <&vcc_sdio_s0>;
529 status = "okay";
530 };
531
532 &spi1 {
533 status = "okay";
534
535 spiflash: flash@0 {
536 compatible = "jedec,spi-nor";
537 reg = <0x0>;
538 spi-max-frequency = <25000000>;
539 status = "okay";
540 m25p,fast-read;
541 };
542 };
543
544 /* UEXT connector */
545 &spi2 {
546 status = "okay";
547 };
548
549 &spi5 {
550 status = "okay";
551 };
552
553 &tcphy1 {
554 /* phy for &usbdrd_dwc3_1 */
555 status = "okay";
556 };
557
558 &tsadc {
559 /* tshut mode 0:CRU 1:GPIO */
560 rockchip,hw-tshut-mode = <1>;
561 /* tshut polarity 0:LOW 1:HIGH */
562 rockchip,hw-tshut-polarity = <1>;
563 status = "okay";
564 };
565
566 &u2phy1 {
567 status = "okay";
568
569 otg-port {
570 /* phy for &usbdrd_dwc3_1 */
571 phy-supply = <&vcc5v0_usb>;
572 status = "okay";
573 };
574 };
575
576 &uart2 {
577 status = "okay";
578 };
579
580 &usbdrd3_1 {
581 status = "okay";
582
583 usb@fe900000 {
584 dr_mode = "host";
585 status = "okay";
586 #address-cells = <1>;
587 #size-cells = <0>;
588
589 hub@1 {
590 compatible = "usb2109,0815";
591 reg = <1>;
592 #address-cells = <1>;
593 #size-cells = <0>;
594
595 port@1 {
596 reg = <1>;
597 #trigger-source-cells = <0>;
598 };
599
600 port@2 {
601 reg = <2>;
602 #trigger-source-cells = <0>;
603 };
604
605 port@3 {
606 reg = <3>;
607 #trigger-source-cells = <0>;
608 };
609
610 device@4 {
611 compatible = "usbbda,8156";
612 reg = <4>;
613 #address-cells = <2>;
614 #size-cells = <0>;
615
616 interface@0 { /* interface 0 of configuration 1 */
617 compatible = "usbbda,8156.config1.0";
618 reg = <0 1>;
619 };
620 };
621 };
622 };
623 };