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