1279377Simp/*
2279377Simp * Samsung's Exynos4210 based Origen board device tree source
3279377Simp *
4279377Simp * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
5279377Simp *		http://www.samsung.com
6279377Simp * Copyright (c) 2010-2011 Linaro Ltd.
7279377Simp *		www.linaro.org
8279377Simp *
9279377Simp * Device tree source file for Insignal's Origen board which is based on
10279377Simp * Samsung's Exynos4210 SoC.
11279377Simp *
12279377Simp * This program is free software; you can redistribute it and/or modify
13279377Simp * it under the terms of the GNU General Public License version 2 as
14279377Simp * published by the Free Software Foundation.
15279377Simp*/
16279377Simp
17279377Simp/dts-v1/;
18279377Simp#include "exynos4210.dtsi"
19295436Sandrew#include <dt-bindings/gpio/gpio.h>
20279377Simp#include <dt-bindings/input/input.h>
21279377Simp
22279377Simp/ {
23279377Simp	model = "Insignal Origen evaluation board based on Exynos4210";
24279377Simp	compatible = "insignal,origen", "samsung,exynos4210", "samsung,exynos4";
25279377Simp
26279377Simp	memory {
27279377Simp		reg = <0x40000000 0x10000000
28279377Simp		       0x50000000 0x10000000
29279377Simp		       0x60000000 0x10000000
30279377Simp		       0x70000000 0x10000000>;
31279377Simp	};
32279377Simp
33279377Simp	chosen {
34279377Simp		bootargs ="root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC2,115200 init=/linuxrc";
35279377Simp		stdout-path = &serial_2;
36279377Simp	};
37279377Simp
38279377Simp	regulators {
39279377Simp		compatible = "simple-bus";
40279377Simp		#address-cells = <1>;
41279377Simp		#size-cells = <0>;
42279377Simp
43279377Simp		mmc_reg: regulator@0 {
44279377Simp			compatible = "regulator-fixed";
45279377Simp			reg = <0>;
46279377Simp			regulator-name = "VMEM_VDD_2.8V";
47279377Simp			regulator-min-microvolt = <2800000>;
48279377Simp			regulator-max-microvolt = <2800000>;
49295436Sandrew			gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>;
50279377Simp			enable-active-high;
51279377Simp		};
52279377Simp	};
53279377Simp
54279377Simp	gpio_keys {
55279377Simp		compatible = "gpio-keys";
56279377Simp		#address-cells = <1>;
57279377Simp		#size-cells = <0>;
58279377Simp
59279377Simp		up {
60279377Simp			label = "Up";
61295436Sandrew			gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
62279377Simp			linux,code = <KEY_UP>;
63279377Simp			gpio-key,wakeup;
64279377Simp		};
65279377Simp
66279377Simp		down {
67279377Simp			label = "Down";
68295436Sandrew			gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
69279377Simp			linux,code = <KEY_DOWN>;
70279377Simp			gpio-key,wakeup;
71279377Simp		};
72279377Simp
73279377Simp		back {
74279377Simp			label = "Back";
75295436Sandrew			gpios = <&gpx1 7 GPIO_ACTIVE_LOW>;
76279377Simp			linux,code = <KEY_BACK>;
77279377Simp			gpio-key,wakeup;
78279377Simp		};
79279377Simp
80279377Simp		home {
81279377Simp			label = "Home";
82295436Sandrew			gpios = <&gpx1 6 GPIO_ACTIVE_LOW>;
83279377Simp			linux,code = <KEY_HOME>;
84279377Simp			gpio-key,wakeup;
85279377Simp		};
86279377Simp
87279377Simp		menu {
88279377Simp			label = "Menu";
89295436Sandrew			gpios = <&gpx1 5 GPIO_ACTIVE_LOW>;
90279377Simp			linux,code = <KEY_MENU>;
91279377Simp			gpio-key,wakeup;
92279377Simp		};
93279377Simp	};
94279377Simp
95279377Simp	leds {
96279377Simp		compatible = "gpio-leds";
97279377Simp		status {
98295436Sandrew			gpios = <&gpx1 3 GPIO_ACTIVE_LOW>;
99279377Simp			linux,default-trigger = "heartbeat";
100279377Simp		};
101279377Simp	};
102279377Simp
103279377Simp	fixed-rate-clocks {
104279377Simp		xxti {
105279377Simp			compatible = "samsung,clock-xxti";
106279377Simp			clock-frequency = <0>;
107279377Simp		};
108279377Simp
109279377Simp		xusbxti {
110279377Simp			compatible = "samsung,clock-xusbxti";
111279377Simp			clock-frequency = <24000000>;
112279377Simp		};
113279377Simp	};
114279377Simp
115279377Simp	display-timings {
116279377Simp		native-mode = <&timing0>;
117279377Simp		timing0: timing {
118279377Simp			clock-frequency = <47500000>;
119279377Simp			hactive = <1024>;
120279377Simp			vactive = <600>;
121279377Simp			hfront-porch = <64>;
122279377Simp			hback-porch = <16>;
123279377Simp			hsync-len = <48>;
124279377Simp			vback-porch = <64>;
125279377Simp			vfront-porch = <16>;
126279377Simp			vsync-len = <3>;
127279377Simp		};
128279377Simp	};
129279377Simp};
130295436Sandrew
131295436Sandrew&cpu0 {
132295436Sandrew	cpu0-supply = <&buck1_reg>;
133295436Sandrew};
134295436Sandrew
135295436Sandrew&fimd {
136295436Sandrew	pinctrl-0 = <&lcd_en &lcd_clk &lcd_data24 &pwm0_out>;
137295436Sandrew	pinctrl-names = "default";
138295436Sandrew	status = "okay";
139295436Sandrew};
140295436Sandrew
141295436Sandrew&i2c_0 {
142295436Sandrew	status = "okay";
143295436Sandrew	samsung,i2c-sda-delay = <100>;
144295436Sandrew	samsung,i2c-max-bus-freq = <20000>;
145295436Sandrew	pinctrl-0 = <&i2c0_bus>;
146295436Sandrew	pinctrl-names = "default";
147295436Sandrew
148295436Sandrew	max8997_pmic@66 {
149295436Sandrew		compatible = "maxim,max8997-pmic";
150295436Sandrew		reg = <0x66>;
151295436Sandrew		interrupt-parent = <&gpx0>;
152295436Sandrew		interrupts = <4 0>, <3 0>;
153295436Sandrew
154295436Sandrew		max8997,pmic-buck1-dvs-voltage = <1350000>;
155295436Sandrew		max8997,pmic-buck2-dvs-voltage = <1100000>;
156295436Sandrew		max8997,pmic-buck5-dvs-voltage = <1200000>;
157295436Sandrew
158295436Sandrew		regulators {
159295436Sandrew			ldo1_reg: LDO1 {
160295436Sandrew				regulator-name = "VDD_ABB_3.3V";
161295436Sandrew				regulator-min-microvolt = <3300000>;
162295436Sandrew				regulator-max-microvolt = <3300000>;
163295436Sandrew			};
164295436Sandrew
165295436Sandrew			ldo2_reg: LDO2 {
166295436Sandrew				regulator-name = "VDD_ALIVE_1.1V";
167295436Sandrew				regulator-min-microvolt = <1100000>;
168295436Sandrew				regulator-max-microvolt = <1100000>;
169295436Sandrew				regulator-always-on;
170295436Sandrew			};
171295436Sandrew
172295436Sandrew			ldo3_reg: LDO3 {
173295436Sandrew				regulator-name = "VMIPI_1.1V";
174295436Sandrew				regulator-min-microvolt = <1100000>;
175295436Sandrew				regulator-max-microvolt = <1100000>;
176295436Sandrew			};
177295436Sandrew
178295436Sandrew			ldo4_reg: LDO4 {
179295436Sandrew				regulator-name = "VDD_RTC_1.8V";
180295436Sandrew				regulator-min-microvolt = <1800000>;
181295436Sandrew				regulator-max-microvolt	= <1800000>;
182295436Sandrew				regulator-always-on;
183295436Sandrew			};
184295436Sandrew
185295436Sandrew			ldo6_reg: LDO6 {
186295436Sandrew				regulator-name = "VMIPI_1.8V";
187295436Sandrew				regulator-min-microvolt = <1800000>;
188295436Sandrew				regulator-max-microvolt	= <1800000>;
189295436Sandrew				regulator-always-on;
190295436Sandrew			};
191295436Sandrew
192295436Sandrew			ldo7_reg: LDO7 {
193295436Sandrew				regulator-name = "VDD_AUD_1.8V";
194295436Sandrew				regulator-min-microvolt = <1800000>;
195295436Sandrew				regulator-max-microvolt	= <1800000>;
196295436Sandrew			};
197295436Sandrew
198295436Sandrew			ldo8_reg: LDO8 {
199295436Sandrew				regulator-name = "VADC_3.3V";
200295436Sandrew				regulator-min-microvolt = <3300000>;
201295436Sandrew				regulator-max-microvolt	= <3300000>;
202295436Sandrew			};
203295436Sandrew
204295436Sandrew			ldo9_reg: LDO9 {
205295436Sandrew				regulator-name = "DVDD_SWB_2.8V";
206295436Sandrew				regulator-min-microvolt = <2800000>;
207295436Sandrew				regulator-max-microvolt	= <2800000>;
208295436Sandrew				regulator-always-on;
209295436Sandrew			};
210295436Sandrew
211295436Sandrew			ldo10_reg: LDO10 {
212295436Sandrew				regulator-name = "VDD_PLL_1.1V";
213295436Sandrew				regulator-min-microvolt = <1100000>;
214295436Sandrew				regulator-max-microvolt	= <1100000>;
215295436Sandrew				regulator-always-on;
216295436Sandrew			};
217295436Sandrew
218295436Sandrew			ldo11_reg: LDO11 {
219295436Sandrew				regulator-name = "VDD_AUD_3V";
220295436Sandrew				regulator-min-microvolt = <3000000>;
221295436Sandrew				regulator-max-microvolt	= <3000000>;
222295436Sandrew			};
223295436Sandrew
224295436Sandrew			ldo14_reg: LDO14 {
225295436Sandrew				regulator-name = "AVDD18_SWB_1.8V";
226295436Sandrew				regulator-min-microvolt = <1800000>;
227295436Sandrew				regulator-max-microvolt	= <1800000>;
228295436Sandrew				regulator-always-on;
229295436Sandrew			};
230295436Sandrew
231295436Sandrew			ldo17_reg: LDO17 {
232295436Sandrew				regulator-name = "VDD_SWB_3.3V";
233295436Sandrew				regulator-min-microvolt = <3300000>;
234295436Sandrew				regulator-max-microvolt	= <3300000>;
235295436Sandrew				regulator-always-on;
236295436Sandrew			};
237295436Sandrew
238295436Sandrew			ldo21_reg: LDO21 {
239295436Sandrew				regulator-name = "VDD_MIF_1.2V";
240295436Sandrew				regulator-min-microvolt = <1200000>;
241295436Sandrew				regulator-max-microvolt	= <1200000>;
242295436Sandrew				regulator-always-on;
243295436Sandrew			};
244295436Sandrew
245295436Sandrew			buck1_reg: BUCK1 {
246295436Sandrew				/*
247295436Sandrew				* HACK: The real name is VDD_ARM_1.2V,
248295436Sandrew				* but exynos-cpufreq does not support
249295436Sandrew				* DT-based regulator lookup yet.
250295436Sandrew				*/
251295436Sandrew				regulator-name = "vdd_arm";
252295436Sandrew				regulator-min-microvolt = <950000>;
253295436Sandrew				regulator-max-microvolt	= <1350000>;
254295436Sandrew				regulator-always-on;
255295436Sandrew				regulator-boot-on;
256295436Sandrew			};
257295436Sandrew
258295436Sandrew			buck2_reg: BUCK2 {
259295436Sandrew				regulator-name = "VDD_INT_1.1V";
260295436Sandrew				regulator-min-microvolt = <900000>;
261295436Sandrew				regulator-max-microvolt	= <1100000>;
262295436Sandrew				regulator-always-on;
263295436Sandrew				regulator-boot-on;
264295436Sandrew			};
265295436Sandrew
266295436Sandrew			buck3_reg: BUCK3 {
267295436Sandrew				regulator-name = "VDD_G3D_1.1V";
268295436Sandrew				regulator-min-microvolt = <900000>;
269295436Sandrew				regulator-max-microvolt = <1100000>;
270295436Sandrew			};
271295436Sandrew
272295436Sandrew			buck5_reg: BUCK5 {
273295436Sandrew				regulator-name = "VDDQ_M1M2_1.2V";
274295436Sandrew				regulator-min-microvolt = <1200000>;
275295436Sandrew				regulator-max-microvolt = <1200000>;
276295436Sandrew				regulator-always-on;
277295436Sandrew			};
278295436Sandrew
279295436Sandrew			buck7_reg: BUCK7 {
280295436Sandrew				regulator-name = "VDD_LCD_3.3V";
281295436Sandrew				regulator-min-microvolt = <3300000>;
282295436Sandrew				regulator-max-microvolt = <3300000>;
283295436Sandrew				regulator-boot-on;
284295436Sandrew				regulator-always-on;
285295436Sandrew			};
286295436Sandrew		};
287295436Sandrew	};
288295436Sandrew};
289295436Sandrew
290295436Sandrew&mfc {
291295436Sandrew	samsung,mfc-r = <0x43000000 0x800000>;
292295436Sandrew	samsung,mfc-l = <0x51000000 0x800000>;
293295436Sandrew	status = "okay";
294295436Sandrew};
295295436Sandrew
296295436Sandrew&sdhci_0 {
297295436Sandrew	bus-width = <4>;
298295436Sandrew	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_cd>;
299295436Sandrew	pinctrl-names = "default";
300295436Sandrew	vmmc-supply = <&mmc_reg>;
301295436Sandrew	status = "okay";
302295436Sandrew};
303295436Sandrew
304295436Sandrew&sdhci_2 {
305295436Sandrew	bus-width = <4>;
306295436Sandrew	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>;
307295436Sandrew	pinctrl-names = "default";
308295436Sandrew	vmmc-supply = <&mmc_reg>;
309295436Sandrew	status = "okay";
310295436Sandrew};
311295436Sandrew
312295436Sandrew&serial_0 {
313295436Sandrew	status = "okay";
314295436Sandrew};
315295436Sandrew
316295436Sandrew&serial_1 {
317295436Sandrew	status = "okay";
318295436Sandrew};
319295436Sandrew
320295436Sandrew&serial_2 {
321295436Sandrew	status = "okay";
322295436Sandrew};
323295436Sandrew
324295436Sandrew&serial_3 {
325295436Sandrew	status = "okay";
326295436Sandrew};
327295436Sandrew
328295436Sandrew&rtc {
329295436Sandrew	status = "okay";
330295436Sandrew};
331295436Sandrew
332295436Sandrew&tmu {
333295436Sandrew	status = "okay";
334295436Sandrew};
335295436Sandrew
336295436Sandrew&watchdog {
337295436Sandrew	status = "okay";
338295436Sandrew};
339