rockchip: rk3399: Migrate to OF_UPSTREAM
[pandora-u-boot.git] / arch / arm / dts / rk3399-roc-pc.dtsi
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Copyright (c) 2017 T-Chip Intelligent Technology Co., Ltd
4  */
5
6 /dts-v1/;
7 #include <dt-bindings/input/linux-event-codes.h>
8 #include <dt-bindings/pwm/pwm.h>
9 #include "rk3399.dtsi"
10 #include "rk3399-opp.dtsi"
11
12 / {
13         model = "Firefly ROC-RK3399-PC Board";
14         compatible = "firefly,roc-rk3399-pc", "rockchip,rk3399";
15
16         aliases {
17                 ethernet0 = &gmac;
18                 mmc0 = &sdmmc;
19                 mmc1 = &sdhci;
20         };
21
22         chosen {
23                 stdout-path = "serial2:1500000n8";
24         };
25
26         backlight: backlight {
27                 compatible = "pwm-backlight";
28                 pwms = <&pwm0 0 25000 0>;
29         };
30
31         clkin_gmac: external-gmac-clock {
32                 compatible = "fixed-clock";
33                 clock-frequency = <125000000>;
34                 clock-output-names = "clkin_gmac";
35                 #clock-cells = <0>;
36         };
37
38         adc-keys {
39                 compatible = "adc-keys";
40                 io-channels = <&saradc 1>;
41                 io-channel-names = "buttons";
42                 keyup-threshold-microvolt = <1500000>;
43                 poll-interval = <100>;
44
45                 button-recovery {
46                         label = "Recovery";
47                         linux,code = <KEY_VENDOR>;
48                         press-threshold-microvolt = <18000>;
49                 };
50         };
51
52         gpio-keys {
53                 compatible = "gpio-keys";
54                 autorepeat;
55                 pinctrl-names = "default";
56                 pinctrl-0 = <&pwr_key_l>;
57
58                 key-power {
59                         debounce-interval = <100>;
60                         gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
61                         label = "GPIO Key Power";
62                         linux,code = <KEY_POWER>;
63                         wakeup-source;
64                 };
65         };
66
67         ir-receiver {
68                 compatible = "gpio-ir-receiver";
69                 gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
70                 pinctrl-names = "default";
71                 pinctrl-0 = <&ir_int>;
72         };
73
74         leds {
75                 compatible = "gpio-leds";
76                 pinctrl-names = "default";
77                 pinctrl-0 = <&work_led_pin>, <&diy_led_pin>, <&yellow_led_pin>;
78
79                 work_led: led-0 {
80                         label = "green:work";
81                         gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
82                         default-state = "on";
83                         linux,default-trigger = "heartbeat";
84                 };
85
86                 diy_led: led-1 {
87                         label = "red:diy";
88                         gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
89                         default-state = "off";
90                         linux,default-trigger = "mmc2";
91                 };
92
93                 yellow_led: led-2 {
94                         label = "yellow:yellow-led";
95                         gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
96                         default-state = "off";
97                         linux,default-trigger = "mmc1";
98                 };
99         };
100
101         sdio_pwrseq: sdio-pwrseq {
102                 compatible = "mmc-pwrseq-simple";
103                 clocks = <&rk808 1>;
104                 clock-names = "ext_clock";
105                 pinctrl-names = "default";
106                 pinctrl-0 = <&wifi_enable_h>;
107
108                 /*
109                  * On the module itself this is one of these (depending
110                  * on the actual card populated):
111                  * - SDIO_RESET_L_WL_REG_ON
112                  * - PDN (power down when low)
113                  */
114                 reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
115         };
116
117         vcc_vbus_typec0: vcc-vbus-typec0 {
118                 compatible = "regulator-fixed";
119                 regulator-name = "vcc_vbus_typec0";
120                 regulator-always-on;
121                 regulator-boot-on;
122                 regulator-min-microvolt = <5000000>;
123                 regulator-max-microvolt = <5000000>;
124         };
125
126         sys_12v: sys-12v {
127                 compatible = "regulator-fixed";
128                 regulator-name = "sys_12v";
129                 regulator-always-on;
130                 regulator-boot-on;
131                 vin-supply = <&dc_12v>;
132         };
133
134         /* switched by pmic_sleep */
135         vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
136                 compatible = "regulator-fixed";
137                 regulator-name = "vcc1v8_s3";
138                 regulator-always-on;
139                 regulator-boot-on;
140                 regulator-min-microvolt = <1800000>;
141                 regulator-max-microvolt = <1800000>;
142                 vin-supply = <&vcc_1v8>;
143         };
144
145         vcc3v0_sd: vcc3v0-sd {
146                 compatible = "regulator-fixed";
147                 enable-active-high;
148                 gpio = <&gpio4 RK_PD6 GPIO_ACTIVE_HIGH>;
149                 pinctrl-names = "default";
150                 pinctrl-0 = <&vcc3v0_sd_en>;
151                 regulator-name = "vcc3v0_sd";
152                 regulator-boot-on;
153                 regulator-min-microvolt = <3000000>;
154                 regulator-max-microvolt = <3000000>;
155                 vin-supply = <&vcc3v3_sys>;
156         };
157
158         vcc3v3_sys: vcc3v3-sys {
159                 compatible = "regulator-fixed";
160                 regulator-name = "vcc3v3_sys";
161                 regulator-always-on;
162                 regulator-boot-on;
163                 regulator-min-microvolt = <3300000>;
164                 regulator-max-microvolt = <3300000>;
165                 vin-supply = <&sys_12v>;
166         };
167
168         vcca_0v9: vcca-0v9 {
169                 compatible = "regulator-fixed";
170                 regulator-name = "vcca_0v9";
171                 regulator-always-on;
172                 regulator-boot-on;
173                 regulator-min-microvolt = <900000>;
174                 regulator-max-microvolt = <900000>;
175                 vin-supply = <&vcc3v3_sys>;
176         };
177
178         /* Actually 3 regulators (host0, 1, 2) controlled by the same gpio */
179         vcc5v0_host: vcc5v0-host-regulator {
180                 compatible = "regulator-fixed";
181                 enable-active-high;
182                 gpio = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
183                 pinctrl-names = "default";
184                 pinctrl-0 = <&vcc5v0_host_en &hub_rst>;
185                 regulator-name = "vcc5v0_host";
186                 vin-supply = <&vcc_sys>;
187         };
188
189         vcc_vbus_typec1: vcc-vbus-typec1 {
190                 compatible = "regulator-fixed";
191                 enable-active-high;
192                 gpio = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>;
193                 pinctrl-names = "default";
194                 pinctrl-0 = <&vcc_vbus_typec1_en>;
195                 regulator-name = "vcc_vbus_typec1";
196                 regulator-always-on;
197                 vin-supply = <&vcc_sys>;
198         };
199
200         vcc_sys: vcc-sys {
201                 compatible = "regulator-fixed";
202                 enable-active-high;
203                 gpio = <&gpio2 RK_PA6 GPIO_ACTIVE_HIGH>;
204                 pinctrl-names = "default";
205                 pinctrl-0 = <&vcc_sys_en>;
206                 regulator-name = "vcc_sys";
207                 regulator-boot-on;
208                 regulator-min-microvolt = <5000000>;
209                 regulator-max-microvolt = <5000000>;
210                 vin-supply = <&sys_12v>;
211         };
212
213         vdd_log: vdd-log {
214                 compatible = "pwm-regulator";
215                 pwms = <&pwm2 0 25000 1>;
216                 regulator-name = "vdd_log";
217                 regulator-always-on;
218                 regulator-boot-on;
219                 regulator-min-microvolt = <450000>;
220                 regulator-max-microvolt = <1400000>;
221                 pwm-supply = <&vcc3v3_sys>;
222         };
223 };
224
225 &cpu_l0 {
226         cpu-supply = <&vdd_cpu_l>;
227 };
228
229 &cpu_l1 {
230         cpu-supply = <&vdd_cpu_l>;
231 };
232
233 &cpu_l2 {
234         cpu-supply = <&vdd_cpu_l>;
235 };
236
237 &cpu_l3 {
238         cpu-supply = <&vdd_cpu_l>;
239 };
240
241 &cpu_b0 {
242         cpu-supply = <&vdd_cpu_b>;
243 };
244
245 &cpu_b1 {
246         cpu-supply = <&vdd_cpu_b>;
247 };
248
249 &emmc_phy {
250         status = "okay";
251 };
252
253 &gmac {
254         assigned-clocks = <&cru SCLK_RMII_SRC>;
255         assigned-clock-parents = <&clkin_gmac>;
256         clock_in_out = "input";
257         phy-supply = <&vcc_lan>;
258         phy-mode = "rgmii";
259         pinctrl-names = "default";
260         pinctrl-0 = <&rgmii_pins>;
261         snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
262         snps,reset-active-low;
263         snps,reset-delays-us = <0 10000 50000>;
264         tx_delay = <0x28>;
265         rx_delay = <0x11>;
266         status = "okay";
267 };
268
269 &gpu {
270         mali-supply = <&vdd_gpu>;
271         status = "okay";
272 };
273
274 &hdmi {
275         avdd-0v9-supply = <&vcca0v9_hdmi>;
276         avdd-1v8-supply = <&vcca1v8_hdmi>;
277         ddc-i2c-bus = <&i2c3>;
278         pinctrl-names = "default";
279         pinctrl-0 = <&hdmi_cec>;
280         status = "okay";
281 };
282
283 &hdmi_sound {
284         status = "okay";
285 };
286
287 &i2c0 {
288         clock-frequency = <400000>;
289         i2c-scl-rising-time-ns = <168>;
290         i2c-scl-falling-time-ns = <4>;
291         status = "okay";
292
293         rk808: pmic@1b {
294                 compatible = "rockchip,rk808";
295                 reg = <0x1b>;
296                 interrupt-parent = <&gpio1>;
297                 interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
298                 #clock-cells = <1>;
299                 clock-output-names = "xin32k", "rk808-clkout2";
300                 pinctrl-names = "default";
301                 pinctrl-0 = <&pmic_int_l>;
302                 rockchip,system-power-controller;
303                 wakeup-source;
304
305                 vcc1-supply = <&vcc3v3_sys>;
306                 vcc2-supply = <&vcc3v3_sys>;
307                 vcc3-supply = <&vcc3v3_sys>;
308                 vcc4-supply = <&vcc3v3_sys>;
309                 vcc6-supply = <&vcc3v3_sys>;
310                 vcc7-supply = <&vcc3v3_sys>;
311                 vcc8-supply = <&vcc3v3_sys>;
312                 vcc9-supply = <&vcc3v3_sys>;
313                 vcc10-supply = <&vcc3v3_sys>;
314                 vcc11-supply = <&vcc3v3_sys>;
315                 vcc12-supply = <&vcc3v3_sys>;
316                 vddio-supply = <&vcc_3v0>;
317
318                 regulators {
319                         vdd_center: DCDC_REG1 {
320                                 regulator-name = "vdd_center";
321                                 regulator-always-on;
322                                 regulator-boot-on;
323                                 regulator-min-microvolt = <750000>;
324                                 regulator-max-microvolt = <1350000>;
325                                 regulator-ramp-delay = <6001>;
326                                 regulator-state-mem {
327                                         regulator-off-in-suspend;
328                                 };
329                         };
330
331                         vdd_cpu_l: DCDC_REG2 {
332                                 regulator-name = "vdd_cpu_l";
333                                 regulator-always-on;
334                                 regulator-boot-on;
335                                 regulator-min-microvolt = <750000>;
336                                 regulator-max-microvolt = <1350000>;
337                                 regulator-ramp-delay = <6001>;
338                                 regulator-state-mem {
339                                         regulator-off-in-suspend;
340                                 };
341                         };
342
343                         vcc_ddr: DCDC_REG3 {
344                                 regulator-name = "vcc_ddr";
345                                 regulator-always-on;
346                                 regulator-boot-on;
347                                 regulator-state-mem {
348                                         regulator-on-in-suspend;
349                                 };
350                         };
351
352                         vcc_1v8: DCDC_REG4 {
353                                 regulator-name = "vcc_1v8";
354                                 regulator-always-on;
355                                 regulator-boot-on;
356                                 regulator-min-microvolt = <1800000>;
357                                 regulator-max-microvolt = <1800000>;
358                                 regulator-state-mem {
359                                         regulator-on-in-suspend;
360                                         regulator-suspend-microvolt = <1800000>;
361                                 };
362                         };
363
364                         vcca1v8_codec: LDO_REG1 {
365                                 regulator-name = "vcca1v8_codec";
366                                 regulator-always-on;
367                                 regulator-boot-on;
368                                 regulator-min-microvolt = <1800000>;
369                                 regulator-max-microvolt = <1800000>;
370                                 regulator-state-mem {
371                                         regulator-off-in-suspend;
372                                 };
373                         };
374
375                         vcca1v8_hdmi: LDO_REG2 {
376                                 regulator-name = "vcca1v8_hdmi";
377                                 regulator-always-on;
378                                 regulator-boot-on;
379                                 regulator-min-microvolt = <1800000>;
380                                 regulator-max-microvolt = <1800000>;
381                                 regulator-state-mem {
382                                         regulator-off-in-suspend;
383                                 };
384                         };
385
386                         vcc1v8_pmu: LDO_REG3 {
387                                 regulator-name = "vcc1v8_pmu";
388                                 regulator-always-on;
389                                 regulator-boot-on;
390                                 regulator-min-microvolt = <1800000>;
391                                 regulator-max-microvolt = <1800000>;
392                                 regulator-state-mem {
393                                         regulator-on-in-suspend;
394                                         regulator-suspend-microvolt = <1800000>;
395                                 };
396                         };
397
398                         vcc_sdio: LDO_REG4 {
399                                 regulator-name = "vcc_sdio";
400                                 regulator-always-on;
401                                 regulator-boot-on;
402                                 regulator-min-microvolt = <1800000>;
403                                 regulator-max-microvolt = <3000000>;
404                                 regulator-state-mem {
405                                         regulator-on-in-suspend;
406                                         regulator-suspend-microvolt = <3000000>;
407                                 };
408                         };
409
410                         vcca3v0_codec: LDO_REG5 {
411                                 regulator-name = "vcca3v0_codec";
412                                 regulator-always-on;
413                                 regulator-boot-on;
414                                 regulator-min-microvolt = <3000000>;
415                                 regulator-max-microvolt = <3000000>;
416                                 regulator-state-mem {
417                                         regulator-off-in-suspend;
418                                 };
419                         };
420
421                         vcc_1v5: LDO_REG6 {
422                                 regulator-name = "vcc_1v5";
423                                 regulator-always-on;
424                                 regulator-boot-on;
425                                 regulator-min-microvolt = <1500000>;
426                                 regulator-max-microvolt = <1500000>;
427                                 regulator-state-mem {
428                                         regulator-on-in-suspend;
429                                         regulator-suspend-microvolt = <1500000>;
430                                 };
431                         };
432
433                         vcca0v9_hdmi: LDO_REG7 {
434                                 regulator-name = "vcca0v9_hdmi";
435                                 regulator-always-on;
436                                 regulator-boot-on;
437                                 regulator-min-microvolt = <900000>;
438                                 regulator-max-microvolt = <900000>;
439                                 regulator-state-mem {
440                                         regulator-off-in-suspend;
441                                 };
442                         };
443
444                         vcc_3v0: LDO_REG8 {
445                                 regulator-name = "vcc_3v0";
446                                 regulator-always-on;
447                                 regulator-boot-on;
448                                 regulator-min-microvolt = <3000000>;
449                                 regulator-max-microvolt = <3000000>;
450                                 regulator-state-mem {
451                                         regulator-on-in-suspend;
452                                         regulator-suspend-microvolt = <3000000>;
453                                 };
454                         };
455
456                         vcc3v3_s3: vcc_lan: SWITCH_REG1 {
457                                 regulator-name = "vcc3v3_s3";
458                                 regulator-always-on;
459                                 regulator-boot-on;
460                                 regulator-state-mem {
461                                         regulator-off-in-suspend;
462                                 };
463                         };
464
465                         vcc3v3_s0: SWITCH_REG2 {
466                                 regulator-name = "vcc3v3_s0";
467                                 regulator-always-on;
468                                 regulator-boot-on;
469                                 regulator-state-mem {
470                                         regulator-off-in-suspend;
471                                 };
472                         };
473                 };
474         };
475
476         vdd_cpu_b: regulator@40 {
477                 compatible = "silergy,syr827";
478                 reg = <0x40>;
479                 fcs,suspend-voltage-selector = <1>;
480                 pinctrl-names = "default";
481                 pinctrl-0 = <&vsel1_pin>;
482                 regulator-name = "vdd_cpu_b";
483                 regulator-min-microvolt = <712500>;
484                 regulator-max-microvolt = <1500000>;
485                 regulator-ramp-delay = <1000>;
486                 regulator-always-on;
487                 regulator-boot-on;
488                 vin-supply = <&vcc3v3_sys>;
489
490                 regulator-state-mem {
491                         regulator-off-in-suspend;
492                 };
493         };
494
495         vdd_gpu: regulator@41 {
496                 compatible = "silergy,syr828";
497                 reg = <0x41>;
498                 fcs,suspend-voltage-selector = <1>;
499                 pinctrl-names = "default";
500                 pinctrl-0 = <&vsel2_pin>;
501                 regulator-name = "vdd_gpu";
502                 regulator-min-microvolt = <712500>;
503                 regulator-max-microvolt = <1500000>;
504                 regulator-ramp-delay = <1000>;
505                 regulator-always-on;
506                 regulator-boot-on;
507                 vin-supply = <&vcc3v3_sys>;
508
509                 regulator-state-mem {
510                         regulator-off-in-suspend;
511                 };
512         };
513 };
514
515 &i2c1 {
516         i2c-scl-rising-time-ns = <300>;
517         i2c-scl-falling-time-ns = <15>;
518         status = "okay";
519 };
520
521 &i2c3 {
522         i2c-scl-rising-time-ns = <450>;
523         i2c-scl-falling-time-ns = <15>;
524         status = "okay";
525 };
526
527 &i2c4 {
528         i2c-scl-rising-time-ns = <600>;
529         i2c-scl-falling-time-ns = <20>;
530         status = "okay";
531
532         fusb1: usb-typec@22 {
533                 compatible = "fcs,fusb302";
534                 reg = <0x22>;
535                 interrupt-parent = <&gpio1>;
536                 interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
537                 pinctrl-names = "default";
538                 pinctrl-0 = <&fusb1_int>;
539                 vbus-supply = <&vcc_vbus_typec1>;
540                 status = "okay";
541         };
542 };
543
544 &i2c7 {
545         i2c-scl-rising-time-ns = <600>;
546         i2c-scl-falling-time-ns = <20>;
547         status = "okay";
548
549         fusb0: usb-typec@22 {
550                 compatible = "fcs,fusb302";
551                 reg = <0x22>;
552                 interrupt-parent = <&gpio1>;
553                 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
554                 pinctrl-names = "default";
555                 pinctrl-0 = <&fusb0_int>;
556                 vbus-supply = <&vcc_vbus_typec0>;
557                 status = "okay";
558         };
559
560         mp8859: regulator@66 {
561                 compatible = "mps,mp8859";
562                 reg = <0x66>;
563                 dc_12v: mp8859_dcdc {
564                         regulator-name = "dc_12v";
565                         regulator-min-microvolt = <12000000>;
566                         regulator-max-microvolt = <12000000>;
567                         regulator-always-on;
568                         regulator-boot-on;
569                         vin-supply = <&vcc_vbus_typec0>;
570
571                         regulator-state-mem {
572                                 regulator-on-in-suspend;
573                                 regulator-suspend-microvolt = <12000000>;
574                         };
575                 };
576         };
577 };
578
579 &i2s0 {
580         rockchip,playback-channels = <8>;
581         rockchip,capture-channels = <8>;
582         status = "okay";
583 };
584
585 &i2s1 {
586         rockchip,playback-channels = <2>;
587         rockchip,capture-channels = <2>;
588         status = "okay";
589 };
590
591 &i2s2 {
592         status = "okay";
593 };
594
595 &io_domains {
596         audio-supply = <&vcca1v8_codec>;
597         bt656-supply = <&vcc_3v0>;
598         gpio1830-supply = <&vcc_3v0>;
599         sdmmc-supply = <&vcc_sdio>;
600         status = "okay";
601 };
602
603 &pmu_io_domains {
604         pmu1830-supply = <&vcc_3v0>;
605         status = "okay";
606 };
607
608 &pinctrl {
609         buttons {
610                 pwr_key_l: pwr-key-l {
611                         rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
612                 };
613         };
614
615         ir {
616                 ir_int: ir-int {
617                         rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
618                 };
619         };
620
621         lcd-panel {
622                 lcd_panel_reset: lcd-panel-reset {
623                         rockchip,pins = <4 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>;
624                 };
625         };
626
627         leds {
628                 diy_led_pin: diy-led-pin {
629                         rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
630                 };
631
632                 work_led_pin: work-led-pin {
633                         rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
634                 };
635
636                 yellow_led_pin: yellow-led-pin {
637                         rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
638                 };
639         };
640
641         pmic {
642                 vsel1_pin: vsel1-pin {
643                         rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>;
644                 };
645
646                 vsel2_pin: vsel2-pin {
647                         rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
648                 };
649         };
650
651         sdio-pwrseq {
652                 wifi_enable_h: wifi-enable-h {
653                         rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
654                 };
655         };
656
657         sdmmc {
658                 vcc3v0_sd_en: vcc3v0-sd-en {
659                         rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>;
660                 };
661         };
662
663         pmic {
664                 pmic_int_l: pmic-int-l {
665                         rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
666                 };
667         };
668
669         usb2 {
670                 vcc5v0_host_en: vcc5v0-host-en {
671                         rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
672                 };
673
674                 vcc_sys_en: vcc-sys-en {
675                         rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
676                 };
677
678                 hub_rst: hub-rst {
679                         rockchip,pins = <2 RK_PA4 RK_FUNC_GPIO &pcfg_output_high>;
680                 };
681         };
682
683         usb-typec {
684                 vcc_vbus_typec1_en: vcc-vbus-typec1-en {
685                         rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
686                 };
687         };
688
689         fusb30x {
690                 fusb0_int: fusb0-int {
691                         rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
692                 };
693
694                 fusb1_int: fusb1-int {
695                         rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
696                 };
697         };
698 };
699
700 &pwm0 {
701         status = "okay";
702 };
703
704 &pwm2 {
705         status = "okay";
706 };
707
708 &saradc {
709         vref-supply = <&vcca1v8_s3>;
710         status = "okay";
711 };
712
713 &sdmmc {
714         bus-width = <4>;
715         cap-sd-highspeed;
716         cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
717         disable-wp;
718         max-frequency = <150000000>;
719         pinctrl-names = "default";
720         pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
721         sd-uhs-sdr104;
722         vmmc-supply = <&vcc3v0_sd>;
723         vqmmc-supply = <&vcc_sdio>;
724         status = "okay";
725 };
726
727 &sdhci {
728         bus-width = <8>;
729         non-removable;
730         status = "okay";
731 };
732
733 &spi1 {
734         status = "okay";
735
736         flash@0 {
737                 compatible = "jedec,spi-nor";
738                 reg = <0>;
739                 spi-max-frequency = <30000000>;
740         };
741 };
742
743 &tcphy0 {
744         status = "okay";
745 };
746
747 &tcphy1 {
748         status = "okay";
749 };
750
751 &tsadc {
752         /* tshut mode 0:CRU 1:GPIO */
753         rockchip,hw-tshut-mode = <1>;
754         /* tshut polarity 0:LOW 1:HIGH */
755         rockchip,hw-tshut-polarity = <1>;
756         status = "okay";
757 };
758
759 &u2phy0 {
760         status = "okay";
761
762         u2phy0_otg: otg-port {
763                 phy-supply = <&vcc_vbus_typec0>;
764                 status = "okay";
765         };
766
767         u2phy0_host: host-port {
768                 phy-supply = <&vcc5v0_host>;
769                 status = "okay";
770         };
771 };
772
773 &u2phy1 {
774         status = "okay";
775
776         u2phy1_otg: otg-port {
777                 phy-supply = <&vcc_vbus_typec1>;
778                 status = "okay";
779         };
780
781         u2phy1_host: host-port {
782                 phy-supply = <&vcc5v0_host>;
783                 status = "okay";
784         };
785 };
786
787 &uart0 {
788         pinctrl-names = "default";
789         pinctrl-0 = <&uart0_xfer &uart0_cts>;
790         status = "okay";
791 };
792
793 &uart2 {
794         status = "okay";
795 };
796
797 &usb_host0_ehci {
798         status = "okay";
799 };
800
801 &usb_host0_ohci {
802         status = "okay";
803 };
804
805 &usb_host1_ehci {
806         status = "okay";
807 };
808
809 &usb_host1_ohci {
810         status = "okay";
811 };
812
813 &usbdrd3_0 {
814         status = "okay";
815 };
816
817 &usbdrd_dwc3_0 {
818         status = "okay";
819 };
820
821 &usbdrd3_1 {
822         status = "okay";
823 };
824
825 &usbdrd_dwc3_1 {
826         status = "okay";
827         dr_mode = "host";
828 };
829
830 &vopb {
831         status = "okay";
832 };
833
834 &vopb_mmu {
835         status = "okay";
836 };
837
838 &vopl {
839         status = "okay";
840 };
841
842 &vopl_mmu {
843         status = "okay";
844 };