Linux 6.7-rc7
[linux-modified.git] / arch / arm64 / boot / dts / rockchip / rk3588-quartzpro64.dts
1 // 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 / {
16         model = "PINE64 QuartzPro64";
17         compatible = "pine64,quartzpro64", "rockchip,rk3588";
18
19         aliases {
20                 mmc0 = &sdhci;
21                 mmc1 = &sdmmc;
22                 serial2 = &uart2;
23         };
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
288 &i2c2 {
289         status = "okay";
290
291         hym8563: rtc@51 {
292                 compatible = "haoyu,hym8563";
293                 reg = <0x51>;
294                 #clock-cells = <0>;
295                 clock-output-names = "hym8563";
296                 interrupt-parent = <&gpio0>;
297                 interrupts = <RK_PD4 IRQ_TYPE_LEVEL_LOW>;
298                 pinctrl-names = "default";
299                 pinctrl-0 = <&hym8563_int>;
300                 wakeup-source;
301         };
302 };
303
304 &i2c7 {
305         status = "okay";
306
307         es8388: audio-codec@11 {
308                 compatible = "everest,es8388";
309                 reg = <0x11>;
310                 assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
311                 assigned-clock-rates = <12288000>;
312                 clocks = <&cru I2S0_8CH_MCLKOUT>;
313                 clock-names = "mclk";
314                 AVDD-supply = <&avcc_1v8_codec_s0>;
315                 DVDD-supply = <&avcc_1v8_codec_s0>;
316                 HPVDD-supply = <&vcc_3v3_s0>;
317                 PVDD-supply = <&vcc_3v3_s0>;
318                 #sound-dai-cells = <0>;
319         };
320 };
321
322 &i2s0_8ch {
323         pinctrl-names = "default";
324         pinctrl-0 = <&i2s0_lrck
325                      &i2s0_mclk
326                      &i2s0_sclk
327                      &i2s0_sdi0
328                      &i2s0_sdo0>;
329         status = "okay";
330 };
331
332 &mdio0 {
333         rgmii_phy: ethernet-phy@1 {
334                 /* RTL8211F */
335                 compatible = "ethernet-phy-id001c.c916";
336                 reg = <0x1>;
337                 pinctrl-names = "default";
338                 pinctrl-0 = <&rtl8211f_rst>;
339                 reset-assert-us = <20000>;
340                 reset-deassert-us = <100000>;
341                 reset-gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_LOW>;
342         };
343 };
344
345 &pinctrl {
346         hym8563 {
347                 hym8563_int: hym8563-int {
348                         rockchip,pins = <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up>;
349                 };
350         };
351
352         leds {
353                 led_pins: led-pins {
354                         rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>;
355                 };
356         };
357
358         rtl8111 {
359                 rtl8111_isolate: rtl8111-isolate {
360                         rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;
361                 };
362         };
363
364         rtl8211f {
365                 rtl8211f_rst: rtl8211f-rst {
366                         rockchip,pins = <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
367                 };
368
369         };
370
371         sound {
372                 hp_detect: hp-detect {
373                         rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
374                 };
375         };
376
377         usb {
378                 vcc5v0_host_en: vcc5v0-host-en {
379                         rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
380                 };
381         };
382 };
383
384 /* WIFI */
385 &pcie2x1l0 {
386         reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
387         vpcie3v3-supply = <&vcc3v3_wf>;
388         status = "okay";
389 };
390
391 /* GMAC1 */
392 &pcie2x1l1 {
393         pinctrl-names = "default";
394         pinctrl-0 = <&rtl8111_isolate>;
395         reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
396         status = "okay";
397 };
398
399 &pcie30phy {
400         status = "okay";
401 };
402
403 &pcie3x4 {
404         reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
405         vpcie3v3-supply = <&vcc3v3_pcie30>;
406         status = "okay";
407 };
408
409 &saradc {
410         vref-supply = <&vcc_1v8_s0>;
411         status = "okay";
412 };
413
414 &sata0 {
415         status = "okay";
416 };
417
418 &sdhci {
419         bus-width = <8>;
420         no-sdio;
421         no-sd;
422         non-removable;
423         max-frequency = <150000000>;
424         mmc-hs400-1_8v;
425         mmc-hs400-enhanced-strobe;
426         status = "okay";
427 };
428
429 &sdmmc {
430         bus-width = <4>;
431         cap-sd-highspeed;
432         cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
433         disable-wp;
434         max-frequency = <150000000>;
435         no-sdio;
436         no-mmc;
437         sd-uhs-sdr104;
438         vmmc-supply = <&vcc_3v3_s3>;
439         vqmmc-supply = <&vccio_sd_s0>;
440         status = "okay";
441 };
442
443 &spi2 {
444         assigned-clocks = <&cru CLK_SPI2>;
445         assigned-clock-rates = <200000000>;
446         num-cs = <2>;
447         status = "okay";
448
449         pmic@0 {
450                 compatible = "rockchip,rk806";
451                 reg = <0x0>;
452                 #gpio-cells = <2>;
453                 gpio-controller;
454                 interrupt-parent = <&gpio0>;
455                 interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
456                 pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
457                             <&rk806_dvs2_null>, <&rk806_dvs3_null>;
458                 pinctrl-names = "default";
459                 spi-max-frequency = <1000000>;
460
461                 vcc1-supply = <&vcc4v0_sys>;
462                 vcc2-supply = <&vcc4v0_sys>;
463                 vcc3-supply = <&vcc4v0_sys>;
464                 vcc4-supply = <&vcc4v0_sys>;
465                 vcc5-supply = <&vcc4v0_sys>;
466                 vcc6-supply = <&vcc4v0_sys>;
467                 vcc7-supply = <&vcc4v0_sys>;
468                 vcc8-supply = <&vcc4v0_sys>;
469                 vcc9-supply = <&vcc4v0_sys>;
470                 vcc10-supply = <&vcc4v0_sys>;
471                 vcc11-supply = <&vcc_2v0_pldo_s3>;
472                 vcc12-supply = <&vcc4v0_sys>;
473                 vcc13-supply = <&vcc_1v1_nldo_s3>;
474                 vcc14-supply = <&vcc_1v1_nldo_s3>;
475                 vcca-supply = <&vcc4v0_sys>;
476
477                 rk806_dvs1_null: dvs1-null-pins {
478                         pins = "gpio_pwrctrl1";
479                         function = "pin_fun0";
480                 };
481
482                 rk806_dvs2_null: dvs2-null-pins {
483                         pins = "gpio_pwrctrl2";
484                         function = "pin_fun0";
485                 };
486
487                 rk806_dvs3_null: dvs3-null-pins {
488                         pins = "gpio_pwrctrl3";
489                         function = "pin_fun0";
490                 };
491
492                 regulators {
493                         vdd_gpu_s0: dcdc-reg1 {
494                                 regulator-name = "vdd_gpu_s0";
495                                 regulator-boot-on;
496                                 regulator-enable-ramp-delay = <400>;
497                                 regulator-min-microvolt = <550000>;
498                                 regulator-max-microvolt = <950000>;
499                                 regulator-ramp-delay = <12500>;
500
501                                 regulator-state-mem {
502                                         regulator-off-in-suspend;
503                                 };
504                         };
505
506                         vdd_npu_s0: dcdc-reg2 {
507                                 regulator-name = "vdd_npu_s0";
508                                 regulator-always-on;
509                                 regulator-boot-on;
510                                 regulator-min-microvolt = <550000>;
511                                 regulator-max-microvolt = <950000>;
512                                 regulator-ramp-delay = <12500>;
513
514                                 regulator-state-mem {
515                                         regulator-off-in-suspend;
516                                 };
517                         };
518
519                         vdd_log_s0: dcdc-reg3 {
520                                 regulator-name = "vdd_log_s0";
521                                 regulator-always-on;
522                                 regulator-boot-on;
523                                 regulator-min-microvolt = <675000>;
524                                 regulator-max-microvolt = <750000>;
525                                 regulator-ramp-delay = <12500>;
526
527                                 regulator-state-mem {
528                                         regulator-off-in-suspend;
529                                         regulator-suspend-microvolt = <750000>;
530                                 };
531                         };
532
533                         vdd_vdenc_s0: dcdc-reg4 {
534                                 regulator-name = "vdd_vdenc_s0";
535                                 regulator-always-on;
536                                 regulator-boot-on;
537                                 regulator-min-microvolt = <550000>;
538                                 regulator-max-microvolt = <950000>;
539                                 regulator-ramp-delay = <12500>;
540
541                                 regulator-state-mem {
542                                         regulator-off-in-suspend;
543                                 };
544
545                         };
546
547                         vdd_gpu_mem_s0: dcdc-reg5 {
548                                 regulator-name = "vdd_gpu_mem_s0";
549                                 regulator-boot-on;
550                                 regulator-enable-ramp-delay = <400>;
551                                 regulator-min-microvolt = <675000>;
552                                 regulator-max-microvolt = <950000>;
553                                 regulator-ramp-delay = <12500>;
554
555                                 regulator-state-mem {
556                                         regulator-off-in-suspend;
557                                 };
558
559                         };
560
561                         vdd_npu_mem_s0: dcdc-reg6 {
562                                 regulator-name = "vdd_npu_mem_s0";
563                                 regulator-always-on;
564                                 regulator-boot-on;
565                                 regulator-min-microvolt = <675000>;
566                                 regulator-max-microvolt = <950000>;
567                                 regulator-ramp-delay = <12500>;
568
569                                 regulator-state-mem {
570                                         regulator-off-in-suspend;
571                                 };
572
573                         };
574
575                         vcc_2v0_pldo_s3: dcdc-reg7 {
576                                 regulator-name = "vdd_2v0_pldo_s3";
577                                 regulator-always-on;
578                                 regulator-boot-on;
579                                 regulator-min-microvolt = <2000000>;
580                                 regulator-max-microvolt = <2000000>;
581                                 regulator-ramp-delay = <12500>;
582
583                                 regulator-state-mem {
584                                         regulator-on-in-suspend;
585                                         regulator-suspend-microvolt = <2000000>;
586                                 };
587                         };
588
589                         vdd_vdenc_mem_s0: dcdc-reg8 {
590                                 regulator-name = "vdd_vdenc_mem_s0";
591                                 regulator-always-on;
592                                 regulator-boot-on;
593                                 regulator-min-microvolt = <675000>;
594                                 regulator-max-microvolt = <950000>;
595                                 regulator-ramp-delay = <12500>;
596
597                                 regulator-state-mem {
598                                         regulator-off-in-suspend;
599                                 };
600                         };
601
602                         vdd2_ddr_s3: dcdc-reg9 {
603                                 regulator-name = "vdd2_ddr_s3";
604                                 regulator-always-on;
605                                 regulator-boot-on;
606
607                                 regulator-state-mem {
608                                         regulator-on-in-suspend;
609                                 };
610                         };
611
612                         vcc_1v1_nldo_s3: dcdc-reg10 {
613                                 regulator-name = "vcc_1v1_nldo_s3";
614                                 regulator-always-on;
615                                 regulator-boot-on;
616                                 regulator-min-microvolt = <1100000>;
617                                 regulator-max-microvolt = <1100000>;
618                                 regulator-ramp-delay = <12500>;
619
620                                 regulator-state-mem {
621                                         regulator-on-in-suspend;
622                                         regulator-suspend-microvolt = <1100000>;
623                                 };
624                         };
625
626                         avcc_1v8_s0: pldo-reg1 {
627                                 regulator-name = "avcc_1v8_s0";
628                                 regulator-always-on;
629                                 regulator-boot-on;
630                                 regulator-min-microvolt = <1800000>;
631                                 regulator-max-microvolt = <1800000>;
632                                 regulator-ramp-delay = <12500>;
633
634                                 regulator-state-mem {
635                                         regulator-off-in-suspend;
636                                 };
637                         };
638
639                         vdd1_1v8_ddr_s3: pldo-reg2 {
640                                 regulator-name = "vdd1_1v8_ddr_s3";
641                                 regulator-always-on;
642                                 regulator-boot-on;
643                                 regulator-min-microvolt = <1800000>;
644                                 regulator-max-microvolt = <1800000>;
645                                 regulator-ramp-delay = <12500>;
646
647                                 regulator-state-mem {
648                                         regulator-on-in-suspend;
649                                         regulator-suspend-microvolt = <1800000>;
650                                 };
651                         };
652
653                         avcc_1v8_codec_s0: pldo-reg3 {
654                                 regulator-name = "avcc_1v8_codec_s0";
655                                 regulator-always-on;
656                                 regulator-boot-on;
657                                 regulator-min-microvolt = <1800000>;
658                                 regulator-max-microvolt = <1800000>;
659                                 regulator-ramp-delay = <12500>;
660
661                                 regulator-state-mem {
662                                         regulator-off-in-suspend;
663                                 };
664                         };
665
666                         vcc_3v3_s3: pldo-reg4 {
667                                 regulator-name = "vcc_3v3_s3";
668                                 regulator-always-on;
669                                 regulator-boot-on;
670                                 regulator-min-microvolt = <3300000>;
671                                 regulator-max-microvolt = <3300000>;
672                                 regulator-ramp-delay = <12500>;
673
674                                 regulator-state-mem {
675                                         regulator-on-in-suspend;
676                                         regulator-suspend-microvolt = <3300000>;
677                                 };
678                         };
679
680                         vccio_sd_s0: pldo-reg5 {
681                                 regulator-name = "vccio_sd_s0";
682                                 regulator-always-on;
683                                 regulator-boot-on;
684                                 regulator-min-microvolt = <1800000>;
685                                 regulator-max-microvolt = <3300000>;
686                                 regulator-ramp-delay = <12500>;
687
688                                 regulator-state-mem {
689                                         regulator-off-in-suspend;
690                                 };
691                         };
692
693                         vcc_1v8_s3: pldo-reg6 {
694                                 regulator-name = "vcc_1v8_s3";
695                                 regulator-always-on;
696                                 regulator-boot-on;
697                                 regulator-min-microvolt = <1800000>;
698                                 regulator-max-microvolt = <1800000>;
699                                 regulator-ramp-delay = <12500>;
700
701                                 regulator-state-mem {
702                                         regulator-on-in-suspend;
703                                         regulator-suspend-microvolt = <1800000>;
704                                 };
705                         };
706
707                         vdd_0v75_s3: nldo-reg1 {
708                                 regulator-name = "vdd_0v75_s3";
709                                 regulator-always-on;
710                                 regulator-boot-on;
711                                 regulator-min-microvolt = <750000>;
712                                 regulator-max-microvolt = <750000>;
713                                 regulator-ramp-delay = <12500>;
714
715                                 regulator-state-mem {
716                                         regulator-on-in-suspend;
717                                         regulator-suspend-microvolt = <750000>;
718                                 };
719                         };
720
721                         /* reserved for LPDDR5, unused? */
722                         vdd2l_0v9_ddr_s3: nldo-reg2 {
723                                 regulator-name = "vdd2l_0v9_ddr_s3";
724                                 regulator-always-on;
725                                 regulator-boot-on;
726                                 regulator-min-microvolt = <900000>;
727                                 regulator-max-microvolt = <900000>;
728
729                                 regulator-state-mem {
730                                         regulator-on-in-suspend;
731                                         regulator-suspend-microvolt = <900000>;
732                                 };
733                         };
734
735                         vdd_0v75_hdmi_edp_s0: nldo-reg3 {
736                                 regulator-name = "vdd_0v75_hdmi_edp_s0";
737                                 regulator-always-on;
738                                 regulator-boot-on;
739                                 regulator-min-microvolt = <750000>;
740                                 regulator-max-microvolt = <750000>;
741
742                                 regulator-state-mem {
743                                         regulator-off-in-suspend;
744                                 };
745                         };
746
747                         avdd_0v75_s0: nldo-reg4 {
748                                 regulator-name = "avdd_0v75_s0";
749                                 regulator-always-on;
750                                 regulator-boot-on;
751                                 regulator-min-microvolt = <750000>;
752                                 regulator-max-microvolt = <750000>;
753
754                                 regulator-state-mem {
755                                         regulator-off-in-suspend;
756                                 };
757                         };
758
759                         vdd_0v85_s0: nldo-reg5 {
760                                 regulator-name = "vdd_0v85_s0";
761                                 regulator-always-on;
762                                 regulator-boot-on;
763                                 regulator-min-microvolt = <850000>;
764                                 regulator-max-microvolt = <850000>;
765
766                                 regulator-state-mem {
767                                         regulator-off-in-suspend;
768                                 };
769                         };
770                 };
771         };
772
773         pmic@1 {
774                 compatible = "rockchip,rk806";
775                 reg = <0x01>;
776                 #gpio-cells = <2>;
777                 gpio-controller;
778                 interrupt-parent = <&gpio0>;
779                 interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
780                 pinctrl-0 = <&rk806_slave_dvs1_null>, <&rk806_slave_dvs2_null>,
781                             <&rk806_slave_dvs3_null>;
782                 pinctrl-names = "default";
783                 spi-max-frequency = <1000000>;
784
785                 vcc1-supply = <&vcc4v0_sys>;
786                 vcc2-supply = <&vcc4v0_sys>;
787                 vcc3-supply = <&vcc4v0_sys>;
788                 vcc4-supply = <&vcc4v0_sys>;
789                 vcc5-supply = <&vcc4v0_sys>;
790                 vcc6-supply = <&vcc4v0_sys>;
791                 vcc7-supply = <&vcc4v0_sys>;
792                 vcc8-supply = <&vcc4v0_sys>;
793                 vcc9-supply = <&vcc4v0_sys>;
794                 vcc10-supply = <&vcc4v0_sys>;
795                 vcc11-supply = <&vcc_2v0_pldo_s3>;
796                 vcc12-supply = <&vcc4v0_sys>;
797                 vcc13-supply = <&vcc_1v1_nldo_s3>;
798                 vcc14-supply = <&vcc_2v0_pldo_s3>;
799                 vcca-supply = <&vcc4v0_sys>;
800
801                 rk806_slave_dvs1_null: dvs1-null-pins {
802                         pins = "gpio_pwrctrl1";
803                         function = "pin_fun0";
804                 };
805
806                 rk806_slave_dvs2_null: dvs2-null-pins {
807                         pins = "gpio_pwrctrl2";
808                         function = "pin_fun0";
809                 };
810
811                 rk806_slave_dvs3_null: dvs3-null-pins {
812                         pins = "gpio_pwrctrl3";
813                         function = "pin_fun0";
814                 };
815
816                 regulators {
817                         vdd_cpu_big1_s0: dcdc-reg1 {
818                                 regulator-name = "vdd_cpu_big1_s0";
819                                 regulator-always-on;
820                                 regulator-boot-on;
821                                 regulator-min-microvolt = <550000>;
822                                 regulator-max-microvolt = <1050000>;
823                                 regulator-ramp-delay = <12500>;
824
825                                 regulator-state-mem {
826                                         regulator-off-in-suspend;
827                                 };
828                         };
829
830                         vdd_cpu_big0_s0: dcdc-reg2 {
831                                 regulator-name = "vdd_cpu_big0_s0";
832                                 regulator-always-on;
833                                 regulator-boot-on;
834                                 regulator-min-microvolt = <550000>;
835                                 regulator-max-microvolt = <1050000>;
836                                 regulator-ramp-delay = <12500>;
837
838                                 regulator-state-mem {
839                                         regulator-off-in-suspend;
840                                 };
841                         };
842
843                         vdd_cpu_lit_s0: dcdc-reg3 {
844                                 regulator-name = "vdd_cpu_lit_s0";
845                                 regulator-always-on;
846                                 regulator-boot-on;
847                                 regulator-min-microvolt = <550000>;
848                                 regulator-max-microvolt = <950000>;
849                                 regulator-ramp-delay = <12500>;
850
851                                 regulator-state-mem {
852                                         regulator-off-in-suspend;
853                                 };
854                         };
855
856                         vcc_3v3_s0: dcdc-reg4 {
857                                 regulator-name = "vcc_3v3_s0";
858                                 regulator-always-on;
859                                 regulator-boot-on;
860                                 regulator-min-microvolt = <3300000>;
861                                 regulator-max-microvolt = <3300000>;
862                                 regulator-ramp-delay = <12500>;
863
864                                 regulator-state-mem {
865                                         regulator-off-in-suspend;
866                                 };
867                         };
868
869                         vdd_cpu_big1_mem_s0: dcdc-reg5 {
870                                 regulator-name = "vdd_cpu_big1_mem_s0";
871                                 regulator-always-on;
872                                 regulator-boot-on;
873                                 regulator-min-microvolt = <675000>;
874                                 regulator-max-microvolt = <1050000>;
875                                 regulator-ramp-delay = <12500>;
876
877                                 regulator-state-mem {
878                                         regulator-off-in-suspend;
879                                 };
880                         };
881
882
883                         vdd_cpu_big0_mem_s0: dcdc-reg6 {
884                                 regulator-name = "vdd_cpu_big0_mem_s0";
885                                 regulator-always-on;
886                                 regulator-boot-on;
887                                 regulator-min-microvolt = <675000>;
888                                 regulator-max-microvolt = <1050000>;
889                                 regulator-ramp-delay = <12500>;
890
891                                 regulator-state-mem {
892                                         regulator-off-in-suspend;
893                                 };
894                         };
895
896                         vcc_1v8_s0: dcdc-reg7 {
897                                 regulator-name = "vcc_1v8_s0";
898                                 regulator-always-on;
899                                 regulator-boot-on;
900                                 regulator-min-microvolt = <1800000>;
901                                 regulator-max-microvolt = <1800000>;
902                                 regulator-ramp-delay = <12500>;
903
904                                 regulator-state-mem {
905                                         regulator-off-in-suspend;
906                                 };
907                         };
908
909                         vdd_cpu_lit_mem_s0: dcdc-reg8 {
910                                 regulator-name = "vdd_cpu_lit_mem_s0";
911                                 regulator-always-on;
912                                 regulator-boot-on;
913                                 regulator-min-microvolt = <675000>;
914                                 regulator-max-microvolt = <950000>;
915                                 regulator-ramp-delay = <12500>;
916
917                                 regulator-state-mem {
918                                         regulator-off-in-suspend;
919                                 };
920                         };
921
922                         vddq_ddr_s0: dcdc-reg9 {
923                                 regulator-name = "vddq_ddr_s0";
924                                 regulator-always-on;
925                                 regulator-boot-on;
926
927                                 regulator-state-mem {
928                                         regulator-off-in-suspend;
929                                 };
930                         };
931
932                         vdd_ddr_s0: dcdc-reg10 {
933                                 regulator-name = "vdd_ddr_s0";
934                                 regulator-always-on;
935                                 regulator-boot-on;
936                                 regulator-min-microvolt = <675000>;
937                                 regulator-max-microvolt = <900000>;
938                                 regulator-ramp-delay = <12500>;
939
940                                 regulator-state-mem {
941                                         regulator-off-in-suspend;
942                                 };
943                         };
944
945                         /* reserved, unused? */
946                         vcc_1v8_cam_s0: pldo-reg1 {
947                                 regulator-name = "vcc_1v8_cam_s0";
948                                 regulator-always-on;
949                                 regulator-boot-on;
950                                 regulator-min-microvolt = <1800000>;
951                                 regulator-max-microvolt = <1800000>;
952                                 regulator-ramp-delay = <12500>;
953
954                                 regulator-state-mem {
955                                         regulator-off-in-suspend;
956                                 };
957                         };
958
959                         avdd1v8_ddr_pll_s0: pldo-reg2 {
960                                 regulator-name = "avdd1v8_ddr_pll_s0";
961                                 regulator-always-on;
962                                 regulator-boot-on;
963                                 regulator-min-microvolt = <1800000>;
964                                 regulator-max-microvolt = <1800000>;
965                                 regulator-ramp-delay = <12500>;
966
967                                 regulator-state-mem {
968                                         regulator-off-in-suspend;
969                                 };
970                         };
971
972                         vdd_1v8_pll_s0: pldo-reg3 {
973                                 regulator-name = "vdd_1v8_pll_s0";
974                                 regulator-always-on;
975                                 regulator-boot-on;
976                                 regulator-min-microvolt = <1800000>;
977                                 regulator-max-microvolt = <1800000>;
978                                 regulator-ramp-delay = <12500>;
979
980                                 regulator-state-mem {
981                                         regulator-off-in-suspend;
982                                 };
983                         };
984
985                         /* reserved, unused? */
986                         vcc_3v3_sd_s0: pldo-reg4 {
987                                 regulator-name = "vcc_3v3_sd_s0";
988                                 regulator-always-on;
989                                 regulator-boot-on;
990                                 regulator-min-microvolt = <3300000>;
991                                 regulator-max-microvolt = <3300000>;
992                                 regulator-ramp-delay = <12500>;
993
994                                 regulator-state-mem {
995                                         regulator-off-in-suspend;
996                                 };
997                         };
998
999                         /* reserved, unused? */
1000                         vcc_2v8_cam_s0: pldo-reg5 {
1001                                 regulator-name = "vcc_2v8_cam_s0";
1002                                 regulator-always-on;
1003                                 regulator-boot-on;
1004                                 regulator-min-microvolt = <2800000>;
1005                                 regulator-max-microvolt = <2800000>;
1006                                 regulator-ramp-delay = <12500>;
1007
1008                                 regulator-state-mem {
1009                                         regulator-off-in-suspend;
1010                                 };
1011                         };
1012
1013                         /* unused */
1014                         pldo6_s3: pldo-reg6 {
1015                                 regulator-name = "pldo6_s3";
1016                                 regulator-always-on;
1017                                 regulator-boot-on;
1018                                 regulator-min-microvolt = <1800000>;
1019                                 regulator-max-microvolt = <1800000>;
1020
1021                                 regulator-state-mem {
1022                                         regulator-on-in-suspend;
1023                                         regulator-suspend-microvolt = <1800000>;
1024                                 };
1025                         };
1026
1027                         vdd_0v75_pll_s0: nldo-reg1 {
1028                                 regulator-name = "vdd_0v75_pll_s0";
1029                                 regulator-always-on;
1030                                 regulator-boot-on;
1031                                 regulator-min-microvolt = <750000>;
1032                                 regulator-max-microvolt = <750000>;
1033                                 regulator-ramp-delay = <12500>;
1034
1035                                 regulator-state-mem {
1036                                         regulator-off-in-suspend;
1037                                 };
1038                         };
1039
1040                         vdd_ddr_pll_s0: nldo-reg2 {
1041                                 regulator-name = "vdd_ddr_pll_s0";
1042                                 regulator-always-on;
1043                                 regulator-boot-on;
1044                                 regulator-min-microvolt = <850000>;
1045                                 regulator-max-microvolt = <850000>;
1046
1047                                 regulator-state-mem {
1048                                         regulator-off-in-suspend;
1049                                 };
1050                         };
1051
1052                         avdd_0v85_s0: nldo-reg3 {
1053                                 regulator-name = "avdd_0v85_s0";
1054                                 regulator-always-on;
1055                                 regulator-boot-on;
1056                                 regulator-min-microvolt = <850000>;
1057                                 regulator-max-microvolt = <850000>;
1058                                 regulator-ramp-delay = <12500>;
1059
1060                                 regulator-state-mem {
1061                                         regulator-off-in-suspend;
1062                                 };
1063                         };
1064
1065                         /* reserved, unused */
1066                         avdd_1v2_cam_s0: nldo-reg4 {
1067                                 regulator-name = "avdd_1v2_cam_s0";
1068                                 regulator-always-on;
1069                                 regulator-boot-on;
1070                                 regulator-min-microvolt = <1200000>;
1071                                 regulator-max-microvolt = <1200000>;
1072                                 regulator-ramp-delay = <12500>;
1073
1074                                 regulator-state-mem {
1075                                         regulator-off-in-suspend;
1076                                 };
1077                         };
1078
1079                         avdd_1v2_s0: nldo-reg5 {
1080                                 regulator-name = "avdd_1v2_s0";
1081                                 regulator-always-on;
1082                                 regulator-boot-on;
1083                                 regulator-min-microvolt = <1200000>;
1084                                 regulator-max-microvolt = <1200000>;
1085                                 regulator-ramp-delay = <12500>;
1086
1087                                 regulator-state-mem {
1088                                         regulator-off-in-suspend;
1089                                 };
1090                         };
1091                 };
1092         };
1093 };
1094
1095 &tsadc {
1096         status = "okay";
1097 };
1098
1099 &u2phy2 {
1100         status = "okay";
1101 };
1102
1103 &u2phy2_host {
1104         phy-supply = <&vcc5v0_host>;
1105         status = "okay";
1106 };
1107
1108 &u2phy3 {
1109         status = "okay";
1110 };
1111
1112 &u2phy3_host {
1113         phy-supply = <&vcc5v0_host>;
1114         status = "okay";
1115 };
1116
1117 &uart2 {
1118         pinctrl-names = "default";
1119         pinctrl-0 = <&uart2m0_xfer>;
1120         status = "okay";
1121 };
1122
1123 &usb_host0_ehci {
1124         status = "okay";
1125 };
1126
1127 &usb_host0_ohci {
1128         status = "okay";
1129 };
1130
1131 &usb_host1_ehci {
1132         status = "okay";
1133 };
1134
1135 &usb_host1_ohci {
1136         status = "okay";
1137 };