Merge tag 'lsk-android-14.05' into develop-3.10
[firefly-linux-kernel-4.4.55.git] / arch / arm / boot / dts / rk3288-tesco.dts
1 /dts-v1/;
2
3 #include "rk3288.dtsi"
4 //#include "lcd-b101ew05.dtsi"
5 #include "lcd-ld089wu1-mipi.dtsi"
6 / {
7         fiq-debugger {
8                 status = "okay";
9         };
10
11     wireless-wlan {
12         compatible = "wlan-platdata";
13
14         wifi_chip_type = "";
15         sdio_vref = <1800>; //1800mv or 3300mv
16
17         //power_ctrl_by_pmu;
18         pmu_regulator = "act_ldo3";
19         pmu_enable_level = <1>; //1->HIGH, 0->LOW
20
21         WIFI,poweren_gpio = <&gpio4 GPIO_D4 GPIO_ACTIVE_HIGH>;
22         WIFI,host_wake_irq = <&gpio4 GPIO_D6 GPIO_ACTIVE_HIGH>;
23         //WIFI,reset_gpio = <&gpio0 GPIO_A2 GPIO_ACTIVE_LOW>;
24
25         status = "okay";
26     };
27
28     wireless-bluetooth {
29         compatible = "bluetooth-platdata";
30
31         uart_rts_gpios = <&gpio4 GPIO_C3 GPIO_ACTIVE_LOW>;
32         pinctrl-names = "default","rts_gpio";
33         pinctrl-0 = <&uart0_rts>;
34         pinctrl-1 = <&uart0_rts_gpio>;
35
36         BT,power_gpio = <&gpio4 GPIO_D3 GPIO_ACTIVE_HIGH>;
37         BT,reset_gpio = <&gpio4 GPIO_D5 GPIO_ACTIVE_HIGH>;
38         BT,wake_gpio = <&gpio4 GPIO_D2 GPIO_ACTIVE_HIGH>;
39         BT,wake_host_irq = <&gpio4 GPIO_D7 GPIO_ACTIVE_LOW>;
40
41         status = "okay";
42     };
43
44     hallsensor {
45                compatible = "hall_och165t";
46                type = <SENSOR_TYPE_HALL>;
47                irq-gpio = <&gpio0 GPIO_A6 IRQ_TYPE_EDGE_BOTH>;
48      };
49
50         backlight {
51                 compatible = "pwm-backlight";
52                 pwms = <&pwm0 0 25000>;
53                 brightness-levels = <255 254 253 252 251 250 249 248 247 246 245 244 243 242 241 240 239 238 237 236 235 234 233 232 231 230 229 228 227 226 225 224 223 222 221 220 219 218 217 216 215 214 213 212 211 210 209 208 207 206 205 204 203 202 201 200 199 198 197 196 195 194 193 192 191 190 189 188 187 186 185 184 183 182 181 180 179 178 177 176 175 174 173 172 171 170 169 168 167 166 165 164 163 162 161 160 159 158 157 156 155 154 153 152 151 150 149 148 147 146 145 144 143 142 141 140 139 138 137 136 135 134 133 132 131 130 129 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111 110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0>;
54                 default-brightness-level = <200>;
55                 enable-gpios = <&gpio7 GPIO_A2 GPIO_ACTIVE_HIGH>;
56         };
57
58         pwm_regulator {
59                 compatible = "rockchip_pwm_regulator";
60                 pwms = <&pwm1 0 25000>;
61                 rockchip,pwm_id= <1>;
62                 rockchip,pwm_voltage_map= <925000 950000 975000 1000000 1025000 1050000 1075000 1100000 1125000 1150000 1175000 1200000 1225000 1250000 1275000 1300000 1325000 1350000 1375000 1400000>;
63                 rockchip,pwm_voltage= <1000000>;
64                 rockchip,pwm_min_voltage= <925000>;
65                 rockchip,pwm_max_voltage= <1400000>;
66                 rockchip,pwm_suspend_voltage= <950000>;
67                 rockchip,pwm_coefficient= <475>;
68                 regulators {
69                         #address-cells = <1>;
70                         #size-cells = <0>;
71                         pwm_reg0: regulator@0 {
72                                 regulator-compatible = "pwm_dcdc1";
73                                 regulator-name= "vdd_logic";
74                                 regulator-min-microvolt = <925000>;
75                                 regulator-max-microvolt = <1400000>;
76                                 regulator-always-on;
77                                 regulator-boot-on;
78                         };
79                 };
80         };
81
82         codec_hdmi_i2s: codec-hdmi-i2s {
83                 compatible = "hdmi-i2s";
84         };
85
86         codec_hdmi_spdif: codec-hdmi-spdif {
87                 compatible = "hdmi-spdif";
88         };
89
90         rockchip-hdmi-i2s {
91                 compatible = "rockchip-hdmi-i2s";
92                 dais {
93                         dai0 {
94                                 audio-codec = <&codec_hdmi_i2s>;
95                                 i2s-controller = <&i2s>;
96                                 format = "i2s";
97                                 //continuous-clock;
98                                 //bitclock-inversion;
99                                 //frame-inversion;
100                                 //bitclock-master;
101                                 //frame-master;
102                         };
103                 };
104         };
105         
106         rockchip-hdmi-spdif {
107                 compatible = "rockchip-hdmi-spdif";
108                 dais {
109                         dai0 {
110                                 audio-codec = <&codec_hdmi_spdif>;
111                                 i2s-controller = <&spdif>;
112                                 format = "spdif";
113                                 //continuous-clock;
114                                 //bitclock-inversion;
115                                 //frame-inversion;
116                                 //bitclock-master;
117                                 //frame-master;
118                         };
119                 };              
120         };
121
122         rockchip-rt5631 {
123                 compatible = "rockchip-rt5631";
124                 dais {
125                         dai0 {
126                                 audio-codec = <&rt5631>;
127                                 i2s-controller = <&i2s>;
128                                 format = "i2s";
129                                 //continuous-clock;
130                                 //bitclock-inversion;
131                                 //frame-inversion;
132                                 //bitclock-master;
133                                 //frame-master;
134                         };
135                 };
136         };
137
138         rockchip-rt3224 {
139                 compatible = "rockchip-rt3261";
140                 dais {
141                         dai0 {
142                                 audio-codec = <&rt3261>;
143                                 i2s-controller = <&i2s>;
144                                 format = "i2s";
145                                 //continuous-clock;
146                                 //bitclock-inversion;
147                                 //frame-inversion;
148                                 //bitclock-master;
149                                 //frame-master;
150                         };
151                         dai1 {
152                                 audio-codec = <&rt3261>;
153                                 i2s-controller = <&i2s>;
154                                 format = "i2s";
155                                 //continuous-clock;
156                                 //bitclock-inversion;
157                                 //frame-inversion;
158                                 //bitclock-master;
159                                 //frame-master;
160                         };
161                 };
162         };
163
164         usb_control {
165                 compatible = "rockchip,rk3288-usb-control";
166
167                 host_drv_gpio = <&gpio0 GPIO_B6 GPIO_ACTIVE_LOW>;
168                 otg_drv_gpio = <&gpio0 GPIO_B4 GPIO_ACTIVE_LOW>;
169
170                 rockchip,remote_wakeup;
171                 rockchip,usb_irq_wakeup;
172         };
173 };
174
175 &gmac {
176 //      power_ctl_by = "gpio";  //"gpio" "pmu"
177         power-gpio = <&gpio0 GPIO_A6 GPIO_ACTIVE_HIGH>;
178 //      power-pmu = "act_ldo"
179         reset-gpio = <&gpio4 GPIO_A7 GPIO_ACTIVE_LOW>;
180 };
181
182 &pinctrl {
183         gpio0_gpio {
184                         gpio0_c2: gpio0-c2 {
185                                 rockchip,pins = <GPIO0_C2>;
186                                 rockchip,pull = <VALUE_PULL_DOWN>;
187                         };
188
189                         //to add
190                 };
191                 
192         gpio7_gpio {
193                         gpio7_b7: gpio7-b7 {
194                                 rockchip,pins = <GPIO7_B7>;
195                                 rockchip,pull = <VALUE_PULL_UP>;
196                         };
197
198                         //to add
199                 };
200         //could add other pinctrl definition such as gpio
201
202 };
203
204 &emmc {
205         clock-frequency = <150000000>;
206         clock-freq-min-max = <400000 150000000>;
207         supports-highspeed;
208         supports-emmc;
209         bootpart-no-access;
210
211         supports-DDR_MODE;
212         caps2-mmc-hs200;
213
214         ignore-pm-notify;
215         keep-power-in-suspend;
216         status = "okay";
217 };
218     
219 &sdmmc {
220                 clock-frequency = <50000000>;
221                 lock-freq-min-max = <400000 50000000>;
222                 supports-highspeed;
223                 supports-sd;
224                 broken-cd;
225                 card-detect-delay = <200>;
226
227                 ignore-pm-notify;
228                 keep-power-in-suspend;
229         
230                 vmmc-supply = <&rk808_ldo5_reg>;
231                 status = "okay";
232 };
233                 
234 &sdio {
235                 clock-frequency = <50000000>;
236                 clock-freq-min-max = <200000 50000000>;
237                 supports-highspeed;
238                 supports-sdio;
239                 ignore-pm-notify;
240                 keep-power-in-suspend;
241                 //cap-sdio-irq;
242                 status = "okay";
243 };
244
245 &spi0 {
246         status = "okay";
247         max-freq = <48000000>;  
248         /*
249         spi_test@00 {
250                 compatible = "rockchip,spi_test_bus0_cs0";
251                 reg = <0>;
252                 spi-max-frequency = <24000000>;
253                 //spi-cpha;
254                 //spi-cpol;
255                 poll_mode = <0>;
256                 type = <0>;
257                 enable_dma = <0>;
258
259         };
260
261         spi_test@01 {
262                 compatible = "rockchip,spi_test_bus0_cs1";
263                 reg = <1>;
264                 spi-max-frequency = <24000000>;
265                 spi-cpha;
266                 spi-cpol;
267                 poll_mode = <0>;
268                 type = <0>;
269                 enable_dma = <0>;               
270         };
271         */
272 };
273
274 &spi1 {
275         status = "okay";
276         max-freq = <48000000>;
277         /*
278         spi_test@10 {
279                 compatible = "rockchip,spi_test_bus1_cs0";
280                 reg = <0>;
281                 spi-max-frequency = <24000000>;
282                 //spi-cpha;
283                 //spi-cpol;
284                 poll_mode = <0>;
285                 type = <0>;
286                 enable_dma = <0>;
287         };
288
289         */
290 };
291
292 &spi2 {
293         status = "okay";
294         max-freq = <48000000>;
295         /*
296         spi_test@20 {
297                 compatible = "rockchip,spi_test_bus2_cs0";
298                 reg = <0>;
299                 spi-max-frequency = <24000000>;
300                 //spi-cpha;
301                 //spi-cpol;
302                 poll_mode = <0>;
303                 type = <0>;
304                 enable_dma = <0>;
305         };
306
307         spi_test@21 {
308                 compatible = "rockchip,spi_test_bus2_cs1";
309                 reg = <1>;
310                 spi-max-frequency = <24000000>;
311                 //spi-cpha;
312                 //spi-cpol;
313                 poll_mode = <0>;
314                 type = <0>;
315                 enable_dma = <0>;
316         };
317         */
318 };
319
320 &uart_bt {
321         status = "okay";
322         dma-names = "!tx", "!rx";
323         pinctrl-0 = <&uart0_xfer &uart0_cts>;
324 };
325
326 &i2c0 {
327         status = "okay";
328         rk808: rk808@1b {
329                 reg = <0x1b>;
330                 status = "okay";
331         };
332         
333
334         CW2015@62 {
335                 compatible = "cw201x";
336                 reg = <0x62>;
337                 dc_det_gpio = <&gpio0 GPIO_B0 GPIO_ACTIVE_LOW>;
338                 bat_low_gpio = <&gpio0 GPIO_A7 GPIO_ACTIVE_LOW>;
339                 chg_ok_gpio = <&gpio0 GPIO_B1 GPIO_ACTIVE_HIGH>;
340                 bat_config_info = <0x15 0x42 0x60 0x59 0x52 0x58 0x4D 0x48 0x48 0x44 0x44 0x46 0x49 0x48 0x32
341                         0x24 0x20 0x17 0x13 0x0F 0x19 0x3E 0x51 0x45 0x08 0x76 0x0B 0x85 0x0E 0x1C 0x2E 0x3E 0x4D 0x52 0x52
342                         0x57 0x3D 0x1B 0x6A 0x2D 0x25 0x43 0x52 0x87 0x8F 0x91 0x94 0x52 0x82 0x8C 0x92 0x96 0xFF 0x7B 0xBB
343                         0xCB 0x2F 0x7D 0x72 0xA5 0xB5 0xC1 0x46 0xAE>;
344                 is_dc_charge = <1>;
345                 is_usb_charge = <0>;
346         };
347 };
348
349 &i2c1 {
350         status = "okay";
351         rtc@51 {
352                 compatible = "nxp,pcf8563";
353                 reg = <0x51>;
354         };
355         
356         
357                 sensor@19 {
358                 compatible = "gs_lis3dh";
359                 reg = <0x19>;
360                 type = <SENSOR_TYPE_ACCEL>;
361                 irq-gpio = <&gpio0 GPIO_A0 IRQ_TYPE_LEVEL_LOW>;
362                 irq_enable = <1>;
363                 poll_delay_ms = <30>;
364                 layout = <1>;
365         };
366                 
367         
368                 sensor@6b {
369                 compatible = "l3g20d_gyro";
370                 reg = <0x6b>;
371                 type = <SENSOR_TYPE_GYROSCOPE>;
372                 irq-gpio = <&gpio8 GPIO_A3 IRQ_TYPE_LEVEL_LOW>;
373                 irq_enable = <1>;
374                 poll_delay_ms = <30>;
375                 layout = <1>;
376         };
377         sensor@10 {
378               compatible = "ls_cm3218";
379               reg = <0x10>;
380               type = <SENSOR_TYPE_LIGHT>;
381               irq-gpio = <&gpio8 GPIO_A3 IRQ_TYPE_EDGE_FALLING>;              
382               irq_enable = <1>;
383               poll_delay_ms = <30>;
384               layout = <1>;
385        };
386         
387 };
388
389 &i2c2 {
390         status = "okay";
391         rt5631: rt5631@1a {
392                 compatible = "rt5631";
393                 reg = <0x1a>;
394         };
395         es8323: es8323@10 {
396                 compatible = "es8323";
397                 reg = <0x10>;
398         };
399         rt3261: rt3261@1c {
400                 compatible = "rt3261";
401                 reg = <0x1c>;
402         //      codec-en-gpio = <0>;//sdk default high level
403                 spk-num= <2>;
404                 modem-input-mode = <1>;
405                 lout-to-modem_mode = <1>;
406                 spk-amplify = <2>;
407                 playback-if1-data_control = <0>;
408                 playback-if2-data_control = <0>;
409         };
410         rt5616: rt5616@1b {
411                 compatible = "rt5616";
412                 reg = <0x1b>;
413         };
414 };
415
416 &i2c3 {
417         status = "okay";
418 };
419
420 &i2c4 {
421         status = "okay";
422         ts@3a {
423                 compatible = "goodix,gt8xx";
424                 reg = <0x3a>;
425                 touch-gpio = <&gpio7 GPIO_A6 IRQ_TYPE_LEVEL_LOW>;
426                 reset-gpio = <&gpio7 GPIO_A5 GPIO_ACTIVE_LOW>;
427                 //power-gpio = <&gpio0 GPIO_C5 GPIO_ACTIVE_LOW>;
428                 max-x = <1920>;
429                 max-y = <1200>;
430         };
431 };
432
433 &i2c5 {
434         status = "disable";
435 };
436
437 &fb {
438         rockchip,disp-mode = <DUAL>;
439 };
440
441 &rk_screen {
442          display-timings = <&disp_timings>;
443 };
444
445 /*lcdc1 as PRMRY(LCD),lcdc0 as EXTEND(HDMI)*/
446 &lcdc1 {
447         status = "okay";
448         rockchip,cabc_mode = <0>;
449         power_ctr: power_ctr {
450                 rockchip,debug = <0>;
451                 rockchip,mirror = <NO_MIRROR>;
452                 lcd_en:lcd_en {
453                         rockchip,power_type = <GPIO>;
454                         gpios = <&gpio7 GPIO_A3 GPIO_ACTIVE_HIGH>;
455                         rockchip,delay = <10>;
456                 };
457                 
458                 lcd_cs:lcd_cs {
459 rockchip,power_type = <GPIO>;
460                         gpios = <&gpio7 GPIO_A4 GPIO_ACTIVE_HIGH>;
461                         rockchip,delay = <10>;
462                 };
463
464                 /*lcd_rst:lcd_rst {
465                         rockchip,power_type = <GPIO>;
466                         gpios = <&gpio3 GPIO_D6 GPIO_ACTIVE_HIGH>;
467                         rockchip,delay = <5>;
468                 };*/
469
470         };
471 };
472
473 &lcdc0 {
474         status = "okay";
475 };
476
477 &hdmi {
478         status = "okay";
479         rockchips,hdmi_audio_source = <0>;
480 };
481
482 &adc {
483         status = "okay";
484
485         rockchip_headset {
486                 compatible = "rockchip_headset";
487                 headset_gpio = <&gpio0 GPIO_C2 GPIO_ACTIVE_LOW>;
488                 pinctrl-names = "default";
489                 pinctrl-0 = <&gpio0_c2>;
490                 io-channels = <&adc 2>; 
491        /*
492                hook_gpio = ;
493                hook_down_type = ; //interrupt hook key down status 
494                 */       
495        };
496
497         key {
498                 compatible = "rockchip,key";
499                 io-channels = <&adc 1>;
500
501                 vol-up-key {
502                         linux,code = <115>;
503                         label = "volume up";
504                         rockchip,adc_value = <1>;
505                 };
506
507                 vol-down-key {
508                         linux,code = <114>;
509                         label = "volume down";
510                         rockchip,adc_value = <170>;
511                 };
512
513                 power-key {
514                         gpios = <&gpio0 GPIO_A5 GPIO_ACTIVE_LOW>;
515                         linux,code = <116>;
516                         label = "power";
517                         gpio-key,wakeup;
518                 };
519
520                 menu-key {
521                         linux,code = <139>;
522                         label = "menu";
523                         rockchip,adc_value = <355>;
524                 };
525
526                 home-key {
527                         linux,code = <102>;
528                         label = "home";
529                         rockchip,adc_value = <746>;
530                 };
531
532                 back-key {
533                         linux,code = <158>;
534                         label = "back";
535                         rockchip,adc_value = <560>;
536                 };
537
538                 camera-key {
539                         linux,code = <212>;
540                         label = "camera";
541                         rockchip,adc_value = <450>;
542                 };
543         };
544 };
545
546 &pwm0 {
547         status = "okay";
548 };
549
550 &pwm1 {
551         status = "okay";
552 };
553
554
555 &clk_core_dvfs_table {
556         operating-points = <
557                 /* KHz    uV */
558                 312000 850000
559                 504000 850000
560                 816000 950000
561                 1008000 1000000
562                 1200000 1050000
563                 1416000 1150000
564                 1608000 1250000
565                 >;
566 };
567
568 &clk_gpu_dvfs_table {
569         operating-points = <
570                 /* KHz    uV */
571                 100000 850000
572                 200000 850000
573                 300000 900000
574                 400000 1000000
575                 600000 1250000
576                 >;
577 };
578
579 &clk_ddr_dvfs_table {
580         operating-points = <
581                 /* KHz    uV */
582                 200000 1200000
583                 300000 1200000
584                 400000 1200000
585                 >;
586
587         freq_table = <
588                 /*status                freq(KHz)*/
589                 SYS_STATUS_NORMAL       400000
590                 SYS_STATUS_SUSPEND      200000
591                 SYS_STATUS_VIDEO        300000
592                 SYS_STATUS_DUALVIEW     500000
593                 >;
594 };
595
596 /include/ "rk808.dtsi"
597 &rk808 {
598         gpios =<&gpio0 GPIO_A4 GPIO_ACTIVE_HIGH>,<&gpio0 GPIO_B3 GPIO_ACTIVE_LOW>;
599         rk808,system-power-controller;
600
601         regulators {
602                 
603                 rk808_dcdc1_reg: regulator@0{
604                         regulator-name= "vdd_arm";
605                         regulator-always-on;
606                         regulator-boot-on;
607                 };
608
609                 rk808_dcdc2_reg: regulator@1 {
610                         regulator-name= "vdd_gpu";
611                         regulator-always-on;
612                         regulator-boot-on;
613                 };
614
615                 rk808_dcdc3_reg: regulator@2 {
616                         regulator-name= "rk_dcdc3";
617                         regulator-min-microvolt = <1200000>;
618                         regulator-max-microvolt = <1200000>;
619                         regulator-always-on;
620                         regulator-boot-on;
621                 };
622
623                 rk808_dcdc4_reg: regulator@3 {
624                         regulator-name= "vccio";
625                         regulator-min-microvolt = <1800000>;
626                         regulator-max-microvolt = <3300000>;
627                         regulator-always-on;
628                         regulator-boot-on;
629                 };
630
631                 rk808_ldo1_reg: regulator@4 {
632                         regulator-name= "rk_ldo1";
633                         regulator-min-microvolt = <3300000>;
634                         regulator-max-microvolt = <3300000>;
635                         regulator-always-on;
636                         regulator-boot-on;
637                 };
638
639                 rk808_ldo2_reg: regulator@5 {
640                         regulator-name= "rk_ldo2";
641                         regulator-min-microvolt = <3300000>;
642                         regulator-max-microvolt = <3300000>;
643                         regulator-always-on;
644                         regulator-boot-on;
645                 };
646
647                 rk808_ldo3_reg: regulator@6 {
648                         regulator-name= "rk_ldo3";
649                         regulator-min-microvolt = <1000000>;
650                         regulator-max-microvolt = <1000000>;
651                         regulator-always-on;
652                         regulator-boot-on;
653                 };
654
655                 rk808_ldo4_reg:regulator@7 {
656                         regulator-name= "rk_ldo4";
657                         regulator-min-microvolt = <1800000>;
658                         regulator-max-microvolt = <1800000>;
659                         regulator-always-on;
660                         regulator-boot-on;
661                 };
662
663                 rk808_ldo5_reg: regulator@8 {
664                         regulator-name= "rk_ldo5";
665                         regulator-min-microvolt = <3300000>;
666                         regulator-max-microvolt = <3300000>;
667                         regulator-always-on;
668                         regulator-boot-on;
669                 };
670
671                 rk808_ldo6_reg: regulator@9 {
672                         regulator-name= "rk_ldo6";
673                         regulator-min-microvolt = <1000000>;
674                         regulator-max-microvolt = <1000000>;
675                         regulator-always-on;
676                         regulator-boot-on;
677                 };
678
679                 rk808_ldo7_reg: regulator@10 {
680                         regulator-name= "rk_ldo7";
681                         regulator-min-microvolt = <1800000>;
682                         regulator-max-microvolt = <1800000>;
683                         regulator-always-on;
684                         regulator-boot-on;
685                 };
686
687                 rk808_ldo8_reg: regulator@11 {
688                         regulator-name= "rk_ldo8";
689                         regulator-min-microvolt = <3300000>;
690                         regulator-max-microvolt = <3300000>;
691                         regulator-always-on;
692                         regulator-boot-on;
693                 };
694         };
695 };