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