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