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