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