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