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