1/*
2 * Samsung's Exynos4210 based Origen board device tree source
3 *
4 * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
5 *		http://www.samsung.com
6 * Copyright (c) 2010-2011 Linaro Ltd.
7 *		www.linaro.org
8 *
9 * Device tree source file for Insignal's Origen board which is based on
10 * Samsung's Exynos4210 SoC.
11 *
12 * This program is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License version 2 as
14 * published by the Free Software Foundation.
15*/
16
17/dts-v1/;
18#include "exynos4210.dtsi"
19#include <dt-bindings/input/input.h>
20
21/ {
22	model = "Insignal Origen evaluation board based on Exynos4210";
23	compatible = "insignal,origen", "samsung,exynos4210", "samsung,exynos4";
24
25	memory {
26		reg = <0x40000000 0x10000000
27		       0x50000000 0x10000000
28		       0x60000000 0x10000000
29		       0x70000000 0x10000000>;
30	};
31
32	chosen {
33		bootargs ="root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC2,115200 init=/linuxrc";
34		stdout-path = &serial_2;
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	tmu@100C0000 {
62		status = "okay";
63	};
64
65	sdhci@12530000 {
66		bus-width = <4>;
67		pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>;
68		pinctrl-names = "default";
69		vmmc-supply = <&mmc_reg>;
70		status = "okay";
71	};
72
73	sdhci@12510000 {
74		bus-width = <4>;
75		pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_cd>;
76		pinctrl-names = "default";
77		vmmc-supply = <&mmc_reg>;
78		status = "okay";
79	};
80
81	g2d@12800000 {
82		status = "okay";
83	};
84
85	codec@13400000 {
86		samsung,mfc-r = <0x43000000 0x800000>;
87		samsung,mfc-l = <0x51000000 0x800000>;
88		status = "okay";
89	};
90
91	serial@13800000 {
92		status = "okay";
93	};
94
95	serial@13810000 {
96		status = "okay";
97	};
98
99	serial@13820000 {
100		status = "okay";
101	};
102
103	serial@13830000 {
104		status = "okay";
105	};
106
107	i2c@13860000 {
108		status = "okay";
109		samsung,i2c-sda-delay = <100>;
110		samsung,i2c-max-bus-freq = <20000>;
111		pinctrl-0 = <&i2c0_bus>;
112		pinctrl-names = "default";
113
114		max8997_pmic@66 {
115			compatible = "maxim,max8997-pmic";
116			reg = <0x66>;
117			interrupt-parent = <&gpx0>;
118			interrupts = <4 0>, <3 0>;
119
120			max8997,pmic-buck1-dvs-voltage = <1350000>;
121			max8997,pmic-buck2-dvs-voltage = <1100000>;
122			max8997,pmic-buck5-dvs-voltage = <1200000>;
123
124			regulators {
125				ldo1_reg: LDO1 {
126					regulator-name = "VDD_ABB_3.3V";
127					regulator-min-microvolt = <3300000>;
128					regulator-max-microvolt = <3300000>;
129				};
130
131				ldo2_reg: LDO2 {
132					regulator-name = "VDD_ALIVE_1.1V";
133					regulator-min-microvolt = <1100000>;
134					regulator-max-microvolt = <1100000>;
135					regulator-always-on;
136				};
137
138				ldo3_reg: LDO3 {
139					regulator-name = "VMIPI_1.1V";
140					regulator-min-microvolt = <1100000>;
141					regulator-max-microvolt = <1100000>;
142				};
143
144				ldo4_reg: LDO4 {
145					regulator-name = "VDD_RTC_1.8V";
146					regulator-min-microvolt = <1800000>;
147					regulator-max-microvolt	= <1800000>;
148					regulator-always-on;
149				};
150
151				ldo6_reg: LDO6 {
152					regulator-name = "VMIPI_1.8V";
153					regulator-min-microvolt = <1800000>;
154					regulator-max-microvolt	= <1800000>;
155					regulator-always-on;
156				};
157
158				ldo7_reg: LDO7 {
159					regulator-name = "VDD_AUD_1.8V";
160					regulator-min-microvolt = <1800000>;
161					regulator-max-microvolt	= <1800000>;
162				};
163
164				ldo8_reg: LDO8 {
165					regulator-name = "VADC_3.3V";
166					regulator-min-microvolt = <3300000>;
167					regulator-max-microvolt	= <3300000>;
168				};
169
170				ldo9_reg: LDO9 {
171					regulator-name = "DVDD_SWB_2.8V";
172					regulator-min-microvolt = <2800000>;
173					regulator-max-microvolt	= <2800000>;
174					regulator-always-on;
175				};
176
177				ldo10_reg: LDO10 {
178					regulator-name = "VDD_PLL_1.1V";
179					regulator-min-microvolt = <1100000>;
180					regulator-max-microvolt	= <1100000>;
181					regulator-always-on;
182				};
183
184				ldo11_reg: LDO11 {
185					regulator-name = "VDD_AUD_3V";
186					regulator-min-microvolt = <3000000>;
187					regulator-max-microvolt	= <3000000>;
188				};
189
190				ldo14_reg: LDO14 {
191					regulator-name = "AVDD18_SWB_1.8V";
192					regulator-min-microvolt = <1800000>;
193					regulator-max-microvolt	= <1800000>;
194					regulator-always-on;
195				};
196
197				ldo17_reg: LDO17 {
198					regulator-name = "VDD_SWB_3.3V";
199					regulator-min-microvolt = <3300000>;
200					regulator-max-microvolt	= <3300000>;
201					regulator-always-on;
202				};
203
204				ldo21_reg: LDO21 {
205					regulator-name = "VDD_MIF_1.2V";
206					regulator-min-microvolt = <1200000>;
207					regulator-max-microvolt	= <1200000>;
208					regulator-always-on;
209				};
210
211				buck1_reg: BUCK1 {
212					/*
213					* HACK: The real name is VDD_ARM_1.2V,
214					* but exynos-cpufreq does not support
215					* DT-based regulator lookup yet.
216					*/
217					regulator-name = "vdd_arm";
218					regulator-min-microvolt = <950000>;
219					regulator-max-microvolt	= <1350000>;
220					regulator-always-on;
221					regulator-boot-on;
222				};
223
224				buck2_reg: BUCK2 {
225					regulator-name = "VDD_INT_1.1V";
226					regulator-min-microvolt = <900000>;
227					regulator-max-microvolt	= <1100000>;
228					regulator-always-on;
229					regulator-boot-on;
230				};
231
232				buck3_reg: BUCK3 {
233					regulator-name = "VDD_G3D_1.1V";
234					regulator-min-microvolt = <900000>;
235					regulator-max-microvolt = <1100000>;
236				};
237
238				buck5_reg: BUCK5 {
239					regulator-name = "VDDQ_M1M2_1.2V";
240					regulator-min-microvolt = <1200000>;
241					regulator-max-microvolt = <1200000>;
242					regulator-always-on;
243				};
244
245				buck7_reg: BUCK7 {
246					regulator-name = "VDD_LCD_3.3V";
247					regulator-min-microvolt = <3300000>;
248					regulator-max-microvolt = <3300000>;
249					regulator-boot-on;
250					regulator-always-on;
251				};
252			};
253		};
254	};
255
256	gpio_keys {
257		compatible = "gpio-keys";
258		#address-cells = <1>;
259		#size-cells = <0>;
260
261		up {
262			label = "Up";
263			gpios = <&gpx2 0 1>;
264			linux,code = <KEY_UP>;
265			gpio-key,wakeup;
266		};
267
268		down {
269			label = "Down";
270			gpios = <&gpx2 1 1>;
271			linux,code = <KEY_DOWN>;
272			gpio-key,wakeup;
273		};
274
275		back {
276			label = "Back";
277			gpios = <&gpx1 7 1>;
278			linux,code = <KEY_BACK>;
279			gpio-key,wakeup;
280		};
281
282		home {
283			label = "Home";
284			gpios = <&gpx1 6 1>;
285			linux,code = <KEY_HOME>;
286			gpio-key,wakeup;
287		};
288
289		menu {
290			label = "Menu";
291			gpios = <&gpx1 5 1>;
292			linux,code = <KEY_MENU>;
293			gpio-key,wakeup;
294		};
295	};
296
297	leds {
298		compatible = "gpio-leds";
299		status {
300			gpios = <&gpx1 3 1>;
301			linux,default-trigger = "heartbeat";
302		};
303	};
304
305	fixed-rate-clocks {
306		xxti {
307			compatible = "samsung,clock-xxti";
308			clock-frequency = <0>;
309		};
310
311		xusbxti {
312			compatible = "samsung,clock-xusbxti";
313			clock-frequency = <24000000>;
314		};
315	};
316
317	fimd@11c00000 {
318		pinctrl-0 = <&lcd_en &lcd_clk &lcd_data24 &pwm0_out>;
319		pinctrl-names = "default";
320		status = "okay";
321	};
322
323	display-timings {
324		native-mode = <&timing0>;
325		timing0: timing {
326			clock-frequency = <47500000>;
327			hactive = <1024>;
328			vactive = <600>;
329			hfront-porch = <64>;
330			hback-porch = <16>;
331			hsync-len = <48>;
332			vback-porch = <64>;
333			vfront-porch = <16>;
334			vsync-len = <3>;
335		};
336	};
337};
338