p977: dts: change pmic_sleep gpio to gpio0_a0
[firefly-linux-kernel-4.4.55.git] / arch / arm / boot / dts / rk3288-p977.dts
1 /dts-v1/;
2
3 #include "rk3288.dtsi"
4 #include "lcd-LP097Qx1.dtsi"
5
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 = <20>;
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                         };
113                 };              
114         };
115
116         rockchip-rt5631 {
117                 compatible = "rockchip-rt5631";
118                 dais {
119                         dai0 {
120                                 audio-codec = <&rt5631>;
121                                 i2s-controller = <&i2s>;
122                                 format = "i2s";
123                                 //continuous-clock;
124                                 //bitclock-inversion;
125                                 //frame-inversion;
126                                 //bitclock-master;
127                                 //frame-master;
128                         };
129                 };
130         };
131 };
132 &pinctrl {
133         gpio0_gpio {
134                         gpio0_c2: gpio0-c2 {
135                                 rockchip,pins = <GPIO0_C2>;
136                                 rockchip,pull = <VALUE_PULL_DOWN>;
137                         };
138
139                         //to add
140                 };
141                 
142         gpio7_gpio {
143                         gpio7_b7: gpio7-b7 {
144                                 rockchip,pins = <GPIO7_B7>;
145                                 rockchip,pull = <VALUE_PULL_UP>;
146                         };
147
148                         //to add
149                 };
150         //could add other pinctrl definition such as gpio
151
152 };
153
154 &emmc {
155         clock-frequency = <200000000>;
156         clock-freq-min-max = <400000 200000000>;
157
158         supports-highspeed;
159         supports-emmc;
160         bootpart-no-access;
161
162         supports-DDR_MODE;
163         caps2-mmc-hs200;
164
165         ignore-pm-notify;
166                 keep-power-in-suspend;
167         status = "okay";
168 };
169     
170 &sdmmc {
171         clock-frequency = <50000000>;
172         lock-freq-min-max = <400000 50000000>;              
173             
174         supports-highspeed;
175         supports-sd;
176         broken-cd;
177         card-detect-delay = <200>;
178
179         
180         vmmc-supply = <&rk808_ldo5_reg>;
181         status = "okay";
182 };
183                 
184 &sdio {
185         clock-frequency = <50000000>;
186         clock-freq-min-max = <200000 50000000>;
187                 
188         supports-highspeed;             
189         supports-sdio;
190                 ignore-pm-notify;
191                 keep-power-in-suspend;
192                 //cap-sdio-irq;
193                 status = "okay";
194 };
195
196 &spi0 {
197         status = "okay";
198         max-freq = <48000000>;  
199         /*
200         spi_test@00 {
201                 compatible = "rockchip,spi_test_bus0_cs0";
202                 reg = <0>;
203                 spi-max-frequency = <24000000>;
204                 //spi-cpha;
205                 //spi-cpol;
206                 poll_mode = <0>;
207                 type = <0>;
208                 enable_dma = <0>;
209
210         };
211
212         spi_test@01 {
213                 compatible = "rockchip,spi_test_bus0_cs1";
214                 reg = <1>;
215                 spi-max-frequency = <24000000>;
216                 spi-cpha;
217                 spi-cpol;
218                 poll_mode = <0>;
219                 type = <0>;
220                 enable_dma = <0>;               
221         };
222         */
223 };
224
225 &spi1 {
226         status = "okay";
227         max-freq = <48000000>;
228         /*
229         spi_test@10 {
230                 compatible = "rockchip,spi_test_bus1_cs0";
231                 reg = <0>;
232                 spi-max-frequency = <24000000>;
233                 //spi-cpha;
234                 //spi-cpol;
235                 poll_mode = <0>;
236                 type = <0>;
237                 enable_dma = <0>;
238         };
239
240         */
241 };
242
243 &spi2 {
244         status = "okay";
245         max-freq = <48000000>;
246         /*
247         spi_test@20 {
248                 compatible = "rockchip,spi_test_bus2_cs0";
249                 reg = <0>;
250                 spi-max-frequency = <24000000>;
251                 //spi-cpha;
252                 //spi-cpol;
253                 poll_mode = <0>;
254                 type = <0>;
255                 enable_dma = <0>;
256         };
257
258         spi_test@21 {
259                 compatible = "rockchip,spi_test_bus2_cs1";
260                 reg = <1>;
261                 spi-max-frequency = <24000000>;
262                 //spi-cpha;
263                 //spi-cpol;
264                 poll_mode = <0>;
265                 type = <0>;
266                 enable_dma = <0>;
267         };
268         */
269 };
270 &uart_bt {
271         status = "okay";
272         dma-names = "!tx", "!rx";
273         pinctrl-0 = <&uart0_xfer &uart0_cts>;
274 };
275
276 &i2c0 {
277         status = "okay";
278         rk808: rk808@1b {
279                 reg = <0x1b>;
280                 status = "okay";
281         };
282         
283
284
285         CW2015@62 {
286                 compatible = "cw201x";
287                 reg = <0x62>;
288                 dc_det_gpio = <&gpio0 GPIO_B0 GPIO_ACTIVE_LOW>;
289                 bat_low_gpio = <&gpio0 GPIO_A7 GPIO_ACTIVE_LOW>;
290                 chg_ok_gpio = <&gpio0 GPIO_B1 GPIO_ACTIVE_HIGH>;
291                 bat_config_info = <0x15 0x42 0x60 0x59 0x52 0x58 0x4D 0x48 0x48 0x44 0x44 0x46 0x49 0x48 0x32
292                         0x24 0x20 0x17 0x13 0x0F 0x19 0x3E 0x51 0x45 0x08 0x76 0x0B 0x85 0x0E 0x1C 0x2E 0x3E 0x4D 0x52 0x52
293                         0x57 0x3D 0x1B 0x6A 0x2D 0x25 0x43 0x52 0x87 0x8F 0x91 0x94 0x52 0x82 0x8C 0x92 0x96 0xFF 0x7B 0xBB
294                         0xCB 0x2F 0x7D 0x72 0xA5 0xB5 0xC1 0x46 0xAE>;
295                 is_dc_charge = <1>;
296                 is_usb_charge = <0>;
297         };
298 };
299
300 &i2c1 {
301         status = "okay";
302         rtc@51 {
303                 compatible = "nxp,pcf8563";
304                 reg = <0x51>;
305         };
306         
307         sensor@1d {
308                 compatible = "gs_mma8452";
309                 reg = <0x1d>;
310                 type = <SENSOR_TYPE_ACCEL>;
311                 irq-gpio = <&gpio8 GPIO_A0 IRQ_TYPE_LEVEL_LOW>;
312                 irq_enable = <1>;
313                 poll_delay_ms = <30>;
314                 layout = <8>;
315         };
316
317         sensor@0d {
318                 compatible = "ak8975";
319                 reg = <0x0d>;
320                 type = <SENSOR_TYPE_COMPASS>;
321                 irq-gpio = <&gpio8 GPIO_A1 IRQ_TYPE_EDGE_RISING>;
322                 irq_enable = <1>;
323                 poll_delay_ms = <30>;
324                 layout = <1>;
325         };
326
327         sensor@10 {
328               compatible = "ls_cm3218";
329               reg = <0x10>;
330               type = <SENSOR_TYPE_LIGHT>;
331               irq-gpio = <&gpio8 GPIO_A3 IRQ_TYPE_EDGE_FALLING>;              
332               irq_enable = <1>;
333               poll_delay_ms = <30>;
334               layout = <1>;
335        };
336 /*            
337         mpu6050:mpu@68{
338         compatible = "mpu6050";
339         reg = <0x68>;
340         mpu-int_config = <0x10>;
341         mpu-level_shifter = <0>;
342         mpu-orientation = <1 0 0 0 1 0 0 0 1>;  
343         orientation-x= <1>;
344         orientation-y= <0>;
345         orientation-z= <1>;
346         irq-gpio = <&gpio8 GPIO_A0 IRQ_TYPE_LEVEL_LOW>;                 
347         mpu-debug = <0>;
348         };
349
350         ak8963:compass@0d{
351         compatible = "ak8963";
352         reg = <0x0d>;
353         compass-bus = <0>;
354         compass-adapt_num = <0>;
355         compass-orientation = <1 0 0 0 1 0 0 0 1>;
356         orientation-x= <0>;
357         orientation-y= <0>;
358         orientation-z= <1>;     
359         compass-debug = <1>;
360         status = "disabled";
361         };
362
363         ak8975:compass@0d{
364         compatible = "ak8975";
365         reg = <0x0d>;
366         compass-bus = <0>;
367         compass-adapt_num = <0>;
368         compass-orientation = <0 1 0 1 0 0 0 0 1>;
369         orientation-x= <0>;
370         orientation-y= <0>;
371         orientation-z= <0>;     
372         compass-debug = <0>;
373         };
374 */
375 };
376
377 &i2c2 {
378         status = "okay";
379
380         rt5631: rt5631@1a {
381                 compatible = "rt5631";
382                 reg = <0x1a>;
383                 phone_det_level = <1>;
384         };
385         
386 };
387
388 &i2c3 {
389         status = "okay";
390 };
391
392 &i2c4 {
393         status = "okay";
394         
395         ts@01 {
396                 compatible = "ct,ct36x";
397                 reg = <0x01>;
398                 ct-model = <363>;
399                 touch-gpio = <&gpio7 GPIO_A6 IRQ_TYPE_LEVEL_LOW>;
400                 reset-gpio = <&gpio7 GPIO_A5 GPIO_ACTIVE_HIGH>;
401                 max-x = <2048>;
402                 max-y = <1536>;
403                 orientation=<1 0 0 1>;
404         };
405 };
406
407 &i2c5 {
408         status = "disable";
409 };
410
411 &fb {
412         rockchip,disp-mode = <DUAL>;
413 };
414
415 &rk_screen {
416          display-timings = <&disp_timings>;
417 };
418
419 /*lcdc1 as PRMRY(LCD),lcdc0 as EXTEND(HDMI)*/
420 &lcdc1 {
421         status = "okay";
422         power_ctr: power_ctr {
423                 rockchip,debug = <0>;
424                 rockchip,mirror = <NO_MIRROR>;
425                 /*
426                 lcd_en:lcd_en {
427                         rockchip,power_type = <GPIO>;
428                         gpios = <&gpio7 GPIO_A3 GPIO_ACTIVE_HIGH>;
429                         rockchip,delay = <10>;
430                 };
431                 */
432                 /*lcd_cs:lcd_cs {
433                         rockchip,power_type = <REGULATOR>;
434                         rockchip,delay = <10>;
435                 };
436
437                 lcd_rst:lcd_rst {
438                         rockchip,power_type = <GPIO>;
439                         gpios = <&gpio3 GPIO_D6 GPIO_ACTIVE_HIGH>;
440                         rockchip,delay = <5>;
441                 };*/
442
443         };
444 };
445
446 &lcdc0 {
447         status = "okay";
448 };
449
450 &hdmi {
451         status = "okay";
452         rockchips,hdmi_audio_source = <0>;
453 };
454
455 &adc {
456         status = "okay";
457
458
459         key {
460                 compatible = "rockchip,key";
461                 io-channels = <&adc 1>;
462
463                 vol-up-key {
464                         linux,code = <115>;
465                         label = "volume up";
466                         rockchip,adc_value = <1>;
467                 };
468
469                 vol-down-key {
470                         linux,code = <114>;
471                         label = "volume down";
472                         rockchip,adc_value = <170>;
473                 };
474
475                 power-key {
476                         gpios = <&gpio0 GPIO_A5 GPIO_ACTIVE_LOW>;
477                         linux,code = <116>;
478                         label = "power";
479                         gpio-key,wakeup;
480                 };
481
482                 back-key {
483                         linux,code = <158>;
484                         label = "back";
485                         rockchip,adc_value = <355>;
486                 };
487 /*
488                 home-key {
489                         linux,code = <102>;
490                         label = "home";
491                         rockchip,adc_value = <746>;
492                 };
493
494                 back-key {
495                         linux,code = <158>;
496                         label = "back";
497                         rockchip,adc_value = <560>;
498                 };
499 */
500                 camera-key {
501                         linux,code = <212>;
502                         label = "camera";
503                         rockchip,adc_value = <450>;
504                 };
505         };
506 };
507
508 &pwm0 {
509         status = "okay";
510 };
511
512 &pwm1 {
513         status = "okay";
514 };
515
516
517 &clk_core_dvfs_table {
518         operating-points = <
519                 /* KHz    uV */
520                 126000 850000
521                 216000 850000
522                 312000 850000
523                 408000 850000
524                 600000 850000
525                 696000 900000
526                 816000 950000
527                 1008000 1000000
528                 1200000 1050000
529                 1416000 1150000
530                 >;
531         status="okay";
532 };
533
534 &clk_gpu_dvfs_table {
535         operating-points = <
536                 /* KHz    uV */
537                 100000 850000
538                 200000 850000
539                 300000 900000
540                 400000 1000000
541                 500000 1100000
542         //      600000 1250000
543                 >;
544         status="okay";
545 };
546
547 &clk_ddr_dvfs_table {
548         operating-points = <
549                 /* KHz    uV */
550                 200000 950000
551                 300000 950000
552                 400000 1100000
553                 533000 1150000
554                 >;
555
556         freq_table = <
557                 /*status                freq(KHz)*/
558                 SYS_STATUS_NORMAL       400000
559                 SYS_STATUS_SUSPEND      200000
560                 SYS_STATUS_VIDEO        300000
561                 SYS_STATUS_DUALVIEW     500000
562                 >;
563         status="okay";
564 };
565
566 /include/ "rk808.dtsi"
567 &rk808 {
568         gpios =<&gpio0 GPIO_A4 GPIO_ACTIVE_HIGH>,<&gpio0 GPIO_A7 GPIO_ACTIVE_LOW>;
569         rk808,system-power-controller;
570
571         regulators {
572                 
573                 rk808_dcdc1_reg: regulator@0{
574                         regulator-name= "vdd_arm";
575                         regulator-always-on;
576                         regulator-boot-on;
577                 };
578
579                 rk808_dcdc2_reg: regulator@1 {
580                         regulator-name= "vdd_gpu";
581                         regulator-always-on;
582                         regulator-boot-on;
583                 };
584
585                 rk808_dcdc3_reg: regulator@2 {
586                         regulator-name= "rk_dcdc3";
587                         regulator-min-microvolt = <1200000>;
588                         regulator-max-microvolt = <1200000>;
589                         regulator-always-on;
590                         regulator-boot-on;
591                 };
592
593                 rk808_dcdc4_reg: regulator@3 {
594                         regulator-name= "vccio";
595                         regulator-min-microvolt = <1800000>;
596                         regulator-max-microvolt = <3300000>;
597                         regulator-always-on;
598                         regulator-boot-on;
599                 };
600
601                 rk808_ldo1_reg: regulator@4 {
602                         regulator-name= "rk_ldo1";
603                         regulator-min-microvolt = <3300000>;
604                         regulator-max-microvolt = <3300000>;
605                         regulator-always-on;
606                         regulator-boot-on;
607                 };
608
609                 rk808_ldo2_reg: regulator@5 {
610                         regulator-name= "rk_ldo2";
611                         regulator-min-microvolt = <3300000>;
612                         regulator-max-microvolt = <3300000>;
613                         regulator-always-on;
614                         regulator-boot-on;
615                 };
616
617                 rk808_ldo3_reg: regulator@6 {
618                         regulator-name= "rk_ldo3";
619                         regulator-min-microvolt = <1000000>;
620                         regulator-max-microvolt = <1000000>;
621                         regulator-always-on;
622                         regulator-boot-on;
623                 };
624
625                 rk808_ldo4_reg:regulator@7 {
626                         regulator-name= "rk_ldo4";
627                         regulator-min-microvolt = <1800000>;
628                         regulator-max-microvolt = <1800000>;
629                         regulator-always-on;
630                         regulator-boot-on;
631                 };
632
633                 rk808_ldo5_reg: regulator@8 {
634                         regulator-name= "vcc_sd";
635                         regulator-min-microvolt = <1800000>;
636                         regulator-max-microvolt = <3300000>;
637                         regulator-always-on;
638                         regulator-boot-on;
639                 };
640
641                 rk808_ldo6_reg: regulator@9 {
642                         regulator-name= "rk_ldo6";
643                         regulator-min-microvolt = <1000000>;
644                         regulator-max-microvolt = <1000000>;
645                         regulator-always-on;
646                         regulator-boot-on;
647                 };
648
649                 rk808_ldo7_reg: regulator@10 {
650                         regulator-name= "rk_ldo7";
651                         regulator-min-microvolt = <1800000>;
652                         regulator-max-microvolt = <1800000>;
653                         regulator-always-on;
654                         regulator-boot-on;
655                 };
656
657                 rk808_ldo8_reg: regulator@11 {
658                         regulator-name= "rk_ldo8";
659                         regulator-min-microvolt = <3300000>;
660                         regulator-max-microvolt = <3300000>;
661                         regulator-always-on;
662                         regulator-boot-on;
663                 };
664
665                 rk808_ldo9_reg: regulator@12 {
666                         regulator-name= "rk_ldo9";
667                         regulator-always-on;
668                         regulator-boot-on;
669                 };
670
671                 rk808_ldo10_reg: regulator@13 {
672                         regulator-name= "rk_ldo10";
673                         regulator-always-on;
674                         regulator-boot-on;
675                 };
676         };
677 };
678
679 &lcdc_vdd_domain {
680         regulator-name = "vcc30_lcd";
681         };
682 &dpio_vdd_domain{
683         regulator-name = "vcc18_cif";   
684         };
685 &flash0_vdd_domain{
686         regulator-name = "vcc_flash";   
687         };
688 &flash1_vdd_domain{
689         regulator-name = "vcc_flash";                   
690         };
691 &apio3_vdd_domain{
692         regulator-name = "vccio_wl";            
693         };
694 &apio5_vdd_domain{
695         regulator-name = "vccio";               
696         };
697 &apio4_vdd_domain{
698         regulator-name = "vccio";               
699         };
700 &apio1_vdd_domain{
701         regulator-name = "vccio";                       
702         };
703 &apio2_vdd_domain{
704         regulator-name = "vccio";               
705         };
706 &sdmmc0_vdd_domain{
707         regulator-name = "vcc_sd";                      
708         };
709