Merge branch 'for-3.14/drivers' of git://git.kernel.dk/linux-block
[cascardo/linux.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";
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                 /* More to come */
75         };
76
77         gpio-keys {
78                 compatible = "gpio-keys";
79
80                 key-down {
81                         interrupt-parent = <&gpj1>;
82                         interrupts = <2 0>;
83                         gpios = <&gpj1 2 1>;
84                         linux,code = <114>;
85                         label = "volume down";
86                         debounce-interval = <10>;
87                 };
88
89                 key-up {
90                         interrupt-parent = <&gpj1>;
91                         interrupts = <1 0>;
92                         gpios = <&gpj1 1 1>;
93                         linux,code = <115>;
94                         label = "volume up";
95                         debounce-interval = <10>;
96                 };
97
98                 key-power {
99                         interrupt-parent = <&gpx2>;
100                         interrupts = <7 0>;
101                         gpios = <&gpx2 7 1>;
102                         linux,code = <116>;
103                         label = "power";
104                         debounce-interval = <10>;
105                         gpio-key,wakeup;
106                 };
107         };
108
109         i2c@13890000 {
110                 samsung,i2c-sda-delay = <100>;
111                 samsung,i2c-slave-addr = <0x10>;
112                 samsung,i2c-max-bus-freq = <400000>;
113                 pinctrl-0 = <&i2c3_bus>;
114                 pinctrl-names = "default";
115                 status = "okay";
116
117                 mms114-touchscreen@48 {
118                         compatible = "melfas,mms114";
119                         reg = <0x48>;
120                         interrupt-parent = <&gpm2>;
121                         interrupts = <3 2>;
122                         x-size = <720>;
123                         y-size = <1280>;
124                         avdd-supply = <&ldo23_reg>;
125                         vdd-supply = <&ldo24_reg>;
126                 };
127         };
128
129         i2c@138D0000 {
130                 samsung,i2c-sda-delay = <100>;
131                 samsung,i2c-slave-addr = <0x10>;
132                 samsung,i2c-max-bus-freq = <100000>;
133                 pinctrl-0 = <&i2c7_bus>;
134                 pinctrl-names = "default";
135                 status = "okay";
136
137                 max77686_pmic@09 {
138                         compatible = "maxim,max77686";
139                         interrupt-parent = <&gpx0>;
140                         interrupts = <7 0>;
141                         reg = <0x09>;
142                         #clock-cells = <1>;
143
144                         voltage-regulators {
145                                 ldo1_reg: ldo1 {
146                                         regulator-compatible = "LDO1";
147                                         regulator-name = "VALIVE_1.0V_AP";
148                                         regulator-min-microvolt = <1000000>;
149                                         regulator-max-microvolt = <1000000>;
150                                         regulator-always-on;
151                                         regulator-mem-on;
152                                 };
153
154                                 ldo2_reg: ldo2 {
155                                         regulator-compatible = "LDO2";
156                                         regulator-name = "VM1M2_1.2V_AP";
157                                         regulator-min-microvolt = <1200000>;
158                                         regulator-max-microvolt = <1200000>;
159                                         regulator-always-on;
160                                         regulator-mem-on;
161                                 };
162
163                                 ldo3_reg: ldo3 {
164                                         regulator-compatible = "LDO3";
165                                         regulator-name = "VCC_1.8V_AP";
166                                         regulator-min-microvolt = <1800000>;
167                                         regulator-max-microvolt = <1800000>;
168                                         regulator-always-on;
169                                         regulator-mem-on;
170                                 };
171
172                                 ldo4_reg: ldo4 {
173                                         regulator-compatible = "LDO4";
174                                         regulator-name = "VCC_2.8V_AP";
175                                         regulator-min-microvolt = <2800000>;
176                                         regulator-max-microvolt = <2800000>;
177                                         regulator-always-on;
178                                         regulator-mem-on;
179                                 };
180
181                                 ldo5_reg: ldo5 {
182                                         regulator-compatible = "LDO5";
183                                         regulator-name = "VCC_1.8V_IO";
184                                         regulator-min-microvolt = <1800000>;
185                                         regulator-max-microvolt = <1800000>;
186                                         regulator-always-on;
187                                         regulator-mem-on;
188                                 };
189
190                                 ldo6_reg: ldo6 {
191                                         regulator-compatible = "LDO6";
192                                         regulator-name = "VMPLL_1.0V_AP";
193                                         regulator-min-microvolt = <1000000>;
194                                         regulator-max-microvolt = <1000000>;
195                                         regulator-always-on;
196                                         regulator-mem-on;
197                                 };
198
199                                 ldo7_reg: ldo7 {
200                                         regulator-compatible = "LDO7";
201                                         regulator-name = "VPLL_1.0V_AP";
202                                         regulator-min-microvolt = <1000000>;
203                                         regulator-max-microvolt = <1000000>;
204                                         regulator-always-on;
205                                         regulator-mem-on;
206                                 };
207
208                                 ldo8_reg: ldo8 {
209                                         regulator-compatible = "LDO8";
210                                         regulator-name = "VMIPI_1.0V";
211                                         regulator-min-microvolt = <1000000>;
212                                         regulator-max-microvolt = <1000000>;
213                                         regulator-mem-off;
214                                 };
215
216                                 ldo9_reg: ldo9 {
217                                         regulator-compatible = "LDO9";
218                                         regulator-name = "CAM_ISP_MIPI_1.2V";
219                                         regulator-min-microvolt = <1200000>;
220                                         regulator-max-microvolt = <1200000>;
221                                         regulator-mem-idle;
222                                 };
223
224                                 ldo10_reg: ldo10 {
225                                         regulator-compatible = "LDO10";
226                                         regulator-name = "VMIPI_1.8V";
227                                         regulator-min-microvolt = <1800000>;
228                                         regulator-max-microvolt = <1800000>;
229                                         regulator-mem-off;
230                                 };
231
232                                 ldo11_reg: ldo11 {
233                                         regulator-compatible = "LDO11";
234                                         regulator-name = "VABB1_1.95V";
235                                         regulator-min-microvolt = <1950000>;
236                                         regulator-max-microvolt = <1950000>;
237                                         regulator-always-on;
238                                         regulator-mem-off;
239                                 };
240
241                                 ldo12_reg: ldo12 {
242                                         regulator-compatible = "LDO12";
243                                         regulator-name = "VUOTG_3.0V";
244                                         regulator-min-microvolt = <3000000>;
245                                         regulator-max-microvolt = <3000000>;
246                                         regulator-mem-off;
247                                 };
248
249                                 ldo13_reg: ldo13 {
250                                         regulator-compatible = "LDO13";
251                                         regulator-name = "NFC_AVDD_1.8V";
252                                         regulator-min-microvolt = <1800000>;
253                                         regulator-max-microvolt = <1800000>;
254                                         regulator-mem-idle;
255                                 };
256
257                                 ldo14_reg: ldo14 {
258                                         regulator-compatible = "LDO14";
259                                         regulator-name = "VABB2_1.95V";
260                                         regulator-min-microvolt = <1950000>;
261                                         regulator-max-microvolt = <1950000>;
262                                         regulator-always-on;
263                                         regulator-mem-off;
264                                 };
265
266                                 ldo15_reg: ldo15 {
267                                         regulator-compatible = "LDO15";
268                                         regulator-name = "VHSIC_1.0V";
269                                         regulator-min-microvolt = <1000000>;
270                                         regulator-max-microvolt = <1000000>;
271                                         regulator-mem-off;
272                                 };
273
274                                 ldo16_reg: ldo16 {
275                                         regulator-compatible = "LDO16";
276                                         regulator-name = "VHSIC_1.8V";
277                                         regulator-min-microvolt = <1800000>;
278                                         regulator-max-microvolt = <1800000>;
279                                         regulator-mem-off;
280                                 };
281
282                                 ldo17_reg: ldo17 {
283                                         regulator-compatible = "LDO17";
284                                         regulator-name = "CAM_SENSOR_CORE_1.2V";
285                                         regulator-min-microvolt = <1200000>;
286                                         regulator-max-microvolt = <1200000>;
287                                         regulator-mem-idle;
288                                 };
289
290                                 ldo18_reg: ldo18 {
291                                         regulator-compatible = "LDO18";
292                                         regulator-name = "CAM_ISP_SEN_IO_1.8V";
293                                         regulator-min-microvolt = <1800000>;
294                                         regulator-max-microvolt = <1800000>;
295                                         regulator-mem-idle;
296                                 };
297
298                                 ldo19_reg: ldo19 {
299                                         regulator-compatible = "LDO19";
300                                         regulator-name = "VT_CAM_1.8V";
301                                         regulator-min-microvolt = <1800000>;
302                                         regulator-max-microvolt = <1800000>;
303                                         regulator-mem-idle;
304                                 };
305
306                                 ldo20_reg: ldo20 {
307                                         regulator-compatible = "LDO20";
308                                         regulator-name = "VDDQ_PRE_1.8V";
309                                         regulator-min-microvolt = <1800000>;
310                                         regulator-max-microvolt = <1800000>;
311                                         regulator-mem-idle;
312                                 };
313
314                                 ldo21_reg: ldo21 {
315                                         regulator-compatible = "LDO21";
316                                         regulator-name = "VTF_2.8V";
317                                         regulator-min-microvolt = <2800000>;
318                                         regulator-max-microvolt = <2800000>;
319                                         regulator-mem-idle;
320                                 };
321
322                                 ldo22_reg: ldo22 {
323                                         regulator-compatible = "LDO22";
324                                         regulator-name = "VMEM_VDD_2.8V";
325                                         regulator-min-microvolt = <2800000>;
326                                         regulator-max-microvolt = <2800000>;
327                                         regulator-always-on;
328                                         regulator-mem-off;
329                                 };
330
331                                 ldo23_reg: ldo23 {
332                                         regulator-compatible = "LDO23";
333                                         regulator-name = "TSP_AVDD_3.3V";
334                                         regulator-min-microvolt = <3300000>;
335                                         regulator-max-microvolt = <3300000>;
336                                         regulator-mem-idle;
337                                 };
338
339                                 ldo24_reg: ldo24 {
340                                         regulator-compatible = "LDO24";
341                                         regulator-name = "TSP_VDD_1.8V";
342                                         regulator-min-microvolt = <1800000>;
343                                         regulator-max-microvolt = <1800000>;
344                                         regulator-mem-idle;
345                                 };
346
347                                 ldo25_reg: ldo25 {
348                                         regulator-compatible = "LDO25";
349                                         regulator-name = "LCD_VCC_3.3V";
350                                         regulator-min-microvolt = <2800000>;
351                                         regulator-max-microvolt = <2800000>;
352                                         regulator-mem-idle;
353                                 };
354
355                                 ldo26_reg: ldo26 {
356                                         regulator-compatible = "LDO26";
357                                         regulator-name = "MOTOR_VCC_3.0V";
358                                         regulator-min-microvolt = <3000000>;
359                                         regulator-max-microvolt = <3000000>;
360                                         regulator-mem-idle;
361                                 };
362
363                                 buck1_reg: buck1 {
364                                         regulator-compatible = "BUCK1";
365                                         regulator-name = "vdd_mif";
366                                         regulator-min-microvolt = <850000>;
367                                         regulator-max-microvolt = <1100000>;
368                                         regulator-always-on;
369                                         regulator-boot-on;
370                                         regulator-mem-off;
371                                 };
372
373                                 buck2_reg: buck2 {
374                                         regulator-compatible = "BUCK2";
375                                         regulator-name = "vdd_arm";
376                                         regulator-min-microvolt = <850000>;
377                                         regulator-max-microvolt = <1500000>;
378                                         regulator-always-on;
379                                         regulator-boot-on;
380                                         regulator-mem-off;
381                                 };
382
383                                 buck3_reg: buck3 {
384                                         regulator-compatible = "BUCK3";
385                                         regulator-name = "vdd_int";
386                                         regulator-min-microvolt = <850000>;
387                                         regulator-max-microvolt = <1150000>;
388                                         regulator-always-on;
389                                         regulator-boot-on;
390                                         regulator-mem-off;
391                                 };
392
393                                 buck4_reg: buck4 {
394                                         regulator-compatible = "BUCK4";
395                                         regulator-name = "vdd_g3d";
396                                         regulator-min-microvolt = <850000>;
397                                         regulator-max-microvolt = <1150000>;
398                                         regulator-boot-on;
399                                         regulator-mem-off;
400                                 };
401
402                                 buck5_reg: buck5 {
403                                         regulator-compatible = "BUCK5";
404                                         regulator-name = "VMEM_1.2V_AP";
405                                         regulator-min-microvolt = <1200000>;
406                                         regulator-max-microvolt = <1200000>;
407                                         regulator-always-on;
408                                 };
409
410                                 buck6_reg: buck6 {
411                                         regulator-compatible = "BUCK6";
412                                         regulator-name = "VCC_SUB_1.35V";
413                                         regulator-min-microvolt = <1350000>;
414                                         regulator-max-microvolt = <1350000>;
415                                         regulator-always-on;
416                                 };
417
418                                 buck7_reg: buck7 {
419                                         regulator-compatible = "BUCK7";
420                                         regulator-name = "VCC_SUB_2.0V";
421                                         regulator-min-microvolt = <2000000>;
422                                         regulator-max-microvolt = <2000000>;
423                                         regulator-always-on;
424                                 };
425
426                                 buck8_reg: buck8 {
427                                         regulator-compatible = "BUCK8";
428                                         regulator-name = "VMEM_VDDF_3.0V";
429                                         regulator-min-microvolt = <2850000>;
430                                         regulator-max-microvolt = <2850000>;
431                                         regulator-always-on;
432                                         regulator-mem-off;
433                                 };
434
435                                 buck9_reg: buck9 {
436                                         regulator-compatible = "BUCK9";
437                                         regulator-name = "CAM_ISP_CORE_1.2V";
438                                         regulator-min-microvolt = <1000000>;
439                                         regulator-max-microvolt = <1200000>;
440                                         regulator-mem-off;
441                                 };
442                         };
443                 };
444         };
445
446         mmc@12550000 {
447                 num-slots = <1>;
448                 supports-highspeed;
449                 broken-cd;
450                 non-removable;
451                 card-detect-delay = <200>;
452                 vmmc-supply = <&vemmc_reg>;
453                 clock-frequency = <400000000>;
454                 samsung,dw-mshc-ciu-div = <0>;
455                 samsung,dw-mshc-sdr-timing = <2 3>;
456                 samsung,dw-mshc-ddr-timing = <1 2>;
457                 pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
458                 pinctrl-names = "default";
459                 status = "okay";
460
461                 slot@0 {
462                         reg = <0>;
463                         bus-width = <8>;
464                 };
465         };
466
467         serial@13800000 {
468                 status = "okay";
469         };
470
471         serial@13810000 {
472                 status = "okay";
473         };
474
475         serial@13820000 {
476                 status = "okay";
477         };
478
479         serial@13830000 {
480                 status = "okay";
481         };
482
483         i2c_ak8975: i2c-gpio-0 {
484                 compatible = "i2c-gpio";
485                 gpios = <&gpy2 4 0>, <&gpy2 5 0>;
486                 i2c-gpio,delay-us = <2>;
487                 #address-cells = <1>;
488                 #size-cells = <0>;
489                 status = "okay";
490
491                 ak8975@0c {
492                         compatible = "ak,ak8975";
493                         reg = <0x0c>;
494                         gpios = <&gpj0 7 0>;
495                 };
496         };
497
498         spi_1: spi@13930000 {
499                 pinctrl-names = "default";
500                 pinctrl-0 = <&spi1_bus>;
501                 status = "okay";
502
503                 s5c73m3_spi: s5c73m3 {
504                         compatible = "samsung,s5c73m3";
505                         spi-max-frequency = <50000000>;
506                         reg = <0>;
507                         controller-data {
508                                 cs-gpio = <&gpb 5 0>;
509                                 samsung,spi-feedback-delay = <2>;
510                         };
511                 };
512         };
513
514         camera {
515                 pinctrl-0 = <&cam_port_b_clk_active>;
516                 pinctrl-names = "default";
517                 status = "okay";
518
519                 fimc_0: fimc@11800000 {
520                         status = "okay";
521                 };
522
523                 fimc_1: fimc@11810000 {
524                         status = "okay";
525                 };
526
527                 fimc_2: fimc@11820000 {
528                         status = "okay";
529                 };
530
531                 fimc_3: fimc@11830000 {
532                         status = "okay";
533                 };
534
535                 csis_1: csis@11890000 {
536                         vddcore-supply = <&ldo8_reg>;
537                         vddio-supply = <&ldo10_reg>;
538                         clock-frequency = <160000000>;
539                         status = "okay";
540
541                         /* Camera D (4) MIPI CSI-2 (CSIS1) */
542                         port@4 {
543                                 reg = <4>;
544                                 csis1_ep: endpoint {
545                                         remote-endpoint = <&is_s5k6a3_ep>;
546                                         data-lanes = <1>;
547                                         samsung,csis-hs-settle = <18>;
548                                         samsung,csis-wclk;
549                                 };
550                         };
551                 };
552
553                 fimc_lite_0: fimc-lite@12390000 {
554                         status = "okay";
555                 };
556
557                 fimc_lite_1: fimc-lite@123A0000 {
558                         status = "okay";
559                 };
560
561                 fimc-is@12000000 {
562                         pinctrl-0 = <&fimc_is_uart>;
563                         pinctrl-names = "default";
564                         status = "okay";
565
566                         i2c1_isp: i2c-isp@12140000 {
567                                 pinctrl-0 = <&fimc_is_i2c1>;
568                                 pinctrl-names = "default";
569
570                                 s5k6a3@10 {
571                                         compatible = "samsung,s5k6a3";
572                                         reg = <0x10>;
573                                         svdda-supply = <&cam_io_reg>;
574                                         svddio-supply = <&ldo19_reg>;
575                                         clock-frequency = <24000000>;
576                                         /* CAM_B_CLKOUT */
577                                         clocks = <&clock_cam 1>;
578                                         clock-names = "mclk";
579                                         samsung,camclk-out = <1>;
580                                         gpios = <&gpm1 6 0>;
581
582                                         port {
583                                                 is_s5k6a3_ep: endpoint {
584                                                         remote-endpoint = <&csis1_ep>;
585                                                         data-lanes = <1>;
586                                                 };
587                                         };
588                                 };
589                         };
590                 };
591         };
592 };