GNU Linux-libre 4.14.290-gnu1
[releases.git] / arch / arm / boot / dts / exynos4210-origen.dts
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 };