3303bc63fd3e88d54f960d5e81b7d0ee391939f5
[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 };
165
166 &gmac {
167 //      power_ctl_by = "gpio";  //"gpio" "pmu"
168         power-gpio = <&gpio0 GPIO_A6 GPIO_ACTIVE_HIGH>;
169 //      power-pmu = "act_ldo"
170         reset-gpio = <&gpio4 GPIO_A7 GPIO_ACTIVE_LOW>;
171 };
172
173 &pinctrl {
174         gpio0_gpio {
175                         gpio0_c2: gpio0-c2 {
176                                 rockchip,pins = <GPIO0_C2>;
177                                 rockchip,pull = <VALUE_PULL_DOWN>;
178                         };
179
180                         //to add
181                 };
182                 
183         gpio7_gpio {
184                         gpio7_b7: gpio7-b7 {
185                                 rockchip,pins = <GPIO7_B7>;
186                                 rockchip,pull = <VALUE_PULL_UP>;
187                         };
188
189                         //to add
190                 };
191         //could add other pinctrl definition such as gpio
192
193 };
194
195 &emmc {
196                 clock-frequency = <200000000>;
197                 clock-freq-min-max = <400000 200000000>;
198         supports-highspeed;
199                 supports-emmc;
200                 bootpart-no-access;
201         ignore-pm-notify;
202                 keep-power-in-suspend;
203         status = "okay";
204 };
205     
206 &sdmmc {
207                 clock-frequency = <50000000>;
208                 lock-freq-min-max = <400000 50000000>;
209                 supports-highspeed;
210                 supports-sd;
211                 broken-cd;
212                 card-detect-delay = <200>;
213                 vmmc-supply = <&rk808_ldo5_reg>;
214                 status = "okay";
215 };
216                 
217 &sdio {
218                 clock-frequency = <50000000>;
219                 clock-freq-min-max = <200000 50000000>;
220                 supports-highspeed;
221                 supports-sdio;
222                 ignore-pm-notify;
223                 keep-power-in-suspend;
224                 //cap-sdio-irq;
225                 status = "okay";
226 };
227
228 &spi0 {
229         status = "okay";
230         max-freq = <48000000>;  
231         /*
232         spi_test@00 {
233                 compatible = "rockchip,spi_test_bus0_cs0";
234                 reg = <0>;
235                 spi-max-frequency = <24000000>;
236                 //spi-cpha;
237                 //spi-cpol;
238                 poll_mode = <0>;
239                 type = <0>;
240                 enable_dma = <0>;
241
242         };
243
244         spi_test@01 {
245                 compatible = "rockchip,spi_test_bus0_cs1";
246                 reg = <1>;
247                 spi-max-frequency = <24000000>;
248                 spi-cpha;
249                 spi-cpol;
250                 poll_mode = <0>;
251                 type = <0>;
252                 enable_dma = <0>;               
253         };
254         */
255 };
256
257 &spi1 {
258         status = "okay";
259         max-freq = <48000000>;
260         /*
261         spi_test@10 {
262                 compatible = "rockchip,spi_test_bus1_cs0";
263                 reg = <0>;
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
275 &spi2 {
276         status = "okay";
277         max-freq = <48000000>;
278         /*
279         spi_test@20 {
280                 compatible = "rockchip,spi_test_bus2_cs0";
281                 reg = <0>;
282                 spi-max-frequency = <24000000>;
283                 //spi-cpha;
284                 //spi-cpol;
285                 poll_mode = <0>;
286                 type = <0>;
287                 enable_dma = <0>;
288         };
289
290         spi_test@21 {
291                 compatible = "rockchip,spi_test_bus2_cs1";
292                 reg = <1>;
293                 spi-max-frequency = <24000000>;
294                 //spi-cpha;
295                 //spi-cpol;
296                 poll_mode = <0>;
297                 type = <0>;
298                 enable_dma = <0>;
299         };
300         */
301 };
302
303 &uart_bt {
304         status = "okay";
305         dma-names = "!tx", "!rx";
306         pinctrl-0 = <&uart0_xfer &uart0_cts>;
307 };
308
309 &i2c0 {
310         status = "okay";
311         rk808: rk808@1b {
312                 reg = <0x1b>;
313                 status = "okay";
314         };
315         
316
317         CW2015@62 {
318                 compatible = "cw201x";
319                 reg = <0x62>;
320                 dc_det_gpio = <&gpio0 GPIO_B0 GPIO_ACTIVE_LOW>;
321                 bat_low_gpio = <&gpio0 GPIO_A7 GPIO_ACTIVE_LOW>;
322                 chg_ok_gpio = <&gpio0 GPIO_B1 GPIO_ACTIVE_HIGH>;
323                 bat_config_info = <0x15 0x42 0x60 0x59 0x52 0x58 0x4D 0x48 0x48 0x44 0x44 0x46 0x49 0x48 0x32
324                         0x24 0x20 0x17 0x13 0x0F 0x19 0x3E 0x51 0x45 0x08 0x76 0x0B 0x85 0x0E 0x1C 0x2E 0x3E 0x4D 0x52 0x52
325                         0x57 0x3D 0x1B 0x6A 0x2D 0x25 0x43 0x52 0x87 0x8F 0x91 0x94 0x52 0x82 0x8C 0x92 0x96 0xFF 0x7B 0xBB
326                         0xCB 0x2F 0x7D 0x72 0xA5 0xB5 0xC1 0x46 0xAE>;
327                 is_dc_charge = <1>;
328                 is_usb_charge = <0>;
329         };
330 };
331
332 &i2c1 {
333         status = "okay";
334         rtc@51 {
335                 compatible = "nxp,pcf8563";
336                 reg = <0x51>;
337         };
338         
339         
340                 sensor@19 {
341                 compatible = "gs_lis3dh";
342                 reg = <0x19>;
343                 type = <SENSOR_TYPE_ACCEL>;
344                 irq-gpio = <&gpio0 GPIO_A0 IRQ_TYPE_LEVEL_LOW>;
345                 irq_enable = <1>;
346                 poll_delay_ms = <30>;
347                 layout = <1>;
348         };
349                 
350         
351                 sensor@6b {
352                 compatible = "l3g20d_gyro";
353                 reg = <0x6b>;
354                 type = <SENSOR_TYPE_GYROSCOPE>;
355                 irq-gpio = <&gpio8 GPIO_A3 IRQ_TYPE_LEVEL_LOW>;
356                 irq_enable = <1>;
357                 poll_delay_ms = <30>;
358                 layout = <1>;
359         };
360         sensor@10 {
361               compatible = "ls_cm3218";
362               reg = <0x10>;
363               type = <SENSOR_TYPE_LIGHT>;
364               irq-gpio = <&gpio8 GPIO_A3 IRQ_TYPE_EDGE_FALLING>;              
365               irq_enable = <1>;
366               poll_delay_ms = <30>;
367               layout = <1>;
368        };
369         
370 };
371
372 &i2c2 {
373         status = "okay";
374         rt5631: rt5631@1a {
375                 compatible = "rt5631";
376                 reg = <0x1a>;
377         };
378         es8323: es8323@10 {
379                 compatible = "es8323";
380                 reg = <0x10>;
381         };
382         rt3261: rt3261@1c {
383                 compatible = "rt3261";
384                 reg = <0x1c>;
385         //      codec-en-gpio = <0>;//sdk default high level
386                 spk-num= <2>;
387                 modem-input-mode = <1>;
388                 lout-to-modem_mode = <1>;
389                 spk-amplify = <2>;
390                 playback-if1-data_control = <0>;
391                 playback-if2-data_control = <0>;
392         };
393         rt5616: rt5616@1b {
394                 compatible = "rt5616";
395                 reg = <0x1b>;
396         };
397 };
398
399 &i2c3 {
400         status = "okay";
401 };
402
403 &i2c4 {
404         status = "okay";
405         ts@3a {
406                 compatible = "goodix,gt8xx";
407                 reg = <0x3a>;
408                 touch-gpio = <&gpio7 GPIO_A6 IRQ_TYPE_LEVEL_LOW>;
409                 reset-gpio = <&gpio7 GPIO_A5 GPIO_ACTIVE_LOW>;
410                 //power-gpio = <&gpio0 GPIO_C5 GPIO_ACTIVE_LOW>;
411                 max-x = <1920>;
412                 max-y = <1200>;
413         };
414 };
415
416 &i2c5 {
417         status = "disable";
418 };
419
420 &fb {
421         rockchip,disp-mode = <DUAL>;
422 };
423
424 &rk_screen {
425          display-timings = <&disp_timings>;
426 };
427
428 /*lcdc1 as PRMRY(LCD),lcdc0 as EXTEND(HDMI)*/
429 &lcdc1 {
430         status = "okay";
431         power_ctr: power_ctr {
432                 rockchip,debug = <0>;
433                 rockchip,mirror = <NO_MIRROR>;
434                 lcd_en:lcd_en {
435                         rockchip,power_type = <GPIO>;
436                         gpios = <&gpio7 GPIO_A3 GPIO_ACTIVE_HIGH>;
437                         rockchip,delay = <10>;
438                 };
439                 
440                 lcd_cs:lcd_cs {
441 rockchip,power_type = <GPIO>;
442                         gpios = <&gpio7 GPIO_A4 GPIO_ACTIVE_HIGH>;
443                         rockchip,delay = <10>;
444                 };
445
446                 /*lcd_rst:lcd_rst {
447                         rockchip,power_type = <GPIO>;
448                         gpios = <&gpio3 GPIO_D6 GPIO_ACTIVE_HIGH>;
449                         rockchip,delay = <5>;
450                 };*/
451
452         };
453 };
454
455 &lcdc0 {
456         status = "okay";
457 };
458
459 &hdmi {
460         status = "okay";
461         rockchips,hdmi_audio_source = <0>;
462 };
463
464 &adc {
465         status = "okay";
466
467         rockchip_headset {
468                 compatible = "rockchip_headset";
469                 headset_gpio = <&gpio0 GPIO_C2 GPIO_ACTIVE_LOW>;
470                 pinctrl-names = "default";
471                 pinctrl-0 = <&gpio0_c2>;
472                 io-channels = <&adc 2>; 
473        /*
474                hook_gpio = ;
475                hook_down_type = ; //interrupt hook key down status 
476                 */       
477        };
478
479         key {
480                 compatible = "rockchip,key";
481                 io-channels = <&adc 1>;
482
483                 vol-up-key {
484                         linux,code = <115>;
485                         label = "volume up";
486                         rockchip,adc_value = <1>;
487                 };
488
489                 vol-down-key {
490                         linux,code = <114>;
491                         label = "volume down";
492                         rockchip,adc_value = <170>;
493                 };
494
495                 power-key {
496                         gpios = <&gpio0 GPIO_A5 GPIO_ACTIVE_LOW>;
497                         linux,code = <116>;
498                         label = "power";
499                         gpio-key,wakeup;
500                 };
501
502                 menu-key {
503                         linux,code = <139>;
504                         label = "menu";
505                         rockchip,adc_value = <355>;
506                 };
507
508                 home-key {
509                         linux,code = <102>;
510                         label = "home";
511                         rockchip,adc_value = <746>;
512                 };
513
514                 back-key {
515                         linux,code = <158>;
516                         label = "back";
517                         rockchip,adc_value = <560>;
518                 };
519
520                 camera-key {
521                         linux,code = <212>;
522                         label = "camera";
523                         rockchip,adc_value = <450>;
524                 };
525         };
526 };
527
528 &pwm0 {
529         status = "okay";
530 };
531
532 &pwm1 {
533         status = "okay";
534 };
535
536
537 &clk_core_dvfs_table {
538         operating-points = <
539                 /* KHz    uV */
540                 312000 850000
541                 504000 850000
542                 816000 950000
543                 1008000 1000000
544                 1200000 1050000
545                 1416000 1150000
546                 1608000 1250000
547                 >;
548 };
549
550 &clk_gpu_dvfs_table {
551         operating-points = <
552                 /* KHz    uV */
553                 100000 850000
554                 200000 850000
555                 300000 900000
556                 400000 1000000
557                 600000 1250000
558                 >;
559 };
560
561 &clk_ddr_dvfs_table {
562         operating-points = <
563                 /* KHz    uV */
564                 200000 1200000
565                 300000 1200000
566                 400000 1200000
567                 >;
568
569         freq_table = <
570                 /*status                freq(KHz)*/
571                 SYS_STATUS_NORMAL       400000
572                 SYS_STATUS_SUSPEND      200000
573                 SYS_STATUS_VIDEO        300000
574                 SYS_STATUS_DUALVIEW     500000
575                 >;
576 };
577
578 /include/ "rk808.dtsi"
579 &rk808 {
580         gpios =<&gpio0 GPIO_A4 GPIO_ACTIVE_HIGH>,<&gpio0 GPIO_B3 GPIO_ACTIVE_LOW>;
581         rk808,system-power-controller;
582
583         regulators {
584                 
585                 rk808_dcdc1_reg: regulator@0{
586                         regulator-name= "vdd_arm";
587                         regulator-always-on;
588                         regulator-boot-on;
589                 };
590
591                 rk808_dcdc2_reg: regulator@1 {
592                         regulator-name= "vdd_gpu";
593                         regulator-always-on;
594                         regulator-boot-on;
595                 };
596
597                 rk808_dcdc3_reg: regulator@2 {
598                         regulator-name= "rk_dcdc3";
599                         regulator-min-microvolt = <1200000>;
600                         regulator-max-microvolt = <1200000>;
601                         regulator-always-on;
602                         regulator-boot-on;
603                 };
604
605                 rk808_dcdc4_reg: regulator@3 {
606                         regulator-name= "vccio";
607                         regulator-min-microvolt = <1800000>;
608                         regulator-max-microvolt = <3300000>;
609                         regulator-always-on;
610                         regulator-boot-on;
611                 };
612
613                 rk808_ldo1_reg: regulator@4 {
614                         regulator-name= "rk_ldo1";
615                         regulator-min-microvolt = <3300000>;
616                         regulator-max-microvolt = <3300000>;
617                         regulator-always-on;
618                         regulator-boot-on;
619                 };
620
621                 rk808_ldo2_reg: regulator@5 {
622                         regulator-name= "rk_ldo2";
623                         regulator-min-microvolt = <3300000>;
624                         regulator-max-microvolt = <3300000>;
625                         regulator-always-on;
626                         regulator-boot-on;
627                 };
628
629                 rk808_ldo3_reg: regulator@6 {
630                         regulator-name= "rk_ldo3";
631                         regulator-min-microvolt = <1000000>;
632                         regulator-max-microvolt = <1000000>;
633                         regulator-always-on;
634                         regulator-boot-on;
635                 };
636
637                 rk808_ldo4_reg:regulator@7 {
638                         regulator-name= "rk_ldo4";
639                         regulator-min-microvolt = <1800000>;
640                         regulator-max-microvolt = <1800000>;
641                         regulator-always-on;
642                         regulator-boot-on;
643                 };
644
645                 rk808_ldo5_reg: regulator@8 {
646                         regulator-name= "rk_ldo5";
647                         regulator-min-microvolt = <3300000>;
648                         regulator-max-microvolt = <3300000>;
649                         regulator-always-on;
650                         regulator-boot-on;
651                 };
652
653                 rk808_ldo6_reg: regulator@9 {
654                         regulator-name= "rk_ldo6";
655                         regulator-min-microvolt = <1000000>;
656                         regulator-max-microvolt = <1000000>;
657                         regulator-always-on;
658                         regulator-boot-on;
659                 };
660
661                 rk808_ldo7_reg: regulator@10 {
662                         regulator-name= "rk_ldo7";
663                         regulator-min-microvolt = <1800000>;
664                         regulator-max-microvolt = <1800000>;
665                         regulator-always-on;
666                         regulator-boot-on;
667                 };
668
669                 rk808_ldo8_reg: regulator@11 {
670                         regulator-name= "rk_ldo8";
671                         regulator-min-microvolt = <3300000>;
672                         regulator-max-microvolt = <3300000>;
673                         regulator-always-on;
674                         regulator-boot-on;
675                 };
676         };
677 };