arm64: dts: rk3399: rename android-next to android
[firefly-linux-kernel-4.4.55.git] / arch / arm64 / boot / dts / rockchip / rk3399-tve1205g.dts
1 /*
2  * Copyright (c) 2016 Fuzhou Rockchip Electronics Co., Ltd
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 /dts-v1/;
44 #include <dt-bindings/pinctrl/rk.h>
45 #include "rk3399.dtsi"
46 #include "rk3399-android.dtsi"
47 #include "rk3399-opp.dtsi"
48 #include <dt-bindings/sensor-dev.h>
49 #include <dt-bindings/pwm/pwm.h>
50
51 / {
52         compatible = "rockchip,rk3399-mid", "rockchip,rk3399";
53
54         edp_panel: edp-panel {
55                 compatible = "simple-panel";
56                 backlight = <&backlight>;
57                 power-supply = <&vcc3v3_s0>;
58                 enable-gpios = <&gpio3 GPIO_A0 GPIO_ACTIVE_HIGH>;
59                 bus-format = <MEDIA_BUS_FMT_RGB666_1X18>;
60                 delay,prepare = <50>;
61                 ports {
62                         panel_in_edp: endpoint {
63                                 remote-endpoint = <&edp_out_panel>;
64                         };
65                 };
66         };
67
68         usb_cam_gpio: usb-cam-gpio {
69                 compatible = "usb-cam-gpio";
70                 pinctrl-names = "default";
71                 pinctrl-0 = <&usb_cam_on_gpio>;
72                 hd-cam-gpios = <&gpio3 GPIO_A1 GPIO_ACTIVE_HIGH>;
73                 ir-cam-gpios = <&gpio3 GPIO_A2 GPIO_ACTIVE_HIGH>;
74                 status = "okay";
75         };
76
77         vcc_sys: vcc-sys {
78                 compatible = "regulator-fixed";
79                 regulator-name = "vcc_sys";
80                 regulator-always-on;
81                 regulator-boot-on;
82                 regulator-min-microvolt = <3900000>;
83                 regulator-max-microvolt = <3900000>;
84         };
85
86         vcc3v3_sys: vcc3v3-sys {
87                 compatible = "regulator-fixed";
88                 regulator-name = "vcc3v3_sys";
89                 regulator-always-on;
90                 regulator-boot-on;
91                 regulator-min-microvolt = <3300000>;
92                 regulator-max-microvolt = <3300000>;
93         };
94
95         vcc5v0_host: vcc5v0-host-regulator {
96                 compatible = "regulator-fixed";
97                 enable-active-high;
98                 gpio = <&gpio4 25 GPIO_ACTIVE_HIGH>;
99                 pinctrl-names = "default";
100                 pinctrl-0 = <&host_vbus_drv>;
101                 regulator-name = "vcc5v0_host";
102                 regulator-always-on;
103         };
104
105         vdd_log: vdd-log {
106                 compatible = "pwm-regulator";
107                 pwms = <&pwm2 0 25000 0>;
108                 rockchip,pwm_id= <2>;
109                 rockchip,pwm_voltage = <1000000>;
110                 regulator-name = "vdd_log";
111                 regulator-min-microvolt = <750000>;
112                 regulator-max-microvolt = <1350000>;
113                 regulator-always-on;
114                 regulator-boot-on;
115         };
116
117         backlight: backlight {
118                 compatible = "pwm-backlight";
119                 pwms = <&pwm0 0 25000 0>;
120                 brightness-levels = <
121                         0   1   51  52  52  53  53  54
122                         54  55  55  56  56  57  57  58
123                         58  59  59  60  61  61  62  63
124                         63  64  65  65  66  67  67  68
125                         69  69  70  71  71  72  73  73
126                         74  75  75  76  77  77  78  79
127                         79  80  80  81  81  82  83  83
128                         84  85  86  86  87  88  89  89
129                         90  91  92  92  93  94  95  95
130                         96  97  98  98  99 100 101  101
131                         102 103 104 104 105 106 107 107
132                         108 109 110 110 111 112 113 113
133                         114 115 116 116 117 118 119 119
134                         120 121 122 122 123 124 125 125
135                         126 127 128 128 129 130 131 131
136                         132 133 134 134 135 136 137 137
137                         138 139 140 140 141 142 143 143
138                         144 145 146 146 147 148 149 149
139                         150 151 152 152 153 154 155 155
140                         156 157 158 158 159 160 161 161
141                         162 163 164 164 165 166 167 167
142                         168 169 170 170 171 172 173 173
143                         174 175 176 176 177 178 179 179
144                         180 181 182 182 183 184 185 185
145                         186 187 188 188 189 190 191 191
146                         216 217 218 218 219 220 221 221
147                         222 223 224 224 225 226 227 227
148                         228 229 230 230 231 232 233 233
149                         234 235 236 236 237 238 239 239
150                         240 241 242 242 243 244 245 245
151                         246 247 248 248 249 250 251 251
152                         252 253 254 254 255 255 255 255>;
153                 default-brightness-level = <200>;
154                 enable-gpios = <&gpio3 GPIO_A4 GPIO_ACTIVE_HIGH>;
155         };
156
157         vcc_phy: vcc-phy-regulator {
158                 compatible = "regulator-fixed";
159                 regulator-name = "vcc_phy";
160                 regulator-always-on;
161                 regulator-boot-on;
162         };
163
164         cx2072x-sound {
165                 compatible = "simple-audio-card";
166                 simple-audio-card,format = "i2s";
167                 simple-audio-card,name = "rockchip,cx2072x-codec";
168                 simple-audio-card,mclk-fs = <256>;
169                 simple-audio-card,widgets =
170                         "Microphone", "Microphone Jack",
171                         "Line", "Microphone Headset",
172                         "Headphone", "Headphone Jack",
173                         "Speaker", "Speaker External";
174                 simple-audio-card,routing =
175                         "PORTC", "Microphone Jack",
176                         "PortD Mic Bias", "Microphone Headset",
177                         "Headphone Jack", "PORTA",
178                         "Speaker External", "PORTG";
179                 simple-audio-card,cpu {
180                         sound-dai = <&i2s0>;
181                 };
182                 simple-audio-card,codec {
183                         sound-dai = <&cx2072x>;
184                 };
185         };
186
187         sound {
188                 compatible = "rockchip,cdndp-sound";
189                 rockchip,cpu = <&i2s2>;
190                 rockchip,codec = <&cdn_dp>;
191                 status = "okay";
192         };
193
194         bt-sound {
195                 compatible = "simple-audio-card";
196                 simple-audio-card,format = "dsp_b";
197                 simple-audio-card,bitclock-inversion = <1>;
198                 simple-audio-card,mclk-fs = <256>;
199                 simple-audio-card,name = "rockchip,bt";
200                 simple-audio-card,cpu {
201                         sound-dai = <&i2s1>;
202                 };
203                 simple-audio-card,codec {
204                         sound-dai = <&bt_sco>;
205                 };
206         };
207
208         bt_sco: bt-sco {
209                 compatible = "delta,dfbmcs320";
210                 #sound-dai-cells = <0>;
211         };
212
213         sdio_pwrseq: sdio-pwrseq {
214                 compatible = "mmc-pwrseq-simple";
215                 clocks = <&rk808 1>;
216                 clock-names = "ext_clock";
217                 pinctrl-names = "default";
218                 pinctrl-0 = <&wifi_enable_h>;
219
220                 /*
221                  * On the module itself this is one of these (depending
222                  * on the actual card populated):
223                  * - SDIO_RESET_L_WL_REG_ON
224                  * - PDN (power down when low)
225                  */
226                 reset-gpios = <&gpio0 10 GPIO_ACTIVE_LOW>; /* GPIO0_B2 */
227         };
228
229         leds: gpio-leds {
230                 compatible = "gpio-leds";
231                 pinctrl-names = "default";
232                 pinctrl-0 =<&leds_gpio>;
233
234                 led@1 {
235                         gpios = <&gpio1 GPIO_C6 GPIO_ACTIVE_HIGH>;
236                         label = "battery_led_amber";
237                         retain-state-suspended;
238                 };
239
240                 led@2 {
241                         gpios = <&gpio1 GPIO_D0 GPIO_ACTIVE_HIGH>;
242                         label = "battery_led_white";
243                         retain-state-suspended;
244                 };
245
246                 led@3 {
247                         gpios = <&gpio3 GPIO_A5 GPIO_ACTIVE_HIGH>;
248                         label = "call_answer_led";
249                 };
250
251                 led@4 {
252                         gpios = <&gpio3 GPIO_B1 GPIO_ACTIVE_HIGH>;
253                         label = "call_decline_led";
254                 };
255
256                 led@5 {
257                         gpios = <&gpio2 GPIO_D3 GPIO_ACTIVE_HIGH>;
258                         label = "rec_mute_led";
259                 };
260
261                 led@6 {
262                         gpios = <&gpio2 GPIO_D4 GPIO_ACTIVE_HIGH>;
263                         label = "play_mute_led";
264                 };
265
266                 led@7 {
267                         gpios = <&gpio4 GPIO_D2 GPIO_ACTIVE_HIGH>;
268                         label = "wl_led";
269                 };
270         };
271
272         wireless-wlan {
273                 compatible = "wlan-platdata";
274                 rockchip,grf = <&grf>;
275                 wifi_chip_type = "ap6354";
276                 sdio_vref = <1800>;
277                 WIFI,host_wake_irq = <&gpio0 3 GPIO_ACTIVE_HIGH>; /* GPIO0_a3 */
278                 status = "okay";
279         };
280
281         wireless-bluetooth {
282                 compatible = "bluetooth-platdata";
283                 clocks = <&rk808 1>;
284                 clock-names = "ext_clock";
285                 //wifi-bt-power-toggle;
286                 uart_rts_gpios = <&gpio2 19 GPIO_ACTIVE_LOW>; /* GPIO2_C3 */
287                 pinctrl-names = "default", "rts_gpio";
288                 pinctrl-0 = <&uart0_rts>;
289                 pinctrl-1 = <&uart0_gpios>;
290                 //BT,power_gpio  = <&gpio3 19 GPIO_ACTIVE_HIGH>; /* GPIOx_xx */
291                 BT,reset_gpio    = <&gpio0 9 GPIO_ACTIVE_HIGH>; /* GPIO0_B1 */
292                 BT,wake_gpio     = <&gpio2 26 GPIO_ACTIVE_HIGH>; /* GPIO2_D2 */
293                 BT,wake_host_irq = <&gpio0 4 GPIO_ACTIVE_HIGH>; /* GPIO0_A4 */
294                 status = "okay";
295         };
296
297         uboot-charge {
298                 compatible = "rockchip,uboot-charge";
299                 rockchip,uboot-charge-on = <1>;
300                 rockchip,android-charge-on = <0>;
301                 rockchip,uboot-exit-charge-level = <2>;
302                 rockchip,uboot-low-power-level = <1>;
303                 rockchip,uboot-charge-brightness = <0>;
304                 max-input-voltage = <20000>;
305                 max-input-current = <6000>;
306         };
307
308         vibrator {
309                 compatible = "rk-vibrator-gpio";
310                 vibrator-gpio = <&gpio4 30 GPIO_ACTIVE_LOW>;
311                 status = "okay";
312         };
313
314         rk_headset {
315                 compatible = "rockchip_headset";
316                 headset_gpio = <&gpio4 28 GPIO_ACTIVE_HIGH>;
317                 pinctrl-names = "default";
318                 pinctrl-0 = <&hp_det>;
319                 io-channels = <&saradc 2>;
320         };
321
322         hall_sensor: hall-mh248 {
323                 compatible = "hall-mh248";
324                 pinctrl-names = "default";
325                 pinctrl-0 = <&mh248_irq_gpio>;
326                 irq-gpio = <&gpio0 GPIO_A1 IRQ_TYPE_EDGE_BOTH>;
327                 hall-active = <1>;
328                 status = "okay";
329         };
330 };
331
332 &rk_key {
333         compatible = "rockchip,key";
334         status = "okay";
335
336         io-channels = <&saradc 1>;
337
338         vol-up-key {
339                 linux,code = <114>;
340                 label = "volume up";
341                 rockchip,adc_value = <1>;
342         };
343
344         vol-down-key {
345                 linux,code = <115>;
346                 label = "volume down";
347                 rockchip,adc_value = <170>;
348         };
349
350         power-key {
351                 gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
352                 linux,code = <116>;
353                 label = "power";
354                 gpio-key,wakeup;
355         };
356
357         menu-key {
358                 linux,code = <59>;
359                 label = "menu";
360                 rockchip,adc_value = <746>;
361         };
362
363         home-key {
364                 linux,code = <102>;
365                 label = "home";
366                 rockchip,adc_value = <355>;
367         };
368
369         back-key {
370                 linux,code = <158>;
371                 label = "back";
372                 rockchip,adc_value = <560>;
373         };
374
375         camera-key {
376                 linux,code = <212>;
377                 label = "camera";
378                 rockchip,adc_value = <450>;
379         };
380 };
381
382 &cpu_l0 {
383         cpu-supply = <&vdd_cpu_l>;
384 };
385
386 &cpu_l1 {
387         cpu-supply = <&vdd_cpu_l>;
388 };
389
390 &cpu_l2 {
391         cpu-supply = <&vdd_cpu_l>;
392 };
393
394 &cpu_l3 {
395         cpu-supply = <&vdd_cpu_l>;
396 };
397
398 &cpu_b0 {
399         cpu-supply = <&vdd_cpu_b>;
400 };
401
402 &cpu_b1 {
403         cpu-supply = <&vdd_cpu_b>;
404 };
405
406 &edp {
407         status = "okay";
408
409         ports {
410                 edp_out: port@1 {
411                         reg = <1>;
412                         #address-cells = <1>;
413                         #size-cells = <0>;
414                         edp_out_panel: endpoint@0 {
415                                 reg = <0>;
416                                 remote-endpoint = <&panel_in_edp>;
417                         };
418                 };
419         };
420 };
421
422 &edp_in_vopl {
423         status = "disabled";
424 };
425
426 &emmc_phy {
427         status = "okay";
428 };
429
430 &gpu {
431         status = "okay";
432         mali-supply = <&vdd_gpu>;
433 };
434
435 &hdmi {
436         status = "disabled";
437 };
438
439 &cdn_dp {
440         status = "okay";
441         extcon = <&fusb0>, <&fusb1>;
442 };
443
444 &dp_in_vopb {
445         status = "disabled";
446 };
447
448 &i2s0 {
449         status = "okay";
450         rockchip,i2s-broken-burst-len;
451         rockchip,playback-channels = <8>;
452         rockchip,capture-channels = <8>;
453         rockchip,bclk-fs = <32>;
454         #sound-dai-cells = <0>;
455 };
456
457 &i2s1 {
458         status = "okay";
459         rockchip,i2s-broken-burst-len;
460         rockchip,playback-channels = <2>;
461         rockchip,capture-channels = <2>;
462         #sound-dai-cells = <0>;
463 };
464
465 &i2s2 {
466         status = "okay";
467         #sound-dai-cells = <0>;
468 };
469
470 &i2c0 {
471         status = "okay";
472         i2c-scl-rising-time-ns = <180>;
473         i2c-scl-falling-time-ns = <30>;
474         clock-frequency = <400000>;
475
476         vdd_cpu_b: syr837@40 {
477                 compatible = "silergy,syr827";
478                 reg = <0x40>;
479                 vin-supply = <&vcc_sys>;
480                 regulator-compatible = "fan53555-reg";
481                 pinctrl-0 = <&vsel1_gpio>;
482                 vsel-gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>;
483                 regulator-name = "vdd_cpu_b";
484                 regulator-min-microvolt = <712500>;
485                 regulator-max-microvolt = <1500000>;
486                 regulator-ramp-delay = <1000>;
487                 fcs,suspend-voltage-selector = <1>;
488                 regulator-always-on;
489                 regulator-initial-state = <3>;
490                 regulator-state-mem {
491                         regulator-off-in-suspend;
492                 };
493         };
494
495         vdd_gpu: syr828@41 {
496                 compatible = "silergy,syr828";
497                 status = "okay";
498                 reg = <0x41>;
499                 vin-supply = <&vcc_sys>;
500                 regulator-compatible = "fan53555-reg";
501                 pinctrl-0 = <&vsel2_gpio>;
502                 vsel-gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
503                 regulator-name = "vdd_gpu";
504                 regulator-min-microvolt = <735000>;
505                 regulator-max-microvolt = <1400000>;
506                 regulator-ramp-delay = <1000>;
507                 fcs,suspend-voltage-selector = <1>;
508                 regulator-boot-on;
509                 regulator-state-mem {
510                         regulator-off-in-suspend;
511                 };
512         };
513
514         rk808: pmic@1b {
515                 compatible = "rockchip,rk808";
516                 reg = <0x1b>;
517                 interrupt-parent = <&gpio1>;
518                 interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
519                 pinctrl-0 = <&pmic_int_l>;
520                 rockchip,system-power-controller;
521                 wakeup-source;
522                 #clock-cells = <1>;
523                 clock-output-names = "xin32k", "rk808-clkout2";
524
525                 vcc1-supply = <&vcc3v3_sys>;
526                 vcc2-supply = <&vcc3v3_sys>;
527                 vcc3-supply = <&vcc3v3_sys>;
528                 vcc4-supply = <&vcc3v3_sys>;
529                 vcc6-supply = <&vcc3v3_sys>;
530                 vcc7-supply = <&vcc3v3_sys>;
531                 vcc8-supply = <&vcc3v3_sys>;
532                 vcc9-supply = <&vcc3v3_sys>;
533                 vcc10-supply = <&vcc3v3_sys>;
534                 vcc11-supply = <&vcc3v3_sys>;
535                 vcc12-supply = <&vcc3v3_sys>;
536                 vddio-supply = <&vcc1v8_pmu>;
537
538                 regulators {
539                         vdd_center: DCDC_REG1 {
540                                 regulator-always-on;
541                                 regulator-boot-on;
542                                 regulator-min-microvolt = <750000>;
543                                 regulator-max-microvolt = <1350000>;
544                                 regulator-ramp-delay = <6001>;
545                                 regulator-name = "vdd_center";
546                                 regulator-state-mem {
547                                         regulator-off-in-suspend;
548                                 };
549                         };
550
551                         vdd_cpu_l: DCDC_REG2 {
552                                 regulator-always-on;
553                                 regulator-boot-on;
554                                 regulator-min-microvolt = <750000>;
555                                 regulator-max-microvolt = <1350000>;
556                                 regulator-ramp-delay = <6001>;
557                                 regulator-name = "vdd_cpu_l";
558                                 regulator-state-mem {
559                                         regulator-off-in-suspend;
560                                 };
561                         };
562
563                         vcc_ddr: DCDC_REG3 {
564                                 regulator-always-on;
565                                 regulator-boot-on;
566                                 regulator-name = "vcc_ddr";
567                                 regulator-state-mem {
568                                         regulator-on-in-suspend;
569                                 };
570                         };
571
572                         vcc_1v8: DCDC_REG4 {
573                                 regulator-always-on;
574                                 regulator-boot-on;
575                                 regulator-min-microvolt = <1800000>;
576                                 regulator-max-microvolt = <1800000>;
577                                 regulator-name = "vcc_1v8";
578                                 regulator-state-mem {
579                                         regulator-on-in-suspend;
580                                         regulator-suspend-microvolt = <1800000>;
581                                 };
582                         };
583
584                         vcc1v8_dvp: LDO_REG1 {
585                                 regulator-always-on;
586                                 regulator-boot-on;
587                                 regulator-min-microvolt = <1800000>;
588                                 regulator-max-microvolt = <1800000>;
589                                 regulator-name = "vcc1v8_dvp";
590                                 regulator-state-mem {
591                                         regulator-off-in-suspend;
592                                 };
593                         };
594
595                         vcc3v0_tp: LDO_REG2 {
596                                 regulator-always-on;
597                                 regulator-boot-on;
598                                 regulator-min-microvolt = <3000000>;
599                                 regulator-max-microvolt = <3000000>;
600                                 regulator-name = "vcc3v0_tp";
601                                 regulator-state-mem {
602                                         regulator-off-in-suspend;
603                                 };
604                         };
605
606                         vcc1v8_pmu: LDO_REG3 {
607                                 regulator-always-on;
608                                 regulator-boot-on;
609                                 regulator-min-microvolt = <1800000>;
610                                 regulator-max-microvolt = <1800000>;
611                                 regulator-name = "vcc1v8_pmu";
612                                 regulator-state-mem {
613                                         regulator-on-in-suspend;
614                                         regulator-suspend-microvolt = <1800000>;
615                                 };
616                         };
617
618                         vcc_sd: LDO_REG4 {
619                                 regulator-always-on;
620                                 regulator-boot-on;
621                                 regulator-min-microvolt = <1800000>;
622                                 regulator-max-microvolt = <3300000>;
623                                 regulator-name = "vcc_sd";
624                                 regulator-state-mem {
625                                         regulator-on-in-suspend;
626                                         regulator-suspend-microvolt = <3300000>;
627                                 };
628                         };
629
630                         vcca3v0_codec: LDO_REG5 {
631                                 regulator-always-on;
632                                 regulator-boot-on;
633                                 regulator-min-microvolt = <3000000>;
634                                 regulator-max-microvolt = <3000000>;
635                                 regulator-name = "vcca3v0_codec";
636                                 regulator-state-mem {
637                                         regulator-on-in-suspend;
638                                         regulator-suspend-microvolt = <3000000>;
639                                 };
640                         };
641
642                         vcc_1v5: LDO_REG6 {
643                                 regulator-always-on;
644                                 regulator-boot-on;
645                                 regulator-min-microvolt = <1500000>;
646                                 regulator-max-microvolt = <1500000>;
647                                 regulator-name = "vcc_1v5";
648                                 regulator-state-mem {
649                                         regulator-on-in-suspend;
650                                         regulator-suspend-microvolt = <1500000>;
651                                 };
652                         };
653
654                         vcca1v8_codec: LDO_REG7 {
655                                 regulator-always-on;
656                                 regulator-boot-on;
657                                 regulator-min-microvolt = <1800000>;
658                                 regulator-max-microvolt = <1800000>;
659                                 regulator-name = "vcca1v8_codec";
660                                 regulator-state-mem {
661                                         regulator-on-in-suspend;
662                                         regulator-suspend-microvolt = <1800000>;
663                                 };
664                         };
665
666                         vcc_3v0: LDO_REG8 {
667                                 regulator-always-on;
668                                 regulator-boot-on;
669                                 regulator-min-microvolt = <3000000>;
670                                 regulator-max-microvolt = <3000000>;
671                                 regulator-name = "vcc_3v0";
672                                 regulator-state-mem {
673                                         regulator-on-in-suspend;
674                                         regulator-suspend-microvolt = <3000000>;
675                                 };
676                         };
677
678                         vcc3v3_s3: SWITCH_REG1 {
679                                 regulator-always-on;
680                                 regulator-boot-on;
681                                 regulator-name = "vcc3v3_s3";
682                                 regulator-state-mem {
683                                         regulator-off-in-suspend;
684                                 };
685                         };
686
687                         vcc3v3_s0: SWITCH_REG2 {
688                                 regulator-always-on;
689                                 regulator-boot-on;
690                                 regulator-name = "vcc3v3_s0";
691                                 regulator-state-mem {
692                                         regulator-off-in-suspend;
693                                 };
694                         };
695                 };
696         };
697 };
698
699 &i2c1 {
700         status = "okay";
701         i2c-scl-rising-time-ns = <140>;
702         i2c-scl-falling-time-ns = <30>;
703
704         cx2072x:cx2072x@33 {
705                 status = "okay";
706                 #sound-dai-cells = <0>;
707                 compatible = "cnxt,cx20723";
708                 reg = <0x33>;
709                 clocks = <&cru SCLK_I2S_8CH_OUT>;
710                 clock-names = "mclk";
711                 spk-con-gpio = <&gpio0 11 GPIO_ACTIVE_HIGH>;
712         };
713 };
714
715 &i2c3 {
716         status="okay";
717
718         hidkey@68 {
719                 clock-frequency = <100000>;
720                 compatible = "hid-over-i2c";
721                 interrupt-parent = <&gpio0>;
722                 interrupts = <GPIO_B0 IRQ_TYPE_LEVEL_LOW>;
723                 pinctrl-names = "default";
724                 pinctrl-0 = <&hidkey_irq_gpio>;
725                 reg = <0x68>;
726                 hid-descr-addr = <0x0001>;
727                 hid-support-wakeup;
728         };
729
730         ec_battery@76 {
731                 compatible = "rockchip,ec-battery";
732                 reg = <0x76>;
733                 virtual_power = <0>;
734                 monitor_sec = <5>;
735                 ec-notify-gpios = <&gpio1 GPIO_C4 GPIO_ACTIVE_HIGH>;
736         };
737 };
738
739 &i2c2 {
740         status = "okay";
741         i2c-scl-rising-time-ns = <345>;
742         i2c-scl-falling-time-ns = <11>;
743         clock-frequency = <400000>;
744
745         touchpad: touchpad@2c {
746                 compatible = "hid-over-i2c";
747                 interrupt-parent = <&gpio1>;
748                 interrupts = <GPIO_C2 IRQ_TYPE_LEVEL_LOW>;
749                 pinctrl-names = "default";
750                 pinctrl-0 = <&touchpad_irq_gpio>;
751                 reg = <0x2c>;
752                 hid-descr-addr = <0x002c>;
753         };
754 };
755
756 &i2c4 {
757         status = "okay";
758         clock-frequency = <100000>;
759         bq25700: bq25700@09 {//6a
760                 compatible = "ti,bq25700";
761                 reg = <0x09>;
762                 extcon = <&fusb0>, <&fusb1>;
763
764                 interrupt-parent = <&gpio1>;
765                 interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
766                 pinctrl-names = "default";
767                 pinctrl-0 = <&charger_ok>;
768                 ti,charge-current = <2500000>;
769                 ti,max-input-voltage = <20000000>;
770                 ti,max-input-current = <6000000>;
771                 ti,max-charge-voltage = <8750000>;
772                 ti,input-current = <500000>;
773                 ti,input-current-sdp = <500000>;
774                 ti,input-current-dcp = <2000000>;
775                 ti,input-current-cdp = <2000000>;
776                 ti,minimum-sys-voltage = <7400000>;
777                 ti,otg-voltage = <5000000>;
778                 ti,otg-current = <500000>;
779                 pd-charge-only = <1>;
780                 typec0-enable-gpios = <&gpio1 GPIO_A3 GPIO_ACTIVE_HIGH>;
781                 typec1-enable-gpios = <&gpio1 GPIO_A4 GPIO_ACTIVE_HIGH>;
782         };
783 };
784
785 &i2c6 {
786         status = "okay";
787         i2c-scl-rising-time-ns = <345>;
788         i2c-scl-falling-time-ns = <11>;
789         clock-frequency = <400000>;
790
791         fusb1: fusb30x@22 {
792                 compatible = "fairchild,fusb302";
793                 reg = <0x22>;
794                 pinctrl-names = "default";
795                 pinctrl-0 = <&fusb1_int>;
796                 vbus-5v-gpios = <&gpio4 GPIO_D6 GPIO_ACTIVE_HIGH>;
797                 int-n-gpios = <&gpio1 GPIO_B5 GPIO_ACTIVE_HIGH>;
798                 discharge-gpios = <&gpio0 GPIO_B5 GPIO_ACTIVE_HIGH>;
799                 charge-dev = <&bq25700>;
800                 support-uboot-charge = <1>;
801                 port-num = <1>;
802                 status = "okay";
803         };
804 };
805
806 &i2c7 {
807         status = "okay";
808         i2c-scl-rising-time-ns = <345>;
809         i2c-scl-falling-time-ns = <11>;
810         clock-frequency = <400000>;
811
812         fusb0: fusb30x@22 {
813                 compatible = "fairchild,fusb302";
814                 reg = <0x22>;
815                 pinctrl-names = "default";
816                 pinctrl-0 = <&fusb0_int>;
817                 vbus-5v-gpios = <&gpio4 GPIO_D5 GPIO_ACTIVE_HIGH>;
818                 int-n-gpios = <&gpio1 GPIO_A2 GPIO_ACTIVE_HIGH>;
819                 discharge-gpios = <&gpio0 GPIO_B4 GPIO_ACTIVE_HIGH>;
820                 charge-dev = <&bq25700>;
821                 support-uboot-charge = <1>;
822                 port-num = <0>;
823                 status = "okay";
824         };
825 };
826
827 &io_domains {
828         status = "okay";
829         bt656-supply = <&vcc_3v0>;
830         audio-supply = <&vcca1v8_codec>;
831         sdmmc-supply = <&vcc_sd>;
832         gpio1830-supply = <&vcc_3v0>;
833 };
834
835 &mipi_dsi {
836         status = "disabled";
837 };
838
839 &pcie_phy {
840         status = "okay";
841 };
842
843 &pcie0 {
844         ep-gpios = <&gpio3 7 GPIO_ACTIVE_HIGH>;
845         num-lanes = <4>;
846         pinctrl-names = "default";
847         pinctrl-0 = <&pcie_clkreqn_cpm>;
848         status = "okay";
849 };
850
851 &pmu_io_domains {
852         status = "okay";
853         pmu1830-supply = <&vcc_1v8>;
854 };
855
856 &pwm0 {
857         status = "okay";
858 };
859
860 &pwm2 {
861         status = "okay";
862 };
863
864 &rkvdec {
865         status = "okay";
866 };
867
868 &route_edp {
869         status = "okay";
870         logo,mode = "center";
871 };
872
873 &rga {
874         status = "okay";
875 };
876
877 &saradc {
878         status = "okay";
879 };
880
881 &sdmmc {
882         clock-frequency = <50000000>;
883         clock-freq-min-max = <400000 150000000>;
884         supports-sd;
885         bus-width = <4>;
886         cap-mmc-highspeed;
887         cap-sd-highspeed;
888         disable-wp;
889         num-slots = <1>;
890         //sd-uhs-sdr104;
891         vqmmc-supply = <&vcc_sd>;
892         pinctrl-names = "default";
893         pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
894         status = "okay";
895 };
896
897 &sdio0 {
898         clock-frequency = <150000000>;
899         clock-freq-min-max = <200000 150000000>;
900         supports-sdio;
901         bus-width = <4>;
902         disable-wp;
903         cap-sd-highspeed;
904         cap-sdio-irq;
905         keep-power-in-suspend;
906         mmc-pwrseq = <&sdio_pwrseq>;
907         non-removable;
908         num-slots = <1>;
909         pinctrl-names = "default";
910         pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
911         sd-uhs-sdr104;
912         status = "okay";
913 };
914
915 &sdhci {
916         bus-width = <8>;
917         mmc-hs400-1_8v;
918         supports-emmc;
919         non-removable;
920         keep-power-in-suspend;
921         mmc-hs400-enhanced-strobe;
922         status = "okay";
923 };
924
925 &spdif {
926         status = "okay";
927         #sound-dai-cells = <0>;
928 };
929
930 &spi1 {
931         status = "disabled";
932 };
933
934 &tcphy0 {
935         extcon = <&fusb0>;
936         status = "okay";
937 };
938
939 &tcphy1 {
940         extcon = <&fusb1>;
941         status = "okay";
942 };
943
944 &tsadc {
945         rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */
946         rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */
947         status = "okay";
948 };
949
950 &u2phy0 {
951         status = "okay";
952         extcon = <&fusb0>;
953
954         u2phy0_otg: otg-port {
955                 status = "okay";
956         };
957
958         u2phy0_host: host-port {
959                 phy-supply = <&vcc5v0_host>;
960                 status = "okay";
961         };
962 };
963
964 &u2phy1 {
965         status = "okay";
966         extcon = <&fusb1>;
967
968         u2phy1_otg: otg-port {
969                 status = "okay";
970         };
971
972         u2phy1_host: host-port {
973                 phy-supply = <&vcc5v0_host>;
974                 status = "okay";
975         };
976 };
977
978 &uart0 {
979         pinctrl-names = "default";
980         pinctrl-0 = <&uart0_xfer &uart0_cts>;
981         status = "okay";
982 };
983
984 &uart2 {
985         status = "okay";
986 };
987
988 &usb_host0_ehci {
989         status = "okay";
990 };
991
992 &usb_host0_ohci {
993         status = "okay";
994 };
995
996 &usbdrd3_0 {
997         extcon = <&fusb0>;
998         status = "okay";
999 };
1000
1001 &usbdrd_dwc3_0 {
1002         status = "okay";
1003 };
1004
1005 &usb_host1_ehci {
1006         status = "okay";
1007 };
1008
1009 &usb_host1_ohci {
1010         status = "okay";
1011 };
1012
1013 &usbdrd3_1 {
1014         extcon = <&fusb1>;
1015         status = "okay";
1016 };
1017
1018 &usbdrd_dwc3_1 {
1019         status = "okay";
1020 };
1021
1022 &vpu {
1023         status = "okay";
1024 };
1025
1026 &pinctrl {
1027         sdio-pwrseq {
1028                 wifi_enable_h: wifi-enable-h {
1029                         rockchip,pins = <0 10 RK_FUNC_GPIO &pcfg_pull_none>;
1030                 };
1031         };
1032
1033         wireless-bluetooth {
1034                 uart0_gpios: uart0-gpios {
1035                         rockchip,pins = <2 19 RK_FUNC_GPIO &pcfg_pull_none>;
1036                 };
1037         };
1038
1039         pmic {
1040                 pmic_int_l: pmic-int-l {
1041                         rockchip,pins =
1042                                 <1 21 RK_FUNC_GPIO &pcfg_pull_up>;
1043                 };
1044                 vsel1_gpio: vsel1-gpio {
1045                         rockchip,pins =
1046                                 <1 17 RK_FUNC_GPIO &pcfg_pull_down>;
1047                 };
1048                 vsel2_gpio: vsel2-gpio {
1049                         rockchip,pins =
1050                                 <1 14 RK_FUNC_GPIO &pcfg_pull_down>;
1051                 };
1052         };
1053
1054         headphone {
1055                 hp_det: hp-det {
1056                         rockchip,pins = <4 28 RK_FUNC_GPIO &pcfg_pull_up>;
1057                 };
1058         };
1059
1060         hallsensor {
1061                 mh248_irq_gpio: mh248-irq-gpio {
1062                         rockchip,pins = <0 GPIO_A1 RK_FUNC_GPIO &pcfg_pull_up>;
1063                 };
1064         };
1065
1066         hidkey {
1067                 hidkey_irq_gpio: hidkey-irq-gpio {
1068                         rockchip,pins = <0 GPIO_B0 RK_FUNC_GPIO &pcfg_pull_up>;
1069                 };
1070         };
1071
1072         touchpad {
1073                 touchpad_irq_gpio: touchpad-irq-gpio {
1074                         rockchip,pins = <1 GPIO_C2 RK_FUNC_GPIO &pcfg_pull_up>;
1075                 };
1076         };
1077
1078         charger {
1079                 charger_ok: charge-ok {
1080                         rockchip,pins =
1081                                 <1 23 RK_FUNC_GPIO &pcfg_pull_up>;
1082                 };
1083         };
1084
1085         gpio-leds {
1086                 leds_gpio: leds-gpio {
1087                         rockchip,pins =
1088                                 <1 GPIO_C6 RK_FUNC_GPIO &pcfg_pull_up>,
1089                                 <1 GPIO_D0 RK_FUNC_GPIO &pcfg_pull_up>,
1090                                 <3 GPIO_A5 RK_FUNC_GPIO &pcfg_pull_up>,
1091                                 <3 GPIO_B1 RK_FUNC_GPIO &pcfg_pull_up>,
1092                                 <2 GPIO_D3 RK_FUNC_GPIO &pcfg_pull_up>,
1093                                 <2 GPIO_D4 RK_FUNC_GPIO &pcfg_pull_up>,
1094                                 <4 GPIO_D2 RK_FUNC_GPIO &pcfg_pull_up>;
1095                 };
1096         };
1097
1098         usb2 {
1099                 host_vbus_drv: host-vbus-drv {
1100                         rockchip,pins =
1101                                 <4 25 RK_FUNC_GPIO &pcfg_pull_none>;
1102                 };
1103         };
1104
1105         usb_camera {
1106                 usb_cam_on_gpio: usb-cam-on-gpio {
1107                         rockchip,pins =
1108                                 <3 GPIO_A1 RK_FUNC_GPIO &pcfg_pull_up>,
1109                                 <3 GPIO_A2 RK_FUNC_GPIO &pcfg_pull_up>;
1110                 };
1111         };
1112
1113         fusb30x {
1114                 fusb0_int: fusb0-int {
1115                         rockchip,pins =
1116                                 <1 GPIO_A2 RK_FUNC_GPIO &pcfg_pull_up>,
1117                                 <0 GPIO_B4 RK_FUNC_GPIO &pcfg_pull_up>;
1118                 };
1119                 fusb1_int: fusb1-int {
1120                         rockchip,pins =
1121                                 <1 GPIO_B5 RK_FUNC_GPIO &pcfg_pull_up>,
1122                                 <0 GPIO_B5 RK_FUNC_GPIO &pcfg_pull_up>;
1123                 };
1124         };
1125 };