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