ARM64: DTS: Fix Firefly board audio driver
[firefly-linux-kernel-4.4.55.git] / arch / arm / boot / dts / rk3288-firefly.dtsi
1 /*
2  * Copyright (c) 2014, 2015 FUKAUMI Naoki <naobsd@gmail.com>
3  *
4  * This file is dual-licensed: you can use it either under the terms
5  * of the GPL or the X11 license, at your option. Note that this dual
6  * licensing only applies to this file, and not this project as a
7  * whole.
8  *
9  *  a) This file is free software; you can redistribute it and/or
10  *     modify it under the terms of the GNU General Public License as
11  *     published by the Free Software Foundation; either version 2 of the
12  *     License, or (at your option) any later version.
13  *
14  *     This file is distributed in the hope that it will be useful,
15  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
16  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  *     GNU General Public License for more details.
18  *
19  * Or, alternatively,
20  *
21  *  b) Permission is hereby granted, free of charge, to any person
22  *     obtaining a copy of this software and associated documentation
23  *     files (the "Software"), to deal in the Software without
24  *     restriction, including without limitation the rights to use,
25  *     copy, modify, merge, publish, distribute, sublicense, and/or
26  *     sell copies of the Software, and to permit persons to whom the
27  *     Software is furnished to do so, subject to the following
28  *     conditions:
29  *
30  *     The above copyright notice and this permission notice shall be
31  *     included in all copies or substantial portions of the Software.
32  *
33  *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34  *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35  *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36  *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37  *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38  *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40  *     OTHER DEALINGS IN THE SOFTWARE.
41  */
42
43 #include "rk3288.dtsi"
44
45 / {
46         memory {
47                 device_type = "memory";
48                 reg = <0x0 0x0 0x0 0x80000000>;
49         };
50
51         backlight: backlight {
52                 status = "disabled";
53                 compatible = "pwm-backlight";
54                 brightness-levels = <
55                           3   4   5   6   7
56                           8   9  10  11  12  13  14  15
57                          16  17  18  19  20  21  22  23
58                          24  25  26  27  28  29  30  31
59                          32  33  34  35  36  37  38  39
60                          40  41  42  43  44  45  46  47
61                          48  49  50  51  52  53  54  55
62                          56  57  58  59  60  61  62  63
63                          64  65  66  67  68  69  70  71
64                          72  73  74  75  76  77  78  79
65                          80  81  82  83  84  85  86  87
66                          88  89  90  91  92  93  94  95
67                          96  97  98  99 100 101 102 103
68                         104 105 106 107 108 109 110 111
69                         112 113 114 115 116 117 118 119
70                         120 121 122 123 124 125 126 127
71                         128 129 130 131 132 133 134 135
72                         136 137 138 139 140 141 142 143
73                         144 145 146 147 148 149 150 151
74                         152 153 154 155 156 157 158 159
75                         160 161 162 163 164 165 166 167
76                         168 169 170 171 172 173 174 175
77                         176 177 178 179 180 181 182 183
78                         184 185 186 187 188 189 190 191
79                         192 193 194 195 196 197 198 199
80                         200 201 202 203 204 205 206 207
81                         208 209 210 211 212 213 214 215
82                         216 217 218 219 220 221 222 223
83                         224 225 226 227 228 229 230 231
84                         232 233 234 235 236 237 238 239
85                         240 241 242 243 244 245 246 247
86                         248 249 250 251 252 253 254 255>;
87                 default-brightness-level = <180>;
88                 pwms = <&pwm1 0 25000 0>;
89                 pwm-names = "backlight";
90                 power-supply = <&vcc_sys>;
91         };
92
93         panel: panel {
94                 status = "disabled";
95                 compatible ="lg,lp079qx1-sp0v";
96                 power-supply = <&vcc_sys>;
97                 backlight = <&backlight>;
98                 enable-gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
99
100                 ports {
101                         panel_in: port {
102                                 panel_in_edp: endpoint {
103                                         remote-endpoint = <&edp_out_panel>;
104                                 };
105                         };
106                 };
107         };
108
109         dovdd_1v8: dovdd-1v8-regulator {
110                 compatible = "regulator-fixed";
111                 regulator-name = "dovdd_1v8";
112                 regulator-min-microvolt = <1800000>;
113                 regulator-max-microvolt = <1800000>;
114                 vin-supply = <&vcc28_dvp>;
115         };
116
117         ext_gmac: external-gmac-clock {
118                 compatible = "fixed-clock";
119                 #clock-cells = <0>;
120                 clock-frequency = <125000000>;
121                 clock-output-names = "ext_gmac";
122         };
123
124         ir: ir-receiver {
125                 compatible = "gpio-ir-receiver";
126                 pinctrl-names = "default";
127                 pinctrl-0 = <&ir_int>;
128         };
129
130         keys: gpio-keys {
131                 compatible = "gpio-keys";
132                 #address-cells = <1>;
133                 #size-cells = <0>;
134
135                 button@0 {
136                         gpio-key,wakeup = <1>;
137                         gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
138                         label = "GPIO Power";
139                         linux,code = <116>;
140                         pinctrl-names = "default";
141                         pinctrl-0 = <&pwr_key>;
142                 };
143         };
144
145         leds {
146                 compatible = "gpio-leds";
147
148                 work {
149                         gpios = <&gpio8 1 GPIO_ACTIVE_LOW>;
150                         label = "firefly:blue:user";
151                         linux,default-trigger = "rc-feedback";
152                         pinctrl-names = "default";
153                         pinctrl-0 = <&work_led>;
154                 };
155
156                 power {
157                         gpios = <&gpio8 2 GPIO_ACTIVE_LOW>;
158                         label = "firefly:green:power";
159                         linux,default-trigger = "default-on";
160                         pinctrl-names = "default";
161                         pinctrl-0 = <&power_led>;
162                 };
163         };
164
165         sdio_pwrseq: sdio-pwrseq {
166                 compatible = "mmc-pwrseq-simple";
167                 clocks = <&hym8563>;
168                 clock-names = "ext_clock";
169                 pinctrl-names = "default";
170                 pinctrl-0 = <&wifi_enable_h>;
171
172                 /*
173                  * On the module itself this is one of these (depending
174                  * on the actual card populated):
175                  * - SDIO_RESET_L_WL_REG_ON
176                  * - PDN (power down when low)
177                  */
178                 reset-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>;
179         };
180
181         es8323-sound {
182                 status = "okay";
183         compatible = "simple-audio-card";
184         simple-audio-card,format = "i2s";
185         simple-audio-card,name = "rockchip,es8323-codec";
186         simple-audio-card,mclk-fs = <256>;
187         //simple-audio-card,hp-det-gpio = <&gpio7 15 GPIO_ACTIVE_HIGH>;
188                 simple-audio-card,widgets =
189                                 "Microphone","Mic Jack",
190                                 "Headphone","Headphone Jack";
191                 simple-audio-card,routing =
192                                 "Mic Jack","MICBIAS1",
193                                 "IN1P","Mic Jack",
194                                 "Headphone Jack","HPOL",
195                                 "Headphone Jack","HPOR";
196                 simple-audio-card,cpu {
197                                 sound-dai = <&i2s>;
198                 };
199                 simple-audio-card,codec {
200                                 sound-dai = <&es8323>;
201                 };
202         };
203
204         sound {
205                 compatible = "simple-audio-card";
206                 simple-audio-card,name = "SPDIF";
207                 simple-audio-card,dai-link@1 {
208                         cpu { sound-dai = <&spdif>; };
209                         codec { sound-dai = <&spdif_out>; };
210                 };
211         };
212
213         spdif_out: spdif-out {
214                 compatible = "linux,spdif-dit";
215                 #sound-dai-cells = <0>;
216         };
217
218         vbat_wl: vcc_sys: vsys-regulator {
219                 compatible = "regulator-fixed";
220                 regulator-name = "vcc_sys";
221                 regulator-min-microvolt = <5000000>;
222                 regulator-max-microvolt = <5000000>;
223                 regulator-always-on;
224                 regulator-boot-on;
225         };
226
227         vcc_sd: sdmmc-regulator {
228                 compatible = "regulator-fixed";
229                 gpio = <&gpio7 11 GPIO_ACTIVE_LOW>;
230                 pinctrl-names = "default";
231                 pinctrl-0 = <&sdmmc_pwr>;
232                 regulator-name = "vcc_sd";
233                 regulator-min-microvolt = <3300000>;
234                 regulator-max-microvolt = <3300000>;
235                 startup-delay-us = <100000>;
236                 vin-supply = <&vcc_io>;
237         };
238
239         vcc_flash: flash-regulator {
240                 compatible = "regulator-fixed";
241                 regulator-name = "vcc_flash";
242                 regulator-min-microvolt = <1800000>;
243                 regulator-max-microvolt = <1800000>;
244                 vin-supply = <&vcc_io>;
245         };
246
247         vcc_5v: usb-regulator {
248                 compatible = "regulator-fixed";
249                 regulator-name = "vcc_5v";
250                 regulator-min-microvolt = <5000000>;
251                 regulator-max-microvolt = <5000000>;
252                 regulator-always-on;
253                 regulator-boot-on;
254                 vin-supply = <&vcc_sys>;
255         };
256
257         vcc_host_5v: usb-host-regulator {
258                 compatible = "regulator-fixed";
259                 enable-active-high;
260                 gpio = <&gpio0 14 GPIO_ACTIVE_HIGH>;
261                 pinctrl-names = "default";
262                 pinctrl-0 = <&host_vbus_drv>;
263                 regulator-name = "vcc_host_5v";
264                 regulator-min-microvolt = <5000000>;
265                 regulator-max-microvolt = <5000000>;
266                 regulator-always-on;
267                 vin-supply = <&vcc_5v>;
268         };
269
270         vcc_otg_5v: usb-otg-regulator {
271                 compatible = "regulator-fixed";
272                 enable-active-high;
273                 gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>;
274                 pinctrl-names = "default";
275                 pinctrl-0 = <&otg_vbus_drv>;
276                 regulator-name = "vcc_otg_5v";
277                 regulator-min-microvolt = <5000000>;
278                 regulator-max-microvolt = <5000000>;
279                 regulator-always-on;
280                 vin-supply = <&vcc_5v>;
281         };
282
283         /*
284          * A TT8142 creates both dovdd_1v8 and vcc28_dvp, controlled
285          * by the dvp_pwr pin.
286          */
287         vcc28_dvp: vcc28-dvp-regulator {
288                 compatible = "regulator-fixed";
289                 enable-active-high;
290                 gpio = <&gpio0 11 GPIO_ACTIVE_HIGH>;
291                 pinctrl-names = "default";
292                 pinctrl-0 = <&dvp_pwr>;
293                 regulator-name = "vcc28_dvp";
294                 regulator-min-microvolt = <2800000>;
295                 regulator-max-microvolt = <2800000>;
296                 regulator-always-on;
297                 vin-supply = <&vcc_io>;
298         };
299
300         wireless-bluetooth {
301                 compatible = "bluetooth-platdata";
302                 uart_rts_gpios = <&gpio4 19 GPIO_ACTIVE_LOW>;
303                 pinctrl-names = "default", "rts_gpio";
304                 pinctrl-0 = <&uart0_rts>;
305                 pinctrl-1 = <&uart0_gpios>;
306                 BT,reset_gpio    = <&gpio4 29 GPIO_ACTIVE_HIGH>;
307                 BT,wake_gpio     = <&gpio4 26 GPIO_ACTIVE_HIGH>;
308                 BT,wake_host_irq = <&gpio4 31 GPIO_ACTIVE_HIGH>;
309                 status = "okay";
310         };
311
312         wireless-wlan {
313                 compatible = "wlan-platdata";
314                 rockchip,grf = <&grf>;
315                 wifi_chip_type = "ap6335";
316                 sdio_vref = <1800>;
317                 WIFI,host_wake_irq = <&gpio4 30 GPIO_ACTIVE_HIGH>;
318                 status = "okay";
319         };
320 };
321
322 &cpu0 {
323         cpu0-supply = <&vdd_cpu>;
324 };
325
326 &edp {
327         vcc-supply = <&vdd_10>;
328         vccio-supply = <&vcc_18>;
329         force-hpd;
330         status = "disabled";
331
332         ports {
333                 edp_out: port@1 {
334                         reg = <1>;
335                         #address-cells = <1>;
336                         #size-cells = <0>;
337                         edp_out_panel: endpoint {
338                                 reg = <0>;
339                                 remote-endpoint = <&panel_in_edp>;
340                         };
341                 };
342         };
343 };
344
345 &edp_in {
346         /delete-node/ endpoint@0;
347 };
348
349 &edp_phy {
350         status = "disabled";
351         //status = "okay";
352 };
353
354 &emmc {
355         bus-width = <8>;
356         cap-mmc-highspeed;
357         disable-wp;
358         non-removable;
359         num-slots = <1>;
360         pinctrl-names = "default";
361         pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_pwr>, <&emmc_bus8>;
362         vmmc-supply = <&vcc_io>;
363         vqmmc-supply = <&vcc_flash>;
364         status = "okay";
365 };
366
367 &gmac {
368         assigned-clocks = <&cru SCLK_MAC>;
369         assigned-clock-parents = <&ext_gmac>;
370         clock_in_out = "input";
371         pinctrl-names = "default";
372         pinctrl-0 = <&rgmii_pins>, <&phy_rst>, <&phy_pmeb>, <&phy_int>;
373         phy-supply = <&vcc_lan>;
374         phy-mode = "rgmii";
375         snps,reset-active-low;
376         snps,reset-delays-us = <0 10000 1000000>;
377         snps,reset-gpio = <&gpio4 8 GPIO_ACTIVE_LOW>;
378         tx_delay = <0x30>;
379         rx_delay = <0x10>;
380         status = "ok";
381 };
382
383 &gpu {
384         mali-supply = <&vdd_gpu>;
385         status = "okay";
386 };
387
388 &hdmi {
389         status = "okay";
390 };
391
392 &hevc_service {
393         status = "okay";
394
395 };
396
397 &hdmi_in {
398         /delete-node/ endpoint@1;
399 };
400
401 &i2c0 {
402         clock-frequency = <400000>;
403         status = "okay";
404
405         vdd_cpu: syr827@40 {
406                 compatible = "silergy,syr827";
407                 fcs,suspend-voltage-selector = <1>;
408                 reg = <0x40>;
409                 regulator-name = "vdd_cpu";
410                 regulator-min-microvolt = <850000>;
411                 regulator-max-microvolt = <1350000>;
412                 regulator-always-on;
413                 regulator-boot-on;
414                 regulator-enable-ramp-delay = <300>;
415                 regulator-ramp-delay = <8000>;
416                 vin-supply = <&vcc_sys>;
417         };
418
419         vdd_gpu: syr828@41 {
420                 compatible = "silergy,syr828";
421                 fcs,suspend-voltage-selector = <1>;
422                 reg = <0x41>;
423                 regulator-name = "vdd_gpu";
424                 regulator-min-microvolt = <850000>;
425                 regulator-max-microvolt = <1350000>;
426                 regulator-always-on;
427                 regulator-ramp-delay = <6000>;
428                 vin-supply = <&vcc_sys>;
429         };
430
431         hym8563: hym8563@51 {
432                 compatible = "haoyu,hym8563";
433                 reg = <0x51>;
434                 #clock-cells = <0>;
435                 clock-frequency = <32768>;
436                 clock-output-names = "xin32k";
437                 interrupt-parent = <&gpio7>;
438                 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
439                 pinctrl-names = "default";
440                 pinctrl-0 = <&rtc_int>;
441         };
442
443         act8846: act8846@5a {
444                 compatible = "active-semi,act8846";
445                 reg = <0x5a>;
446                 pinctrl-names = "default";
447                 pinctrl-0 = <&pmic_vsel>, <&pwr_hold>;
448                 system-power-controller;
449
450                 vp1-supply = <&vcc_sys>;
451                 vp2-supply = <&vcc_sys>;
452                 vp3-supply = <&vcc_sys>;
453                 vp4-supply = <&vcc_sys>;
454                 inl1-supply = <&vcc_sys>;
455                 inl2-supply = <&vcc_sys>;
456                 inl3-supply = <&vcc_20>;
457
458                 regulators {
459                         vcc_ddr: REG1 {
460                                 regulator-name = "vcc_ddr";
461                                 regulator-min-microvolt = <1200000>;
462                                 regulator-max-microvolt = <1200000>;
463                                 regulator-always-on;
464                         };
465
466                         vcc_io: REG2 {
467                                 regulator-name = "vcc_io";
468                                 regulator-min-microvolt = <3300000>;
469                                 regulator-max-microvolt = <3300000>;
470                                 regulator-always-on;
471                         };
472
473                         vdd_log: REG3 {
474                                 regulator-name = "vdd_log";
475                                 regulator-min-microvolt = <1100000>;
476                                 regulator-max-microvolt = <1100000>;
477                                 regulator-always-on;
478                         };
479
480                         vcc_20: REG4 {
481                                 regulator-name = "vcc_20";
482                                 regulator-min-microvolt = <2000000>;
483                                 regulator-max-microvolt = <2000000>;
484                                 regulator-always-on;
485                         };
486
487                         vccio_sd: REG5 {
488                                 regulator-name = "vccio_sd";
489                                 regulator-min-microvolt = <3300000>;
490                                 regulator-max-microvolt = <3300000>;
491                                 regulator-always-on;
492                         };
493
494                         vdd10_lcd: REG6 {
495                                 regulator-name = "vdd10_lcd";
496                                 regulator-min-microvolt = <1000000>;
497                                 regulator-max-microvolt = <1000000>;
498                                 regulator-always-on;
499                         };
500
501                         vcca_18: REG7 {
502                                 regulator-name = "vcca_18";
503                                 regulator-min-microvolt = <1800000>;
504                                 regulator-max-microvolt = <1800000>;
505                         };
506
507                         vcca_33: REG8 {
508                                 regulator-name = "vcca_33";
509                                 regulator-min-microvolt = <3300000>;
510                                 regulator-max-microvolt = <3300000>;
511                                 regulator-always-on;
512                         };
513
514                         vcc_lan: REG9 {
515                                 regulator-name = "vcc_lan";
516                                 regulator-min-microvolt = <3300000>;
517                                 regulator-max-microvolt = <3300000>;
518                         };
519
520                         vdd_10: REG10 {
521                                 regulator-name = "vdd_10";
522                                 regulator-min-microvolt = <1000000>;
523                                 regulator-max-microvolt = <1000000>;
524                                 regulator-always-on;
525                         };
526
527                         vccio_wl: vcc_18: REG11 {
528                                 regulator-name = "vcc_18";
529                                 regulator-min-microvolt = <1800000>;
530                                 regulator-max-microvolt = <1800000>;
531                                 regulator-always-on;
532                         };
533
534                         vcc18_lcd: REG12 {
535                                 regulator-name = "vcc18_lcd";
536                                 regulator-min-microvolt = <1800000>;
537                                 regulator-max-microvolt = <1800000>;
538                                 regulator-always-on;
539                         };
540                 };
541         };
542 };
543
544 &i2c1 {
545         status = "okay";
546
547         mpu6050@68 {
548                 compatible = "invensense,mpu6050";
549                 reg = <0x68>;
550                 interrupt-parent = <&gpio5>;
551                 interrupts = <RK_PB4 IRQ_TYPE_LEVEL_LOW>;
552                 mount-matrix = "0",
553                                "1",
554                                "0",
555                                "-1",
556                                "0",
557                                "0",
558                                "0",
559                                "0",
560                                "-1";
561         };
562 };
563
564 &i2c2 {
565         status = "okay";
566
567         es8323: es8323@10 {
568         status = "okay";
569                 compatible = "everest,es8323";
570                 reg = <0x10>;
571                 spk-con-gpio = <&gpio7 3 GPIO_ACTIVE_HIGH>;
572                 hp-det-gpio = <&gpio7 15 GPIO_ACTIVE_LOW>;
573                 clock-names = "mclk";
574                 clocks = <&cru SCLK_I2S0_OUT>;
575                 #sound-dai-cells = <0>;
576         };
577 };
578
579 &i2c4 {
580         status = "okay";
581 };
582
583 &io_domains {
584         status = "okay";
585
586         audio-supply = <&vcca_33>;
587         bb-supply = <&vcc_io>;
588         dvp-supply = <&dovdd_1v8>;
589         flash0-supply = <&vcc_flash>;
590         flash1-supply = <&vcc_lan>;
591         gpio30-supply = <&vcc_io>;
592         gpio1830-supply = <&vcc_io>;
593         lcdc-supply = <&vcc_io>;
594         sdcard-supply = <&vccio_sd>;
595         wifi-supply = <&vccio_wl>;
596 };
597
598 &rga {
599         status = "okay";
600 };
601
602 &pinctrl {
603         pcfg_output_high: pcfg-output-high {
604                 output-high;
605         };
606
607         pcfg_output_low: pcfg-output-low {
608                 output-low;
609         };
610
611         pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma {
612                 drive-strength = <8>;
613         };
614
615         pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma {
616                 bias-pull-up;
617                 drive-strength = <8>;
618         };
619
620         act8846 {
621                 pwr_hold: pwr-hold {
622                         rockchip,pins = <0 1 RK_FUNC_GPIO &pcfg_output_high>;
623                 };
624         };
625
626         dvp {
627                 dvp_pwr: dvp-pwr {
628                         rockchip,pins = <0 11 RK_FUNC_GPIO &pcfg_pull_none>;
629                 };
630         };
631
632         gmac {
633                 phy_int: phy-int {
634                         rockchip,pins = <0 9 RK_FUNC_GPIO &pcfg_pull_up>;
635                 };
636
637                 phy_pmeb: phy-pmeb {
638                         rockchip,pins = <0 8 RK_FUNC_GPIO &pcfg_pull_up>;
639                 };
640
641                 phy_rst: phy-rst {
642                         rockchip,pins = <4 8 RK_FUNC_GPIO &pcfg_output_high>;
643                 };
644         };
645
646         hym8563 {
647                 rtc_int: rtc-int {
648                         rockchip,pins = <7 4 RK_FUNC_GPIO &pcfg_pull_up>;
649                 };
650         };
651
652         keys {
653                 pwr_key: pwr-key {
654                         rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>;
655                 };
656         };
657
658         leds {
659                 power_led: power-led {
660                         rockchip,pins = <8 2 RK_FUNC_GPIO &pcfg_pull_none>;
661                 };
662
663                 work_led: work-led {
664                         rockchip,pins = <8 1 RK_FUNC_GPIO &pcfg_pull_none>;
665                 };
666         };
667
668         sdio-pwrseq {
669                 wifi_enable_h: wifi-enable-h {
670                         rockchip,pins = <4 28 RK_FUNC_GPIO &pcfg_pull_none>;
671                 };
672         };
673
674         sdmmc {
675                 /*
676                  * Default drive strength isn't enough to achieve even
677                  * high-speed mode on firefly board so bump up to 8ma.
678                  */
679                 sdmmc_bus4: sdmmc-bus4 {
680                         rockchip,pins = <6 16 RK_FUNC_1 &pcfg_pull_up_drv_8ma>,
681                                         <6 17 RK_FUNC_1 &pcfg_pull_up_drv_8ma>,
682                                         <6 18 RK_FUNC_1 &pcfg_pull_up_drv_8ma>,
683                                         <6 19 RK_FUNC_1 &pcfg_pull_up_drv_8ma>;
684                 };
685
686                 sdmmc_clk: sdmmc-clk {
687                         rockchip,pins = <6 20 RK_FUNC_1 &pcfg_pull_none_drv_8ma>;
688                 };
689
690                 sdmmc_cmd: sdmmc-cmd {
691                         rockchip,pins = <6 21 RK_FUNC_1 &pcfg_pull_up_drv_8ma>;
692                 };
693
694                 sdmmc_pwr: sdmmc-pwr {
695                         rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>;
696                 };
697         };
698
699         usb_host {
700                 host_vbus_drv: host-vbus-drv {
701                         rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>;
702                 };
703
704                 usbhub_rst: usbhub-rst {
705                         rockchip,pins = <8 3 RK_FUNC_GPIO &pcfg_output_high>;
706                 };
707         };
708
709         usb_otg {
710                 otg_vbus_drv: otg-vbus-drv {
711                         rockchip,pins = <0 12 RK_FUNC_GPIO &pcfg_pull_none>;
712                 };
713         };
714
715         wireless-bluetooth {
716                 uart0_gpios: uart0-gpios {
717                         rockchip,pins = <4 19 RK_FUNC_GPIO &pcfg_pull_none>;
718                 };
719         };
720 };
721
722 &i2s {
723         status = "okay";
724         #sound-dai-cells = <0>;
725 };
726
727 &saradc {
728         vref-supply = <&vcc_18>;
729         status = "okay";
730 };
731
732 &sdio0 {
733         clock-frequency = <50000000>;
734         clock-freq-min-max = <200000 50000000>;
735
736         bus-width = <4>;
737         cap-sd-highspeed;
738         cap-sdio-irq;
739         disable-wp;
740         keep-power-in-suspend;
741         mmc-pwrseq = <&sdio_pwrseq>;
742         non-removable;
743         num-slots = <1>;
744         pinctrl-names = "default";
745         pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk &sdio0_int>;
746         sd-uhs-sdr104;
747         supports-sdio;
748         vmmc-supply = <&vbat_wl>;
749         vqmmc-supply = <&vccio_wl>;
750         status = "okay";
751 };
752
753 &sdmmc {
754         bus-width = <4>;
755         cap-mmc-highspeed;
756         cap-sd-highspeed;
757         card-detect-delay = <200>;
758         disable-wp;
759         num-slots = <1>;
760         pinctrl-names = "default";
761         pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>;
762         supports-sd;
763         vmmc-supply = <&vcc_sd>;
764         vqmmc-supply = <&vccio_sd>;
765         status = "okay";
766 };
767
768 &spdif {
769         status = "okay";
770 };
771
772 &spi0 {
773         pinctrl-names = "default";
774         pinctrl-0 = <&spi0_clk>, <&spi0_cs0>, <&spi0_tx>, <&spi0_rx>, <&spi0_cs1>;
775         status = "okay";
776 };
777
778 &tsadc {
779         rockchip,hw-tshut-mode = <0>;
780         rockchip,hw-tshut-polarity = <0>;
781         status = "okay";
782 };
783
784 &uart0 {
785         pinctrl-names = "default";
786         pinctrl-0 = <&uart0_xfer>, <&uart0_cts>;
787         status = "okay";
788 };
789
790 &uart1 {
791         status = "okay";
792 };
793
794 &uart2 {
795         status = "okay";
796 };
797
798 &uart3 {
799         status = "okay";
800 };
801
802 &usbphy {
803         status = "okay";
804 };
805
806 &usb_host1 {
807         pinctrl-names = "default";
808         pinctrl-0 = <&usbhub_rst>;
809         status = "okay";
810 };
811
812 &usb_otg {
813         status = "okay";
814 };
815
816 &vopb {
817         status = "okay";
818 };
819
820 &vopb_mmu {
821         status = "okay";
822 };
823
824 &vopb_out {
825         /delete-node/ endpoint@1;
826 };
827
828 &vopl {
829         status = "okay";
830 };
831
832 &vopl_mmu {
833         status = "okay";
834 };
835
836 &vpu_service {
837         status = "okay";
838 };
839
840 &vopl_out {
841         /delete-node/ endpoint@0;
842 };
843
844 &wdt {
845         status = "okay";
846 };