rk3288 dts: modify lcdc0 as prmry(LCD) and lcdc1 as extend(HDMI) that just used for MID
[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 /*lcdc0 as PRMRY(LCD),lcdc1 as EXTEND(HDMI)*/
446 &lcdc0 {
447         status = "okay";
448         rockchip,mirror = <NO_MIRROR>;
449         rockchip,cabc_mode = <0>;
450         power_ctr: power_ctr {
451                 rockchip,debug = <0>;
452
453                 lcd_en:lcd_en {
454                         rockchip,power_type = <GPIO>;
455                         gpios = <&gpio7 GPIO_A3 GPIO_ACTIVE_HIGH>;
456                         rockchip,delay = <10>;
457                 };
458                 
459                 lcd_cs:lcd_cs {
460                         rockchip,power_type = <GPIO>;
461                         gpios = <&gpio7 GPIO_A4 GPIO_ACTIVE_HIGH>;
462                         rockchip,delay = <10>;
463                 };
464
465                 /*lcd_rst:lcd_rst {
466                         rockchip,power_type = <GPIO>;
467                         gpios = <&gpio3 GPIO_D6 GPIO_ACTIVE_HIGH>;
468                         rockchip,delay = <5>;
469                 };*/
470
471         };
472 };
473
474 &lcdc1 {
475         status = "okay";
476         rockchip,mirror = <NO_MIRROR>;
477 };
478
479 &hdmi {
480         status = "okay";
481         rockchips,hdmi_audio_source = <0>;
482 };
483
484 &adc {
485         status = "okay";
486
487         rockchip_headset {
488                 compatible = "rockchip_headset";
489                 headset_gpio = <&gpio0 GPIO_C2 GPIO_ACTIVE_LOW>;
490                 pinctrl-names = "default";
491                 pinctrl-0 = <&gpio0_c2>;
492                 io-channels = <&adc 2>; 
493        /*
494                hook_gpio = ;
495                hook_down_type = ; //interrupt hook key down status 
496                 */       
497        };
498
499         key {
500                 compatible = "rockchip,key";
501                 io-channels = <&adc 1>;
502
503                 vol-up-key {
504                         linux,code = <115>;
505                         label = "volume up";
506                         rockchip,adc_value = <1>;
507                 };
508
509                 vol-down-key {
510                         linux,code = <114>;
511                         label = "volume down";
512                         rockchip,adc_value = <170>;
513                 };
514
515                 power-key {
516                         gpios = <&gpio0 GPIO_A5 GPIO_ACTIVE_LOW>;
517                         linux,code = <116>;
518                         label = "power";
519                         gpio-key,wakeup;
520                 };
521
522                 menu-key {
523                         linux,code = <139>;
524                         label = "menu";
525                         rockchip,adc_value = <355>;
526                 };
527
528                 home-key {
529                         linux,code = <102>;
530                         label = "home";
531                         rockchip,adc_value = <746>;
532                 };
533
534                 back-key {
535                         linux,code = <158>;
536                         label = "back";
537                         rockchip,adc_value = <560>;
538                 };
539
540                 camera-key {
541                         linux,code = <212>;
542                         label = "camera";
543                         rockchip,adc_value = <450>;
544                 };
545         };
546 };
547
548 &pwm0 {
549         status = "okay";
550 };
551
552 &pwm1 {
553         status = "okay";
554 };
555
556
557 &clk_core_dvfs_table {
558         operating-points = <
559                 /* KHz    uV */
560                 312000 850000
561                 504000 850000
562                 816000 950000
563                 1008000 1000000
564                 1200000 1050000
565                 1416000 1150000
566                 1608000 1250000
567                 >;
568 };
569
570 &clk_gpu_dvfs_table {
571         operating-points = <
572                 /* KHz    uV */
573                 100000 850000
574                 200000 850000
575                 300000 900000
576                 400000 1000000
577                 600000 1250000
578                 >;
579 };
580
581 &clk_ddr_dvfs_table {
582         operating-points = <
583                 /* KHz    uV */
584                 200000 1200000
585                 300000 1200000
586                 400000 1200000
587                 >;
588
589         freq_table = <
590                 /*status                freq(KHz)*/
591                 SYS_STATUS_NORMAL       400000
592                 SYS_STATUS_SUSPEND      200000
593                 SYS_STATUS_VIDEO        300000
594                 SYS_STATUS_DUALVIEW     500000
595                 >;
596 };
597
598 /include/ "rk808.dtsi"
599 &rk808 {
600         gpios =<&gpio0 GPIO_A4 GPIO_ACTIVE_HIGH>,<&gpio0 GPIO_B3 GPIO_ACTIVE_LOW>;
601         rk808,system-power-controller;
602
603         regulators {
604                 
605                 rk808_dcdc1_reg: regulator@0{
606                         regulator-name= "vdd_arm";
607                         regulator-always-on;
608                         regulator-boot-on;
609                 };
610
611                 rk808_dcdc2_reg: regulator@1 {
612                         regulator-name= "vdd_gpu";
613                         regulator-always-on;
614                         regulator-boot-on;
615                 };
616
617                 rk808_dcdc3_reg: regulator@2 {
618                         regulator-name= "rk_dcdc3";
619                         regulator-min-microvolt = <1200000>;
620                         regulator-max-microvolt = <1200000>;
621                         regulator-always-on;
622                         regulator-boot-on;
623                 };
624
625                 rk808_dcdc4_reg: regulator@3 {
626                         regulator-name= "vccio";
627                         regulator-min-microvolt = <1800000>;
628                         regulator-max-microvolt = <3300000>;
629                         regulator-always-on;
630                         regulator-boot-on;
631                 };
632
633                 rk808_ldo1_reg: regulator@4 {
634                         regulator-name= "rk_ldo1";
635                         regulator-min-microvolt = <3300000>;
636                         regulator-max-microvolt = <3300000>;
637                         regulator-always-on;
638                         regulator-boot-on;
639                 };
640
641                 rk808_ldo2_reg: regulator@5 {
642                         regulator-name= "rk_ldo2";
643                         regulator-min-microvolt = <3300000>;
644                         regulator-max-microvolt = <3300000>;
645                         regulator-always-on;
646                         regulator-boot-on;
647                 };
648
649                 rk808_ldo3_reg: regulator@6 {
650                         regulator-name= "rk_ldo3";
651                         regulator-min-microvolt = <1000000>;
652                         regulator-max-microvolt = <1000000>;
653                         regulator-always-on;
654                         regulator-boot-on;
655                 };
656
657                 rk808_ldo4_reg:regulator@7 {
658                         regulator-name= "rk_ldo4";
659                         regulator-min-microvolt = <1800000>;
660                         regulator-max-microvolt = <1800000>;
661                         regulator-always-on;
662                         regulator-boot-on;
663                 };
664
665                 rk808_ldo5_reg: regulator@8 {
666                         regulator-name= "rk_ldo5";
667                         regulator-min-microvolt = <3300000>;
668                         regulator-max-microvolt = <3300000>;
669                         regulator-always-on;
670                         regulator-boot-on;
671                 };
672
673                 rk808_ldo6_reg: regulator@9 {
674                         regulator-name= "rk_ldo6";
675                         regulator-min-microvolt = <1000000>;
676                         regulator-max-microvolt = <1000000>;
677                         regulator-always-on;
678                         regulator-boot-on;
679                 };
680
681                 rk808_ldo7_reg: regulator@10 {
682                         regulator-name= "rk_ldo7";
683                         regulator-min-microvolt = <1800000>;
684                         regulator-max-microvolt = <1800000>;
685                         regulator-always-on;
686                         regulator-boot-on;
687                 };
688
689                 rk808_ldo8_reg: regulator@11 {
690                         regulator-name= "rk_ldo8";
691                         regulator-min-microvolt = <3300000>;
692                         regulator-max-microvolt = <3300000>;
693                         regulator-always-on;
694                         regulator-boot-on;
695                 };
696         };
697 };