Merge tag 'arm-soc/for-4.8/drivers' of http://github.com/Broadcom/stblinux into next...
[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 &fimd {
88         pinctrl-0 = <&lcd_clk &lcd_data24 &pwm1_out>;
89         pinctrl-names = "default";
90         status = "okay";
91 };
92
93 &i2c_0 {
94         #address-cells = <1>;
95         #size-cells = <0>;
96         samsung,i2c-sda-delay = <100>;
97         samsung,i2c-max-bus-freq = <20000>;
98         pinctrl-0 = <&i2c0_bus>;
99         pinctrl-names = "default";
100         status = "okay";
101
102         s5m8767_pmic@66 {
103                 compatible = "samsung,s5m8767-pmic";
104                 reg = <0x66>;
105
106                 s5m8767,pmic-buck-default-dvs-idx = <3>;
107
108                 s5m8767,pmic-buck-dvs-gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>,
109                                                  <&gpx2 4 GPIO_ACTIVE_HIGH>,
110                                                  <&gpx2 5 GPIO_ACTIVE_HIGH>;
111
112                 s5m8767,pmic-buck-ds-gpios = <&gpm3 5 GPIO_ACTIVE_HIGH>,
113                                                 <&gpm3 6 GPIO_ACTIVE_HIGH>,
114                                                 <&gpm3 7 GPIO_ACTIVE_HIGH>;
115
116                 s5m8767,pmic-buck2-dvs-voltage = <1250000>, <1200000>,
117                                                  <1200000>, <1200000>,
118                                                  <1200000>, <1200000>,
119                                                  <1200000>, <1200000>;
120
121                 s5m8767,pmic-buck3-dvs-voltage = <1100000>, <1100000>,
122                                                  <1100000>, <1100000>,
123                                                  <1100000>, <1100000>,
124                                                  <1100000>, <1100000>;
125
126                 s5m8767,pmic-buck4-dvs-voltage = <1200000>, <1200000>,
127                                                  <1200000>, <1200000>,
128                                                  <1200000>, <1200000>,
129                                                  <1200000>, <1200000>;
130
131                 regulators {
132                         ldo1_reg: LDO1 {
133                                 regulator-name = "VDD_ALIVE";
134                                 regulator-min-microvolt = <1100000>;
135                                 regulator-max-microvolt = <1100000>;
136                                 regulator-always-on;
137                                 regulator-boot-on;
138                                 op_mode = <1>; /* Normal Mode */
139                         };
140
141                         ldo2_reg: LDO2 {
142                                 regulator-name = "VDDQ_M12";
143                                 regulator-min-microvolt = <1200000>;
144                                 regulator-max-microvolt = <1200000>;
145                                 regulator-always-on;
146                                 op_mode = <1>; /* Normal Mode */
147                         };
148
149                         ldo3_reg: LDO3 {
150                                 regulator-name = "VDDIOAP_18";
151                                 regulator-min-microvolt = <1800000>;
152                                 regulator-max-microvolt = <1800000>;
153                                 regulator-always-on;
154                                 op_mode = <1>; /* Normal Mode */
155                         };
156
157                         ldo4_reg: LDO4 {
158                                 regulator-name = "VDDQ_PRE";
159                                 regulator-min-microvolt = <1800000>;
160                                 regulator-max-microvolt = <1800000>;
161                                 regulator-always-on;
162                                 op_mode = <1>; /* Normal Mode */
163                         };
164
165                         ldo5_reg: LDO5 {
166                                 regulator-name = "VDD18_2M";
167                                 regulator-min-microvolt = <1800000>;
168                                 regulator-max-microvolt = <1800000>;
169                                 regulator-always-on;
170                                 op_mode = <1>; /* Normal Mode */
171                         };
172
173                         ldo6_reg: LDO6 {
174                                 regulator-name = "VDD10_MPLL";
175                                 regulator-min-microvolt = <1000000>;
176                                 regulator-max-microvolt = <1000000>;
177                                 regulator-always-on;
178                                 op_mode = <1>; /* Normal Mode */
179                         };
180
181                         ldo7_reg: LDO7 {
182                                 regulator-name = "VDD10_XPLL";
183                                 regulator-min-microvolt = <1000000>;
184                                 regulator-max-microvolt = <1000000>;
185                                 regulator-always-on;
186                                 op_mode = <1>; /* Normal Mode */
187                         };
188
189                         ldo8_reg: LDO8 {
190                                 regulator-name = "VDD10_MIPI";
191                                 regulator-min-microvolt = <1000000>;
192                                 regulator-max-microvolt = <1000000>;
193                                 regulator-always-on;
194                                 op_mode = <1>; /* Normal Mode */
195                         };
196
197                         ldo9_reg: LDO9 {
198                                 regulator-name = "VDD33_LCD";
199                                 regulator-min-microvolt = <3300000>;
200                                 regulator-max-microvolt = <3300000>;
201                                 regulator-always-on;
202                                 op_mode = <1>; /* Normal Mode */
203                         };
204
205                         ldo10_reg: LDO10 {
206                                 regulator-name = "VDD18_MIPI";
207                                 regulator-min-microvolt = <1800000>;
208                                 regulator-max-microvolt = <1800000>;
209                                 regulator-always-on;
210                                 op_mode = <1>; /* Normal Mode */
211                         };
212
213                         ldo11_reg: LDO11 {
214                                 regulator-name = "VDD18_ABB1";
215                                 regulator-min-microvolt = <1800000>;
216                                 regulator-max-microvolt = <1800000>;
217                                 regulator-always-on;
218                                 op_mode = <1>; /* Normal Mode */
219                         };
220
221                         ldo12_reg: LDO12 {
222                                 regulator-name = "VDD33_UOTG";
223                                 regulator-min-microvolt = <3300000>;
224                                 regulator-max-microvolt = <3300000>;
225                                 regulator-always-on;
226                                 op_mode = <1>; /* Normal Mode */
227                         };
228
229                         ldo13_reg: LDO13 {
230                                 regulator-name = "VDDIOPERI_18";
231                                 regulator-min-microvolt = <1800000>;
232                                 regulator-max-microvolt = <1800000>;
233                                 regulator-always-on;
234                                 op_mode = <1>; /* Normal Mode */
235                         };
236
237                         ldo14_reg: LDO14 {
238                                 regulator-name = "VDD18_ABB02";
239                                 regulator-min-microvolt = <1800000>;
240                                 regulator-max-microvolt = <1800000>;
241                                 regulator-always-on;
242                                 op_mode = <1>; /* Normal Mode */
243                         };
244
245                         ldo15_reg: LDO15 {
246                                 regulator-name = "VDD10_USH";
247                                 regulator-min-microvolt = <1000000>;
248                                 regulator-max-microvolt = <1000000>;
249                                 regulator-always-on;
250                                 op_mode = <1>; /* Normal Mode */
251                         };
252
253                         ldo16_reg: LDO16 {
254                                 regulator-name = "VDD18_HSIC";
255                                 regulator-min-microvolt = <1800000>;
256                                 regulator-max-microvolt = <1800000>;
257                                 regulator-always-on;
258                                 op_mode = <1>; /* Normal Mode */
259                         };
260
261                         ldo17_reg: LDO17 {
262                                 regulator-name = "VDDIOAP_MMC012_28";
263                                 regulator-min-microvolt = <2800000>;
264                                 regulator-max-microvolt = <2800000>;
265                                 regulator-always-on;
266                                 op_mode = <1>; /* Normal Mode */
267                         };
268
269                         ldo18_reg: LDO18 {
270                                 regulator-name = "VDDIOPERI_28";
271                                 regulator-min-microvolt = <2800000>;
272                                 regulator-max-microvolt = <2800000>;
273                                 regulator-always-on;
274                                 op_mode = <1>; /* Normal Mode */
275                         };
276
277                         ldo19_reg: LDO19 {
278                                 regulator-name = "DVDD25";
279                                 regulator-min-microvolt = <2500000>;
280                                 regulator-max-microvolt = <2500000>;
281                                 regulator-always-on;
282                                 op_mode = <1>; /* Normal Mode */
283                         };
284
285                         ldo20_reg: LDO20 {
286                                 regulator-name = "VDD28_CAM";
287                                 regulator-min-microvolt = <2800000>;
288                                 regulator-max-microvolt = <2800000>;
289                                 regulator-always-on;
290                                 op_mode = <1>; /* Normal Mode */
291                         };
292
293                         ldo21_reg: LDO21 {
294                                 regulator-name = "VDD28_AF";
295                                 regulator-min-microvolt = <2800000>;
296                                 regulator-max-microvolt = <2800000>;
297                                 regulator-always-on;
298                                 op_mode = <1>; /* Normal Mode */
299                         };
300
301                         ldo22_reg: LDO22 {
302                                 regulator-name = "VDDA28_2M";
303                                 regulator-min-microvolt = <2800000>;
304                                 regulator-max-microvolt = <2800000>;
305                                 regulator-always-on;
306                                 op_mode = <1>; /* Normal Mode */
307                         };
308
309                         ldo23_reg: LDO23 {
310                                 regulator-name = "VDD28_TF";
311                                 regulator-min-microvolt = <2800000>;
312                                 regulator-max-microvolt = <2800000>;
313                                 regulator-always-on;
314                                 op_mode = <1>; /* Normal Mode */
315                         };
316
317                         ldo24_reg: LDO24 {
318                                 regulator-name = "VDD33_A31";
319                                 regulator-min-microvolt = <3300000>;
320                                 regulator-max-microvolt = <3300000>;
321                                 regulator-always-on;
322                                 op_mode = <1>; /* Normal Mode */
323                         };
324
325                         ldo25_reg: LDO25 {
326                                 regulator-name = "VDD18_CAM";
327                                 regulator-min-microvolt = <1800000>;
328                                 regulator-max-microvolt = <1800000>;
329                                 regulator-always-on;
330                                 op_mode = <1>; /* Normal Mode */
331                         };
332
333                         ldo26_reg: LDO26 {
334                                 regulator-name = "VDD18_A31";
335                                 regulator-min-microvolt = <1800000>;
336                                 regulator-max-microvolt = <1800000>;
337                                 regulator-always-on;
338                                 op_mode = <1>; /* Normal Mode */
339                         };
340
341                         ldo27_reg: LDO27 {
342                                 regulator-name = "GPS_1V8";
343                                 regulator-min-microvolt = <1800000>;
344                                 regulator-max-microvolt = <1800000>;
345                                 regulator-always-on;
346                                 op_mode = <1>; /* Normal Mode */
347                         };
348
349                         ldo28_reg: LDO28 {
350                                 regulator-name = "DVDD12";
351                                 regulator-min-microvolt = <1200000>;
352                                 regulator-max-microvolt = <1200000>;
353                                 regulator-always-on;
354                                 op_mode = <1>; /* Normal Mode */
355                         };
356
357                         buck1_reg: BUCK1 {
358                                 regulator-name = "vdd_mif";
359                                 regulator-min-microvolt = <950000>;
360                                 regulator-max-microvolt = <1100000>;
361                                 regulator-always-on;
362                                 regulator-boot-on;
363                                 op_mode = <1>; /* Normal Mode */
364                         };
365
366                         buck2_reg: BUCK2 {
367                                 regulator-name = "vdd_arm";
368                                 regulator-min-microvolt = <900000>;
369                                 regulator-max-microvolt = <1350000>;
370                                 regulator-always-on;
371                                 regulator-boot-on;
372                                 op_mode = <1>; /* Normal Mode */
373                         };
374
375                         buck3_reg: BUCK3 {
376                                 regulator-name = "vdd_int";
377                                 regulator-min-microvolt = <900000>;
378                                 regulator-max-microvolt = <1200000>;
379                                 regulator-always-on;
380                                 regulator-boot-on;
381                                 op_mode = <1>; /* Normal Mode */
382                         };
383
384                         buck4_reg: BUCK4 {
385                                 regulator-name = "vdd_g3d";
386                                 regulator-min-microvolt = <750000>;
387                                 regulator-max-microvolt = <1500000>;
388                                 regulator-always-on;
389                                 regulator-boot-on;
390                                 op_mode = <1>; /* Normal Mode */
391                         };
392
393                         buck5_reg: BUCK5 {
394                                 regulator-name = "vdd_m12";
395                                 regulator-min-microvolt = <750000>;
396                                 regulator-max-microvolt = <1500000>;
397                                 regulator-always-on;
398                                 regulator-boot-on;
399                                 op_mode = <1>; /* Normal Mode */
400                         };
401
402                         buck6_reg: BUCK6 {
403                                 regulator-name = "vdd12_5m";
404                                 regulator-min-microvolt = <750000>;
405                                 regulator-max-microvolt = <1500000>;
406                                 regulator-always-on;
407                                 regulator-boot-on;
408                                 op_mode = <1>; /* Normal Mode */
409                         };
410
411                         buck9_reg: BUCK9 {
412                                 regulator-name = "vddf28_emmc";
413                                 regulator-min-microvolt = <750000>;
414                                 regulator-max-microvolt = <3000000>;
415                                 regulator-always-on;
416                                 regulator-boot-on;
417                                 op_mode = <1>; /* Normal Mode */
418                         };
419                 };
420         };
421 };
422
423 &keypad {
424         samsung,keypad-num-rows = <3>;
425         samsung,keypad-num-columns = <2>;
426         linux,keypad-no-autorepeat;
427         wakeup-source;
428         pinctrl-0 = <&keypad_rows &keypad_cols>;
429         pinctrl-names = "default";
430         status = "okay";
431
432         key_home {
433                 keypad,row = <0>;
434                 keypad,column = <0>;
435                 linux,code = <KEY_HOME>;
436         };
437
438         key_down {
439                 keypad,row = <0>;
440                 keypad,column = <1>;
441                 linux,code = <KEY_DOWN>;
442         };
443
444         key_up {
445                 keypad,row = <1>;
446                 keypad,column = <0>;
447                 linux,code = <KEY_UP>;
448         };
449
450         key_menu {
451                 keypad,row = <1>;
452                 keypad,column = <1>;
453                 linux,code = <KEY_MENU>;
454         };
455
456         key_back {
457                 keypad,row = <2>;
458                 keypad,column = <0>;
459                 linux,code = <KEY_BACK>;
460         };
461
462         key_enter {
463                 keypad,row = <2>;
464                 keypad,column = <1>;
465                 linux,code = <KEY_ENTER>;
466         };
467 };
468
469 &mfc {
470         memory-region = <&mfc_left>, <&mfc_right>;
471         status = "okay";
472 };
473
474 &mshc_0 {
475         pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
476         pinctrl-names = "default";
477         status = "okay";
478
479         num-slots = <1>;
480         broken-cd;
481         card-detect-delay = <200>;
482         samsung,dw-mshc-ciu-div = <3>;
483         samsung,dw-mshc-sdr-timing = <2 3>;
484         samsung,dw-mshc-ddr-timing = <1 2>;
485         bus-width = <8>;
486         cap-mmc-highspeed;
487 };
488
489 &pinctrl_1 {
490         keypad_rows: keypad-rows {
491                 samsung,pins = "gpx2-0", "gpx2-1", "gpx2-2";
492                 samsung,pin-function = <3>;
493                 samsung,pin-pud = <3>;
494                 samsung,pin-drv = <0>;
495         };
496
497         keypad_cols: keypad-cols {
498                 samsung,pins = "gpx1-0", "gpx1-1";
499                 samsung,pin-function = <3>;
500                 samsung,pin-pud = <0>;
501                 samsung,pin-drv = <0>;
502         };
503 };
504
505 &rtc {
506         status = "okay";
507 };
508
509 &sdhci_2 {
510         bus-width = <4>;
511         pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>;
512         pinctrl-names = "default";
513         vmmc-supply = <&mmc_reg>;
514         status = "okay";
515 };
516
517 &serial_0 {
518         status = "okay";
519 };
520
521 &serial_1 {
522         status = "okay";
523 };
524
525 &serial_2 {
526         status = "okay";
527 };
528
529 &serial_3 {
530         status = "okay";
531 };
532
533 &watchdog {
534         status = "okay";
535 };