blob: 00f660d50127f75e9f4952fd0ea80bb0680916fe [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
4 *
5 */
6
7/dts-v1/;
8
9#include <dt-bindings/gpio/gpio.h>
10#include <dt-bindings/input/input.h>
11#include <dt-bindings/pinctrl/rockchip.h>
Tom Rini762f85b2024-07-20 11:15:10 -060012#include <dt-bindings/usb/pd.h>
Tom Rini53633a82024-02-29 12:33:36 -050013#include "rk3588.dtsi"
14
15/ {
16 model = "Rockchip RK3588 EVB1 V10 Board";
17 compatible = "rockchip,rk3588-evb1-v10", "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;
Tom Rini53633a82024-02-29 12:33:36 -050022 };
23
24 chosen {
25 stdout-path = "serial2:1500000n8";
26 };
27
28 adc-keys {
29 compatible = "adc-keys";
30 io-channels = <&saradc 1>;
31 io-channel-names = "buttons";
32 keyup-threshold-microvolt = <1800000>;
33 poll-interval = <100>;
34
35 button-vol-up {
36 label = "Volume Up";
37 linux,code = <KEY_VOLUMEUP>;
38 press-threshold-microvolt = <17000>;
39 };
40
41 button-vol-down {
42 label = "Volume Down";
43 linux,code = <KEY_VOLUMEDOWN>;
44 press-threshold-microvolt = <417000>;
45 };
46
47 button-menu {
48 label = "Menu";
49 linux,code = <KEY_MENU>;
50 press-threshold-microvolt = <890000>;
51 };
52
53 button-escape {
54 label = "Escape";
55 linux,code = <KEY_ESC>;
56 press-threshold-microvolt = <1235000>;
57 };
58 };
59
Tom Rini93743d22024-04-01 09:08:13 -040060 analog-sound {
61 compatible = "simple-audio-card";
62 pinctrl-names = "default";
63 pinctrl-0 = <&hp_detect>;
64 simple-audio-card,name = "RK3588 EVB1 Audio";
65 simple-audio-card,aux-devs = <&amp_headphone>, <&amp_speaker>;
66 simple-audio-card,bitclock-master = <&masterdai>;
67 simple-audio-card,format = "i2s";
68 simple-audio-card,frame-master = <&masterdai>;
69 simple-audio-card,hp-det-gpio = <&gpio1 RK_PD5 GPIO_ACTIVE_LOW>;
70 simple-audio-card,mclk-fs = <256>;
71 simple-audio-card,pin-switches = "Headphones", "Speaker";
72 simple-audio-card,routing =
73 "Speaker Amplifier INL", "LOUT2",
74 "Speaker Amplifier INR", "ROUT2",
75 "Speaker", "Speaker Amplifier OUTL",
76 "Speaker", "Speaker Amplifier OUTR",
77 "Headphones Amplifier INL", "LOUT1",
78 "Headphones Amplifier INR", "ROUT1",
79 "Headphones", "Headphones Amplifier OUTL",
80 "Headphones", "Headphones Amplifier OUTR",
81 "LINPUT1", "Onboard Microphone",
82 "RINPUT1", "Onboard Microphone",
83 "LINPUT2", "Microphone Jack",
84 "RINPUT2", "Microphone Jack";
85 simple-audio-card,widgets =
86 "Microphone", "Microphone Jack",
87 "Microphone", "Onboard Microphone",
88 "Headphone", "Headphones",
89 "Speaker", "Speaker";
90
91 simple-audio-card,cpu {
92 sound-dai = <&i2s0_8ch>;
93 };
94
95 masterdai: simple-audio-card,codec {
96 sound-dai = <&es8388>;
97 system-clock-frequency = <12288000>;
98 };
99 };
100
101 amp_headphone: headphone-amplifier {
102 compatible = "simple-audio-amplifier";
103 enable-gpios = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
104 pinctrl-names = "default";
105 pinctrl-0 = <&headphone_amplifier_en>;
106 sound-name-prefix = "Headphones Amplifier";
107 };
108
109 amp_speaker: speaker-amplifier {
110 compatible = "simple-audio-amplifier";
111 enable-gpios = <&gpio1 RK_PD3 GPIO_ACTIVE_HIGH>;
112 pinctrl-names = "default";
113 pinctrl-0 = <&speaker_amplifier_en>;
114 sound-name-prefix = "Speaker Amplifier";
115 };
116
Tom Rini53633a82024-02-29 12:33:36 -0500117 backlight: backlight {
118 compatible = "pwm-backlight";
119 power-supply = <&vcc12v_dcin>;
120 pwms = <&pwm2 0 25000 0>;
121 };
122
123 pcie20_avdd0v85: pcie20-avdd0v85-regulator {
124 compatible = "regulator-fixed";
125 regulator-name = "pcie20_avdd0v85";
126 regulator-always-on;
127 regulator-boot-on;
128 regulator-min-microvolt = <850000>;
129 regulator-max-microvolt = <850000>;
130 vin-supply = <&avdd_0v85_s0>;
131 };
132
133 pcie20_avdd1v8: pcie20-avdd1v8-regulator {
134 compatible = "regulator-fixed";
135 regulator-name = "pcie20_avdd1v8";
136 regulator-always-on;
137 regulator-boot-on;
138 regulator-min-microvolt = <1800000>;
139 regulator-max-microvolt = <1800000>;
140 vin-supply = <&avcc_1v8_s0>;
141 };
142
143 pcie30_avdd0v75: pcie30-avdd0v75-regulator {
144 compatible = "regulator-fixed";
145 regulator-name = "pcie30_avdd0v75";
146 regulator-always-on;
147 regulator-boot-on;
148 regulator-min-microvolt = <750000>;
149 regulator-max-microvolt = <750000>;
150 vin-supply = <&avdd_0v75_s0>;
151 };
152
153 pcie30_avdd1v8: pcie30-avdd1v8-regulator {
154 compatible = "regulator-fixed";
155 regulator-name = "pcie30_avdd1v8";
156 regulator-always-on;
157 regulator-boot-on;
158 regulator-min-microvolt = <1800000>;
159 regulator-max-microvolt = <1800000>;
160 vin-supply = <&avcc_1v8_s0>;
161 };
162
Tom Rini762f85b2024-07-20 11:15:10 -0600163 vbus5v0_typec: vbus5v0-typec-regulator {
164 compatible = "regulator-fixed";
165 enable-active-high;
166 gpio = <&gpio4 RK_PD0 GPIO_ACTIVE_HIGH>;
167 pinctrl-names = "default";
168 pinctrl-0 = <&typec5v_pwren>;
169 regulator-name = "vbus5v0_typec";
170 regulator-min-microvolt = <5000000>;
171 regulator-max-microvolt = <5000000>;
172 vin-supply = <&vcc5v0_usb>;
173 };
174
Tom Rini53633a82024-02-29 12:33:36 -0500175 vcc12v_dcin: vcc12v-dcin-regulator {
176 compatible = "regulator-fixed";
177 regulator-name = "vcc12v_dcin";
178 regulator-always-on;
179 regulator-boot-on;
180 regulator-min-microvolt = <12000000>;
181 regulator-max-microvolt = <12000000>;
182 };
183
184 vcc3v3_pcie30: vcc3v3-pcie30-regulator {
185 compatible = "regulator-fixed";
186 regulator-name = "vcc3v3_pcie30";
187 regulator-min-microvolt = <3300000>;
188 regulator-max-microvolt = <3300000>;
189 enable-active-high;
190 gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_HIGH>;
191 startup-delay-us = <5000>;
192 vin-supply = <&vcc12v_dcin>;
193 pinctrl-names = "default";
194 pinctrl-0 = <&vcc3v3_pcie30_en>;
195 };
196
197 vcc5v0_host: vcc5v0-host-regulator {
198 compatible = "regulator-fixed";
199 regulator-name = "vcc5v0_host";
200 regulator-boot-on;
201 regulator-always-on;
202 regulator-min-microvolt = <5000000>;
203 regulator-max-microvolt = <5000000>;
204 enable-active-high;
205 gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;
206 pinctrl-names = "default";
207 pinctrl-0 = <&vcc5v0_host_en>;
208 vin-supply = <&vcc5v0_usb>;
209 };
210
211 vcc5v0_sys: vcc5v0-sys-regulator {
212 compatible = "regulator-fixed";
213 regulator-name = "vcc5v0_sys";
214 regulator-always-on;
215 regulator-boot-on;
216 regulator-min-microvolt = <5000000>;
217 regulator-max-microvolt = <5000000>;
218 vin-supply = <&vcc12v_dcin>;
219 };
220
221 vcc5v0_usbdcin: vcc5v0-usbdcin-regulator {
222 compatible = "regulator-fixed";
223 regulator-name = "vcc5v0_usbdcin";
224 regulator-always-on;
225 regulator-boot-on;
226 regulator-min-microvolt = <5000000>;
227 regulator-max-microvolt = <5000000>;
228 vin-supply = <&vcc12v_dcin>;
229 };
230
231 vcc5v0_usb: vcc5v0-usb-regulator {
232 compatible = "regulator-fixed";
233 regulator-name = "vcc5v0_usb";
234 regulator-always-on;
235 regulator-boot-on;
236 regulator-min-microvolt = <5000000>;
237 regulator-max-microvolt = <5000000>;
238 vin-supply = <&vcc5v0_usbdcin>;
239 };
240};
241
242&combphy0_ps {
243 status = "okay";
244};
245
246&combphy2_psu {
247 status = "okay";
248};
249
250&cpu_b0 {
251 cpu-supply = <&vdd_cpu_big0_s0>;
252};
253
254&cpu_b1 {
255 cpu-supply = <&vdd_cpu_big0_s0>;
256};
257
258&cpu_b2 {
259 cpu-supply = <&vdd_cpu_big1_s0>;
260};
261
262&cpu_b3 {
263 cpu-supply = <&vdd_cpu_big1_s0>;
264};
265
266&cpu_l0 {
267 cpu-supply = <&vdd_cpu_lit_s0>;
268};
269
270&cpu_l1 {
271 cpu-supply = <&vdd_cpu_lit_s0>;
272};
273
274&cpu_l2 {
275 cpu-supply = <&vdd_cpu_lit_s0>;
276};
277
278&cpu_l3 {
279 cpu-supply = <&vdd_cpu_lit_s0>;
280};
281
282&gmac0 {
283 clock_in_out = "output";
284 phy-handle = <&rgmii_phy>;
285 phy-mode = "rgmii-rxid";
286 pinctrl-0 = <&gmac0_miim
287 &gmac0_tx_bus2
288 &gmac0_rx_bus2
289 &gmac0_rgmii_clk
290 &gmac0_rgmii_bus>;
291 pinctrl-names = "default";
292 rx_delay = <0x00>;
293 tx_delay = <0x43>;
294 status = "okay";
295};
296
Tom Rini762f85b2024-07-20 11:15:10 -0600297&gpu {
298 mali-supply = <&vdd_gpu_s0>;
299 sram-supply = <&vdd_gpu_mem_s0>;
300 status = "okay";
301};
302
Tom Rini53633a82024-02-29 12:33:36 -0500303&i2c2 {
304 status = "okay";
305
Tom Rini762f85b2024-07-20 11:15:10 -0600306 usbc0: usb-typec@22 {
307 compatible = "fcs,fusb302";
308 reg = <0x22>;
309 interrupt-parent = <&gpio3>;
310 interrupts = <RK_PB4 IRQ_TYPE_LEVEL_LOW>;
311 pinctrl-names = "default";
312 pinctrl-0 = <&usbc0_int>;
313 vbus-supply = <&vbus5v0_typec>;
314 status = "okay";
315
316 usb_con: connector {
317 compatible = "usb-c-connector";
318 label = "USB-C";
319 data-role = "dual";
320 op-sink-microwatt = <1000000>;
321 power-role = "dual";
322 sink-pdos =
323 <PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>;
324 source-pdos =
325 <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
326 try-power-role = "source";
327
328 ports {
329 #address-cells = <1>;
330 #size-cells = <0>;
331
332 port@0 {
333 reg = <0>;
334
335 usbc0_orien_sw: endpoint {
336 remote-endpoint = <&usbdp_phy0_orientation_switch>;
337 };
338 };
339
340 port@1 {
341 reg = <1>;
342
343 usbc0_role_sw: endpoint {
344 remote-endpoint = <&dwc3_0_role_switch>;
345 };
346 };
347
348 port@2 {
349 reg = <2>;
350
351 dp_altmode_mux: endpoint {
352 remote-endpoint = <&usbdp_phy0_dp_altmode_mux>;
353 };
354 };
355 };
356 };
357 };
358
Tom Rini53633a82024-02-29 12:33:36 -0500359 hym8563: rtc@51 {
360 compatible = "haoyu,hym8563";
361 reg = <0x51>;
362 #clock-cells = <0>;
363 clock-output-names = "hym8563";
364 pinctrl-names = "default";
365 pinctrl-0 = <&hym8563_int>;
366 interrupt-parent = <&gpio0>;
367 interrupts = <RK_PD4 IRQ_TYPE_LEVEL_LOW>;
368 wakeup-source;
369 };
370};
371
Tom Rini93743d22024-04-01 09:08:13 -0400372&i2c7 {
373 status = "okay";
374
375 es8388: audio-codec@11 {
376 compatible = "everest,es8388";
377 reg = <0x11>;
378 clocks = <&cru I2S0_8CH_MCLKOUT>;
379 assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
380 assigned-clock-rates = <12288000>;
381 AVDD-supply = <&avcc_1v8_codec_s0>;
382 DVDD-supply = <&avcc_1v8_codec_s0>;
383 HPVDD-supply = <&vcc_3v3_s0>;
384 PVDD-supply = <&vcc_3v3_s0>;
385 #sound-dai-cells = <0>;
386 };
387};
388
389&i2s0_8ch {
390 pinctrl-0 = <&i2s0_lrck
391 &i2s0_mclk
392 &i2s0_sclk
393 &i2s0_sdi0
394 &i2s0_sdo0>;
395 status = "okay";
396};
397
Tom Rini53633a82024-02-29 12:33:36 -0500398&mdio0 {
399 rgmii_phy: ethernet-phy@1 {
400 /* RTL8211F */
401 compatible = "ethernet-phy-id001c.c916";
402 reg = <0x1>;
403 pinctrl-names = "default";
404 pinctrl-0 = <&rtl8211f_rst>;
405 reset-assert-us = <20000>;
406 reset-deassert-us = <100000>;
407 reset-gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_LOW>;
408 };
409};
410
411&pcie2x1l1 {
412 reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
413 pinctrl-names = "default";
414 pinctrl-0 = <&pcie2_1_rst>, <&rtl8111_isolate>;
415 status = "okay";
416};
417
418&pcie30phy {
419 status = "okay";
420};
421
422&pcie3x4 {
423 pinctrl-names = "default";
424 pinctrl-0 = <&pcie3_reset>;
425 reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
426 vpcie3v3-supply = <&vcc3v3_pcie30>;
427 status = "okay";
428};
429
430&pinctrl {
Tom Rini93743d22024-04-01 09:08:13 -0400431 audio {
432 hp_detect: headphone-detect {
433 rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
434 };
435
436 headphone_amplifier_en: headphone-amplifier-en {
437 rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
438 };
439
440 speaker_amplifier_en: speaker-amplifier-en {
441 rockchip,pins = <1 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
442 };
443 };
444
Tom Rini53633a82024-02-29 12:33:36 -0500445 rtl8111 {
446 rtl8111_isolate: rtl8111-isolate {
447 rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;
448 };
449 };
450
451 rtl8211f {
452 rtl8211f_rst: rtl8211f-rst {
453 rockchip,pins = <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
454 };
455
456 };
457
458 hym8563 {
459 hym8563_int: hym8563-int {
460 rockchip,pins = <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up>;
461 };
462 };
463
464 pcie2 {
465 pcie2_1_rst: pcie2-1-rst {
466 rockchip,pins = <4 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
467 };
468 };
469
470 pcie3 {
471 pcie3_reset: pcie3-reset {
472 rockchip,pins = <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
473 };
474
475 vcc3v3_pcie30_en: vcc3v3-pcie30-en {
476 rockchip,pins = <3 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>;
477 };
478 };
479
480 usb {
481 vcc5v0_host_en: vcc5v0-host-en {
482 rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
483 };
484 };
Tom Rini762f85b2024-07-20 11:15:10 -0600485
486 usb-typec {
487 typec5v_pwren: typec5v-pwren {
488 rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
489 };
490
491 usbc0_int: usbc0-int {
492 rockchip,pins = <3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>;
493 };
494 };
Tom Rini53633a82024-02-29 12:33:36 -0500495};
496
497&pwm2 {
498 status = "okay";
499};
500
501&saradc {
502 vref-supply = <&vcc_1v8_s0>;
503 status = "okay";
504};
505
506&sdhci {
507 bus-width = <8>;
508 no-sdio;
509 no-sd;
510 non-removable;
511 mmc-hs400-1_8v;
512 mmc-hs400-enhanced-strobe;
513 status = "okay";
514};
515
516&spi2 {
517 status = "okay";
518 assigned-clocks = <&cru CLK_SPI2>;
519 assigned-clock-rates = <200000000>;
520 num-cs = <2>;
521
522 pmic@0 {
523 compatible = "rockchip,rk806";
524 reg = <0x0>;
525 #gpio-cells = <2>;
526 gpio-controller;
527 interrupt-parent = <&gpio0>;
528 interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
529 pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
530 <&rk806_dvs2_null>, <&rk806_dvs3_null>;
531 pinctrl-names = "default";
532 spi-max-frequency = <1000000>;
Tom Rini93743d22024-04-01 09:08:13 -0400533 system-power-controller;
Tom Rini53633a82024-02-29 12:33:36 -0500534
535 vcc1-supply = <&vcc5v0_sys>;
536 vcc2-supply = <&vcc5v0_sys>;
537 vcc3-supply = <&vcc5v0_sys>;
538 vcc4-supply = <&vcc5v0_sys>;
539 vcc5-supply = <&vcc5v0_sys>;
540 vcc6-supply = <&vcc5v0_sys>;
541 vcc7-supply = <&vcc5v0_sys>;
542 vcc8-supply = <&vcc5v0_sys>;
543 vcc9-supply = <&vcc5v0_sys>;
544 vcc10-supply = <&vcc5v0_sys>;
545 vcc11-supply = <&vcc_2v0_pldo_s3>;
546 vcc12-supply = <&vcc5v0_sys>;
547 vcc13-supply = <&vcc5v0_sys>;
548 vcc14-supply = <&vcc_1v1_nldo_s3>;
549 vcca-supply = <&vcc5v0_sys>;
550
551 rk806_dvs1_null: dvs1-null-pins {
552 pins = "gpio_pwrctrl1";
553 function = "pin_fun0";
554 };
555
556 rk806_dvs2_null: dvs2-null-pins {
557 pins = "gpio_pwrctrl2";
558 function = "pin_fun0";
559 };
560
561 rk806_dvs3_null: dvs3-null-pins {
562 pins = "gpio_pwrctrl3";
563 function = "pin_fun0";
564 };
565
566
567 regulators {
568 vdd_gpu_s0: dcdc-reg1 {
Tom Rini762f85b2024-07-20 11:15:10 -0600569 /* regulator coupling requires always-on */
570 regulator-always-on;
Tom Rini53633a82024-02-29 12:33:36 -0500571 regulator-boot-on;
572 regulator-min-microvolt = <550000>;
573 regulator-max-microvolt = <950000>;
574 regulator-ramp-delay = <12500>;
575 regulator-name = "vdd_gpu_s0";
576 regulator-enable-ramp-delay = <400>;
Tom Rini762f85b2024-07-20 11:15:10 -0600577 regulator-coupled-with = <&vdd_gpu_mem_s0>;
578 regulator-coupled-max-spread = <10000>;
Tom Rini53633a82024-02-29 12:33:36 -0500579 regulator-state-mem {
580 regulator-off-in-suspend;
581 };
582 };
583
584 vdd_npu_s0: dcdc-reg2 {
585 regulator-always-on;
586 regulator-boot-on;
587 regulator-min-microvolt = <550000>;
588 regulator-max-microvolt = <950000>;
589 regulator-ramp-delay = <12500>;
590 regulator-name = "vdd_npu_s0";
591 regulator-state-mem {
592 regulator-off-in-suspend;
593 };
594 };
595
596 vdd_log_s0: dcdc-reg3 {
597 regulator-always-on;
598 regulator-boot-on;
599 regulator-min-microvolt = <675000>;
600 regulator-max-microvolt = <750000>;
601 regulator-ramp-delay = <12500>;
602 regulator-name = "vdd_log_s0";
603 regulator-state-mem {
604 regulator-off-in-suspend;
605 regulator-suspend-microvolt = <750000>;
606 };
607 };
608
609 vdd_vdenc_s0: dcdc-reg4 {
610 regulator-always-on;
611 regulator-boot-on;
612 regulator-min-microvolt = <550000>;
613 regulator-max-microvolt = <950000>;
614 regulator-ramp-delay = <12500>;
615 regulator-name = "vdd_vdenc_s0";
616 regulator-state-mem {
617 regulator-off-in-suspend;
618 };
619
620 };
621
622 vdd_gpu_mem_s0: dcdc-reg5 {
Tom Rini762f85b2024-07-20 11:15:10 -0600623 /* regulator coupling requires always-on */
624 regulator-always-on;
Tom Rini53633a82024-02-29 12:33:36 -0500625 regulator-boot-on;
626 regulator-min-microvolt = <675000>;
627 regulator-max-microvolt = <950000>;
628 regulator-ramp-delay = <12500>;
629 regulator-enable-ramp-delay = <400>;
630 regulator-name = "vdd_gpu_mem_s0";
Tom Rini762f85b2024-07-20 11:15:10 -0600631 regulator-coupled-with = <&vdd_gpu_s0>;
632 regulator-coupled-max-spread = <10000>;
Tom Rini53633a82024-02-29 12:33:36 -0500633 regulator-state-mem {
634 regulator-off-in-suspend;
635 };
636
637 };
638
639 vdd_npu_mem_s0: dcdc-reg6 {
640 regulator-always-on;
641 regulator-boot-on;
642 regulator-min-microvolt = <675000>;
643 regulator-max-microvolt = <950000>;
644 regulator-ramp-delay = <12500>;
645 regulator-name = "vdd_npu_mem_s0";
646 regulator-state-mem {
647 regulator-off-in-suspend;
648 };
649
650 };
651
652 vcc_2v0_pldo_s3: dcdc-reg7 {
653 regulator-always-on;
654 regulator-boot-on;
655 regulator-min-microvolt = <2000000>;
656 regulator-max-microvolt = <2000000>;
657 regulator-ramp-delay = <12500>;
658 regulator-name = "vdd_2v0_pldo_s3";
659 regulator-state-mem {
660 regulator-on-in-suspend;
661 regulator-suspend-microvolt = <2000000>;
662 };
663 };
664
665 vdd_vdenc_mem_s0: dcdc-reg8 {
666 regulator-always-on;
667 regulator-boot-on;
668 regulator-min-microvolt = <675000>;
669 regulator-max-microvolt = <950000>;
670 regulator-ramp-delay = <12500>;
671 regulator-name = "vdd_vdenc_mem_s0";
672 regulator-state-mem {
673 regulator-off-in-suspend;
674 };
675 };
676
677 vdd2_ddr_s3: dcdc-reg9 {
678 regulator-always-on;
679 regulator-boot-on;
680 regulator-name = "vdd2_ddr_s3";
681 regulator-state-mem {
682 regulator-on-in-suspend;
683 };
684 };
685
686 vcc_1v1_nldo_s3: dcdc-reg10 {
687 regulator-always-on;
688 regulator-boot-on;
689 regulator-min-microvolt = <1100000>;
690 regulator-max-microvolt = <1100000>;
691 regulator-ramp-delay = <12500>;
692 regulator-name = "vcc_1v1_nldo_s3";
693 regulator-state-mem {
694 regulator-on-in-suspend;
695 regulator-suspend-microvolt = <1100000>;
696 };
697 };
698
699 avcc_1v8_s0: pldo-reg1 {
700 regulator-always-on;
701 regulator-boot-on;
702 regulator-min-microvolt = <1800000>;
703 regulator-max-microvolt = <1800000>;
704 regulator-ramp-delay = <12500>;
705 regulator-name = "avcc_1v8_s0";
706 regulator-state-mem {
707 regulator-off-in-suspend;
708 };
709 };
710
711 vdd1_1v8_ddr_s3: pldo-reg2 {
712 regulator-always-on;
713 regulator-boot-on;
714 regulator-min-microvolt = <1800000>;
715 regulator-max-microvolt = <1800000>;
716 regulator-ramp-delay = <12500>;
717 regulator-name = "vdd1_1v8_ddr_s3";
718 regulator-state-mem {
719 regulator-on-in-suspend;
720 regulator-suspend-microvolt = <1800000>;
721 };
722 };
723
724 avcc_1v8_codec_s0: pldo-reg3 {
725 regulator-always-on;
726 regulator-boot-on;
727 regulator-min-microvolt = <1800000>;
728 regulator-max-microvolt = <1800000>;
729 regulator-ramp-delay = <12500>;
730 regulator-name = "avcc_1v8_codec_s0";
731 regulator-state-mem {
732 regulator-off-in-suspend;
733 };
734 };
735
736 vcc_3v3_s3: pldo-reg4 {
737 regulator-always-on;
738 regulator-boot-on;
739 regulator-min-microvolt = <3300000>;
740 regulator-max-microvolt = <3300000>;
741 regulator-ramp-delay = <12500>;
742 regulator-name = "vcc_3v3_s3";
743 regulator-state-mem {
744 regulator-on-in-suspend;
745 regulator-suspend-microvolt = <3300000>;
746 };
747 };
748
749 vccio_sd_s0: pldo-reg5 {
750 regulator-always-on;
751 regulator-boot-on;
752 regulator-min-microvolt = <1800000>;
753 regulator-max-microvolt = <3300000>;
754 regulator-ramp-delay = <12500>;
755 regulator-name = "vccio_sd_s0";
756 regulator-state-mem {
757 regulator-off-in-suspend;
758 };
759 };
760
761 vccio_1v8_s3: pldo-reg6 {
762 regulator-always-on;
763 regulator-boot-on;
764 regulator-min-microvolt = <1800000>;
765 regulator-max-microvolt = <1800000>;
766 regulator-ramp-delay = <12500>;
767 regulator-name = "vccio_1v8_s3";
768 regulator-state-mem {
769 regulator-on-in-suspend;
770 regulator-suspend-microvolt = <1800000>;
771 };
772 };
773
774 vdd_0v75_s3: nldo-reg1 {
775 regulator-always-on;
776 regulator-boot-on;
777 regulator-min-microvolt = <750000>;
778 regulator-max-microvolt = <750000>;
779 regulator-ramp-delay = <12500>;
780 regulator-name = "vdd_0v75_s3";
781 regulator-state-mem {
782 regulator-on-in-suspend;
783 regulator-suspend-microvolt = <750000>;
784 };
785 };
786
787 vdd2l_0v9_ddr_s3: nldo-reg2 {
788 regulator-always-on;
789 regulator-boot-on;
790 regulator-min-microvolt = <900000>;
791 regulator-max-microvolt = <900000>;
792 regulator-name = "vdd2l_0v9_ddr_s3";
793 regulator-state-mem {
794 regulator-on-in-suspend;
795 regulator-suspend-microvolt = <900000>;
796 };
797 };
798
799 vdd_0v75_hdmi_edp_s0: nldo-reg3 {
800 regulator-always-on;
801 regulator-boot-on;
802 regulator-min-microvolt = <750000>;
803 regulator-max-microvolt = <750000>;
804 regulator-name = "vdd_0v75_hdmi_edp_s0";
805 regulator-state-mem {
806 regulator-off-in-suspend;
807 };
808 };
809
810 avdd_0v75_s0: nldo-reg4 {
811 regulator-always-on;
812 regulator-boot-on;
813 regulator-min-microvolt = <750000>;
814 regulator-max-microvolt = <750000>;
815 regulator-name = "avdd_0v75_s0";
816 regulator-state-mem {
817 regulator-off-in-suspend;
818 };
819 };
820
821 vdd_0v85_s0: nldo-reg5 {
822 regulator-always-on;
823 regulator-boot-on;
824 regulator-min-microvolt = <850000>;
825 regulator-max-microvolt = <850000>;
826 regulator-name = "vdd_0v85_s0";
827 regulator-state-mem {
828 regulator-off-in-suspend;
829 };
830 };
831 };
832 };
833
834 pmic@1 {
835 compatible = "rockchip,rk806";
836 reg = <0x01>;
837 #gpio-cells = <2>;
838 gpio-controller;
839 interrupt-parent = <&gpio0>;
840 interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
841 pinctrl-0 = <&rk806_slave_dvs1_null>, <&rk806_slave_dvs2_null>,
842 <&rk806_slave_dvs3_null>;
843 pinctrl-names = "default";
844 spi-max-frequency = <1000000>;
845
846 vcc1-supply = <&vcc5v0_sys>;
847 vcc2-supply = <&vcc5v0_sys>;
848 vcc3-supply = <&vcc5v0_sys>;
849 vcc4-supply = <&vcc5v0_sys>;
850 vcc5-supply = <&vcc5v0_sys>;
851 vcc6-supply = <&vcc5v0_sys>;
852 vcc7-supply = <&vcc5v0_sys>;
853 vcc8-supply = <&vcc5v0_sys>;
854 vcc9-supply = <&vcc5v0_sys>;
855 vcc10-supply = <&vcc5v0_sys>;
856 vcc11-supply = <&vcc_2v0_pldo_s3>;
857 vcc12-supply = <&vcc5v0_sys>;
858 vcc13-supply = <&vcc_1v1_nldo_s3>;
859 vcc14-supply = <&vcc_2v0_pldo_s3>;
860 vcca-supply = <&vcc5v0_sys>;
861
862 rk806_slave_dvs1_null: dvs1-null-pins {
863 pins = "gpio_pwrctrl1";
864 function = "pin_fun0";
865 };
866
867 rk806_slave_dvs2_null: dvs2-null-pins {
868 pins = "gpio_pwrctrl2";
869 function = "pin_fun0";
870 };
871
872 rk806_slave_dvs3_null: dvs3-null-pins {
873 pins = "gpio_pwrctrl3";
874 function = "pin_fun0";
875 };
876
877 regulators {
878 vdd_cpu_big1_s0: dcdc-reg1 {
879 regulator-always-on;
880 regulator-boot-on;
Tom Rini6b642ac2024-10-01 12:20:28 -0600881 regulator-coupled-with = <&vdd_cpu_big1_mem_s0>;
882 regulator-coupled-max-spread = <10000>;
Tom Rini53633a82024-02-29 12:33:36 -0500883 regulator-min-microvolt = <550000>;
884 regulator-max-microvolt = <1050000>;
885 regulator-ramp-delay = <12500>;
886 regulator-name = "vdd_cpu_big1_s0";
887 regulator-state-mem {
888 regulator-off-in-suspend;
889 };
890 };
891
892 vdd_cpu_big0_s0: dcdc-reg2 {
893 regulator-always-on;
894 regulator-boot-on;
Tom Rini6b642ac2024-10-01 12:20:28 -0600895 regulator-coupled-with = <&vdd_cpu_big0_mem_s0>;
896 regulator-coupled-max-spread = <10000>;
Tom Rini53633a82024-02-29 12:33:36 -0500897 regulator-min-microvolt = <550000>;
898 regulator-max-microvolt = <1050000>;
899 regulator-ramp-delay = <12500>;
900 regulator-name = "vdd_cpu_big0_s0";
901 regulator-state-mem {
902 regulator-off-in-suspend;
903 };
904 };
905
906 vdd_cpu_lit_s0: dcdc-reg3 {
907 regulator-always-on;
908 regulator-boot-on;
Tom Rini6b642ac2024-10-01 12:20:28 -0600909 regulator-coupled-with = <&vdd_cpu_lit_mem_s0>;
910 regulator-coupled-max-spread = <10000>;
Tom Rini53633a82024-02-29 12:33:36 -0500911 regulator-min-microvolt = <550000>;
912 regulator-max-microvolt = <950000>;
913 regulator-ramp-delay = <12500>;
914 regulator-name = "vdd_cpu_lit_s0";
915 regulator-state-mem {
916 regulator-off-in-suspend;
917 };
918 };
919
920 vcc_3v3_s0: dcdc-reg4 {
921 regulator-always-on;
922 regulator-boot-on;
923 regulator-min-microvolt = <3300000>;
924 regulator-max-microvolt = <3300000>;
925 regulator-ramp-delay = <12500>;
926 regulator-name = "vcc_3v3_s0";
927 regulator-state-mem {
928 regulator-off-in-suspend;
929 };
930 };
931
932 vdd_cpu_big1_mem_s0: dcdc-reg5 {
933 regulator-always-on;
934 regulator-boot-on;
Tom Rini6b642ac2024-10-01 12:20:28 -0600935 regulator-coupled-with = <&vdd_cpu_big1_s0>;
936 regulator-coupled-max-spread = <10000>;
Tom Rini53633a82024-02-29 12:33:36 -0500937 regulator-min-microvolt = <675000>;
938 regulator-max-microvolt = <1050000>;
939 regulator-ramp-delay = <12500>;
940 regulator-name = "vdd_cpu_big1_mem_s0";
941 regulator-state-mem {
942 regulator-off-in-suspend;
943 };
944 };
945
946
947 vdd_cpu_big0_mem_s0: dcdc-reg6 {
948 regulator-always-on;
949 regulator-boot-on;
Tom Rini6b642ac2024-10-01 12:20:28 -0600950 regulator-coupled-with = <&vdd_cpu_big0_s0>;
951 regulator-coupled-max-spread = <10000>;
Tom Rini53633a82024-02-29 12:33:36 -0500952 regulator-min-microvolt = <675000>;
953 regulator-max-microvolt = <1050000>;
954 regulator-ramp-delay = <12500>;
955 regulator-name = "vdd_cpu_big0_mem_s0";
956 regulator-state-mem {
957 regulator-off-in-suspend;
958 };
959 };
960
961 vcc_1v8_s0: dcdc-reg7 {
962 regulator-always-on;
963 regulator-boot-on;
964 regulator-min-microvolt = <1800000>;
965 regulator-max-microvolt = <1800000>;
966 regulator-ramp-delay = <12500>;
967 regulator-name = "vcc_1v8_s0";
968 regulator-state-mem {
969 regulator-off-in-suspend;
970 };
971 };
972
973 vdd_cpu_lit_mem_s0: dcdc-reg8 {
974 regulator-always-on;
975 regulator-boot-on;
Tom Rini6b642ac2024-10-01 12:20:28 -0600976 regulator-coupled-with = <&vdd_cpu_lit_s0>;
977 regulator-coupled-max-spread = <10000>;
Tom Rini53633a82024-02-29 12:33:36 -0500978 regulator-min-microvolt = <675000>;
979 regulator-max-microvolt = <950000>;
980 regulator-ramp-delay = <12500>;
981 regulator-name = "vdd_cpu_lit_mem_s0";
982 regulator-state-mem {
983 regulator-off-in-suspend;
984 };
985 };
986
987 vddq_ddr_s0: dcdc-reg9 {
988 regulator-always-on;
989 regulator-boot-on;
990 regulator-name = "vddq_ddr_s0";
991 regulator-state-mem {
992 regulator-off-in-suspend;
993 };
994 };
995
996 vdd_ddr_s0: dcdc-reg10 {
997 regulator-always-on;
998 regulator-boot-on;
999 regulator-min-microvolt = <675000>;
1000 regulator-max-microvolt = <900000>;
1001 regulator-ramp-delay = <12500>;
1002 regulator-name = "vdd_ddr_s0";
1003 regulator-state-mem {
1004 regulator-off-in-suspend;
1005 };
1006 };
1007
1008 vcc_1v8_cam_s0: pldo-reg1 {
1009 regulator-always-on;
1010 regulator-boot-on;
1011 regulator-min-microvolt = <1800000>;
1012 regulator-max-microvolt = <1800000>;
1013 regulator-ramp-delay = <12500>;
1014 regulator-name = "vcc_1v8_cam_s0";
1015 regulator-state-mem {
1016 regulator-off-in-suspend;
1017 };
1018 };
1019
1020 avdd1v8_ddr_pll_s0: pldo-reg2 {
1021 regulator-always-on;
1022 regulator-boot-on;
1023 regulator-min-microvolt = <1800000>;
1024 regulator-max-microvolt = <1800000>;
1025 regulator-ramp-delay = <12500>;
1026 regulator-name = "avdd1v8_ddr_pll_s0";
1027 regulator-state-mem {
1028 regulator-off-in-suspend;
1029 };
1030 };
1031
1032 vdd_1v8_pll_s0: pldo-reg3 {
1033 regulator-always-on;
1034 regulator-boot-on;
1035 regulator-min-microvolt = <1800000>;
1036 regulator-max-microvolt = <1800000>;
1037 regulator-ramp-delay = <12500>;
1038 regulator-name = "vdd_1v8_pll_s0";
1039 regulator-state-mem {
1040 regulator-off-in-suspend;
1041 };
1042 };
1043
1044 vcc_3v3_sd_s0: pldo-reg4 {
1045 regulator-always-on;
1046 regulator-boot-on;
1047 regulator-min-microvolt = <3300000>;
1048 regulator-max-microvolt = <3300000>;
1049 regulator-ramp-delay = <12500>;
1050 regulator-name = "vcc_3v3_sd_s0";
1051 regulator-state-mem {
1052 regulator-off-in-suspend;
1053 };
1054 };
1055
1056 vcc_2v8_cam_s0: pldo-reg5 {
1057 regulator-always-on;
1058 regulator-boot-on;
1059 regulator-min-microvolt = <2800000>;
1060 regulator-max-microvolt = <2800000>;
1061 regulator-ramp-delay = <12500>;
1062 regulator-name = "vcc_2v8_cam_s0";
1063 regulator-state-mem {
1064 regulator-off-in-suspend;
1065 };
1066 };
1067
1068 pldo6_s3: pldo-reg6 {
1069 regulator-always-on;
1070 regulator-boot-on;
1071 regulator-min-microvolt = <1800000>;
1072 regulator-max-microvolt = <1800000>;
1073 regulator-name = "pldo6_s3";
1074 regulator-state-mem {
1075 regulator-on-in-suspend;
1076 regulator-suspend-microvolt = <1800000>;
1077 };
1078 };
1079
1080 vdd_0v75_pll_s0: nldo-reg1 {
1081 regulator-always-on;
1082 regulator-boot-on;
1083 regulator-min-microvolt = <750000>;
1084 regulator-max-microvolt = <750000>;
1085 regulator-ramp-delay = <12500>;
1086 regulator-name = "vdd_0v75_pll_s0";
1087 regulator-state-mem {
1088 regulator-off-in-suspend;
1089 };
1090 };
1091
1092 vdd_ddr_pll_s0: nldo-reg2 {
1093 regulator-always-on;
1094 regulator-boot-on;
1095 regulator-min-microvolt = <850000>;
1096 regulator-max-microvolt = <850000>;
1097 regulator-name = "vdd_ddr_pll_s0";
1098 regulator-state-mem {
1099 regulator-off-in-suspend;
1100 };
1101 };
1102
1103 avdd_0v85_s0: nldo-reg3 {
1104 regulator-always-on;
1105 regulator-boot-on;
1106 regulator-min-microvolt = <850000>;
1107 regulator-max-microvolt = <850000>;
1108 regulator-ramp-delay = <12500>;
1109 regulator-name = "avdd_0v85_s0";
1110 regulator-state-mem {
1111 regulator-off-in-suspend;
1112 };
1113 };
1114
1115 avdd_1v2_cam_s0: nldo-reg4 {
1116 regulator-always-on;
1117 regulator-boot-on;
1118 regulator-min-microvolt = <1200000>;
1119 regulator-max-microvolt = <1200000>;
1120 regulator-ramp-delay = <12500>;
1121 regulator-name = "avdd_1v2_cam_s0";
1122 regulator-state-mem {
1123 regulator-off-in-suspend;
1124 };
1125 };
1126
1127 avdd_1v2_s0: nldo-reg5 {
1128 regulator-always-on;
1129 regulator-boot-on;
1130 regulator-min-microvolt = <1200000>;
1131 regulator-max-microvolt = <1200000>;
1132 regulator-ramp-delay = <12500>;
1133 regulator-name = "avdd_1v2_s0";
1134 regulator-state-mem {
1135 regulator-off-in-suspend;
1136 };
1137 };
1138 };
1139 };
1140};
1141
1142&sata0 {
1143 status = "okay";
1144};
1145
Tom Rini6b642ac2024-10-01 12:20:28 -06001146&tsadc {
1147 status = "okay";
1148};
1149
Tom Rini762f85b2024-07-20 11:15:10 -06001150&u2phy0 {
1151 status = "okay";
1152};
1153
1154&u2phy0_otg {
1155 status = "okay";
1156};
1157
1158&u2phy1 {
1159 status = "okay";
1160};
1161
1162&u2phy1_otg {
1163 status = "okay";
1164};
1165
Tom Rini53633a82024-02-29 12:33:36 -05001166&u2phy2 {
1167 status = "okay";
1168};
1169
1170&u2phy2_host {
1171 phy-supply = <&vcc5v0_host>;
1172 status = "okay";
1173};
1174
1175&u2phy3 {
1176 status = "okay";
1177};
1178
1179&u2phy3_host {
1180 phy-supply = <&vcc5v0_host>;
1181 status = "okay";
1182};
1183
1184&uart2 {
1185 pinctrl-0 = <&uart2m0_xfer>;
1186 status = "okay";
1187};
1188
1189&usb_host0_ehci {
1190 status = "okay";
1191};
1192
1193&usb_host0_ohci {
1194 status = "okay";
1195};
1196
1197&usb_host1_ehci {
1198 status = "okay";
1199};
1200
1201&usb_host1_ohci {
1202 status = "okay";
1203};
Tom Rini762f85b2024-07-20 11:15:10 -06001204
1205&usbdp_phy0 {
1206 mode-switch;
1207 orientation-switch;
1208 sbu1-dc-gpios = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>;
1209 sbu2-dc-gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
1210 status = "okay";
1211
1212 port {
1213 #address-cells = <1>;
1214 #size-cells = <0>;
1215
1216 usbdp_phy0_orientation_switch: endpoint@0 {
1217 reg = <0>;
1218 remote-endpoint = <&usbc0_orien_sw>;
1219 };
1220
1221 usbdp_phy0_dp_altmode_mux: endpoint@1 {
1222 reg = <1>;
1223 remote-endpoint = <&dp_altmode_mux>;
1224 };
1225 };
1226};
1227
1228&usbdp_phy1 {
1229 /*
1230 * USBDP PHY1 is wired to a female USB3 Type-A connector. Additionally
1231 * the differential pairs 2+3 and the aux channel are wired to a RTD2166,
1232 * which converts the DP signal into VGA. This is exposed on the
1233 * board via a female VGA connector.
1234 */
1235 rockchip,dp-lane-mux = <2 3>;
1236 status = "okay";
1237};
1238
1239&usb_host0_xhci {
1240 dr_mode = "otg";
1241 usb-role-switch;
1242 status = "okay";
1243
1244 port {
1245 #address-cells = <1>;
1246 #size-cells = <0>;
1247
1248 dwc3_0_role_switch: endpoint@0 {
1249 reg = <0>;
1250 remote-endpoint = <&usbc0_role_sw>;
1251 };
1252 };
1253};
1254
1255&usb_host1_xhci {
1256 dr_mode = "host";
1257 status = "okay";
1258};