blob: e80caa36f8e44ee05b4d0c0f01fafc313f987d13 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2023 Ondřej Jirman <megi@xff.cz>
4 */
5
6/dts-v1/;
7
8#include <dt-bindings/gpio/gpio.h>
9#include <dt-bindings/input/input.h>
10#include <dt-bindings/leds/common.h>
11#include <dt-bindings/pinctrl/rockchip.h>
12#include <dt-bindings/usb/pd.h>
13#include "rk3588.dtsi"
14
15/ {
Tom Rini762f85b2024-07-20 11:15:10 -060016 model = "Pine64 QuartzPro64";
Tom Rini53633a82024-02-29 12:33:36 -050017 compatible = "pine64,quartzpro64", "rockchip,rk3588";
18
19 aliases {
Tom Rini93743d22024-04-01 09:08:13 -040020 ethernet0 = &gmac0;
Tom Rini53633a82024-02-29 12:33:36 -050021 mmc0 = &sdhci;
22 mmc1 = &sdmmc;
Tom Rini53633a82024-02-29 12:33:36 -050023 };
24
25 chosen {
26 stdout-path = "serial2:1500000n8";
27 };
28
29 adc-keys-0 {
30 compatible = "adc-keys";
31 io-channels = <&saradc 0>;
32 io-channel-names = "buttons";
33 keyup-threshold-microvolt = <1800000>;
34 poll-interval = <100>;
35
36 button-maskrom {
37 label = "Mask Rom";
38 linux,code = <KEY_SETUP>;
39 press-threshold-microvolt = <393>;
40 };
41 };
42
43 adc-keys-1 {
44 compatible = "adc-keys";
45 io-channels = <&saradc 1>;
46 io-channel-names = "buttons";
47 keyup-threshold-microvolt = <1800000>;
48 poll-interval = <100>;
49
50 button-volume-up {
51 label = "V+/REC";
52 linux,code = <KEY_VOLUMEUP>;
53 press-threshold-microvolt = <17821>;
54 };
55
56 button-volume-down {
57 label = "V-";
58 linux,code = <KEY_VOLUMEDOWN>;
59 press-threshold-microvolt = <415384>;
60 };
61
62 button-menu {
63 label = "MENU";
64 linux,code = <KEY_MENU>;
65 press-threshold-microvolt = <890909>;
66 };
67
68 button-esc {
69 label = "ESC";
70 linux,code = <KEY_ESC>;
71 press-threshold-microvolt = <1233962>;
72 };
73 };
74
75 headphone_amp: audio-amplifier-headphone {
76 compatible = "simple-audio-amplifier";
77 enable-gpios = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
78 sound-name-prefix = "Headphones Amp";
79 };
80
81 speaker_amp: audio-amplifier-speaker {
82 compatible = "simple-audio-amplifier";
83 enable-gpios = <&gpio1 RK_PD3 GPIO_ACTIVE_HIGH>;
84 sound-name-prefix = "Speaker Amp";
85 };
86
87 leds {
88 compatible = "gpio-leds";
89 pinctrl-names = "default";
90 pinctrl-0 = <&led_pins>;
91
92 led-1 {
93 color = <LED_COLOR_ID_ORANGE>;
94 function = LED_FUNCTION_INDICATOR;
95 gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_HIGH>;
96 };
97 };
98
99 sound {
100 compatible = "simple-audio-card";
101 pinctrl-names = "default";
102 pinctrl-0 = <&hp_detect>;
103 simple-audio-card,name = "Analog";
104 simple-audio-card,aux-devs = <&speaker_amp>, <&headphone_amp>;
105 simple-audio-card,format = "i2s";
106 simple-audio-card,mclk-fs = <256>;
107 simple-audio-card,hp-det-gpio = <&gpio1 RK_PD5 GPIO_ACTIVE_LOW>;
108 simple-audio-card,bitclock-master = <&daicpu>;
109 simple-audio-card,frame-master = <&daicpu>;
110 /* SARADC_IN3 is used as MIC detection / key input */
111
112 simple-audio-card,widgets =
113 "Microphone", "Onboard Microphone",
114 "Microphone", "Microphone Jack",
115 "Speaker", "Speaker",
116 "Headphone", "Headphones";
117
118 simple-audio-card,routing =
119 "Headphones", "LOUT1",
120 "Headphones", "ROUT1",
121 "Speaker", "LOUT2",
122 "Speaker", "ROUT2",
123
124 "Headphones", "Headphones Amp OUTL",
125 "Headphones", "Headphones Amp OUTR",
126 "Headphones Amp INL", "LOUT1",
127 "Headphones Amp INR", "ROUT1",
128
129 "Speaker", "Speaker Amp OUTL",
130 "Speaker", "Speaker Amp OUTR",
131 "Speaker Amp INL", "LOUT2",
132 "Speaker Amp INR", "ROUT2",
133
134 /* single ended signal to LINPUT1 */
135 "LINPUT1", "Microphone Jack",
136 "RINPUT1", "Microphone Jack",
137 /* differential signal */
138 "LINPUT2", "Onboard Microphone",
139 "RINPUT2", "Onboard Microphone";
140
141 daicpu: simple-audio-card,cpu {
142 sound-dai = <&i2s0_8ch>;
143 system-clock-frequency = <12288000>;
144 };
145
146 daicodec: simple-audio-card,codec {
147 sound-dai = <&es8388>;
148 system-clock-frequency = <12288000>;
149 };
150 };
151
152 vcc12v_dcin: vcc12v-dcin-regulator {
153 compatible = "regulator-fixed";
154 regulator-name = "vcc12v_dcin";
155 regulator-always-on;
156 regulator-boot-on;
157 regulator-min-microvolt = <12000000>;
158 regulator-max-microvolt = <12000000>;
159 };
160
161 vcc3v3_bt: vcc3v3-bt-regulator {
162 compatible = "regulator-fixed";
163 enable-active-high;
164 gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_HIGH>;
165 regulator-name = "vcc3v3_bt";
166 regulator-min-microvolt = <3300000>;
167 regulator-max-microvolt = <3300000>;
168 startup-delay-us = <50000>;
169 vin-supply = <&vcc_3v3_s0>;
170 };
171
172 vcc3v3_pcie30: vcc3v3-pcie30-regulator {
173 compatible = "regulator-fixed";
174 enable-active-high;
175 gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_HIGH>;
176 regulator-name = "vcc3v3_pcie30";
177 regulator-min-microvolt = <3300000>;
178 regulator-max-microvolt = <3300000>;
179 startup-delay-us = <5000>;
180 vin-supply = <&vcc12v_dcin>;
181 };
182
183 vcc3v3_wf: vcc3v3-wf-regulator {
184 compatible = "regulator-fixed";
185 enable-active-high;
186 gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_HIGH>;
187 regulator-name = "vcc3v3_wf";
188 regulator-min-microvolt = <3300000>;
189 regulator-max-microvolt = <3300000>;
190 startup-delay-us = <50000>;
191 vin-supply = <&vcc_3v3_s0>;
192 };
193
194 vcc4v0_sys: vcc4v0-sys-regulator {
195 compatible = "regulator-fixed";
196 regulator-name = "vcc4v0_sys";
197 regulator-always-on;
198 regulator-boot-on;
199 regulator-min-microvolt = <4000000>;
200 regulator-max-microvolt = <4000000>;
201 vin-supply = <&vcc12v_dcin>;
202 };
203
204 vcc5v0_host: vcc5v0-host-regulator {
205 compatible = "regulator-fixed";
206 enable-active-high;
207 gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;
208 pinctrl-names = "default";
209 pinctrl-0 = <&vcc5v0_host_en>;
210 regulator-name = "vcc5v0_host";
211 regulator-always-on;
212 regulator-boot-on;
213 regulator-min-microvolt = <5000000>;
214 regulator-max-microvolt = <5000000>;
215 vin-supply = <&vcc5v0_usb>;
216 };
217
218 vcc5v0_usb: vcc5v0-usb-regulator {
219 compatible = "regulator-fixed";
220 regulator-name = "vcc5v0_usb";
221 regulator-always-on;
222 regulator-boot-on;
223 regulator-min-microvolt = <5000000>;
224 regulator-max-microvolt = <5000000>;
225 vin-supply = <&vcc12v_dcin>;
226 };
227};
228
229&combphy0_ps {
230 status = "okay";
231};
232
233&combphy1_ps {
234 status = "okay";
235};
236
237&combphy2_psu {
238 status = "okay";
239};
240
241&cpu_b0 {
242 cpu-supply = <&vdd_cpu_big0_s0>;
243};
244
245&cpu_b1 {
246 cpu-supply = <&vdd_cpu_big0_s0>;
247};
248
249&cpu_b2 {
250 cpu-supply = <&vdd_cpu_big1_s0>;
251};
252
253&cpu_b3 {
254 cpu-supply = <&vdd_cpu_big1_s0>;
255};
256
257&cpu_l0 {
258 cpu-supply = <&vdd_cpu_lit_s0>;
259};
260
261&cpu_l1 {
262 cpu-supply = <&vdd_cpu_lit_s0>;
263};
264
265&cpu_l2 {
266 cpu-supply = <&vdd_cpu_lit_s0>;
267};
268
269&cpu_l3 {
270 cpu-supply = <&vdd_cpu_lit_s0>;
271};
272
273&gmac0 {
274 clock_in_out = "output";
275 phy-handle = <&rgmii_phy>;
276 phy-mode = "rgmii-rxid";
277 pinctrl-names = "default";
278 pinctrl-0 = <&gmac0_miim
279 &gmac0_tx_bus2
280 &gmac0_rx_bus2
281 &gmac0_rgmii_clk
282 &gmac0_rgmii_bus>;
283 rx_delay = <0x00>;
284 tx_delay = <0x43>;
285 status = "okay";
286};
287
Tom Rini762f85b2024-07-20 11:15:10 -0600288&gpu {
289 mali-supply = <&vdd_gpu_s0>;
290 sram-supply = <&vdd_gpu_mem_s0>;
291 status = "okay";
292};
293
Tom Rini53633a82024-02-29 12:33:36 -0500294&i2c2 {
295 status = "okay";
296
297 hym8563: rtc@51 {
298 compatible = "haoyu,hym8563";
299 reg = <0x51>;
300 #clock-cells = <0>;
301 clock-output-names = "hym8563";
302 interrupt-parent = <&gpio0>;
303 interrupts = <RK_PD4 IRQ_TYPE_LEVEL_LOW>;
304 pinctrl-names = "default";
305 pinctrl-0 = <&hym8563_int>;
306 wakeup-source;
307 };
308};
309
310&i2c7 {
311 status = "okay";
312
313 es8388: audio-codec@11 {
314 compatible = "everest,es8388";
315 reg = <0x11>;
316 assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
317 assigned-clock-rates = <12288000>;
318 clocks = <&cru I2S0_8CH_MCLKOUT>;
319 clock-names = "mclk";
320 AVDD-supply = <&avcc_1v8_codec_s0>;
321 DVDD-supply = <&avcc_1v8_codec_s0>;
322 HPVDD-supply = <&vcc_3v3_s0>;
323 PVDD-supply = <&vcc_3v3_s0>;
324 #sound-dai-cells = <0>;
325 };
326};
327
328&i2s0_8ch {
329 pinctrl-names = "default";
330 pinctrl-0 = <&i2s0_lrck
331 &i2s0_mclk
332 &i2s0_sclk
333 &i2s0_sdi0
334 &i2s0_sdo0>;
335 status = "okay";
336};
337
338&mdio0 {
339 rgmii_phy: ethernet-phy@1 {
340 /* RTL8211F */
341 compatible = "ethernet-phy-id001c.c916";
342 reg = <0x1>;
343 pinctrl-names = "default";
344 pinctrl-0 = <&rtl8211f_rst>;
345 reset-assert-us = <20000>;
346 reset-deassert-us = <100000>;
347 reset-gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_LOW>;
348 };
349};
350
351&pinctrl {
352 hym8563 {
353 hym8563_int: hym8563-int {
354 rockchip,pins = <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up>;
355 };
356 };
357
358 leds {
359 led_pins: led-pins {
360 rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>;
361 };
362 };
363
364 rtl8111 {
365 rtl8111_isolate: rtl8111-isolate {
366 rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;
367 };
368 };
369
370 rtl8211f {
371 rtl8211f_rst: rtl8211f-rst {
372 rockchip,pins = <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
373 };
374
375 };
376
377 sound {
378 hp_detect: hp-detect {
379 rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
380 };
381 };
382
383 usb {
384 vcc5v0_host_en: vcc5v0-host-en {
385 rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
386 };
387 };
388};
389
390/* WIFI */
391&pcie2x1l0 {
392 reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
393 vpcie3v3-supply = <&vcc3v3_wf>;
394 status = "okay";
395};
396
397/* GMAC1 */
398&pcie2x1l1 {
399 pinctrl-names = "default";
400 pinctrl-0 = <&rtl8111_isolate>;
401 reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
402 status = "okay";
403};
404
405&pcie30phy {
406 status = "okay";
407};
408
409&pcie3x4 {
410 reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
411 vpcie3v3-supply = <&vcc3v3_pcie30>;
412 status = "okay";
413};
414
415&saradc {
416 vref-supply = <&vcc_1v8_s0>;
417 status = "okay";
418};
419
420&sata0 {
421 status = "okay";
422};
423
424&sdhci {
425 bus-width = <8>;
426 no-sdio;
427 no-sd;
428 non-removable;
429 max-frequency = <150000000>;
430 mmc-hs400-1_8v;
431 mmc-hs400-enhanced-strobe;
432 status = "okay";
433};
434
435&sdmmc {
436 bus-width = <4>;
437 cap-sd-highspeed;
Tom Rini762f85b2024-07-20 11:15:10 -0600438 cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
Tom Rini53633a82024-02-29 12:33:36 -0500439 disable-wp;
440 max-frequency = <150000000>;
441 no-sdio;
442 no-mmc;
443 sd-uhs-sdr104;
444 vmmc-supply = <&vcc_3v3_s3>;
445 vqmmc-supply = <&vccio_sd_s0>;
446 status = "okay";
447};
448
449&spi2 {
450 assigned-clocks = <&cru CLK_SPI2>;
451 assigned-clock-rates = <200000000>;
452 num-cs = <2>;
453 status = "okay";
454
455 pmic@0 {
456 compatible = "rockchip,rk806";
457 reg = <0x0>;
458 #gpio-cells = <2>;
459 gpio-controller;
460 interrupt-parent = <&gpio0>;
461 interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
462 pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
463 <&rk806_dvs2_null>, <&rk806_dvs3_null>;
464 pinctrl-names = "default";
465 spi-max-frequency = <1000000>;
Tom Rini6bb92fc2024-05-20 09:54:58 -0600466 system-power-controller;
Tom Rini53633a82024-02-29 12:33:36 -0500467
468 vcc1-supply = <&vcc4v0_sys>;
469 vcc2-supply = <&vcc4v0_sys>;
470 vcc3-supply = <&vcc4v0_sys>;
471 vcc4-supply = <&vcc4v0_sys>;
472 vcc5-supply = <&vcc4v0_sys>;
473 vcc6-supply = <&vcc4v0_sys>;
474 vcc7-supply = <&vcc4v0_sys>;
475 vcc8-supply = <&vcc4v0_sys>;
476 vcc9-supply = <&vcc4v0_sys>;
477 vcc10-supply = <&vcc4v0_sys>;
478 vcc11-supply = <&vcc_2v0_pldo_s3>;
479 vcc12-supply = <&vcc4v0_sys>;
480 vcc13-supply = <&vcc_1v1_nldo_s3>;
481 vcc14-supply = <&vcc_1v1_nldo_s3>;
482 vcca-supply = <&vcc4v0_sys>;
483
484 rk806_dvs1_null: dvs1-null-pins {
485 pins = "gpio_pwrctrl1";
486 function = "pin_fun0";
487 };
488
489 rk806_dvs2_null: dvs2-null-pins {
490 pins = "gpio_pwrctrl2";
491 function = "pin_fun0";
492 };
493
494 rk806_dvs3_null: dvs3-null-pins {
495 pins = "gpio_pwrctrl3";
496 function = "pin_fun0";
497 };
498
499 regulators {
500 vdd_gpu_s0: dcdc-reg1 {
501 regulator-name = "vdd_gpu_s0";
Tom Rini762f85b2024-07-20 11:15:10 -0600502 /* regulator coupling requires always-on */
503 regulator-always-on;
Tom Rini53633a82024-02-29 12:33:36 -0500504 regulator-boot-on;
505 regulator-enable-ramp-delay = <400>;
506 regulator-min-microvolt = <550000>;
507 regulator-max-microvolt = <950000>;
508 regulator-ramp-delay = <12500>;
Tom Rini762f85b2024-07-20 11:15:10 -0600509 regulator-coupled-with = <&vdd_gpu_mem_s0>;
510 regulator-coupled-max-spread = <10000>;
Tom Rini53633a82024-02-29 12:33:36 -0500511
512 regulator-state-mem {
513 regulator-off-in-suspend;
514 };
515 };
516
517 vdd_npu_s0: dcdc-reg2 {
518 regulator-name = "vdd_npu_s0";
519 regulator-always-on;
520 regulator-boot-on;
521 regulator-min-microvolt = <550000>;
522 regulator-max-microvolt = <950000>;
523 regulator-ramp-delay = <12500>;
524
525 regulator-state-mem {
526 regulator-off-in-suspend;
527 };
528 };
529
530 vdd_log_s0: dcdc-reg3 {
531 regulator-name = "vdd_log_s0";
532 regulator-always-on;
533 regulator-boot-on;
534 regulator-min-microvolt = <675000>;
535 regulator-max-microvolt = <750000>;
536 regulator-ramp-delay = <12500>;
537
538 regulator-state-mem {
539 regulator-off-in-suspend;
540 regulator-suspend-microvolt = <750000>;
541 };
542 };
543
544 vdd_vdenc_s0: dcdc-reg4 {
545 regulator-name = "vdd_vdenc_s0";
546 regulator-always-on;
547 regulator-boot-on;
548 regulator-min-microvolt = <550000>;
549 regulator-max-microvolt = <950000>;
550 regulator-ramp-delay = <12500>;
551
552 regulator-state-mem {
553 regulator-off-in-suspend;
554 };
555
556 };
557
558 vdd_gpu_mem_s0: dcdc-reg5 {
559 regulator-name = "vdd_gpu_mem_s0";
Tom Rini762f85b2024-07-20 11:15:10 -0600560 /* regulator coupling requires always-on */
561 regulator-always-on;
Tom Rini53633a82024-02-29 12:33:36 -0500562 regulator-boot-on;
563 regulator-enable-ramp-delay = <400>;
564 regulator-min-microvolt = <675000>;
565 regulator-max-microvolt = <950000>;
566 regulator-ramp-delay = <12500>;
Tom Rini762f85b2024-07-20 11:15:10 -0600567 regulator-coupled-with = <&vdd_gpu_s0>;
568 regulator-coupled-max-spread = <10000>;
Tom Rini53633a82024-02-29 12:33:36 -0500569
570 regulator-state-mem {
571 regulator-off-in-suspend;
572 };
573
574 };
575
576 vdd_npu_mem_s0: dcdc-reg6 {
577 regulator-name = "vdd_npu_mem_s0";
578 regulator-always-on;
579 regulator-boot-on;
580 regulator-min-microvolt = <675000>;
581 regulator-max-microvolt = <950000>;
582 regulator-ramp-delay = <12500>;
583
584 regulator-state-mem {
585 regulator-off-in-suspend;
586 };
587
588 };
589
590 vcc_2v0_pldo_s3: dcdc-reg7 {
591 regulator-name = "vdd_2v0_pldo_s3";
592 regulator-always-on;
593 regulator-boot-on;
594 regulator-min-microvolt = <2000000>;
595 regulator-max-microvolt = <2000000>;
596 regulator-ramp-delay = <12500>;
597
598 regulator-state-mem {
599 regulator-on-in-suspend;
600 regulator-suspend-microvolt = <2000000>;
601 };
602 };
603
604 vdd_vdenc_mem_s0: dcdc-reg8 {
605 regulator-name = "vdd_vdenc_mem_s0";
606 regulator-always-on;
607 regulator-boot-on;
608 regulator-min-microvolt = <675000>;
609 regulator-max-microvolt = <950000>;
610 regulator-ramp-delay = <12500>;
611
612 regulator-state-mem {
613 regulator-off-in-suspend;
614 };
615 };
616
617 vdd2_ddr_s3: dcdc-reg9 {
618 regulator-name = "vdd2_ddr_s3";
619 regulator-always-on;
620 regulator-boot-on;
621
622 regulator-state-mem {
623 regulator-on-in-suspend;
624 };
625 };
626
627 vcc_1v1_nldo_s3: dcdc-reg10 {
628 regulator-name = "vcc_1v1_nldo_s3";
629 regulator-always-on;
630 regulator-boot-on;
631 regulator-min-microvolt = <1100000>;
632 regulator-max-microvolt = <1100000>;
633 regulator-ramp-delay = <12500>;
634
635 regulator-state-mem {
636 regulator-on-in-suspend;
637 regulator-suspend-microvolt = <1100000>;
638 };
639 };
640
641 avcc_1v8_s0: pldo-reg1 {
642 regulator-name = "avcc_1v8_s0";
643 regulator-always-on;
644 regulator-boot-on;
645 regulator-min-microvolt = <1800000>;
646 regulator-max-microvolt = <1800000>;
647 regulator-ramp-delay = <12500>;
648
649 regulator-state-mem {
650 regulator-off-in-suspend;
651 };
652 };
653
654 vdd1_1v8_ddr_s3: pldo-reg2 {
655 regulator-name = "vdd1_1v8_ddr_s3";
656 regulator-always-on;
657 regulator-boot-on;
658 regulator-min-microvolt = <1800000>;
659 regulator-max-microvolt = <1800000>;
660 regulator-ramp-delay = <12500>;
661
662 regulator-state-mem {
663 regulator-on-in-suspend;
664 regulator-suspend-microvolt = <1800000>;
665 };
666 };
667
668 avcc_1v8_codec_s0: pldo-reg3 {
669 regulator-name = "avcc_1v8_codec_s0";
670 regulator-always-on;
671 regulator-boot-on;
672 regulator-min-microvolt = <1800000>;
673 regulator-max-microvolt = <1800000>;
674 regulator-ramp-delay = <12500>;
675
676 regulator-state-mem {
677 regulator-off-in-suspend;
678 };
679 };
680
681 vcc_3v3_s3: pldo-reg4 {
682 regulator-name = "vcc_3v3_s3";
683 regulator-always-on;
684 regulator-boot-on;
685 regulator-min-microvolt = <3300000>;
686 regulator-max-microvolt = <3300000>;
687 regulator-ramp-delay = <12500>;
688
689 regulator-state-mem {
690 regulator-on-in-suspend;
691 regulator-suspend-microvolt = <3300000>;
692 };
693 };
694
695 vccio_sd_s0: pldo-reg5 {
696 regulator-name = "vccio_sd_s0";
697 regulator-always-on;
698 regulator-boot-on;
699 regulator-min-microvolt = <1800000>;
700 regulator-max-microvolt = <3300000>;
701 regulator-ramp-delay = <12500>;
702
703 regulator-state-mem {
704 regulator-off-in-suspend;
705 };
706 };
707
708 vcc_1v8_s3: pldo-reg6 {
709 regulator-name = "vcc_1v8_s3";
710 regulator-always-on;
711 regulator-boot-on;
712 regulator-min-microvolt = <1800000>;
713 regulator-max-microvolt = <1800000>;
714 regulator-ramp-delay = <12500>;
715
716 regulator-state-mem {
717 regulator-on-in-suspend;
718 regulator-suspend-microvolt = <1800000>;
719 };
720 };
721
722 vdd_0v75_s3: nldo-reg1 {
723 regulator-name = "vdd_0v75_s3";
724 regulator-always-on;
725 regulator-boot-on;
726 regulator-min-microvolt = <750000>;
727 regulator-max-microvolt = <750000>;
728 regulator-ramp-delay = <12500>;
729
730 regulator-state-mem {
731 regulator-on-in-suspend;
732 regulator-suspend-microvolt = <750000>;
733 };
734 };
735
736 /* reserved for LPDDR5, unused? */
737 vdd2l_0v9_ddr_s3: nldo-reg2 {
738 regulator-name = "vdd2l_0v9_ddr_s3";
739 regulator-always-on;
740 regulator-boot-on;
741 regulator-min-microvolt = <900000>;
742 regulator-max-microvolt = <900000>;
743
744 regulator-state-mem {
745 regulator-on-in-suspend;
746 regulator-suspend-microvolt = <900000>;
747 };
748 };
749
750 vdd_0v75_hdmi_edp_s0: nldo-reg3 {
751 regulator-name = "vdd_0v75_hdmi_edp_s0";
752 regulator-always-on;
753 regulator-boot-on;
754 regulator-min-microvolt = <750000>;
755 regulator-max-microvolt = <750000>;
756
757 regulator-state-mem {
758 regulator-off-in-suspend;
759 };
760 };
761
762 avdd_0v75_s0: nldo-reg4 {
763 regulator-name = "avdd_0v75_s0";
764 regulator-always-on;
765 regulator-boot-on;
766 regulator-min-microvolt = <750000>;
767 regulator-max-microvolt = <750000>;
768
769 regulator-state-mem {
770 regulator-off-in-suspend;
771 };
772 };
773
774 vdd_0v85_s0: nldo-reg5 {
775 regulator-name = "vdd_0v85_s0";
776 regulator-always-on;
777 regulator-boot-on;
778 regulator-min-microvolt = <850000>;
779 regulator-max-microvolt = <850000>;
780
781 regulator-state-mem {
782 regulator-off-in-suspend;
783 };
784 };
785 };
786 };
787
788 pmic@1 {
789 compatible = "rockchip,rk806";
790 reg = <0x01>;
791 #gpio-cells = <2>;
792 gpio-controller;
793 interrupt-parent = <&gpio0>;
794 interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
795 pinctrl-0 = <&rk806_slave_dvs1_null>, <&rk806_slave_dvs2_null>,
796 <&rk806_slave_dvs3_null>;
797 pinctrl-names = "default";
798 spi-max-frequency = <1000000>;
799
800 vcc1-supply = <&vcc4v0_sys>;
801 vcc2-supply = <&vcc4v0_sys>;
802 vcc3-supply = <&vcc4v0_sys>;
803 vcc4-supply = <&vcc4v0_sys>;
804 vcc5-supply = <&vcc4v0_sys>;
805 vcc6-supply = <&vcc4v0_sys>;
806 vcc7-supply = <&vcc4v0_sys>;
807 vcc8-supply = <&vcc4v0_sys>;
808 vcc9-supply = <&vcc4v0_sys>;
809 vcc10-supply = <&vcc4v0_sys>;
810 vcc11-supply = <&vcc_2v0_pldo_s3>;
811 vcc12-supply = <&vcc4v0_sys>;
812 vcc13-supply = <&vcc_1v1_nldo_s3>;
813 vcc14-supply = <&vcc_2v0_pldo_s3>;
814 vcca-supply = <&vcc4v0_sys>;
815
816 rk806_slave_dvs1_null: dvs1-null-pins {
817 pins = "gpio_pwrctrl1";
818 function = "pin_fun0";
819 };
820
821 rk806_slave_dvs2_null: dvs2-null-pins {
822 pins = "gpio_pwrctrl2";
823 function = "pin_fun0";
824 };
825
826 rk806_slave_dvs3_null: dvs3-null-pins {
827 pins = "gpio_pwrctrl3";
828 function = "pin_fun0";
829 };
830
831 regulators {
832 vdd_cpu_big1_s0: dcdc-reg1 {
833 regulator-name = "vdd_cpu_big1_s0";
834 regulator-always-on;
835 regulator-boot-on;
836 regulator-min-microvolt = <550000>;
837 regulator-max-microvolt = <1050000>;
838 regulator-ramp-delay = <12500>;
839
840 regulator-state-mem {
841 regulator-off-in-suspend;
842 };
843 };
844
845 vdd_cpu_big0_s0: dcdc-reg2 {
846 regulator-name = "vdd_cpu_big0_s0";
847 regulator-always-on;
848 regulator-boot-on;
849 regulator-min-microvolt = <550000>;
850 regulator-max-microvolt = <1050000>;
851 regulator-ramp-delay = <12500>;
852
853 regulator-state-mem {
854 regulator-off-in-suspend;
855 };
856 };
857
858 vdd_cpu_lit_s0: dcdc-reg3 {
859 regulator-name = "vdd_cpu_lit_s0";
860 regulator-always-on;
861 regulator-boot-on;
862 regulator-min-microvolt = <550000>;
863 regulator-max-microvolt = <950000>;
864 regulator-ramp-delay = <12500>;
865
866 regulator-state-mem {
867 regulator-off-in-suspend;
868 };
869 };
870
871 vcc_3v3_s0: dcdc-reg4 {
872 regulator-name = "vcc_3v3_s0";
873 regulator-always-on;
874 regulator-boot-on;
875 regulator-min-microvolt = <3300000>;
876 regulator-max-microvolt = <3300000>;
877 regulator-ramp-delay = <12500>;
878
879 regulator-state-mem {
880 regulator-off-in-suspend;
881 };
882 };
883
884 vdd_cpu_big1_mem_s0: dcdc-reg5 {
885 regulator-name = "vdd_cpu_big1_mem_s0";
886 regulator-always-on;
887 regulator-boot-on;
888 regulator-min-microvolt = <675000>;
889 regulator-max-microvolt = <1050000>;
890 regulator-ramp-delay = <12500>;
891
892 regulator-state-mem {
893 regulator-off-in-suspend;
894 };
895 };
896
897
898 vdd_cpu_big0_mem_s0: dcdc-reg6 {
899 regulator-name = "vdd_cpu_big0_mem_s0";
900 regulator-always-on;
901 regulator-boot-on;
902 regulator-min-microvolt = <675000>;
903 regulator-max-microvolt = <1050000>;
904 regulator-ramp-delay = <12500>;
905
906 regulator-state-mem {
907 regulator-off-in-suspend;
908 };
909 };
910
911 vcc_1v8_s0: dcdc-reg7 {
912 regulator-name = "vcc_1v8_s0";
913 regulator-always-on;
914 regulator-boot-on;
915 regulator-min-microvolt = <1800000>;
916 regulator-max-microvolt = <1800000>;
917 regulator-ramp-delay = <12500>;
918
919 regulator-state-mem {
920 regulator-off-in-suspend;
921 };
922 };
923
924 vdd_cpu_lit_mem_s0: dcdc-reg8 {
925 regulator-name = "vdd_cpu_lit_mem_s0";
926 regulator-always-on;
927 regulator-boot-on;
928 regulator-min-microvolt = <675000>;
929 regulator-max-microvolt = <950000>;
930 regulator-ramp-delay = <12500>;
931
932 regulator-state-mem {
933 regulator-off-in-suspend;
934 };
935 };
936
937 vddq_ddr_s0: dcdc-reg9 {
938 regulator-name = "vddq_ddr_s0";
939 regulator-always-on;
940 regulator-boot-on;
941
942 regulator-state-mem {
943 regulator-off-in-suspend;
944 };
945 };
946
947 vdd_ddr_s0: dcdc-reg10 {
948 regulator-name = "vdd_ddr_s0";
949 regulator-always-on;
950 regulator-boot-on;
951 regulator-min-microvolt = <675000>;
952 regulator-max-microvolt = <900000>;
953 regulator-ramp-delay = <12500>;
954
955 regulator-state-mem {
956 regulator-off-in-suspend;
957 };
958 };
959
960 /* reserved, unused? */
961 vcc_1v8_cam_s0: pldo-reg1 {
962 regulator-name = "vcc_1v8_cam_s0";
963 regulator-always-on;
964 regulator-boot-on;
965 regulator-min-microvolt = <1800000>;
966 regulator-max-microvolt = <1800000>;
967 regulator-ramp-delay = <12500>;
968
969 regulator-state-mem {
970 regulator-off-in-suspend;
971 };
972 };
973
974 avdd1v8_ddr_pll_s0: pldo-reg2 {
975 regulator-name = "avdd1v8_ddr_pll_s0";
976 regulator-always-on;
977 regulator-boot-on;
978 regulator-min-microvolt = <1800000>;
979 regulator-max-microvolt = <1800000>;
980 regulator-ramp-delay = <12500>;
981
982 regulator-state-mem {
983 regulator-off-in-suspend;
984 };
985 };
986
987 vdd_1v8_pll_s0: pldo-reg3 {
988 regulator-name = "vdd_1v8_pll_s0";
989 regulator-always-on;
990 regulator-boot-on;
991 regulator-min-microvolt = <1800000>;
992 regulator-max-microvolt = <1800000>;
993 regulator-ramp-delay = <12500>;
994
995 regulator-state-mem {
996 regulator-off-in-suspend;
997 };
998 };
999
1000 /* reserved, unused? */
1001 vcc_3v3_sd_s0: pldo-reg4 {
1002 regulator-name = "vcc_3v3_sd_s0";
1003 regulator-always-on;
1004 regulator-boot-on;
1005 regulator-min-microvolt = <3300000>;
1006 regulator-max-microvolt = <3300000>;
1007 regulator-ramp-delay = <12500>;
1008
1009 regulator-state-mem {
1010 regulator-off-in-suspend;
1011 };
1012 };
1013
1014 /* reserved, unused? */
1015 vcc_2v8_cam_s0: pldo-reg5 {
1016 regulator-name = "vcc_2v8_cam_s0";
1017 regulator-always-on;
1018 regulator-boot-on;
1019 regulator-min-microvolt = <2800000>;
1020 regulator-max-microvolt = <2800000>;
1021 regulator-ramp-delay = <12500>;
1022
1023 regulator-state-mem {
1024 regulator-off-in-suspend;
1025 };
1026 };
1027
1028 /* unused */
1029 pldo6_s3: pldo-reg6 {
1030 regulator-name = "pldo6_s3";
1031 regulator-always-on;
1032 regulator-boot-on;
1033 regulator-min-microvolt = <1800000>;
1034 regulator-max-microvolt = <1800000>;
1035
1036 regulator-state-mem {
1037 regulator-on-in-suspend;
1038 regulator-suspend-microvolt = <1800000>;
1039 };
1040 };
1041
1042 vdd_0v75_pll_s0: nldo-reg1 {
1043 regulator-name = "vdd_0v75_pll_s0";
1044 regulator-always-on;
1045 regulator-boot-on;
1046 regulator-min-microvolt = <750000>;
1047 regulator-max-microvolt = <750000>;
1048 regulator-ramp-delay = <12500>;
1049
1050 regulator-state-mem {
1051 regulator-off-in-suspend;
1052 };
1053 };
1054
1055 vdd_ddr_pll_s0: nldo-reg2 {
1056 regulator-name = "vdd_ddr_pll_s0";
1057 regulator-always-on;
1058 regulator-boot-on;
1059 regulator-min-microvolt = <850000>;
1060 regulator-max-microvolt = <850000>;
1061
1062 regulator-state-mem {
1063 regulator-off-in-suspend;
1064 };
1065 };
1066
1067 avdd_0v85_s0: nldo-reg3 {
1068 regulator-name = "avdd_0v85_s0";
1069 regulator-always-on;
1070 regulator-boot-on;
1071 regulator-min-microvolt = <850000>;
1072 regulator-max-microvolt = <850000>;
1073 regulator-ramp-delay = <12500>;
1074
1075 regulator-state-mem {
1076 regulator-off-in-suspend;
1077 };
1078 };
1079
1080 /* reserved, unused */
1081 avdd_1v2_cam_s0: nldo-reg4 {
1082 regulator-name = "avdd_1v2_cam_s0";
1083 regulator-always-on;
1084 regulator-boot-on;
1085 regulator-min-microvolt = <1200000>;
1086 regulator-max-microvolt = <1200000>;
1087 regulator-ramp-delay = <12500>;
1088
1089 regulator-state-mem {
1090 regulator-off-in-suspend;
1091 };
1092 };
1093
1094 avdd_1v2_s0: nldo-reg5 {
1095 regulator-name = "avdd_1v2_s0";
1096 regulator-always-on;
1097 regulator-boot-on;
1098 regulator-min-microvolt = <1200000>;
1099 regulator-max-microvolt = <1200000>;
1100 regulator-ramp-delay = <12500>;
1101
1102 regulator-state-mem {
1103 regulator-off-in-suspend;
1104 };
1105 };
1106 };
1107 };
1108};
1109
1110&tsadc {
1111 status = "okay";
1112};
1113
1114&u2phy2 {
1115 status = "okay";
1116};
1117
1118&u2phy2_host {
1119 phy-supply = <&vcc5v0_host>;
1120 status = "okay";
1121};
1122
1123&u2phy3 {
1124 status = "okay";
1125};
1126
1127&u2phy3_host {
1128 phy-supply = <&vcc5v0_host>;
1129 status = "okay";
1130};
1131
1132&uart2 {
1133 pinctrl-names = "default";
1134 pinctrl-0 = <&uart2m0_xfer>;
1135 status = "okay";
1136};
1137
1138&usb_host0_ehci {
1139 status = "okay";
1140};
1141
1142&usb_host0_ohci {
1143 status = "okay";
1144};
1145
1146&usb_host1_ehci {
1147 status = "okay";
1148};
1149
1150&usb_host1_ohci {
1151 status = "okay";
1152};