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