Merge tag 'samsung-drivers-exynos-mfc-4.8-2' of git://git.kernel.org/pub/scm/linux...
[cascardo/linux.git] / arch / arm / boot / dts / exynos4412-origen.dts
1 /*
2  * Insignal's Exynos4412 based Origen board device tree source
3  *
4  * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
5  *              http://www.samsung.com
6  *
7  * Device tree source file for Insignal's Origen 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 #include <dt-bindings/gpio/gpio.h>
18 #include <dt-bindings/input/input.h>
19 #include "exynos-mfc-reserved-memory.dtsi"
20
21 / {
22         model = "Insignal Origen evaluation board based on Exynos4412";
23         compatible = "insignal,origen4412", "samsung,exynos4412", "samsung,exynos4";
24
25         memory {
26                 reg = <0x40000000 0x40000000>;
27         };
28
29         chosen {
30                 bootargs ="console=ttySAC2,115200";
31                 stdout-path = &serial_2;
32         };
33
34         firmware@0203F000 {
35                 compatible = "samsung,secure-firmware";
36                 reg = <0x0203F000 0x1000>;
37         };
38
39         regulators {
40                 compatible = "simple-bus";
41                 #address-cells = <1>;
42                 #size-cells = <0>;
43
44                 mmc_reg: regulator@0 {
45                         compatible = "regulator-fixed";
46                         reg = <0>;
47                         regulator-name = "VMEM_VDD_2.8V";
48                         regulator-min-microvolt = <2800000>;
49                         regulator-max-microvolt = <2800000>;
50                         gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>;
51                         enable-active-high;
52                 };
53         };
54
55         display-timings {
56                 native-mode = <&timing0>;
57                 timing0: timing {
58                         clock-frequency = <47500000>;
59                         hactive = <1024>;
60                         vactive = <600>;
61                         hfront-porch = <64>;
62                         hback-porch = <16>;
63                         hsync-len = <48>;
64                         vback-porch = <64>;
65                         vfront-porch = <16>;
66                         vsync-len = <3>;
67                 };
68         };
69
70         fixed-rate-clocks {
71                 xxti {
72                         compatible = "samsung,clock-xxti";
73                         clock-frequency = <0>;
74                 };
75
76                 xusbxti {
77                         compatible = "samsung,clock-xusbxti";
78                         clock-frequency = <24000000>;
79                 };
80         };
81 };
82
83 &cpu0 {
84         cpu0-supply = <&buck2_reg>;
85 };
86
87 &exynos_usbphy {
88         status = "okay";
89 };
90
91 &ehci {
92         samsung,vbus-gpio = <&gpx3 5 1>;
93         status = "okay";
94
95         port@1{
96                 status = "okay";
97         };
98         port@2 {
99                 status = "okay";
100         };
101 };
102
103 &fimd {
104         pinctrl-0 = <&lcd_clk &lcd_data24 &pwm1_out>;
105         pinctrl-names = "default";
106         status = "okay";
107 };
108
109 &i2c_0 {
110         #address-cells = <1>;
111         #size-cells = <0>;
112         samsung,i2c-sda-delay = <100>;
113         samsung,i2c-max-bus-freq = <20000>;
114         pinctrl-0 = <&i2c0_bus>;
115         pinctrl-names = "default";
116         status = "okay";
117
118         s5m8767_pmic@66 {
119                 compatible = "samsung,s5m8767-pmic";
120                 reg = <0x66>;
121
122                 s5m8767,pmic-buck-default-dvs-idx = <3>;
123
124                 s5m8767,pmic-buck-dvs-gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>,
125                                                  <&gpx2 4 GPIO_ACTIVE_HIGH>,
126                                                  <&gpx2 5 GPIO_ACTIVE_HIGH>;
127
128                 s5m8767,pmic-buck-ds-gpios = <&gpm3 5 GPIO_ACTIVE_HIGH>,
129                                                 <&gpm3 6 GPIO_ACTIVE_HIGH>,
130                                                 <&gpm3 7 GPIO_ACTIVE_HIGH>;
131
132                 s5m8767,pmic-buck2-dvs-voltage = <1250000>, <1200000>,
133                                                  <1200000>, <1200000>,
134                                                  <1200000>, <1200000>,
135                                                  <1200000>, <1200000>;
136
137                 s5m8767,pmic-buck3-dvs-voltage = <1100000>, <1100000>,
138                                                  <1100000>, <1100000>,
139                                                  <1100000>, <1100000>,
140                                                  <1100000>, <1100000>;
141
142                 s5m8767,pmic-buck4-dvs-voltage = <1200000>, <1200000>,
143                                                  <1200000>, <1200000>,
144                                                  <1200000>, <1200000>,
145                                                  <1200000>, <1200000>;
146
147                 regulators {
148                         ldo1_reg: LDO1 {
149                                 regulator-name = "VDD_ALIVE";
150                                 regulator-min-microvolt = <1100000>;
151                                 regulator-max-microvolt = <1100000>;
152                                 regulator-always-on;
153                                 regulator-boot-on;
154                                 op_mode = <1>; /* Normal Mode */
155                         };
156
157                         ldo2_reg: LDO2 {
158                                 regulator-name = "VDDQ_M12";
159                                 regulator-min-microvolt = <1200000>;
160                                 regulator-max-microvolt = <1200000>;
161                                 regulator-always-on;
162                                 op_mode = <1>; /* Normal Mode */
163                         };
164
165                         ldo3_reg: LDO3 {
166                                 regulator-name = "VDDIOAP_18";
167                                 regulator-min-microvolt = <1800000>;
168                                 regulator-max-microvolt = <1800000>;
169                                 regulator-always-on;
170                                 op_mode = <1>; /* Normal Mode */
171                         };
172
173                         ldo4_reg: LDO4 {
174                                 regulator-name = "VDDQ_PRE";
175                                 regulator-min-microvolt = <1800000>;
176                                 regulator-max-microvolt = <1800000>;
177                                 regulator-always-on;
178                                 op_mode = <1>; /* Normal Mode */
179                         };
180
181                         ldo5_reg: LDO5 {
182                                 regulator-name = "VDD18_2M";
183                                 regulator-min-microvolt = <1800000>;
184                                 regulator-max-microvolt = <1800000>;
185                                 regulator-always-on;
186                                 op_mode = <1>; /* Normal Mode */
187                         };
188
189                         ldo6_reg: LDO6 {
190                                 regulator-name = "VDD10_MPLL";
191                                 regulator-min-microvolt = <1000000>;
192                                 regulator-max-microvolt = <1000000>;
193                                 regulator-always-on;
194                                 op_mode = <1>; /* Normal Mode */
195                         };
196
197                         ldo7_reg: LDO7 {
198                                 regulator-name = "VDD10_XPLL";
199                                 regulator-min-microvolt = <1000000>;
200                                 regulator-max-microvolt = <1000000>;
201                                 regulator-always-on;
202                                 op_mode = <1>; /* Normal Mode */
203                         };
204
205                         ldo8_reg: LDO8 {
206                                 regulator-name = "VDD10_MIPI";
207                                 regulator-min-microvolt = <1000000>;
208                                 regulator-max-microvolt = <1000000>;
209                                 regulator-always-on;
210                                 op_mode = <1>; /* Normal Mode */
211                         };
212
213                         ldo9_reg: LDO9 {
214                                 regulator-name = "VDD33_LCD";
215                                 regulator-min-microvolt = <3300000>;
216                                 regulator-max-microvolt = <3300000>;
217                                 regulator-always-on;
218                                 op_mode = <1>; /* Normal Mode */
219                         };
220
221                         ldo10_reg: LDO10 {
222                                 regulator-name = "VDD18_MIPI";
223                                 regulator-min-microvolt = <1800000>;
224                                 regulator-max-microvolt = <1800000>;
225                                 regulator-always-on;
226                                 op_mode = <1>; /* Normal Mode */
227                         };
228
229                         ldo11_reg: LDO11 {
230                                 regulator-name = "VDD18_ABB1";
231                                 regulator-min-microvolt = <1800000>;
232                                 regulator-max-microvolt = <1800000>;
233                                 regulator-always-on;
234                                 op_mode = <1>; /* Normal Mode */
235                         };
236
237                         ldo12_reg: LDO12 {
238                                 regulator-name = "VDD33_UOTG";
239                                 regulator-min-microvolt = <3300000>;
240                                 regulator-max-microvolt = <3300000>;
241                                 regulator-always-on;
242                                 op_mode = <1>; /* Normal Mode */
243                         };
244
245                         ldo13_reg: LDO13 {
246                                 regulator-name = "VDDIOPERI_18";
247                                 regulator-min-microvolt = <1800000>;
248                                 regulator-max-microvolt = <1800000>;
249                                 regulator-always-on;
250                                 op_mode = <1>; /* Normal Mode */
251                         };
252
253                         ldo14_reg: LDO14 {
254                                 regulator-name = "VDD18_ABB02";
255                                 regulator-min-microvolt = <1800000>;
256                                 regulator-max-microvolt = <1800000>;
257                                 regulator-always-on;
258                                 op_mode = <1>; /* Normal Mode */
259                         };
260
261                         ldo15_reg: LDO15 {
262                                 regulator-name = "VDD10_USH";
263                                 regulator-min-microvolt = <1000000>;
264                                 regulator-max-microvolt = <1000000>;
265                                 regulator-always-on;
266                                 op_mode = <1>; /* Normal Mode */
267                         };
268
269                         ldo16_reg: LDO16 {
270                                 regulator-name = "VDD18_HSIC";
271                                 regulator-min-microvolt = <1800000>;
272                                 regulator-max-microvolt = <1800000>;
273                                 regulator-always-on;
274                                 op_mode = <1>; /* Normal Mode */
275                         };
276
277                         ldo17_reg: LDO17 {
278                                 regulator-name = "VDDIOAP_MMC012_28";
279                                 regulator-min-microvolt = <2800000>;
280                                 regulator-max-microvolt = <2800000>;
281                                 regulator-always-on;
282                                 op_mode = <1>; /* Normal Mode */
283                         };
284
285                         ldo18_reg: LDO18 {
286                                 regulator-name = "VDDIOPERI_28";
287                                 regulator-min-microvolt = <2800000>;
288                                 regulator-max-microvolt = <2800000>;
289                                 regulator-always-on;
290                                 op_mode = <1>; /* Normal Mode */
291                         };
292
293                         ldo19_reg: LDO19 {
294                                 regulator-name = "DVDD25";
295                                 regulator-min-microvolt = <2500000>;
296                                 regulator-max-microvolt = <2500000>;
297                                 regulator-always-on;
298                                 op_mode = <1>; /* Normal Mode */
299                         };
300
301                         ldo20_reg: LDO20 {
302                                 regulator-name = "VDD28_CAM";
303                                 regulator-min-microvolt = <2800000>;
304                                 regulator-max-microvolt = <2800000>;
305                                 regulator-always-on;
306                                 op_mode = <1>; /* Normal Mode */
307                         };
308
309                         ldo21_reg: LDO21 {
310                                 regulator-name = "VDD28_AF";
311                                 regulator-min-microvolt = <2800000>;
312                                 regulator-max-microvolt = <2800000>;
313                                 regulator-always-on;
314                                 op_mode = <1>; /* Normal Mode */
315                         };
316
317                         ldo22_reg: LDO22 {
318                                 regulator-name = "VDDA28_2M";
319                                 regulator-min-microvolt = <2800000>;
320                                 regulator-max-microvolt = <2800000>;
321                                 regulator-always-on;
322                                 op_mode = <1>; /* Normal Mode */
323                         };
324
325                         ldo23_reg: LDO23 {
326                                 regulator-name = "VDD28_TF";
327                                 regulator-min-microvolt = <2800000>;
328                                 regulator-max-microvolt = <2800000>;
329                                 regulator-always-on;
330                                 op_mode = <1>; /* Normal Mode */
331                         };
332
333                         ldo24_reg: LDO24 {
334                                 regulator-name = "VDD33_A31";
335                                 regulator-min-microvolt = <3300000>;
336                                 regulator-max-microvolt = <3300000>;
337                                 regulator-always-on;
338                                 op_mode = <1>; /* Normal Mode */
339                         };
340
341                         ldo25_reg: LDO25 {
342                                 regulator-name = "VDD18_CAM";
343                                 regulator-min-microvolt = <1800000>;
344                                 regulator-max-microvolt = <1800000>;
345                                 regulator-always-on;
346                                 op_mode = <1>; /* Normal Mode */
347                         };
348
349                         ldo26_reg: LDO26 {
350                                 regulator-name = "VDD18_A31";
351                                 regulator-min-microvolt = <1800000>;
352                                 regulator-max-microvolt = <1800000>;
353                                 regulator-always-on;
354                                 op_mode = <1>; /* Normal Mode */
355                         };
356
357                         ldo27_reg: LDO27 {
358                                 regulator-name = "GPS_1V8";
359                                 regulator-min-microvolt = <1800000>;
360                                 regulator-max-microvolt = <1800000>;
361                                 regulator-always-on;
362                                 op_mode = <1>; /* Normal Mode */
363                         };
364
365                         ldo28_reg: LDO28 {
366                                 regulator-name = "DVDD12";
367                                 regulator-min-microvolt = <1200000>;
368                                 regulator-max-microvolt = <1200000>;
369                                 regulator-always-on;
370                                 op_mode = <1>; /* Normal Mode */
371                         };
372
373                         buck1_reg: BUCK1 {
374                                 regulator-name = "vdd_mif";
375                                 regulator-min-microvolt = <950000>;
376                                 regulator-max-microvolt = <1100000>;
377                                 regulator-always-on;
378                                 regulator-boot-on;
379                                 op_mode = <1>; /* Normal Mode */
380                         };
381
382                         buck2_reg: BUCK2 {
383                                 regulator-name = "vdd_arm";
384                                 regulator-min-microvolt = <900000>;
385                                 regulator-max-microvolt = <1350000>;
386                                 regulator-always-on;
387                                 regulator-boot-on;
388                                 op_mode = <1>; /* Normal Mode */
389                         };
390
391                         buck3_reg: BUCK3 {
392                                 regulator-name = "vdd_int";
393                                 regulator-min-microvolt = <900000>;
394                                 regulator-max-microvolt = <1200000>;
395                                 regulator-always-on;
396                                 regulator-boot-on;
397                                 op_mode = <1>; /* Normal Mode */
398                         };
399
400                         buck4_reg: BUCK4 {
401                                 regulator-name = "vdd_g3d";
402                                 regulator-min-microvolt = <750000>;
403                                 regulator-max-microvolt = <1500000>;
404                                 regulator-always-on;
405                                 regulator-boot-on;
406                                 op_mode = <1>; /* Normal Mode */
407                         };
408
409                         buck5_reg: BUCK5 {
410                                 regulator-name = "vdd_m12";
411                                 regulator-min-microvolt = <750000>;
412                                 regulator-max-microvolt = <1500000>;
413                                 regulator-always-on;
414                                 regulator-boot-on;
415                                 op_mode = <1>; /* Normal Mode */
416                         };
417
418                         buck6_reg: BUCK6 {
419                                 regulator-name = "vdd12_5m";
420                                 regulator-min-microvolt = <750000>;
421                                 regulator-max-microvolt = <1500000>;
422                                 regulator-always-on;
423                                 regulator-boot-on;
424                                 op_mode = <1>; /* Normal Mode */
425                         };
426
427                         buck9_reg: BUCK9 {
428                                 regulator-name = "vddf28_emmc";
429                                 regulator-min-microvolt = <750000>;
430                                 regulator-max-microvolt = <3000000>;
431                                 regulator-always-on;
432                                 regulator-boot-on;
433                                 op_mode = <1>; /* Normal Mode */
434                         };
435                 };
436         };
437 };
438
439 &keypad {
440         samsung,keypad-num-rows = <3>;
441         samsung,keypad-num-columns = <2>;
442         linux,keypad-no-autorepeat;
443         wakeup-source;
444         pinctrl-0 = <&keypad_rows &keypad_cols>;
445         pinctrl-names = "default";
446         status = "okay";
447
448         key_home {
449                 keypad,row = <0>;
450                 keypad,column = <0>;
451                 linux,code = <KEY_HOME>;
452         };
453
454         key_down {
455                 keypad,row = <0>;
456                 keypad,column = <1>;
457                 linux,code = <KEY_DOWN>;
458         };
459
460         key_up {
461                 keypad,row = <1>;
462                 keypad,column = <0>;
463                 linux,code = <KEY_UP>;
464         };
465
466         key_menu {
467                 keypad,row = <1>;
468                 keypad,column = <1>;
469                 linux,code = <KEY_MENU>;
470         };
471
472         key_back {
473                 keypad,row = <2>;
474                 keypad,column = <0>;
475                 linux,code = <KEY_BACK>;
476         };
477
478         key_enter {
479                 keypad,row = <2>;
480                 keypad,column = <1>;
481                 linux,code = <KEY_ENTER>;
482         };
483 };
484
485 &mshc_0 {
486         pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
487         pinctrl-names = "default";
488         status = "okay";
489
490         num-slots = <1>;
491         broken-cd;
492         card-detect-delay = <200>;
493         samsung,dw-mshc-ciu-div = <3>;
494         samsung,dw-mshc-sdr-timing = <2 3>;
495         samsung,dw-mshc-ddr-timing = <1 2>;
496         bus-width = <8>;
497         cap-mmc-highspeed;
498 };
499
500 &pinctrl_1 {
501         keypad_rows: keypad-rows {
502                 samsung,pins = "gpx2-0", "gpx2-1", "gpx2-2";
503                 samsung,pin-function = <3>;
504                 samsung,pin-pud = <3>;
505                 samsung,pin-drv = <0>;
506         };
507
508         keypad_cols: keypad-cols {
509                 samsung,pins = "gpx1-0", "gpx1-1";
510                 samsung,pin-function = <3>;
511                 samsung,pin-pud = <0>;
512                 samsung,pin-drv = <0>;
513         };
514 };
515
516 &rtc {
517         status = "okay";
518 };
519
520 &sdhci_2 {
521         bus-width = <4>;
522         pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>;
523         pinctrl-names = "default";
524         vmmc-supply = <&mmc_reg>;
525         status = "okay";
526 };
527
528 &serial_0 {
529         status = "okay";
530 };
531
532 &serial_1 {
533         status = "okay";
534 };
535
536 &serial_2 {
537         status = "okay";
538 };
539
540 &serial_3 {
541         status = "okay";
542 };
543
544 &watchdog {
545         status = "okay";
546 };