Merge branch 'work.splice_read' of git://git.kernel.org/pub/scm/linux/kernel/git...
[cascardo/linux.git] / arch / arm / boot / dts / exynos5420-arndale-octa.dts
1 /*
2  * Samsung's Exynos5420 based Arndale Octa board device tree source
3  *
4  * Copyright (c) 2013 Samsung Electronics Co., Ltd.
5  *              http://www.samsung.com
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License version 2 as
9  * published by the Free Software Foundation.
10 */
11
12 /dts-v1/;
13 #include "exynos5420.dtsi"
14 #include "exynos5420-cpus.dtsi"
15 #include <dt-bindings/gpio/gpio.h>
16 #include <dt-bindings/interrupt-controller/irq.h>
17 #include <dt-bindings/input/input.h>
18 #include <dt-bindings/clock/samsung,s2mps11.h>
19 #include "exynos-mfc-reserved-memory.dtsi"
20
21 / {
22         model = "Insignal Arndale Octa evaluation board based on EXYNOS5420";
23         compatible = "insignal,arndale-octa", "samsung,exynos5420", "samsung,exynos5";
24
25         memory@20000000 {
26                 device_type = "memory";
27                 reg = <0x20000000 0x80000000>;
28         };
29
30         chosen {
31                 bootargs = "console=ttySAC3,115200";
32         };
33
34         firmware@02073000 {
35                 compatible = "samsung,secure-firmware";
36                 reg = <0x02073000 0x1000>;
37         };
38
39         fixed-rate-clocks {
40                 oscclk {
41                         compatible = "samsung,exynos5420-oscclk";
42                         clock-frequency = <24000000>;
43                 };
44         };
45
46         gpio_keys {
47                 compatible = "gpio-keys";
48
49                 wakeup {
50                         label = "SW-TACT1";
51                         gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
52                         linux,code = <KEY_WAKEUP>;
53                         wakeup-source;
54                 };
55         };
56 };
57
58 &cpu0 {
59         cpu-supply = <&buck2_reg>;
60 };
61
62 &cpu4 {
63         cpu-supply = <&buck6_reg>;
64 };
65
66 &usbdrd_dwc3_1 {
67         dr_mode = "host";
68 };
69
70 &cci {
71         status = "disabled";
72 };
73
74 &hdmi {
75         hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
76         vdd_osc-supply = <&ldo7_reg>;
77         vdd_pll-supply = <&ldo6_reg>;
78         vdd-supply = <&ldo6_reg>;
79         ddc = <&i2c_2>;
80         status = "okay";
81 };
82
83 &hsi2c_4 {
84         status = "okay";
85
86         s2mps11_pmic@66 {
87                 compatible = "samsung,s2mps11-pmic";
88                 reg = <0x66>;
89
90                 interrupt-parent = <&gpx3>;
91                 interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
92                 pinctrl-names = "default";
93                 pinctrl-0 = <&s2mps11_irq>;
94
95                 s2mps11_osc: clocks {
96                         #clock-cells = <1>;
97                         clock-output-names = "s2mps11_ap",
98                                         "s2mps11_cp", "s2mps11_bt";
99                 };
100
101                 regulators {
102                         ldo1_reg: LDO1 {
103                                 regulator-name = "PVDD_ALIVE_1V0";
104                                 regulator-min-microvolt = <1000000>;
105                                 regulator-max-microvolt = <1000000>;
106                                 regulator-always-on;
107                         };
108
109                         ldo2_reg: LDO2 {
110                                 regulator-name = "PVDD_APIO_1V8";
111                                 regulator-min-microvolt = <1800000>;
112                                 regulator-max-microvolt = <1800000>;
113                         };
114
115                         ldo3_reg: LDO3 {
116                                 regulator-name = "PVDD_APIO_MMCON_1V8";
117                                 regulator-min-microvolt = <1800000>;
118                                 regulator-max-microvolt = <1800000>;
119                                 regulator-always-on;
120                         };
121
122                         ldo4_reg: LDO4 {
123                                 regulator-name = "PVDD_ADC_1V8";
124                                 regulator-min-microvolt = <1800000>;
125                                 regulator-max-microvolt = <1800000>;
126                         };
127
128                         ldo5_reg: LDO5 {
129                                 regulator-name = "PVDD_PLL_1V8";
130                                 regulator-min-microvolt = <1800000>;
131                                 regulator-max-microvolt = <1800000>;
132                                 regulator-always-on;
133                         };
134
135                         ldo6_reg: LDO6 {
136                                 regulator-name = "PVDD_ANAIP_1V0";
137                                 regulator-min-microvolt = <1000000>;
138                                 regulator-max-microvolt = <1000000>;
139                         };
140
141                         ldo7_reg: LDO7 {
142                                 regulator-name = "PVDD_ANAIP_1V8";
143                                 regulator-min-microvolt = <1800000>;
144                                 regulator-max-microvolt = <1800000>;
145                         };
146
147                         ldo8_reg: LDO8 {
148                                 regulator-name = "PVDD_ABB_1V8";
149                                 regulator-min-microvolt = <1800000>;
150                                 regulator-max-microvolt = <1800000>;
151                         };
152
153                         ldo9_reg: LDO9 {
154                                 regulator-name = "PVDD_USB_3V3";
155                                 regulator-min-microvolt = <3000000>;
156                                 regulator-max-microvolt = <3000000>;
157                                 regulator-always-on;
158                         };
159
160                         ldo10_reg: LDO10 {
161                                 regulator-name = "PVDD_PRE_1V8";
162                                 regulator-min-microvolt = <1800000>;
163                                 regulator-max-microvolt = <1800000>;
164                                 regulator-always-on;
165                         };
166
167                         ldo11_reg: LDO11 {
168                                 regulator-name = "PVDD_USB_1V0";
169                                 regulator-min-microvolt = <1000000>;
170                                 regulator-max-microvolt = <1000000>;
171                                 regulator-always-on;
172                         };
173
174                         ldo12_reg: LDO12 {
175                                 regulator-name = "PVDD_HSIC_1V8";
176                                 regulator-min-microvolt = <1800000>;
177                                 regulator-max-microvolt = <1800000>;
178                         };
179
180                         ldo13_reg: LDO13 {
181                                 regulator-name = "PVDD_APIO_MMCOFF_2V8";
182                                 regulator-min-microvolt = <2800000>;
183                                 regulator-max-microvolt = <2800000>;
184                         };
185
186                         ldo15_reg: LDO15 {
187                                 regulator-name = "PVDD_PERI_2V8";
188                                 regulator-min-microvolt = <3300000>;
189                                 regulator-max-microvolt = <3300000>;
190                         };
191
192                         ldo16_reg: LDO16 {
193                                 regulator-name = "PVDD_PERI_3V3";
194                                 regulator-min-microvolt = <2200000>;
195                                 regulator-max-microvolt = <2200000>;
196                         };
197
198                         ldo18_reg: LDO18 {
199                                 regulator-name = "PVDD_EMMC_1V8";
200                                 regulator-min-microvolt = <1800000>;
201                                 regulator-max-microvolt = <1800000>;
202                         };
203
204                         ldo19_reg: LDO19 {
205                                 regulator-name = "PVDD_TFLASH_2V8";
206                                 regulator-min-microvolt = <2800000>;
207                                 regulator-max-microvolt = <2800000>;
208                         };
209
210                         ldo20_reg: LDO20 {
211                                 regulator-name = "PVDD_BTWIFI_1V8";
212                                 regulator-min-microvolt = <1800000>;
213                                 regulator-max-microvolt = <1800000>;
214                         };
215
216                         ldo21_reg: LDO21 {
217                                 regulator-name = "PVDD_CAM1IO_1V8";
218                                 regulator-min-microvolt = <1800000>;
219                                 regulator-max-microvolt = <1800000>;
220                         };
221
222                         ldo23_reg: LDO23 {
223                                 regulator-name = "PVDD_MIFS_1V1";
224                                 regulator-min-microvolt = <1200000>;
225                                 regulator-max-microvolt = <1200000>;
226                                 regulator-always-on;
227                         };
228
229                         ldo24_reg: LDO24 {
230                                 regulator-name = "PVDD_CAM1_AVDD_2V8";
231                                 regulator-min-microvolt = <2800000>;
232                                 regulator-max-microvolt = <2800000>;
233                         };
234
235                         ldo26_reg: LDO26 {
236                                 regulator-name = "PVDD_CAM0_AF_2V8";
237                                 regulator-min-microvolt = <3000000>;
238                                 regulator-max-microvolt = <3000000>;
239                         };
240
241                         ldo27_reg: LDO27 {
242                                 regulator-name = "PVDD_G3DS_1V0";
243                                 regulator-min-microvolt = <1200000>;
244                                 regulator-max-microvolt = <1200000>;
245                         };
246
247                         ldo28_reg: LDO28 {
248                                 regulator-name = "PVDD_TSP_3V3";
249                                 regulator-min-microvolt = <3300000>;
250                                 regulator-max-microvolt = <3300000>;
251                         };
252
253                         ldo29_reg: LDO29 {
254                                 regulator-name = "PVDD_AUDIO_1V8";
255                                 regulator-min-microvolt = <1800000>;
256                                 regulator-max-microvolt = <1800000>;
257                         };
258
259                         ldo31_reg: LDO31 {
260                                 regulator-name = "PVDD_PERI_1V8";
261                                 regulator-min-microvolt = <1800000>;
262                                 regulator-max-microvolt = <1800000>;
263                         };
264
265                         ldo32_reg: LDO32 {
266                                 regulator-name = "PVDD_LCD_1V8";
267                                 regulator-min-microvolt = <1800000>;
268                                 regulator-max-microvolt = <1800000>;
269                         };
270
271                         ldo33_reg: LDO33 {
272                                 regulator-name = "PVDD_CAM0IO_1V8";
273                                 regulator-min-microvolt = <1800000>;
274                                 regulator-max-microvolt = <1800000>;
275                         };
276
277                         ldo35_reg: LDO35 {
278                                 regulator-name = "PVDD_CAM0_DVDD_1V2";
279                                 regulator-min-microvolt = <1200000>;
280                                 regulator-max-microvolt = <1200000>;
281                         };
282
283                         ldo38_reg: LDO38 {
284                                 regulator-name = "PVDD_CAM0_AVDD_2V8";
285                                 regulator-min-microvolt = <2800000>;
286                                 regulator-max-microvolt = <2800000>;
287                         };
288
289                         buck1_reg: BUCK1 {
290                                 regulator-name = "PVDD_MIF_1V1";
291                                 regulator-min-microvolt = <800000>;
292                                 regulator-max-microvolt = <1100000>;
293                                 regulator-always-on;
294                         };
295
296                         buck2_reg: BUCK2 {
297                                 regulator-name = "vdd_arm";
298                                 regulator-min-microvolt = <800000>;
299                                 regulator-max-microvolt = <1000000>;
300                                 regulator-always-on;
301                         };
302
303                         buck3_reg: BUCK3 {
304                                 regulator-name = "PVDD_INT_1V0";
305                                 regulator-min-microvolt = <800000>;
306                                 regulator-max-microvolt = <1000000>;
307                                 regulator-always-on;
308                         };
309
310                         buck4_reg: BUCK4 {
311                                 regulator-name = "PVDD_G3D_1V0";
312                                 regulator-min-microvolt = <800000>;
313                                 regulator-max-microvolt = <1000000>;
314                         };
315
316                         buck5_reg: BUCK5 {
317                                 regulator-name = "PVDD_LPDDR3_1V2";
318                                 regulator-min-microvolt = <800000>;
319                                 regulator-max-microvolt = <1200000>;
320                                 regulator-always-on;
321                         };
322
323                         buck6_reg: BUCK6 {
324                                 regulator-name = "PVDD_KFC_1V0";
325                                 regulator-min-microvolt = <800000>;
326                                 regulator-max-microvolt = <1000000>;
327                                 regulator-always-on;
328                         };
329
330                         buck7_reg: BUCK7 {
331                                 regulator-name = "VIN_LLDO_1V4";
332                                 regulator-min-microvolt = <800000>;
333                                 regulator-max-microvolt = <1400000>;
334                                 regulator-always-on;
335                         };
336
337                         buck8_reg: BUCK8 {
338                                 regulator-name = "VIN_MLDO_2V0";
339                                 regulator-min-microvolt = <800000>;
340                                 regulator-max-microvolt = <2000000>;
341                                 regulator-always-on;
342                         };
343
344                         buck9_reg: BUCK9 {
345                                 regulator-name = "VIN_HLDO_3V5";
346                                 regulator-min-microvolt = <3000000>;
347                                 regulator-max-microvolt = <3500000>;
348                                 regulator-always-on;
349                         };
350
351                         buck10_reg: BUCK10 {
352                                 regulator-name = "PVDD_EMMCF_2V8";
353                                 regulator-min-microvolt = <2800000>;
354                                 regulator-max-microvolt = <2800000>;
355                         };
356                 };
357         };
358 };
359
360 &i2c_2 {
361         status = "okay";
362 };
363
364 &mmc_0 {
365         status = "okay";
366         broken-cd;
367         card-detect-delay = <200>;
368         samsung,dw-mshc-ciu-div = <3>;
369         samsung,dw-mshc-sdr-timing = <0 4>;
370         samsung,dw-mshc-ddr-timing = <0 2>;
371         pinctrl-names = "default";
372         pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
373         vmmc-supply = <&ldo10_reg>;
374         bus-width = <8>;
375         cap-mmc-highspeed;
376 };
377
378 &mmc_2 {
379         status = "okay";
380         card-detect-delay = <200>;
381         samsung,dw-mshc-ciu-div = <3>;
382         samsung,dw-mshc-sdr-timing = <2 3>;
383         samsung,dw-mshc-ddr-timing = <1 2>;
384         pinctrl-names = "default";
385         pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
386         vmmc-supply = <&ldo19_reg>;
387         vqmmc-supply = <&ldo13_reg>;
388         bus-width = <4>;
389         cap-sd-highspeed;
390 };
391
392 &pinctrl_0 {
393         s2mps11_irq: s2mps11-irq {
394                 samsung,pins = "gpx3-2";
395                 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
396                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
397                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
398         };
399 };
400
401 &rtc {
402         status = "okay";
403         clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
404         clock-names = "rtc", "rtc_src";
405 };