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