rockchip: rk3399: Migrate to OF_UPSTREAM
[pandora-u-boot.git] / arch / arm / dts / rk3399-orangepi.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
4  */
5
6 /dts-v1/;
7
8 #include "dt-bindings/pwm/pwm.h"
9 #include "dt-bindings/input/input.h"
10 #include <dt-bindings/interrupt-controller/irq.h>
11 #include "dt-bindings/usb/pd.h"
12 #include "rk3399.dtsi"
13 #include "rk3399-opp.dtsi"
14
15 / {
16         model = "Orange Pi RK3399 Board";
17         compatible = "rockchip,rk3399-orangepi", "rockchip,rk3399";
18
19         aliases {
20                 ethernet0 = &gmac;
21                 mmc0 = &sdio0;
22                 mmc1 = &sdmmc;
23                 mmc2 = &sdhci;
24         };
25
26         chosen {
27                 stdout-path = "serial2:1500000n8";
28         };
29
30         clkin_gmac: external-gmac-clock {
31                 compatible = "fixed-clock";
32                 clock-frequency = <125000000>;
33                 clock-output-names = "clkin_gmac";
34                 #clock-cells = <0>;
35         };
36
37         adc-keys {
38                 compatible = "adc-keys";
39                 io-channels = <&saradc 1>;
40                 io-channel-names = "buttons";
41                 keyup-threshold-microvolt = <1800000>;
42                 poll-interval = <100>;
43
44                 button-up {
45                         label = "Volume Up";
46                         linux,code = <KEY_VOLUMEUP>;
47                         press-threshold-microvolt = <100000>;
48                 };
49
50                 button-down {
51                         label = "Volume Down";
52                         linux,code = <KEY_VOLUMEDOWN>;
53                         press-threshold-microvolt = <300000>;
54                 };
55
56                 button-back {
57                         label = "Back";
58                         linux,code = <KEY_BACK>;
59                         press-threshold-microvolt = <985000>;
60                 };
61
62                 button-menu {
63                         label = "Menu";
64                         linux,code = <KEY_MENU>;
65                         press-threshold-microvolt = <1314000>;
66                 };
67         };
68
69         dc_12v: dc-12v {
70                 compatible = "regulator-fixed";
71                 regulator-name = "dc_12v";
72                 regulator-always-on;
73                 regulator-boot-on;
74                 regulator-min-microvolt = <12000000>;
75                 regulator-max-microvolt = <12000000>;
76         };
77
78         keys: gpio-keys {
79                 compatible = "gpio-keys";
80                 autorepeat;
81
82                 key-power {
83                         debounce-interval = <100>;
84                         gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
85                         label = "GPIO Power";
86                         linux,code = <KEY_POWER>;
87                         linux,input-type = <1>;
88                         pinctrl-names = "default";
89                         pinctrl-0 = <&pwr_btn>;
90                         wakeup-source;
91                 };
92         };
93
94         sdio_pwrseq: sdio-pwrseq {
95                 compatible = "mmc-pwrseq-simple";
96                 clocks = <&rk808 1>;
97                 clock-names = "ext_clock";
98                 pinctrl-names = "default";
99                 pinctrl-0 = <&wifi_reg_on_h>;
100                 reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
101         };
102
103         /* switched by pmic_sleep */
104         vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
105                 compatible = "regulator-fixed";
106                 regulator-name = "vcc1v8_s3";
107                 regulator-always-on;
108                 regulator-boot-on;
109                 regulator-min-microvolt = <1800000>;
110                 regulator-max-microvolt = <1800000>;
111                 vin-supply = <&vcc_1v8>;
112         };
113
114         vcc3v0_sd: vcc3v0-sd {
115                 compatible = "regulator-fixed";
116                 enable-active-high;
117                 gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
118                 pinctrl-names = "default";
119                 pinctrl-0 = <&sdmmc0_pwr_h>;
120                 regulator-boot-on;
121                 regulator-max-microvolt = <3000000>;
122                 regulator-min-microvolt = <3000000>;
123                 regulator-name = "vcc3v0_sd";
124                 vin-supply = <&vcc3v3_sys>;
125         };
126
127         vcc3v3_sys: vcc3v3-sys {
128                 compatible = "regulator-fixed";
129                 regulator-name = "vcc3v3_sys";
130                 regulator-always-on;
131                 regulator-boot-on;
132                 regulator-min-microvolt = <3300000>;
133                 regulator-max-microvolt = <3300000>;
134                 vin-supply = <&vcc_sys>;
135         };
136
137         vcc5v0_host: vcc5v0-host-regulator {
138                 compatible = "regulator-fixed";
139                 enable-active-high;
140                 gpio = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>;
141                 pinctrl-names = "default";
142                 pinctrl-0 = <&vcc5v0_host_en>;
143                 regulator-name = "vcc5v0_host";
144                 regulator-always-on;
145                 vin-supply = <&vcc_sys>;
146         };
147
148         vbus_typec: vbus-typec-regulator {
149                 compatible = "regulator-fixed";
150                 enable-active-high;
151                 gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
152                 pinctrl-names = "default";
153                 pinctrl-0 = <&vcc5v0_typec_en>;
154                 regulator-name = "vbus_typec";
155                 vin-supply = <&vcc_sys>;
156         };
157
158         vcc_sys: vcc-sys {
159                 compatible = "regulator-fixed";
160                 regulator-name = "vcc_sys";
161                 regulator-always-on;
162                 regulator-boot-on;
163                 regulator-min-microvolt = <5000000>;
164                 regulator-max-microvolt = <5000000>;
165                 vin-supply = <&dc_12v>;
166         };
167
168         vdd_log: vdd-log {
169                 compatible = "pwm-regulator";
170                 pwms = <&pwm2 0 25000 1>;
171                 pwm-supply = <&vcc_sys>;
172                 regulator-name = "vdd_log";
173                 regulator-always-on;
174                 regulator-boot-on;
175                 regulator-min-microvolt = <800000>;
176                 regulator-max-microvolt = <1400000>;
177         };
178 };
179
180 &cpu_l0 {
181         cpu-supply = <&vdd_cpu_l>;
182 };
183
184 &cpu_l1 {
185         cpu-supply = <&vdd_cpu_l>;
186 };
187
188 &cpu_l2 {
189         cpu-supply = <&vdd_cpu_l>;
190 };
191
192 &cpu_l3 {
193         cpu-supply = <&vdd_cpu_l>;
194 };
195
196 &cpu_b0 {
197         cpu-supply = <&vdd_cpu_b>;
198 };
199
200 &cpu_b1 {
201         cpu-supply = <&vdd_cpu_b>;
202 };
203
204 &emmc_phy {
205         status = "okay";
206 };
207
208 &gmac {
209         assigned-clocks = <&cru SCLK_RMII_SRC>;
210         assigned-clock-parents = <&clkin_gmac>;
211         clock_in_out = "input";
212         phy-supply = <&vcc3v3_s3>;
213         phy-mode = "rgmii";
214         phy-handle = <&rtl8211e>;
215         pinctrl-names = "default";
216         pinctrl-0 = <&rgmii_pins>, <&phy_intb>, <&phy_rstb>;
217         tx_delay = <0x28>;
218         rx_delay = <0x11>;
219         status = "okay";
220
221         mdio {
222                 compatible = "snps,dwmac-mdio";
223                 #address-cells = <1>;
224                 #size-cells = <0>;
225
226                 rtl8211e: ethernet-phy@1 {
227                         reg = <1>;
228                         interrupt-parent = <&gpio3>;
229                         interrupts = <RK_PB2 IRQ_TYPE_LEVEL_LOW>;
230                         reset-assert-us = <10000>;
231                         reset-deassert-us = <30000>;
232                         reset-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
233                 };
234         };
235 };
236
237 &gpu {
238         mali-supply = <&vdd_gpu>;
239         status = "okay";
240 };
241
242 &hdmi {
243         ddc-i2c-bus = <&i2c3>;
244         status = "okay";
245 };
246
247 &hdmi_sound {
248         status = "okay";
249 };
250
251 &i2c0 {
252         clock-frequency = <400000>;
253         i2c-scl-rising-time-ns = <168>;
254         i2c-scl-falling-time-ns = <4>;
255         status = "okay";
256
257         rk808: pmic@1b {
258                 compatible = "rockchip,rk808";
259                 reg = <0x1b>;
260                 interrupt-parent = <&gpio1>;
261                 interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
262                 #clock-cells = <1>;
263                 clock-output-names = "rtc_clko_soc", "rtc_clko_wifi";
264                 pinctrl-names = "default";
265                 pinctrl-0 = <&pmic_int_l>;
266                 rockchip,system-power-controller;
267                 wakeup-source;
268
269                 vcc1-supply = <&vcc3v3_sys>;
270                 vcc2-supply = <&vcc3v3_sys>;
271                 vcc3-supply = <&vcc3v3_sys>;
272                 vcc4-supply = <&vcc3v3_sys>;
273                 vcc6-supply = <&vcc3v3_sys>;
274                 vcc7-supply = <&vcc3v3_sys>;
275                 vcc8-supply = <&vcc3v3_sys>;
276                 vcc9-supply = <&vcc3v3_sys>;
277                 vcc10-supply = <&vcc3v3_sys>;
278                 vcc11-supply = <&vcc3v3_sys>;
279                 vcc12-supply = <&vcc3v3_sys>;
280                 vddio-supply = <&vcc_3v0>;
281
282                 regulators {
283                         vdd_center: DCDC_REG1 {
284                                 regulator-name = "vdd_center";
285                                 regulator-always-on;
286                                 regulator-boot-on;
287                                 regulator-min-microvolt = <700000>;
288                                 regulator-max-microvolt = <1500000>;
289                                 regulator-ramp-delay = <6001>;
290                                 regulator-state-mem {
291                                         regulator-off-in-suspend;
292                                 };
293                         };
294
295                         vdd_cpu_l: DCDC_REG2 {
296                                 regulator-name = "vdd_cpu_l";
297                                 regulator-always-on;
298                                 regulator-boot-on;
299                                 regulator-min-microvolt = <700000>;
300                                 regulator-max-microvolt = <1500000>;
301                                 regulator-ramp-delay = <6001>;
302                                 regulator-state-mem {
303                                         regulator-off-in-suspend;
304                                 };
305                         };
306
307                         vcc_ddr: DCDC_REG3 {
308                                 regulator-name = "vcc_ddr";
309                                 regulator-always-on;
310                                 regulator-boot-on;
311                                 regulator-state-mem {
312                                         regulator-on-in-suspend;
313                                 };
314                         };
315
316                         vcc_1v8: DCDC_REG4 {
317                                 regulator-name = "vcc_1v8";
318                                 regulator-always-on;
319                                 regulator-boot-on;
320                                 regulator-min-microvolt = <1800000>;
321                                 regulator-max-microvolt = <3300000>;
322                                 regulator-state-mem {
323                                         regulator-on-in-suspend;
324                                         regulator-suspend-microvolt = <1800000>;
325                                 };
326                         };
327
328                         vcc1v8_dvp: LDO_REG1 {
329                                 regulator-name = "vcc1v8_dvp";
330                                 regulator-always-on;
331                                 regulator-boot-on;
332                                 regulator-min-microvolt = <1800000>;
333                                 regulator-max-microvolt = <3400000>;
334                                 regulator-state-mem {
335                                         regulator-off-in-suspend;
336                                 };
337                         };
338
339                         vcc3v0_tp: LDO_REG2 {
340                                 regulator-name = "vcc3v0_tp";
341                                 regulator-always-on;
342                                 regulator-boot-on;
343                                 regulator-min-microvolt = <1800000>;
344                                 regulator-max-microvolt = <3400000>;
345                                 regulator-state-mem {
346                                         regulator-off-in-suspend;
347                                 };
348                         };
349
350                         vcc1v8_pmupll: LDO_REG3 {
351                                 regulator-name = "vcc1v8_pmupll";
352                                 regulator-always-on;
353                                 regulator-boot-on;
354                                 regulator-min-microvolt = <800000>;
355                                 regulator-max-microvolt = <2500000>;
356                                 regulator-state-mem {
357                                         regulator-on-in-suspend;
358                                         regulator-suspend-microvolt = <1800000>;
359                                 };
360                         };
361
362                         vcc_sdio: LDO_REG4 {
363                                 regulator-name = "vcc_sdio";
364                                 regulator-always-on;
365                                 regulator-boot-on;
366                                 regulator-min-microvolt = <1800000>;
367                                 regulator-max-microvolt = <3400000>;
368                                 regulator-state-mem {
369                                         regulator-on-in-suspend;
370                                         regulator-suspend-microvolt = <3000000>;
371                                 };
372                         };
373
374                         vcca3v0_codec: LDO_REG5 {
375                                 regulator-name = "vcca3v0_codec";
376                                 regulator-always-on;
377                                 regulator-boot-on;
378                                 regulator-min-microvolt = <1800000>;
379                                 regulator-max-microvolt = <3400000>;
380                                 regulator-state-mem {
381                                         regulator-off-in-suspend;
382                                 };
383                         };
384
385                         vcc_1v5: LDO_REG6 {
386                                 regulator-name = "vcc_1v5";
387                                 regulator-always-on;
388                                 regulator-boot-on;
389                                 regulator-min-microvolt = <800000>;
390                                 regulator-max-microvolt = <2500000>;
391                                 regulator-state-mem {
392                                         regulator-on-in-suspend;
393                                         regulator-suspend-microvolt = <1500000>;
394                                 };
395                         };
396
397                         vcca1v8_codec: LDO_REG7 {
398                                 regulator-name = "vcca1v8_codec";
399                                 regulator-always-on;
400                                 regulator-boot-on;
401                                 regulator-min-microvolt = <800000>;
402                                 regulator-max-microvolt = <2500000>;
403                                 regulator-state-mem {
404                                         regulator-off-in-suspend;
405                                 };
406                         };
407
408                         vcc_3v0: LDO_REG8 {
409                                 regulator-name = "vcc_3v0";
410                                 regulator-always-on;
411                                 regulator-boot-on;
412                                 regulator-min-microvolt = <1800000>;
413                                 regulator-max-microvolt = <3400000>;
414                                 regulator-state-mem {
415                                         regulator-on-in-suspend;
416                                         regulator-suspend-microvolt = <3000000>;
417                                 };
418                         };
419
420                         vcc3v3_s3: SWITCH_REG1 {
421                                 regulator-name = "vcc3v3_s3";
422                                 regulator-always-on;
423                                 regulator-boot-on;
424                                 regulator-state-mem {
425                                         regulator-off-in-suspend;
426                                 };
427                         };
428
429                         vcc3v3_s0: SWITCH_REG2 {
430                                 regulator-name = "vcc3v3_s0";
431                                 regulator-always-on;
432                                 regulator-boot-on;
433                                 regulator-state-mem {
434                                         regulator-off-in-suspend;
435                                 };
436                         };
437                 };
438         };
439
440         vdd_cpu_b: regulator@40 {
441                 compatible = "silergy,syr827";
442                 reg = <0x40>;
443                 fcs,suspend-voltage-selector = <1>;
444                 pinctrl-names = "default";
445                 pinctrl-0 = <&cpu_b_sleep>;
446                 regulator-name = "vdd_cpu_b";
447                 regulator-min-microvolt = <712500>;
448                 regulator-max-microvolt = <1500000>;
449                 regulator-ramp-delay = <1000>;
450                 regulator-always-on;
451                 regulator-boot-on;
452                 vin-supply = <&vcc3v3_sys>;
453
454                 regulator-state-mem {
455                         regulator-off-in-suspend;
456                 };
457         };
458
459         vdd_gpu: regulator@41 {
460                 compatible = "silergy,syr828";
461                 reg = <0x41>;
462                 fcs,suspend-voltage-selector = <1>;
463                 pinctrl-names = "default";
464                 pinctrl-0 = <&gpu_sleep>;
465                 regulator-name = "vdd_gpu";
466                 regulator-min-microvolt = <712500>;
467                 regulator-max-microvolt = <1500000>;
468                 regulator-ramp-delay = <1000>;
469                 regulator-always-on;
470                 regulator-boot-on;
471                 vin-supply = <&vcc3v3_sys>;
472
473                 regulator-state-mem {
474                         regulator-off-in-suspend;
475                 };
476         };
477 };
478
479 &i2c1 {
480         i2c-scl-rising-time-ns = <450>;
481         i2c-scl-falling-time-ns = <15>;
482         status = "okay";
483 };
484
485 &i2c3 {
486         i2c-scl-rising-time-ns = <450>;
487         i2c-scl-falling-time-ns = <15>;
488         status = "okay";
489 };
490
491 &i2c4 {
492         clock-frequency = <400000>;
493         i2c-scl-rising-time-ns = <450>;
494         i2c-scl-falling-time-ns = <15>;
495         status = "okay";
496
497         ak09911@c {
498                 compatible = "asahi-kasei,ak09911";
499                 reg = <0x0c>;
500                 vdd-supply = <&vcc3v3_s3>;
501                 vid-supply = <&vcc3v3_s3>;
502         };
503
504         mpu6500@68 {
505                 compatible = "invensense,mpu6500";
506                 reg = <0x68>;
507                 interrupt-parent = <&gpio1>;
508                 interrupts = <RK_PC6 IRQ_TYPE_EDGE_RISING>;
509                 pinctrl-names = "default";
510                 pinctrl-0 = <&gsensor_int_l>;
511                 vddio-supply = <&vcc3v3_s3>;
512         };
513
514         lsm6ds3@6a {
515                 compatible = "st,lsm6ds3";
516                 reg = <0x6a>;
517                 interrupt-parent = <&gpio1>;
518                 interrupts = <RK_PD0 IRQ_TYPE_EDGE_RISING>;
519                 pinctrl-names = "default";
520                 pinctrl-0 = <&gyr_int_l>;
521                 vdd-supply = <&vcc3v3_s3>;
522                 vddio-supply = <&vcc3v3_s3>;
523         };
524
525         cm32181@10 {
526                 compatible = "capella,cm32181";
527                 reg = <0x10>;
528                 interrupt-parent = <&gpio4>;
529                 interrupts = <RK_PD0 IRQ_TYPE_EDGE_RISING>;
530                 pinctrl-names = "default";
531                 pinctrl-0 = <&light_int_l>;
532                 vdd-supply = <&vcc3v3_s3>;
533         };
534
535         fusb302@22 {
536                 compatible = "fcs,fusb302";
537                 reg = <0x22>;
538                 interrupt-parent = <&gpio1>;
539                 interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
540                 pinctrl-names = "default";
541                 pinctrl-0 = <&chg_cc_int_l>;
542                 vbus-supply = <&vbus_typec>;
543
544                 typec_con: connector {
545                         compatible = "usb-c-connector";
546                         data-role = "host";
547                         label = "USB-C";
548                         op-sink-microwatt = <1000000>;
549                         power-role = "dual";
550                         sink-pdos =
551                                 <PDO_FIXED(5000, 2500, PDO_FIXED_USB_COMM)>;
552                         source-pdos =
553                                 <PDO_FIXED(5000, 1400, PDO_FIXED_USB_COMM)>;
554                         try-power-role = "sink";
555
556                         ports {
557                                 #address-cells = <1>;
558                                 #size-cells = <0>;
559
560                                 port@0 {
561                                         reg = <0>;
562                                         typec_hs: endpoint {
563                                                 remote-endpoint = <&u2phy0_typec_hs>;
564                                         };
565                                 };
566                                 port@1 {
567                                         reg = <1>;
568                                         typec_ss: endpoint {
569                                                 remote-endpoint = <&tcphy0_typec_ss>;
570                                         };
571                                 };
572                                 port@2 {
573                                         reg = <2>;
574                                         typec_dp: endpoint {
575                                                 remote-endpoint = <&tcphy0_typec_dp>;
576                                         };
577                                 };
578                         };
579                 };
580         };
581 };
582
583 &io_domains {
584         status = "okay";
585         bt656-supply = <&vcc_3v0>;
586         audio-supply = <&vcca1v8_codec>;
587         sdmmc-supply = <&vcc_sdio>;
588         gpio1830-supply = <&vcc_3v0>;
589 };
590
591 &pmu_io_domains {
592         status = "okay";
593         pmu1830-supply = <&vcc_3v0>;
594 };
595
596 &pinctrl {
597         buttons {
598                 pwr_btn: pwr-btn {
599                         rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
600                 };
601         };
602
603         gmac {
604                 phy_intb: phy-intb {
605                         rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
606                 };
607
608                 phy_rstb: phy-rstb {
609                         rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
610                 };
611         };
612
613         pmic {
614                 cpu_b_sleep: cpu-b-sleep {
615                         rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
616                 };
617
618                 gpu_sleep: gpu-sleep {
619                         rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
620                 };
621
622                 pmic_int_l: pmic-int-l {
623                         rockchip,pins =
624                                 <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
625                 };
626         };
627
628         sd {
629                 sdmmc0_pwr_h: sdmmc0-pwr-h {
630                         rockchip,pins =
631                                 <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
632                 };
633         };
634
635         usb2 {
636                 vcc5v0_host_en: vcc5v0-host-en {
637                         rockchip,pins =
638                                 <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
639                 };
640
641                 vcc5v0_typec_en: vcc5v0-typec-en {
642                         rockchip,pins =
643                                 <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
644                 };
645         };
646
647         sdio-pwrseq {
648                 wifi_reg_on_h: wifi-reg-on-h {
649                         rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
650                 };
651         };
652
653         wifi {
654                 wifi_host_wake_l: wifi-host-wake-l {
655                         rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
656                 };
657         };
658
659         bluetooth {
660                 bt_reg_on_h: bt-enable-h {
661                         rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
662                 };
663
664                 bt_host_wake_l: bt-host-wake-l {
665                         rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
666                 };
667
668                 bt_wake_l: bt-wake-l {
669                         rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
670                 };
671         };
672
673         mpu6500 {
674                 gsensor_int_l: gsensor-int-l {
675                         rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
676                 };
677         };
678
679         lsm6ds3 {
680                 gyr_int_l: gyr-int-l {
681                         rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
682                 };
683         };
684
685         cm32181 {
686                 light_int_l: light-int-l {
687                         rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
688                 };
689         };
690
691         fusb302 {
692                 chg_cc_int_l: chg-cc-int-l {
693                         rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
694                 };
695         };
696 };
697
698 &pwm0 {
699         status = "okay";
700 };
701
702 &pwm2 {
703         status = "okay";
704 };
705
706 &saradc {
707         vref-supply = <&vcca1v8_s3>;
708         status = "okay";
709 };
710
711 &sdhci {
712         bus-width = <8>;
713         mmc-hs400-1_8v;
714         mmc-hs400-enhanced-strobe;
715         non-removable;
716         status = "okay";
717 };
718
719 &sdio0 {
720         bus-width = <4>;
721         cap-sd-highspeed;
722         cap-sdio-irq;
723         clock-frequency = <50000000>;
724         disable-wp;
725         keep-power-in-suspend;
726         max-frequency = <50000000>;
727         mmc-pwrseq = <&sdio_pwrseq>;
728         non-removable;
729         pinctrl-names = "default";
730         pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
731         sd-uhs-sdr104;
732         #address-cells = <1>;
733         #size-cells = <0>;
734         status = "okay";
735
736         brcmf: wifi@1 {
737                 reg = <1>;
738                 compatible = "brcm,bcm4329-fmac";
739                 interrupt-parent = <&gpio0>;
740                 interrupts = <RK_PA3 IRQ_TYPE_LEVEL_HIGH>;
741                 interrupt-names = "host-wake";
742                 pinctrl-names = "default";
743                 pinctrl-0 = <&wifi_host_wake_l>;
744         };
745 };
746
747 &sdmmc {
748         bus-width = <4>;
749         cap-mmc-highspeed;
750         cap-sd-highspeed;
751         cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
752         clock-frequency = <150000000>;
753         disable-wp;
754         max-frequency = <150000000>;
755         pinctrl-names = "default";
756         pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
757         vmmc-supply = <&vcc3v0_sd>;
758         vqmmc-supply = <&vcc_sdio>;
759         status = "okay";
760 };
761
762 &tcphy0 {
763         status = "okay";
764 };
765
766 &tcphy0_dp {
767         port {
768                 tcphy0_typec_dp: endpoint {
769                         remote-endpoint = <&typec_dp>;
770                 };
771         };
772 };
773
774 &tcphy0_usb3 {
775         port {
776                 tcphy0_typec_ss: endpoint {
777                         remote-endpoint = <&typec_ss>;
778                 };
779         };
780 };
781
782 &tcphy1 {
783         status = "okay";
784 };
785
786 &tsadc {
787         rockchip,hw-tshut-mode = <1>;
788         rockchip,hw-tshut-polarity = <1>;
789         status = "okay";
790 };
791
792 &u2phy0 {
793         status = "okay";
794
795         u2phy0_otg: otg-port {
796                 phy-supply = <&vbus_typec>;
797                 status = "okay";
798         };
799
800         u2phy0_host: host-port {
801                 phy-supply = <&vcc5v0_host>;
802                 status = "okay";
803         };
804
805         port {
806                 u2phy0_typec_hs: endpoint {
807                         remote-endpoint = <&typec_hs>;
808                 };
809         };
810 };
811
812 &u2phy1 {
813         status = "okay";
814
815         u2phy1_otg: otg-port {
816                 status = "okay";
817         };
818
819         u2phy1_host: host-port {
820                 phy-supply = <&vcc5v0_host>;
821                 status = "okay";
822         };
823 };
824
825 &uart0 {
826         pinctrl-names = "default";
827         pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
828         status = "okay";
829
830         bluetooth {
831                 compatible = "brcm,bcm43438-bt";
832                 clocks = <&rk808 1>;
833                 clock-names = "lpo";
834                 device-wakeup-gpios = <&gpio2 RK_PD2 GPIO_ACTIVE_HIGH>;
835                 host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
836                 shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
837                 pinctrl-names = "default";
838                 pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_reg_on_h>;
839                 vbat-supply = <&vcc3v3_sys>;
840                 vddio-supply = <&vcc_1v8>;
841         };
842 };
843
844 &uart2 {
845         status = "okay";
846 };
847
848 &usb_host0_ehci {
849         status = "okay";
850 };
851
852 &usb_host0_ohci {
853         status = "okay";
854 };
855
856 &usb_host1_ehci {
857         status = "okay";
858 };
859
860 &usb_host1_ohci {
861         status = "okay";
862 };
863
864 &usbdrd3_0 {
865         status = "okay";
866 };
867
868 &usbdrd_dwc3_0 {
869         status = "okay";
870         dr_mode = "host";
871 };
872
873 &usbdrd3_1 {
874         status = "okay";
875 };
876
877 &usbdrd_dwc3_1 {
878         status = "okay";
879         dr_mode = "host";
880 };
881
882 &vopb {
883         status = "okay";
884 };
885
886 &vopb_mmu {
887         status = "okay";
888 };
889
890 &vopl {
891         status = "okay";
892 };
893
894 &vopl_mmu {
895         status = "okay";
896 };