Merge branch 'ast-updates' of ssh://people.freedesktop.org/~/linux into drm-next
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / exynos4412-trats2.dts
1 /*
2  * Samsung's Exynos4412 based Trats 2 board device tree source
3  *
4  * Copyright (c) 2013 Samsung Electronics Co., Ltd.
5  *              http://www.samsung.com
6  *
7  * Device tree source file for Samsung's Trats 2 board which is based on
8  * Samsung's Exynos4412 SoC.
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License version 2 as
12  * published by the Free Software Foundation.
13 */
14
15 /dts-v1/;
16 #include "exynos4412.dtsi"
17
18 / {
19         model = "Samsung Trats 2 based on Exynos4412";
20         compatible = "samsung,trats2", "samsung,exynos4412", "samsung,exynos4";
21
22         aliases {
23                 i2c8 = &i2c_ak8975;
24         };
25
26         memory {
27                 reg =  <0x40000000 0x40000000>;
28         };
29
30         chosen {
31                 bootargs = "console=ttySAC2,115200N8 root=/dev/mmcblk0p5 rootwait earlyprintk panic=5";
32         };
33
34         firmware@0204F000 {
35                 compatible = "samsung,secure-firmware";
36                 reg = <0x0204F000 0x1000>;
37         };
38
39         fixed-rate-clocks {
40                 xxti {
41                         compatible = "samsung,clock-xxti", "fixed-clock";
42                         clock-frequency = <0>;
43                 };
44
45                 xusbxti {
46                         compatible = "samsung,clock-xusbxti", "fixed-clock";
47                         clock-frequency = <24000000>;
48                 };
49         };
50
51         regulators {
52                 compatible = "simple-bus";
53                 #address-cells = <1>;
54                 #size-cells = <0>;
55
56                 vemmc_reg: regulator-0 {
57                         compatible = "regulator-fixed";
58                         regulator-name = "VMEM_VDD_2.8V";
59                         regulator-min-microvolt = <2800000>;
60                         regulator-max-microvolt = <2800000>;
61                         gpio = <&gpk0 2 0>;
62                         enable-active-high;
63                 };
64
65                 cam_io_reg: voltage-regulator-1 {
66                         compatible = "regulator-fixed";
67                         regulator-name = "CAM_SENSOR_A";
68                         regulator-min-microvolt = <2800000>;
69                         regulator-max-microvolt = <2800000>;
70                         gpio = <&gpm0 2 0>;
71                         enable-active-high;
72                 };
73
74                 lcd_vdd3_reg: voltage-regulator-2 {
75                         compatible = "regulator-fixed";
76                         regulator-name = "LCD_VDD_2.2V";
77                         regulator-min-microvolt = <2200000>;
78                         regulator-max-microvolt = <2200000>;
79                         gpio = <&gpc0 1 0>;
80                         enable-active-high;
81                 };
82
83                 /* More to come */
84         };
85
86         gpio-keys {
87                 compatible = "gpio-keys";
88
89                 key-down {
90                         interrupt-parent = <&gpj1>;
91                         interrupts = <2 0>;
92                         gpios = <&gpj1 2 1>;
93                         linux,code = <114>;
94                         label = "volume down";
95                         debounce-interval = <10>;
96                 };
97
98                 key-up {
99                         interrupt-parent = <&gpj1>;
100                         interrupts = <1 0>;
101                         gpios = <&gpj1 1 1>;
102                         linux,code = <115>;
103                         label = "volume up";
104                         debounce-interval = <10>;
105                 };
106
107                 key-power {
108                         interrupt-parent = <&gpx2>;
109                         interrupts = <7 0>;
110                         gpios = <&gpx2 7 1>;
111                         linux,code = <116>;
112                         label = "power";
113                         debounce-interval = <10>;
114                         gpio-key,wakeup;
115                 };
116         };
117
118         adc: adc@126C0000 {
119                 vdd-supply = <&ldo3_reg>;
120                 status = "okay";
121         };
122
123         i2c@13890000 {
124                 samsung,i2c-sda-delay = <100>;
125                 samsung,i2c-slave-addr = <0x10>;
126                 samsung,i2c-max-bus-freq = <400000>;
127                 pinctrl-0 = <&i2c3_bus>;
128                 pinctrl-names = "default";
129                 status = "okay";
130
131                 mms114-touchscreen@48 {
132                         compatible = "melfas,mms114";
133                         reg = <0x48>;
134                         interrupt-parent = <&gpm2>;
135                         interrupts = <3 2>;
136                         x-size = <720>;
137                         y-size = <1280>;
138                         avdd-supply = <&ldo23_reg>;
139                         vdd-supply = <&ldo24_reg>;
140                 };
141         };
142
143         i2c@138D0000 {
144                 samsung,i2c-sda-delay = <100>;
145                 samsung,i2c-slave-addr = <0x10>;
146                 samsung,i2c-max-bus-freq = <100000>;
147                 pinctrl-0 = <&i2c7_bus>;
148                 pinctrl-names = "default";
149                 status = "okay";
150
151                 max77686_pmic@09 {
152                         compatible = "maxim,max77686";
153                         interrupt-parent = <&gpx0>;
154                         interrupts = <7 0>;
155                         reg = <0x09>;
156                         #clock-cells = <1>;
157
158                         voltage-regulators {
159                                 ldo1_reg: ldo1 {
160                                         regulator-compatible = "LDO1";
161                                         regulator-name = "VALIVE_1.0V_AP";
162                                         regulator-min-microvolt = <1000000>;
163                                         regulator-max-microvolt = <1000000>;
164                                         regulator-always-on;
165                                         regulator-mem-on;
166                                 };
167
168                                 ldo2_reg: ldo2 {
169                                         regulator-compatible = "LDO2";
170                                         regulator-name = "VM1M2_1.2V_AP";
171                                         regulator-min-microvolt = <1200000>;
172                                         regulator-max-microvolt = <1200000>;
173                                         regulator-always-on;
174                                         regulator-mem-on;
175                                 };
176
177                                 ldo3_reg: ldo3 {
178                                         regulator-compatible = "LDO3";
179                                         regulator-name = "VCC_1.8V_AP";
180                                         regulator-min-microvolt = <1800000>;
181                                         regulator-max-microvolt = <1800000>;
182                                         regulator-always-on;
183                                         regulator-mem-on;
184                                 };
185
186                                 ldo4_reg: ldo4 {
187                                         regulator-compatible = "LDO4";
188                                         regulator-name = "VCC_2.8V_AP";
189                                         regulator-min-microvolt = <2800000>;
190                                         regulator-max-microvolt = <2800000>;
191                                         regulator-always-on;
192                                         regulator-mem-on;
193                                 };
194
195                                 ldo5_reg: ldo5 {
196                                         regulator-compatible = "LDO5";
197                                         regulator-name = "VCC_1.8V_IO";
198                                         regulator-min-microvolt = <1800000>;
199                                         regulator-max-microvolt = <1800000>;
200                                         regulator-always-on;
201                                         regulator-mem-on;
202                                 };
203
204                                 ldo6_reg: ldo6 {
205                                         regulator-compatible = "LDO6";
206                                         regulator-name = "VMPLL_1.0V_AP";
207                                         regulator-min-microvolt = <1000000>;
208                                         regulator-max-microvolt = <1000000>;
209                                         regulator-always-on;
210                                         regulator-mem-on;
211                                 };
212
213                                 ldo7_reg: ldo7 {
214                                         regulator-compatible = "LDO7";
215                                         regulator-name = "VPLL_1.0V_AP";
216                                         regulator-min-microvolt = <1000000>;
217                                         regulator-max-microvolt = <1000000>;
218                                         regulator-always-on;
219                                         regulator-mem-on;
220                                 };
221
222                                 ldo8_reg: ldo8 {
223                                         regulator-compatible = "LDO8";
224                                         regulator-name = "VMIPI_1.0V";
225                                         regulator-min-microvolt = <1000000>;
226                                         regulator-max-microvolt = <1000000>;
227                                         regulator-mem-off;
228                                 };
229
230                                 ldo9_reg: ldo9 {
231                                         regulator-compatible = "LDO9";
232                                         regulator-name = "CAM_ISP_MIPI_1.2V";
233                                         regulator-min-microvolt = <1200000>;
234                                         regulator-max-microvolt = <1200000>;
235                                         regulator-mem-idle;
236                                 };
237
238                                 ldo10_reg: ldo10 {
239                                         regulator-compatible = "LDO10";
240                                         regulator-name = "VMIPI_1.8V";
241                                         regulator-min-microvolt = <1800000>;
242                                         regulator-max-microvolt = <1800000>;
243                                         regulator-mem-off;
244                                 };
245
246                                 ldo11_reg: ldo11 {
247                                         regulator-compatible = "LDO11";
248                                         regulator-name = "VABB1_1.95V";
249                                         regulator-min-microvolt = <1950000>;
250                                         regulator-max-microvolt = <1950000>;
251                                         regulator-always-on;
252                                         regulator-mem-off;
253                                 };
254
255                                 ldo12_reg: ldo12 {
256                                         regulator-compatible = "LDO12";
257                                         regulator-name = "VUOTG_3.0V";
258                                         regulator-min-microvolt = <3000000>;
259                                         regulator-max-microvolt = <3000000>;
260                                         regulator-mem-off;
261                                 };
262
263                                 ldo13_reg: ldo13 {
264                                         regulator-compatible = "LDO13";
265                                         regulator-name = "NFC_AVDD_1.8V";
266                                         regulator-min-microvolt = <1800000>;
267                                         regulator-max-microvolt = <1800000>;
268                                         regulator-mem-idle;
269                                 };
270
271                                 ldo14_reg: ldo14 {
272                                         regulator-compatible = "LDO14";
273                                         regulator-name = "VABB2_1.95V";
274                                         regulator-min-microvolt = <1950000>;
275                                         regulator-max-microvolt = <1950000>;
276                                         regulator-always-on;
277                                         regulator-mem-off;
278                                 };
279
280                                 ldo15_reg: ldo15 {
281                                         regulator-compatible = "LDO15";
282                                         regulator-name = "VHSIC_1.0V";
283                                         regulator-min-microvolt = <1000000>;
284                                         regulator-max-microvolt = <1000000>;
285                                         regulator-mem-off;
286                                 };
287
288                                 ldo16_reg: ldo16 {
289                                         regulator-compatible = "LDO16";
290                                         regulator-name = "VHSIC_1.8V";
291                                         regulator-min-microvolt = <1800000>;
292                                         regulator-max-microvolt = <1800000>;
293                                         regulator-mem-off;
294                                 };
295
296                                 ldo17_reg: ldo17 {
297                                         regulator-compatible = "LDO17";
298                                         regulator-name = "CAM_SENSOR_CORE_1.2V";
299                                         regulator-min-microvolt = <1200000>;
300                                         regulator-max-microvolt = <1200000>;
301                                         regulator-mem-idle;
302                                 };
303
304                                 ldo18_reg: ldo18 {
305                                         regulator-compatible = "LDO18";
306                                         regulator-name = "CAM_ISP_SEN_IO_1.8V";
307                                         regulator-min-microvolt = <1800000>;
308                                         regulator-max-microvolt = <1800000>;
309                                         regulator-mem-idle;
310                                 };
311
312                                 ldo19_reg: ldo19 {
313                                         regulator-compatible = "LDO19";
314                                         regulator-name = "VT_CAM_1.8V";
315                                         regulator-min-microvolt = <1800000>;
316                                         regulator-max-microvolt = <1800000>;
317                                         regulator-mem-idle;
318                                 };
319
320                                 ldo20_reg: ldo20 {
321                                         regulator-compatible = "LDO20";
322                                         regulator-name = "VDDQ_PRE_1.8V";
323                                         regulator-min-microvolt = <1800000>;
324                                         regulator-max-microvolt = <1800000>;
325                                         regulator-mem-idle;
326                                 };
327
328                                 ldo21_reg: ldo21 {
329                                         regulator-compatible = "LDO21";
330                                         regulator-name = "VTF_2.8V";
331                                         regulator-min-microvolt = <2800000>;
332                                         regulator-max-microvolt = <2800000>;
333                                         regulator-mem-idle;
334                                 };
335
336                                 ldo22_reg: ldo22 {
337                                         regulator-compatible = "LDO22";
338                                         regulator-name = "VMEM_VDD_2.8V";
339                                         regulator-min-microvolt = <2800000>;
340                                         regulator-max-microvolt = <2800000>;
341                                         regulator-always-on;
342                                         regulator-mem-off;
343                                 };
344
345                                 ldo23_reg: ldo23 {
346                                         regulator-compatible = "LDO23";
347                                         regulator-name = "TSP_AVDD_3.3V";
348                                         regulator-min-microvolt = <3300000>;
349                                         regulator-max-microvolt = <3300000>;
350                                         regulator-mem-idle;
351                                 };
352
353                                 ldo24_reg: ldo24 {
354                                         regulator-compatible = "LDO24";
355                                         regulator-name = "TSP_VDD_1.8V";
356                                         regulator-min-microvolt = <1800000>;
357                                         regulator-max-microvolt = <1800000>;
358                                         regulator-mem-idle;
359                                 };
360
361                                 ldo25_reg: ldo25 {
362                                         regulator-compatible = "LDO25";
363                                         regulator-name = "LCD_VCC_3.3V";
364                                         regulator-min-microvolt = <2800000>;
365                                         regulator-max-microvolt = <2800000>;
366                                         regulator-mem-idle;
367                                 };
368
369                                 ldo26_reg: ldo26 {
370                                         regulator-compatible = "LDO26";
371                                         regulator-name = "MOTOR_VCC_3.0V";
372                                         regulator-min-microvolt = <3000000>;
373                                         regulator-max-microvolt = <3000000>;
374                                         regulator-mem-idle;
375                                 };
376
377                                 buck1_reg: buck1 {
378                                         regulator-compatible = "BUCK1";
379                                         regulator-name = "vdd_mif";
380                                         regulator-min-microvolt = <850000>;
381                                         regulator-max-microvolt = <1100000>;
382                                         regulator-always-on;
383                                         regulator-boot-on;
384                                         regulator-mem-off;
385                                 };
386
387                                 buck2_reg: buck2 {
388                                         regulator-compatible = "BUCK2";
389                                         regulator-name = "vdd_arm";
390                                         regulator-min-microvolt = <850000>;
391                                         regulator-max-microvolt = <1500000>;
392                                         regulator-always-on;
393                                         regulator-boot-on;
394                                         regulator-mem-off;
395                                 };
396
397                                 buck3_reg: buck3 {
398                                         regulator-compatible = "BUCK3";
399                                         regulator-name = "vdd_int";
400                                         regulator-min-microvolt = <850000>;
401                                         regulator-max-microvolt = <1150000>;
402                                         regulator-always-on;
403                                         regulator-boot-on;
404                                         regulator-mem-off;
405                                 };
406
407                                 buck4_reg: buck4 {
408                                         regulator-compatible = "BUCK4";
409                                         regulator-name = "vdd_g3d";
410                                         regulator-min-microvolt = <850000>;
411                                         regulator-max-microvolt = <1150000>;
412                                         regulator-boot-on;
413                                         regulator-mem-off;
414                                 };
415
416                                 buck5_reg: buck5 {
417                                         regulator-compatible = "BUCK5";
418                                         regulator-name = "VMEM_1.2V_AP";
419                                         regulator-min-microvolt = <1200000>;
420                                         regulator-max-microvolt = <1200000>;
421                                         regulator-always-on;
422                                 };
423
424                                 buck6_reg: buck6 {
425                                         regulator-compatible = "BUCK6";
426                                         regulator-name = "VCC_SUB_1.35V";
427                                         regulator-min-microvolt = <1350000>;
428                                         regulator-max-microvolt = <1350000>;
429                                         regulator-always-on;
430                                 };
431
432                                 buck7_reg: buck7 {
433                                         regulator-compatible = "BUCK7";
434                                         regulator-name = "VCC_SUB_2.0V";
435                                         regulator-min-microvolt = <2000000>;
436                                         regulator-max-microvolt = <2000000>;
437                                         regulator-always-on;
438                                 };
439
440                                 buck8_reg: buck8 {
441                                         regulator-compatible = "BUCK8";
442                                         regulator-name = "VMEM_VDDF_3.0V";
443                                         regulator-min-microvolt = <2850000>;
444                                         regulator-max-microvolt = <2850000>;
445                                         regulator-always-on;
446                                         regulator-mem-off;
447                                 };
448
449                                 buck9_reg: buck9 {
450                                         regulator-compatible = "BUCK9";
451                                         regulator-name = "CAM_ISP_CORE_1.2V";
452                                         regulator-min-microvolt = <1000000>;
453                                         regulator-max-microvolt = <1200000>;
454                                         regulator-mem-off;
455                                 };
456                         };
457                 };
458         };
459
460         mmc@12550000 {
461                 num-slots = <1>;
462                 supports-highspeed;
463                 broken-cd;
464                 non-removable;
465                 card-detect-delay = <200>;
466                 vmmc-supply = <&vemmc_reg>;
467                 clock-frequency = <400000000>;
468                 samsung,dw-mshc-ciu-div = <0>;
469                 samsung,dw-mshc-sdr-timing = <2 3>;
470                 samsung,dw-mshc-ddr-timing = <1 2>;
471                 pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
472                 pinctrl-names = "default";
473                 status = "okay";
474
475                 slot@0 {
476                         reg = <0>;
477                         bus-width = <8>;
478                 };
479         };
480
481         serial@13800000 {
482                 status = "okay";
483         };
484
485         serial@13810000 {
486                 status = "okay";
487         };
488
489         serial@13820000 {
490                 status = "okay";
491         };
492
493         serial@13830000 {
494                 status = "okay";
495         };
496
497         i2c_ak8975: i2c-gpio-0 {
498                 compatible = "i2c-gpio";
499                 gpios = <&gpy2 4 0>, <&gpy2 5 0>;
500                 i2c-gpio,delay-us = <2>;
501                 #address-cells = <1>;
502                 #size-cells = <0>;
503                 status = "okay";
504
505                 ak8975@0c {
506                         compatible = "ak,ak8975";
507                         reg = <0x0c>;
508                         gpios = <&gpj0 7 0>;
509                 };
510         };
511
512         spi_1: spi@13930000 {
513                 pinctrl-names = "default";
514                 pinctrl-0 = <&spi1_bus>;
515                 status = "okay";
516
517                 s5c73m3_spi: s5c73m3 {
518                         compatible = "samsung,s5c73m3";
519                         spi-max-frequency = <50000000>;
520                         reg = <0>;
521                         controller-data {
522                                 cs-gpio = <&gpb 5 0>;
523                                 samsung,spi-feedback-delay = <2>;
524                         };
525                 };
526         };
527
528         dsi_0: dsi@11C80000 {
529                 vddcore-supply = <&ldo8_reg>;
530                 vddio-supply = <&ldo10_reg>;
531                 samsung,pll-clock-frequency = <24000000>;
532                 status = "okay";
533
534                 ports {
535                         #address-cells = <1>;
536                         #size-cells = <0>;
537
538                         port@1 {
539                                 reg = <1>;
540
541                                 dsi_out: endpoint {
542                                         remote-endpoint = <&dsi_in>;
543                                         samsung,burst-clock-frequency = <500000000>;
544                                         samsung,esc-clock-frequency = <20000000>;
545                                 };
546                         };
547                 };
548
549                 panel@0 {
550                         compatible = "samsung,s6e8aa0";
551                         reg = <0>;
552                         vdd3-supply = <&lcd_vdd3_reg>;
553                         vci-supply = <&ldo25_reg>;
554                         reset-gpios = <&gpy4 5 0>;
555                         power-on-delay= <50>;
556                         reset-delay = <100>;
557                         init-delay = <100>;
558                         flip-horizontal;
559                         flip-vertical;
560                         panel-width-mm = <58>;
561                         panel-height-mm = <103>;
562
563                         display-timings {
564                                 timing-0 {
565                                         clock-frequency = <0>;
566                                         hactive = <720>;
567                                         vactive = <1280>;
568                                         hfront-porch = <5>;
569                                         hback-porch = <5>;
570                                         hsync-len = <5>;
571                                         vfront-porch = <13>;
572                                         vback-porch = <1>;
573                                         vsync-len = <2>;
574                                 };
575                         };
576
577                         port {
578                                 dsi_in: endpoint {
579                                         remote-endpoint = <&dsi_out>;
580                                 };
581                         };
582                 };
583         };
584
585         fimd@11c00000 {
586                 status = "okay";
587         };
588
589         camera {
590                 pinctrl-0 = <&cam_port_b_clk_active>;
591                 pinctrl-names = "default";
592                 status = "okay";
593
594                 fimc_0: fimc@11800000 {
595                         status = "okay";
596                 };
597
598                 fimc_1: fimc@11810000 {
599                         status = "okay";
600                 };
601
602                 fimc_2: fimc@11820000 {
603                         status = "okay";
604                 };
605
606                 fimc_3: fimc@11830000 {
607                         status = "okay";
608                 };
609
610                 csis_1: csis@11890000 {
611                         vddcore-supply = <&ldo8_reg>;
612                         vddio-supply = <&ldo10_reg>;
613                         clock-frequency = <160000000>;
614                         status = "okay";
615
616                         /* Camera D (4) MIPI CSI-2 (CSIS1) */
617                         port@4 {
618                                 reg = <4>;
619                                 csis1_ep: endpoint {
620                                         remote-endpoint = <&is_s5k6a3_ep>;
621                                         data-lanes = <1>;
622                                         samsung,csis-hs-settle = <18>;
623                                         samsung,csis-wclk;
624                                 };
625                         };
626                 };
627
628                 fimc_lite_0: fimc-lite@12390000 {
629                         status = "okay";
630                 };
631
632                 fimc_lite_1: fimc-lite@123A0000 {
633                         status = "okay";
634                 };
635
636                 fimc-is@12000000 {
637                         pinctrl-0 = <&fimc_is_uart>;
638                         pinctrl-names = "default";
639                         status = "okay";
640
641                         i2c1_isp: i2c-isp@12140000 {
642                                 pinctrl-0 = <&fimc_is_i2c1>;
643                                 pinctrl-names = "default";
644
645                                 s5k6a3@10 {
646                                         compatible = "samsung,s5k6a3";
647                                         reg = <0x10>;
648                                         svdda-supply = <&cam_io_reg>;
649                                         svddio-supply = <&ldo19_reg>;
650                                         clock-frequency = <24000000>;
651                                         /* CAM_B_CLKOUT */
652                                         clocks = <&clock_cam 1>;
653                                         clock-names = "mclk";
654                                         samsung,camclk-out = <1>;
655                                         gpios = <&gpm1 6 0>;
656
657                                         port {
658                                                 is_s5k6a3_ep: endpoint {
659                                                         remote-endpoint = <&csis1_ep>;
660                                                         data-lanes = <1>;
661                                                 };
662                                         };
663                                 };
664                         };
665                 };
666         };
667
668         thermistor-ap@0 {
669                 compatible = "ntc,ncp15wb473";
670                 pullup-uv = <1800000>;   /* VCC_1.8V_AP */
671                 pullup-ohm = <100000>;   /* 100K */
672                 pulldown-ohm = <100000>; /* 100K */
673                 io-channels = <&adc 1>;  /* AP temperature */
674         };
675
676         thermistor-battery@1 {
677                 compatible = "ntc,ncp15wb473";
678                 pullup-uv = <1800000>;   /* VCC_1.8V_AP */
679                 pullup-ohm = <100000>;   /* 100K */
680                 pulldown-ohm = <100000>; /* 100K */
681                 io-channels = <&adc 2>;  /* Battery temperature */
682         };
683 };