blob: a2c6a13fe67bb69bac6465346fa32f6ffd0bb88a [file] [log] [blame]
Thomas Abraham0561cea2011-11-02 19:31:15 +09001/*
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/;
Padmavathi Venna37992792013-06-18 00:02:08 +090018#include "exynos4210.dtsi"
Javier Martinez Canillas39c1c412015-10-08 07:39:58 +090019#include <dt-bindings/gpio/gpio.h>
Sachin Kamat2d7a5bd2014-05-28 00:56:16 +090020#include <dt-bindings/input/input.h>
Marek Szyprowski8b9ac7e2016-05-24 15:31:29 +020021#include "exynos-mfc-reserved-memory.dtsi"
Thomas Abraham0561cea2011-11-02 19:31:15 +090022
23/ {
24 model = "Insignal Origen evaluation board based on Exynos4210";
Sachin Kamat8bdb31b2014-03-21 02:17:22 +090025 compatible = "insignal,origen", "samsung,exynos4210", "samsung,exynos4";
Thomas Abraham0561cea2011-11-02 19:31:15 +090026
Javier Martinez Canillas824e4132016-09-01 11:06:55 +020027 memory@40000000 {
Javier Martinez Canillas13548352016-09-01 11:06:52 +020028 device_type = "memory";
Tomasz Figa49ed67a42012-11-22 00:15:40 +090029 reg = <0x40000000 0x10000000
30 0x50000000 0x10000000
31 0x60000000 0x10000000
32 0x70000000 0x10000000>;
Thomas Abraham0561cea2011-11-02 19:31:15 +090033 };
34
35 chosen {
36 bootargs ="root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC2,115200 init=/linuxrc";
Tomasz Figa62d38092015-01-23 14:47:42 +010037 stdout-path = &serial_2;
Thomas Abraham0561cea2011-11-02 19:31:15 +090038 };
39
Sachin Kamataf617c92013-10-06 09:20:59 +090040 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>;
Javier Martinez Canillas39c1c412015-10-08 07:39:58 +090051 gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>;
Sachin Kamataf617c92013-10-06 09:20:59 +090052 enable-active-high;
53 };
Tomasz Figacf7c3972012-11-22 00:15:40 +090054 };
55
Thomas Abraham0561cea2011-11-02 19:31:15 +090056 gpio_keys {
57 compatible = "gpio-keys";
58 #address-cells = <1>;
59 #size-cells = <0>;
60
61 up {
62 label = "Up";
Javier Martinez Canillas39c1c412015-10-08 07:39:58 +090063 gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
Sachin Kamat2d7a5bd2014-05-28 00:56:16 +090064 linux,code = <KEY_UP>;
Sudeep Holla36a02822016-01-28 15:59:58 +000065 wakeup-source;
Thomas Abraham0561cea2011-11-02 19:31:15 +090066 };
67
68 down {
69 label = "Down";
Javier Martinez Canillas39c1c412015-10-08 07:39:58 +090070 gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
Sachin Kamat2d7a5bd2014-05-28 00:56:16 +090071 linux,code = <KEY_DOWN>;
Sudeep Holla36a02822016-01-28 15:59:58 +000072 wakeup-source;
Thomas Abraham0561cea2011-11-02 19:31:15 +090073 };
74
75 back {
76 label = "Back";
Javier Martinez Canillas39c1c412015-10-08 07:39:58 +090077 gpios = <&gpx1 7 GPIO_ACTIVE_LOW>;
Sachin Kamat2d7a5bd2014-05-28 00:56:16 +090078 linux,code = <KEY_BACK>;
Sudeep Holla36a02822016-01-28 15:59:58 +000079 wakeup-source;
Thomas Abraham0561cea2011-11-02 19:31:15 +090080 };
81
82 home {
83 label = "Home";
Javier Martinez Canillas39c1c412015-10-08 07:39:58 +090084 gpios = <&gpx1 6 GPIO_ACTIVE_LOW>;
Sachin Kamat2d7a5bd2014-05-28 00:56:16 +090085 linux,code = <KEY_HOME>;
Sudeep Holla36a02822016-01-28 15:59:58 +000086 wakeup-source;
Thomas Abraham0561cea2011-11-02 19:31:15 +090087 };
88
89 menu {
90 label = "Menu";
Javier Martinez Canillas39c1c412015-10-08 07:39:58 +090091 gpios = <&gpx1 5 GPIO_ACTIVE_LOW>;
Sachin Kamat2d7a5bd2014-05-28 00:56:16 +090092 linux,code = <KEY_MENU>;
Sudeep Holla36a02822016-01-28 15:59:58 +000093 wakeup-source;
Thomas Abraham0561cea2011-11-02 19:31:15 +090094 };
95 };
96
Sachin Kamat162b1722012-09-08 10:09:03 +090097 leds {
98 compatible = "gpio-leds";
99 status {
Javier Martinez Canillas39c1c412015-10-08 07:39:58 +0900100 gpios = <&gpx1 3 GPIO_ACTIVE_LOW>;
Sachin Kamat162b1722012-09-08 10:09:03 +0900101 linux,default-trigger = "heartbeat";
102 };
103 };
Thomas Abraham8b6076d2013-03-09 17:19:22 +0900104
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 };
Sachin Kamat7c1a26a2013-06-19 00:41:51 +0900116
Sachin Kamat7c1a26a2013-06-19 00:41:51 +0900117 display-timings {
118 native-mode = <&timing0>;
119 timing0: timing {
Tushar Behera67ddd052013-12-12 07:45:07 +0900120 clock-frequency = <47500000>;
Sachin Kamat7c1a26a2013-06-19 00:41:51 +0900121 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 };
Thomas Abraham0561cea2011-11-02 19:31:15 +0900131};
Krzysztof Kozlowski165d6582015-04-06 21:00:44 +0200132
Thomas Abraham300bde72015-04-03 18:43:47 +0200133&cpu0 {
134 cpu0-supply = <&buck1_reg>;
135};
136
Krzysztof Kozlowski165d6582015-04-06 21:00:44 +0200137&fimd {
138 pinctrl-0 = <&lcd_en &lcd_clk &lcd_data24 &pwm0_out>;
139 pinctrl-names = "default";
140 status = "okay";
141};
142
Krzysztof Kozlowski165d6582015-04-06 21:00:44 +0200143&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 0>, <3 0>;
155
156 max8997,pmic-buck1-dvs-voltage = <1350000>;
157 max8997,pmic-buck2-dvs-voltage = <1100000>;
158 max8997,pmic-buck5-dvs-voltage = <1200000>;
159
160 regulators {
161 ldo1_reg: LDO1 {
162 regulator-name = "VDD_ABB_3.3V";
163 regulator-min-microvolt = <3300000>;
164 regulator-max-microvolt = <3300000>;
165 };
166
167 ldo2_reg: LDO2 {
168 regulator-name = "VDD_ALIVE_1.1V";
169 regulator-min-microvolt = <1100000>;
170 regulator-max-microvolt = <1100000>;
171 regulator-always-on;
172 };
173
174 ldo3_reg: LDO3 {
175 regulator-name = "VMIPI_1.1V";
176 regulator-min-microvolt = <1100000>;
177 regulator-max-microvolt = <1100000>;
178 };
179
180 ldo4_reg: LDO4 {
181 regulator-name = "VDD_RTC_1.8V";
182 regulator-min-microvolt = <1800000>;
183 regulator-max-microvolt = <1800000>;
184 regulator-always-on;
185 };
186
187 ldo6_reg: LDO6 {
188 regulator-name = "VMIPI_1.8V";
189 regulator-min-microvolt = <1800000>;
190 regulator-max-microvolt = <1800000>;
191 regulator-always-on;
192 };
193
194 ldo7_reg: LDO7 {
195 regulator-name = "VDD_AUD_1.8V";
196 regulator-min-microvolt = <1800000>;
197 regulator-max-microvolt = <1800000>;
198 };
199
200 ldo8_reg: LDO8 {
201 regulator-name = "VADC_3.3V";
202 regulator-min-microvolt = <3300000>;
203 regulator-max-microvolt = <3300000>;
204 };
205
206 ldo9_reg: LDO9 {
207 regulator-name = "DVDD_SWB_2.8V";
208 regulator-min-microvolt = <2800000>;
209 regulator-max-microvolt = <2800000>;
210 regulator-always-on;
211 };
212
213 ldo10_reg: LDO10 {
214 regulator-name = "VDD_PLL_1.1V";
215 regulator-min-microvolt = <1100000>;
216 regulator-max-microvolt = <1100000>;
217 regulator-always-on;
218 };
219
220 ldo11_reg: LDO11 {
221 regulator-name = "VDD_AUD_3V";
222 regulator-min-microvolt = <3000000>;
223 regulator-max-microvolt = <3000000>;
224 };
225
226 ldo14_reg: LDO14 {
227 regulator-name = "AVDD18_SWB_1.8V";
228 regulator-min-microvolt = <1800000>;
229 regulator-max-microvolt = <1800000>;
230 regulator-always-on;
231 };
232
233 ldo17_reg: LDO17 {
234 regulator-name = "VDD_SWB_3.3V";
235 regulator-min-microvolt = <3300000>;
236 regulator-max-microvolt = <3300000>;
237 regulator-always-on;
238 };
239
240 ldo21_reg: LDO21 {
241 regulator-name = "VDD_MIF_1.2V";
242 regulator-min-microvolt = <1200000>;
243 regulator-max-microvolt = <1200000>;
244 regulator-always-on;
245 };
246
247 buck1_reg: BUCK1 {
248 /*
249 * HACK: The real name is VDD_ARM_1.2V,
250 * but exynos-cpufreq does not support
251 * DT-based regulator lookup yet.
252 */
253 regulator-name = "vdd_arm";
254 regulator-min-microvolt = <950000>;
255 regulator-max-microvolt = <1350000>;
256 regulator-always-on;
257 regulator-boot-on;
258 };
259
260 buck2_reg: BUCK2 {
261 regulator-name = "VDD_INT_1.1V";
262 regulator-min-microvolt = <900000>;
263 regulator-max-microvolt = <1100000>;
264 regulator-always-on;
265 regulator-boot-on;
266 };
267
268 buck3_reg: BUCK3 {
269 regulator-name = "VDD_G3D_1.1V";
270 regulator-min-microvolt = <900000>;
271 regulator-max-microvolt = <1100000>;
272 };
273
274 buck5_reg: BUCK5 {
275 regulator-name = "VDDQ_M1M2_1.2V";
276 regulator-min-microvolt = <1200000>;
277 regulator-max-microvolt = <1200000>;
278 regulator-always-on;
279 };
280
281 buck7_reg: BUCK7 {
282 regulator-name = "VDD_LCD_3.3V";
283 regulator-min-microvolt = <3300000>;
284 regulator-max-microvolt = <3300000>;
285 regulator-boot-on;
286 regulator-always-on;
287 };
288 };
289 };
290};
291
Krzysztof Kozlowski165d6582015-04-06 21:00:44 +0200292&sdhci_0 {
293 bus-width = <4>;
294 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_cd>;
295 pinctrl-names = "default";
296 vmmc-supply = <&mmc_reg>;
297 status = "okay";
298};
299
300&sdhci_2 {
301 bus-width = <4>;
302 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>;
303 pinctrl-names = "default";
304 vmmc-supply = <&mmc_reg>;
305 status = "okay";
306};
307
308&serial_0 {
309 status = "okay";
310};
311
312&serial_1 {
313 status = "okay";
314};
315
316&serial_2 {
317 status = "okay";
318};
319
320&serial_3 {
321 status = "okay";
322};
323
324&rtc {
325 status = "okay";
326};
327
328&tmu {
329 status = "okay";
330};
331
332&watchdog {
333 status = "okay";
334};