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