arm64: dts: rockchip: amend usb-otg related nodes for rk3368-tb
[firefly-linux-kernel-4.4.55.git] / arch / arm64 / boot / dts / rockchip / rk3366-tb.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/pwm/pwm.h>
45 #include "rk3366.dtsi"
46
47 / {
48         model = "Rockchip SDK tb board";
49         compatible = "rockchip,tb", "rockchip,rk3366";
50
51         chosen {
52                 bootargs = "console=uart,mmio32,0xff690000";
53         };
54
55         ion {
56                 compatible = "rockchip,ion";
57                 #address-cells = <1>;
58                 #size-cells = <0>;
59
60                 cma-heap {
61                         reg = <0x00000000 0x02000000>;
62                 };
63
64                 system-heap {
65                 };
66         };
67
68         ramoops_mem: ramoops_mem {
69                 reg = <0x0 0x100000 0x0 0x100000>;
70                 reg-names = "ramoops_mem";
71         };
72
73         ramoops {
74                 compatible = "ramoops";
75                 record-size = <0x0 0x10000>;
76                 console-size = <0x0 0x80000>;
77                 ftrace-size = <0x0 0x10000>;
78                 pmsg-size = <0x0 0x50000>;
79                 memory-region = <&ramoops_mem>;
80         };
81
82         backlight: backlight {
83                 compatible = "pwm-backlight";
84                 pwms = <&pwm0 0 25000 PWM_POLARITY_INVERTED>;
85                 brightness-levels = <
86                           0   1   2   3   4   5   6   7
87                           8   9  10  11  12  13  14  15
88                          16  17  18  19  20  21  22  23
89                          24  25  26  27  28  29  30  31
90                          32  33  34  35  36  37  38  39
91                          40  41  42  43  44  45  46  47
92                          48  49  50  51  52  53  54  55
93                          56  57  58  59  60  61  62  63
94                          64  65  66  67  68  69  70  71
95                          72  73  74  75  76  77  78  79
96                          80  81  82  83  84  85  86  87
97                          88  89  90  91  92  93  94  95
98                          96  97  98  99 100 101 102 103
99                         104 105 106 107 108 109 110 111
100                         112 113 114 115 116 117 118 119
101                         120 121 122 123 124 125 126 127
102                         128 129 130 131 132 133 134 135
103                         136 137 138 139 140 141 142 143
104                         144 145 146 147 148 149 150 151
105                         152 153 154 155 156 157 158 159
106                         160 161 162 163 164 165 166 167
107                         168 169 170 171 172 173 174 175
108                         176 177 178 179 180 181 182 183
109                         184 185 186 187 188 189 190 191
110                         192 193 194 195 196 197 198 199
111                         200 201 202 203 204 205 206 207
112                         208 209 210 211 212 213 214 215
113                         216 217 218 219 220 221 222 223
114                         224 225 226 227 228 229 230 231
115                         232 233 234 235 236 237 238 239
116                         240 241 242 243 244 245 246 247
117                         248 249 250 251 252 253 254 255>;
118                 default-brightness-level = <200>;
119                 enable-gpios = <&gpio0 26 GPIO_ACTIVE_HIGH>;
120         };
121
122         rk_key: rockchip-key {
123                 compatible = "rockchip,key";
124                 status = "okay";
125
126                 io-channels = <&saradc 1>;
127
128                 vol-up-key {
129                         linux,code = <115>;
130                         label = "volume up";
131                         rockchip,adc_value = <1>;
132                 };
133
134                 vol-down-key {
135                         linux,code = <114>;
136                         label = "volume down";
137                         rockchip,adc_value = <170>;
138                 };
139
140                 power-key {
141                         gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
142                         linux,code = <116>;
143                         label = "power";
144                         gpio-key,wakeup;
145                 };
146
147                 menu-key {
148                         linux,code = <59>;
149                         label = "menu";
150                         rockchip,adc_value = <355>;
151                 };
152
153                 home-key {
154                         linux,code = <102>;
155                         label = "home";
156                         rockchip,adc_value = <746>;
157                 };
158
159                 back-key {
160                         linux,code = <158>;
161                         label = "back";
162                         rockchip,adc_value = <560>;
163                 };
164
165                 camera-key {
166                         linux,code = <212>;
167                         label = "camera";
168                         rockchip,adc_value = <450>;
169                 };
170         };
171
172         rt5640-sound {
173                 compatible = "simple-audio-card";
174                 simple-audio-card,format = "i2s";
175                 simple-audio-card,name = "rockchip,rt5640-codec";
176                 simple-audio-card,mclk-fs = <256>;
177                 simple-audio-card,widgets =
178                         "Microphone", "Mic Jack",
179                         "Headphone", "Headphone Jack";
180                 simple-audio-card,routing =
181                         "Mic Jack", "MICBIAS1",
182                         "IN1P", "Mic Jack",
183                         "Headphone Jack", "HPOL",
184                         "Headphone Jack", "HPOR";
185                 simple-audio-card,cpu {
186                         sound-dai = <&i2s_8ch>;
187                 };
188                 simple-audio-card,codec {
189                         sound-dai = <&rt5640>;
190                 };
191         };
192
193         spdif-sound {
194                 compatible = "simple-audio-card";
195                 simple-audio-card,name = "rockchip,spdif";
196                 simple-audio-card,cpu {
197                         sound-dai = <&spdif>;
198                 };
199                 simple-audio-card,codec {
200                         sound-dai = <&spdif_out>;
201                 };
202         };
203
204         spdif_out: spdif-out {
205                 compatible = "linux,spdif-dit";
206                 #sound-dai-cells = <0>;
207         };
208
209         vcc_sys: vcc-sys {
210                 compatible = "regulator-fixed";
211                 regulator-name = "vcc_sys";
212                 regulator-always-on;
213                 regulator-boot-on;
214                 regulator-min-microvolt = <3800000>;
215                 regulator-max-microvolt = <3800000>;
216         };
217
218         ext_gmac: external-gmac-clock {
219                 compatible = "fixed-clock";
220                 clock-frequency = <125000000>;
221                 clock-output-names = "ext_gmac";
222                 #clock-cells = <0>;
223         };
224
225         vbus_host: vbus-host-regulator {
226                 compatible = "regulator-fixed";
227                 enable-active-high;
228                 gpio = <&gpio0 16 GPIO_ACTIVE_HIGH>;
229                 pinctrl-names = "default";
230                 pinctrl-0 = <&host_vbus_drv>;
231                 regulator-name = "vbus_host";
232         };
233
234         vcc_phy: vcc-phy-regulator {
235                 compatible = "regulator-fixed";
236                 enable-active-high;
237                 gpio = <&gpio0 25 GPIO_ACTIVE_HIGH>;
238                 pinctrl-names = "default";
239                 pinctrl-0 = <&eth_phy_pwr>;
240                 regulator-name = "vcc_phy";
241                 regulator-always-on;
242                 regulator-boot-on;
243         };
244
245         io-domains {
246                 compatible = "rockchip,rk3366-io-voltage-domain";
247                 rockchip,grf = <&grf>;
248
249                 lcdc-supply = <&vcc_io>;
250                 dvpts-supply = <&vcc_18>;
251                 wifibt-supply = <&vccio_wl>;
252                 audio-supply = <&vcc_io>;
253                 sdcard-supply = <&vccio_sd>;
254                 tphdsor-supply = <&vcc_io>;
255         };
256
257         dwc_control_usb: dwc-control-usb {
258                 compatible = "rockchip,rk3368-dwc-control-usb";
259                 rockchip,grf = <&grf>;
260                 grf-offset = <0x049c>; /* GRF_SOC_STATUS for USB2.0 OTG */
261                 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
262                              <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
263                              <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
264                              <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
265                 interrupt-names = "otg_id", "otg_bvalid",
266                                   "otg_linestate", "host0_linestate";
267                 clocks = <&cru SCLK_USBPHY480M>, <&cru HCLK_OTG>;
268                 clock-names = "sclk_otgphy0", "otg";
269
270                 usb_bc {
271                         compatible = "inno,phy";
272                         regbase = &dwc_control_usb;
273                         rk_usb,bvalid     = <0x49c 23 1>;
274                         rk_usb,iddig      = <0x49c 26 1>;
275                         rk_usb,vdmsrcen   = <0x718 12 1>;
276                         rk_usb,vdpsrcen   = <0x718 11 1>;
277                         rk_usb,rdmpden    = <0x718 10 1>;
278                         rk_usb,idpsrcen   = <0x718  9 1>;
279                         rk_usb,idmsinken  = <0x718  8 1>;
280                         rk_usb,idpsinken  = <0x718  7 1>;
281                         rk_usb,dpattach   = <0x498 31 1>;
282                         rk_usb,cpdet      = <0x498 30 1>;
283                         rk_usb,dcpattach  = <0x498 29 1>;
284                 };
285         };
286
287         i2c@2 {
288                 compatible = "i2c-gpio";
289                 gpios = <&gpio5 15 GPIO_ACTIVE_HIGH>, /* sda */
290                         <&gpio5 16 GPIO_ACTIVE_HIGH>; /* scl */
291                 i2c-gpio,delay-us = <2>;        /* ~100 kHz */
292                 #address-cells = <1>;
293                 #size-cells = <0>;
294                 pinctrl-names = "default";
295                 pinctrl-0 = <&i2c2_gpio>;
296                 status = "disabled";
297         };
298
299         i2c@4 {
300                 compatible = "i2c-gpio";
301                 gpios = <&gpio5 9 GPIO_ACTIVE_HIGH>, /* sda */
302                         <&gpio5 8 GPIO_ACTIVE_HIGH>; /* scl */
303                 i2c-gpio,delay-us = <2>;        /* ~100 kHz */
304                 #address-cells = <1>;
305                 #size-cells = <0>;
306                 pinctrl-names = "default";
307                 pinctrl-0 = <&i2c4_gpio>;
308                 status = "okay";
309
310                 gt9xx: gt9xx@14 {
311                         compatible = "goodix,gt9xx";
312                         reg = <0x14>;
313                         touch-gpio = <&gpio5 11 IRQ_TYPE_LEVEL_LOW>;
314                         reset-gpio = <&gpio5 10 GPIO_ACTIVE_HIGH>;
315                         max-x = <1200>;
316                         max-y = <1900>;
317                         tp-size = <911>;
318                         tp-supply = <&vcc_tp>;
319                         status = "okay";
320                 };
321         };
322
323         sdio_pwrseq: sdio-pwrseq {
324                 compatible = "mmc-pwrseq-simple";
325                 clocks = <&rk818 1>;
326                 clock-names = "ext_clock";
327                 pinctrl-names = "default";
328                 pinctrl-0 = <&wifi_enable_h>;
329
330                 /*
331                  * On the module itself this is one of these (depending
332                  * on the actual card populated):
333                  * - SDIO_RESET_L_WL_REG_ON
334                  * - PDN (power down when low)
335                  */
336                 reset-gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; /* GPIO0_B6 */
337         };
338
339         wireless-wlan {
340                 compatible = "wlan-platdata";
341                 rockchip,grf = <&grf>;
342                 wifi_chip_type = "ap6335";
343                 sdio_vref = <1800>;
344                 WIFI,host_wake_irq = <&gpio3 20 GPIO_ACTIVE_HIGH>; /* GPIO3_c4 */
345                 status = "okay";
346         };
347
348         wireless-bluetooth {
349                 compatible = "bluetooth-platdata";
350                 //wifi-bt-power-toggle;
351                 uart_rts_gpios = <&gpio3 11 GPIO_ACTIVE_LOW>; /* GPIO3_b3 */
352                 pinctrl-names = "default","rts_gpio";
353                 pinctrl-0 = <&uart0_rts>;
354                 pinctrl-1 = <&uart0_rts_gpio>;
355                 //BT,power_gpio  = <&gpio3 19 GPIO_ACTIVE_HIGH>; /* GPIO3_c3 */
356                 BT,reset_gpio    = <&gpio3 19 GPIO_ACTIVE_HIGH>; /* GPIO3_c3 */
357                 BT,wake_gpio     = <&gpio3 18 GPIO_ACTIVE_HIGH>; /* GPIO3_c2 */
358                 BT,wake_host_irq = <&gpio3 21 GPIO_ACTIVE_HIGH>; /* GPIO3_c5 */
359                 status = "okay";
360         };
361 };
362
363 &tsadc {
364         status = "okay";
365 };
366
367 &nandc0 {
368         status = "okay"; /* enable both for emmc and nand */
369 };
370
371 &emmc {
372         clock-frequency = <100000000>;
373         clock-freq-min-max = <400000 100000000>;
374         supports-emmc;
375         bus-width = <8>;
376         cap-mmc-highspeed;
377         disable-wp;
378         non-removable;
379         num-slots = <1>;
380         pinctrl-names = "default";
381         pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_pwr &emmc_bus8>;
382         status = "okay";
383 };
384
385 &sdmmc {
386         clock-frequency = <37500000>;
387         clock-freq-min-max = <400000 37500000>;
388         supports-sd;
389         bus-width = <4>;
390         cap-mmc-highspeed;
391         cap-sd-highspeed;
392         card-detect-delay = <200>;
393         disable-wp;
394         num-slots = <1>;
395         pinctrl-names = "default";
396         pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
397         status = "disabled";
398 };
399
400 &sdio {
401         clock-frequency = <37500000>;
402         clock-freq-min-max = <200000 37500000>;
403         supports-sdio;
404         bus-width = <4>;
405         disable-wp;
406         cap-sd-highspeed;
407         cap-sdio-irq;
408         keep-power-in-suspend;
409         mmc-pwrseq = <&sdio_pwrseq>;
410         non-removable;
411         num-slots = <1>;
412         pinctrl-names = "default";
413         pinctrl-0 = <&sdio_bus4 &sdio_cmd &sdio_clk>;
414         sd-uhs-sdr104;
415         status = "okay";
416 };
417
418 &uart0 {
419         status = "okay";
420         pinctrl-0 = <&uart0_xfer &uart0_cts>;
421 };
422
423 &saradc {
424         status = "okay";
425 };
426
427 &i2c0 {
428         status = "okay";
429         i2c-scl-rising-time-ns = <250>;
430         i2c-scl-falling-time-ns = <20>;
431
432         syr827: syr827@40 {
433                 regulator-name = "vdd_arm";
434                 compatible = "silergy,syr827";
435                 status = "okay";
436                 reg = <0x40>;
437                 regulator-compatible = "fan53555-reg";
438                 regulator-min-microvolt = <712500>;
439                 regulator-max-microvolt = <1500000>;
440                 fcs,suspend-voltage-selector = <1>;
441                 regulator-always-on;
442                 regulator-boot-on;
443                 regulator-initial-state = <3>;
444                 regulator-ramp-delay = <2000>;
445                 regulator-state-mem {
446                         regulator-off-in-suspend;
447                         regulator-suspend-microvolt = <900000>;
448                 };
449         };
450
451         rk818: pmic@1c {
452                 compatible = "rockchip,rk818";
453                 status = "okay";
454                 reg = <0x1c>;
455                 clock-output-names = "xin32k", "wifibt_32kin";
456                 interrupt-parent = <&gpio0>;
457                 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
458                 pinctrl-names = "default";
459                 pinctrl-0 = <&pmic_int_l>;
460                 rockchip,system-power-controller;
461                 wakeup-source;
462                 #clock-cells = <1>;
463
464                 vcc1-supply = <&vcc_sys>;
465                 vcc2-supply = <&vcc_sys>;
466                 vcc3-supply = <&vcc_sys>;
467                 vcc4-supply = <&vcc_sys>;
468                 vcc6-supply = <&vcc_sys>;
469                 vcc7-supply = <&vcc_sys>;
470                 vcc8-supply = <&vcc_sys>;
471                 vcc9-supply = <&vcc_io>;
472
473                 regulators {
474                         vdd_logic: DCDC_REG1 {
475                                 regulator-name = "vdd_logic";
476                                 regulator-always-on;
477                                 regulator-boot-on;
478                                 regulator-min-microvolt = <750000>;
479                                 regulator-max-microvolt = <1450000>;
480                                 regulator-ramp-delay = <6001>;
481                                 regulator-state-mem {
482                                         regulator-on-in-suspend;
483                                         regulator-suspend-microvolt = <1000000>;
484                                 };
485                         };
486
487                         vdd_gpu: DCDC_REG2 {
488                                 regulator-name = "vdd_gpu";
489                                 regulator-always-on;
490                                 regulator-boot-on;
491                                 regulator-min-microvolt = <800000>;
492                                 regulator-max-microvolt = <1250000>;
493                                 regulator-ramp-delay = <6001>;
494                                 regulator-state-mem {
495                                         regulator-on-in-suspend;
496                                         regulator-suspend-microvolt = <1000000>;
497                                 };
498                         };
499
500                         vcc_ddr: DCDC_REG3 {
501                                 regulator-name = "vcc_ddr";
502                                 regulator-always-on;
503                                 regulator-boot-on;
504                                 regulator-state-mem {
505                                         regulator-on-in-suspend;
506                                 };
507                         };
508
509                         vcc_io: DCDC_REG4 {
510                                 regulator-name = "vcc_io";
511                                 regulator-always-on;
512                                 regulator-boot-on;
513                                 regulator-min-microvolt = <3300000>;
514                                 regulator-max-microvolt = <3300000>;
515                                 regulator-state-mem {
516                                         regulator-on-in-suspend;
517                                         regulator-suspend-microvolt = <3300000>;
518                                 };
519                         };
520
521                         vcca_codec: LDO_REG1 {
522                                 regulator-name = "vcca_codec";
523                                 regulator-always-on;
524                                 regulator-boot-on;
525                                 regulator-min-microvolt = <3300000>;
526                                 regulator-max-microvolt = <3300000>;
527                                 regulator-state-mem {
528                                         regulator-on-in-suspend;
529                                         regulator-suspend-microvolt = <3300000>;
530                                 };
531                         };
532
533                         vcc_tp: LDO_REG2 {
534                                 regulator-name = "vcc_tp";
535                                 regulator-always-on;
536                                 regulator-boot-on;
537                                 regulator-min-microvolt = <3000000>;
538                                 regulator-max-microvolt = <3000000>;
539                                 regulator-state-mem {
540                                         regulator-on-in-suspend;
541                                         regulator-suspend-microvolt = <3000000>;
542                                 };
543                         };
544
545                         vdd_10: LDO_REG3 {
546                                 regulator-name = "vdd_10";
547                                 regulator-always-on;
548                                 regulator-boot-on;
549                                 regulator-min-microvolt = <1000000>;
550                                 regulator-max-microvolt = <1000000>;
551                                 regulator-state-mem {
552                                         regulator-on-in-suspend;
553                                         regulator-suspend-microvolt = <1000000>;
554                                 };
555                         };
556
557                         vcc18_lcd: LDO_REG4 {
558                                 regulator-name = "vcc18_lcd";
559                                 regulator-always-on;
560                                 regulator-boot-on;
561                                 regulator-min-microvolt = <1800000>;
562                                 regulator-max-microvolt = <1800000>;
563                                 regulator-state-mem {
564                                         regulator-on-in-suspend;
565                                         regulator-suspend-microvolt = <1800000>;
566                                 };
567                         };
568
569                         vccio_pmu: LDO_REG5 {
570                                 regulator-name = "vccio_pmu";
571                                 regulator-always-on;
572                                 regulator-boot-on;
573                                 regulator-min-microvolt = <1800000>;
574                                 regulator-max-microvolt = <1800000>;
575                                 regulator-state-mem {
576                                         regulator-on-in-suspend;
577                                         regulator-suspend-microvolt = <1800000>;
578                                 };
579                         };
580
581                         vdd10_lcd: LDO_REG6 {
582                                 regulator-name = "vdd10_lcd";
583                                 regulator-always-on;
584                                 regulator-boot-on;
585                                 regulator-min-microvolt = <1000000>;
586                                 regulator-max-microvolt = <1000000>;
587                                 regulator-state-mem {
588                                         regulator-on-in-suspend;
589                                         regulator-suspend-microvolt = <1000000>;
590                                 };
591                         };
592
593                         vcc_18: LDO_REG7 {
594                                 regulator-name = "vcc_18";
595                                 regulator-always-on;
596                                 regulator-boot-on;
597                                 regulator-min-microvolt = <1800000>;
598                                 regulator-max-microvolt = <1800000>;
599                                 regulator-state-mem {
600                                         regulator-on-in-suspend;
601                                         regulator-suspend-microvolt = <1800000>;
602                                 };
603                         };
604
605                         vccio_wl: LDO_REG8 {
606                                 regulator-name = "vccio_wl";
607                                 regulator-always-on;
608                                 regulator-boot-on;
609                                 regulator-min-microvolt = <1800000>;
610                                 regulator-max-microvolt = <3300000>;
611                                 regulator-state-mem {
612                                         regulator-on-in-suspend;
613                                         regulator-suspend-microvolt = <3300000>;
614                                 };
615                         };
616
617                         vccio_sd: LDO_REG9 {
618                                 regulator-name = "vccio_sd";
619                                 regulator-always-on;
620                                 regulator-boot-on;
621                                 regulator-min-microvolt = <1800000>;
622                                 regulator-max-microvolt = <3300000>;
623                                 regulator-state-mem {
624                                         regulator-on-in-suspend;
625                                         regulator-suspend-microvolt = <3300000>;
626                                 };
627                         };
628
629                         vcc_sd: SWITCH_REG {
630                                 regulator-name = "vcc_sd";
631                                 regulator-always-on;
632                                 regulator-boot-on;
633                                 regulator-state-mem {
634                                         regulator-on-in-suspend;
635                                 };
636                         };
637                 };
638
639                 battery {
640                         compatible = "rk818-battery";
641                         ocv_table = <3400 3650 3693 3707 3731 3749 3760
642                                      3770 3782 3796 3812 3829 3852 3882
643                                      3915 3951 3981 4047 4086 4132 4182>;
644                         design_capacity = <7916>;
645                         design_qmax = <8708>;
646                         bat_res = <65>;
647                         max_input_current = <2000>;
648                         max_chrg_current = <1600>;
649                         max_chrg_voltage = <4200>;
650                         sleep_enter_current = <300>;
651                         sleep_exit_current = <300>;
652                         power_off_thresd = <3400>;
653                         zero_algorithm_vol = <3850>;
654                         fb_temperature = <105>;
655                         sample_res = <20>;
656                         max_soc_offset = <60>;
657                         energy_mode = <0>;
658                         monitor_sec = <5>;
659                         virtual_power = <0>;
660                         power_dc2otg = <0>;
661                 };
662         };
663 };
664
665 &i2c1 {
666         status = "okay";
667         i2c-scl-rising-time-ns = <460>;
668         i2c-scl-falling-time-ns = <15>;
669
670         rt5640: rt5640@1c {
671                 #sound-dai-cells = <0>;
672                 compatible = "realtek,rt5640";
673                 reg = <0x1c>;
674                 clocks = <&cru SCLK_I2S_8CH_OUT>;
675                 clock-names = "mclk";
676                 realtek,in1-differential;
677         };
678 };
679
680 &i2s_8ch {
681         status = "okay";
682         rockchip,i2s-broken-burst-len;
683         rockchip,playback-channels = <8>;
684         rockchip,capture-channels = <2>;
685         #sound-dai-cells = <0>;
686 };
687
688 &spdif {
689         status = "okay";
690         #sound-dai-cells = <0>;
691 };
692
693 &pwm0 {
694         status = "okay";
695 };
696
697 &rga {
698         status = "okay";
699 };
700
701 &uart2 {
702         status = "okay";
703 };
704
705 &fb {
706         status = "okay";
707         rockchip,disp-mode = <DUAL>;
708         rockchip,uboot-logo-on = <0>;
709 };
710
711 &rk_screen {
712         status = "okay";
713         #include <dt-bindings/display/screen-timing/lcd-tv080wum-mipi.dtsi>
714         /* #include <dt-bindings/display/screen-timing/lcd-b101ew05.dtsi> */
715 };
716
717 &lvds {
718         pinctrl-names = "lcdc", "sleep";
719         pinctrl-0 = <&lcdc_lcdc>;
720         pinctrl-1 = <&lcdc_gpio>;
721         status = "disabled";
722 };
723
724 &dsihost0 {
725         status = "okay";
726 };
727
728 &hdmi {
729         status = "okay";
730         rockchip,hdmi_video_source = <DISPLAY_SOURCE_LCDC1>;
731         rockchip,phy_table =
732                 <148500000 0 0 17 18 18 18>,
733                 <297000000 1 1 17 14 14 14>,
734                 <594000000 1 1 16 5 5 5>;
735 };
736
737 &vop_lite {
738         status = "okay";
739         rockchip,prop = <EXTEND>;
740         rockchip,mirror = <NO_MIRROR>;
741         rockchip,cabc_mode = <0>;
742         rockchip,fb-win-map = <FB_DEFAULT_ORDER>;
743 };
744
745 &vopl_mmu {
746         status = "okay";
747 };
748
749 &iep_mmu {
750         status = "okay";
751 };
752
753 &vpu_mmu {
754         status = "okay";
755 };
756
757 &vdec_mmu {
758         status = "okay";
759 };
760
761 &iep {
762         status = "okay";
763 };
764
765 &vpu {
766         status = "okay";
767 };
768
769 &rkvdec {
770         status = "okay";
771 };
772
773 &vop_big {
774         status = "okay";
775         rockchip,prop = <PRMRY>;
776         backlight = <&backlight>;
777         rockchip,mirror = <NO_MIRROR>;
778         rockchip,cabc_mode = <0>;
779         rockchip,fb-win-map = <FB_DEFAULT_ORDER>;
780         power_ctr: power_ctr {
781                 rockchip,debug = <0>;
782                 lcd_en: lcd-en {
783                         rockchip,power_type = <GPIO>;
784                         gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>; /* GPIO_B4 = 12 */
785                         rockchip,delay = <10>;
786                 };
787
788                 lcd_cs: lcd-cs {
789                         rockchip,power_type = <GPIO>;
790                         gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>; /* GPIO_D0 = 24 */
791                         rockchip,delay = <10>;
792                 };
793
794                 /* lcd_rst: lcd-rst {
795                  *      rockchip,power_type = <GPIO>;
796                  *      gpios = <&gpio3 GPIO_D6 GPIO_ACTIVE_HIGH>;
797                  *      rockchip,delay = <5>;
798                  * };
799                  */
800         };
801 };
802
803 &vopb_mmu {
804         status = "okay";
805 };
806
807 &pinctrl {
808         pmic {
809                 pmic_int_l: pmic-int-l {
810                         rockchip,pins = <0 2 RK_FUNC_GPIO &pcfg_pull_up>;
811                 };
812         };
813
814         sdio-pwrseq {
815                 wifi_enable_h: wifienable-h {
816                         rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>;
817                 };
818         };
819
820         wireless-bluetooth {
821                 uart0_rts_gpio: uart0-rts-gpios {
822                         rockchip,pins = <3 11 RK_FUNC_GPIO &pcfg_pull_none>;
823                 };
824         };
825 };
826
827 &gmac {
828         phy-supply = <&vcc_phy>;
829         phy-mode = "rgmii";
830         clock_in_out = "input";
831         snps,reset-gpio = <&gpio2 15 GPIO_ACTIVE_LOW>;
832         snps,reset-active-low;
833         snps,reset-delays-us = <0 10000 50000>;
834         assigned-clocks = <&cru SCLK_MAC>;
835         assigned-clock-parents = <&ext_gmac>;
836         pinctrl-names = "default";
837         pinctrl-0 = <&rgmii_pins>;
838         tx_delay = <0x25>;
839         rx_delay = <0x1d>;
840         status = "okay";
841 };
842
843 &u2phy_host {
844         phy-supply = <&vbus_host>;
845 };
846
847 &dwc_control_usb {
848         otg_drv_gpio = <&gpio0 10 GPIO_ACTIVE_LOW>; /* GPIO_B2 = 10 */
849
850         rockchip,remote_wakeup;
851         rockchip,usb_irq_wakeup;
852 };
853
854 &usb_host0_ehci {
855         assigned-clocks = <&cru SCLK_USBPHY480M>;
856         assigned-clock-parents = <&u2phy>;
857         status = "okay";
858 };
859
860 &usb_host0_ohci {
861         status = "okay";
862 };
863
864 &usb_otg {
865         clocks = <&cru SCLK_USBPHY480M>, <&cru HCLK_OTG>;
866         clock-names = "usbphy_480m", "otg";
867         resets = <&cru SRST_USBOTG_AHB>,
868                  <&cru SRST_USBOTG_PHY>,
869                  <&cru SRST_USBOTG_CON>;
870         reset-names = "otg_ahb", "otg_phy", "otg_controller";
871         /* 0 - Normal, 1 - Force Host, 2 - Force Device */
872         rockchip,usb-mode = <0>;
873         status = "okay";
874 };
875
876 &scr {
877         status = "disabled";
878 };
879
880 &cpu0 {
881         cpu-supply = <&syr827>;
882 };
883
884 &gpu {
885         mali-supply = <&vdd_logic>;
886         status = "okay";
887 };
888
889 &pvtm {
890         status = "okay";
891 };
892
893 &pmu_pvtm {
894         status = "okay";
895 };