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