Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[cascardo/linux.git] / arch / arm / boot / dts / exynos4412-odroid-common.dtsi
1 /*
2  * Common definition for Hardkernel's Exynos4412 based ODROID-X/X2/U2/U3 boards
3  * device tree source
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation.
8 */
9
10 #include <dt-bindings/input/input.h>
11 #include "exynos4412.dtsi"
12
13 / {
14         firmware@0204F000 {
15                 compatible = "samsung,secure-firmware";
16                 reg = <0x0204F000 0x1000>;
17         };
18
19         gpio_keys {
20                 compatible = "gpio-keys";
21                 pinctrl-names = "default";
22                 pinctrl-0 = <&gpio_power_key>;
23
24                 power_key {
25                         interrupt-parent = <&gpx1>;
26                         interrupts = <3 0>;
27                         gpios = <&gpx1 3 1>;
28                         linux,code = <KEY_POWER>;
29                         label = "power key";
30                         debounce-interval = <10>;
31                         gpio-key,wakeup;
32                 };
33         };
34
35         i2s0: i2s@03830000 {
36                 pinctrl-0 = <&i2s0_bus>;
37                 pinctrl-names = "default";
38                 status = "okay";
39                 clocks = <&clock_audss EXYNOS_I2S_BUS>,
40                          <&clock_audss EXYNOS_DOUT_AUD_BUS>;
41                 clock-names = "iis", "i2s_opclk0";
42         };
43
44         sound: sound {
45                 compatible = "samsung,odroidx2-audio";
46                 samsung,i2s-controller = <&i2s0>;
47                 samsung,audio-codec = <&max98090>;
48         };
49
50         mmc@12550000 {
51                 pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
52                 pinctrl-names = "default";
53                 vmmc-supply = <&ldo20_reg &buck8_reg>;
54                 status = "okay";
55
56                 num-slots = <1>;
57                 supports-highspeed;
58                 broken-cd;
59                 card-detect-delay = <200>;
60                 samsung,dw-mshc-ciu-div = <3>;
61                 samsung,dw-mshc-sdr-timing = <2 3>;
62                 samsung,dw-mshc-ddr-timing = <1 2>;
63
64                 slot@0 {
65                         reg = <0>;
66                         bus-width = <8>;
67                 };
68         };
69
70         watchdog@10060000 {
71                 status = "okay";
72         };
73
74         rtc@10070000 {
75                 status = "okay";
76         };
77
78         g2d@10800000 {
79                 status = "okay";
80         };
81
82         camera {
83                 status = "okay";
84                 pinctrl-names = "default";
85                 pinctrl-0 = <>;
86
87                 fimc_0: fimc@11800000 {
88                         status = "okay";
89                 };
90
91                 fimc_1: fimc@11810000 {
92                         status = "okay";
93                 };
94
95                 fimc_2: fimc@11820000 {
96                         status = "okay";
97                 };
98
99                 fimc_3: fimc@11830000 {
100                         status = "okay";
101                 };
102         };
103
104         sdhci@12530000 {
105                 bus-width = <4>;
106                 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
107                 pinctrl-names = "default";
108                 vmmc-supply = <&ldo4_reg &ldo21_reg>;
109                 cd-gpios = <&gpk2 2 0>;
110                 cd-inverted;
111                 status = "okay";
112         };
113
114         serial@13800000 {
115                 status = "okay";
116         };
117
118         serial@13810000 {
119                 status = "okay";
120         };
121
122         fixed-rate-clocks {
123                 xxti {
124                         compatible = "samsung,clock-xxti";
125                         clock-frequency = <0>;
126                 };
127
128                 xusbxti {
129                         compatible = "samsung,clock-xusbxti";
130                         clock-frequency = <24000000>;
131                 };
132         };
133
134         i2c@13860000 {
135                 pinctrl-0 = <&i2c0_bus>;
136                 pinctrl-names = "default";
137                 samsung,i2c-sda-delay = <100>;
138                 samsung,i2c-max-bus-freq = <400000>;
139                 status = "okay";
140
141                 usb3503: usb3503@08 {
142                         compatible = "smsc,usb3503";
143                         reg = <0x08>;
144
145                         intn-gpios = <&gpx3 0 0>;
146                         connect-gpios = <&gpx3 4 0>;
147                         reset-gpios = <&gpx3 5 0>;
148                         initial-mode = <1>;
149                 };
150
151                 max77686: pmic@09 {
152                         compatible = "maxim,max77686";
153                         interrupt-parent = <&gpx3>;
154                         interrupts = <2 0>;
155                         pinctrl-names = "default";
156                         pinctrl-0 = <&max77686_irq>;
157                         reg = <0x09>;
158                         #clock-cells = <1>;
159
160                         voltage-regulators {
161                                 ldo1_reg: LDO1 {
162                                         regulator-name = "VDD_ALIVE_1.0V";
163                                         regulator-min-microvolt = <1000000>;
164                                         regulator-max-microvolt = <1000000>;
165                                         regulator-always-on;
166                                 };
167
168                                 ldo2_reg: LDO2 {
169                                         regulator-name = "VDDQ_M1_2_1.8V";
170                                         regulator-min-microvolt = <1800000>;
171                                         regulator-max-microvolt = <1800000>;
172                                         regulator-always-on;
173                                 };
174
175                                 ldo3_reg: LDO3 {
176                                         regulator-name = "VDDQ_EXT_1.8V";
177                                         regulator-min-microvolt = <1800000>;
178                                         regulator-max-microvolt = <1800000>;
179                                         regulator-always-on;
180                                 };
181
182                                 ldo4_reg: LDO4 {
183                                         regulator-name = "VDDQ_MMC2_2.8V";
184                                         regulator-min-microvolt = <2800000>;
185                                         regulator-max-microvolt = <2800000>;
186                                         regulator-always-on;
187                                         regulator-boot-on;
188                                 };
189
190                                 ldo5_reg: LDO5 {
191                                         regulator-name = "VDDQ_MMC1_3_1.8V";
192                                         regulator-min-microvolt = <1800000>;
193                                         regulator-max-microvolt = <1800000>;
194                                         regulator-always-on;
195                                         regulator-boot-on;
196                                 };
197
198                                 ldo6_reg: LDO6 {
199                                         regulator-name = "VDD10_MPLL_1.0V";
200                                         regulator-min-microvolt = <1000000>;
201                                         regulator-max-microvolt = <1000000>;
202                                         regulator-always-on;
203                                 };
204
205                                 ldo7_reg: LDO7 {
206                                         regulator-name = "VDD10_XPLL_1.0V";
207                                         regulator-min-microvolt = <1000000>;
208                                         regulator-max-microvolt = <1000000>;
209                                         regulator-always-on;
210                                 };
211
212                                 ldo11_reg: LDO11 {
213                                         regulator-name = "VDD18_ABB1_1.8V";
214                                         regulator-min-microvolt = <1800000>;
215                                         regulator-max-microvolt = <1800000>;
216                                         regulator-always-on;
217                                 };
218
219                                 ldo12_reg: LDO12 {
220                                         regulator-name = "VDD33_USB_3.3V";
221                                         regulator-min-microvolt = <3300000>;
222                                         regulator-max-microvolt = <3300000>;
223                                         regulator-always-on;
224                                         regulator-boot-on;
225                                 };
226
227                                 ldo13_reg: LDO13 {
228                                         regulator-name = "VDDQ_C2C_W_1.8V";
229                                         regulator-min-microvolt = <1800000>;
230                                         regulator-max-microvolt = <1800000>;
231                                         regulator-always-on;
232                                         regulator-boot-on;
233                                 };
234
235                                 ldo14_reg: LDO14 {
236                                         regulator-name = "VDD18_ABB0_2_1.8V";
237                                         regulator-min-microvolt = <1800000>;
238                                         regulator-max-microvolt = <1800000>;
239                                         regulator-always-on;
240                                         regulator-boot-on;
241                                 };
242
243                                 ldo15_reg: LDO15 {
244                                         regulator-name = "VDD10_HSIC_1.0V";
245                                         regulator-min-microvolt = <1000000>;
246                                         regulator-max-microvolt = <1000000>;
247                                         regulator-always-on;
248                                         regulator-boot-on;
249                                 };
250
251                                 ldo16_reg: LDO16 {
252                                         regulator-name = "VDD18_HSIC_1.8V";
253                                         regulator-min-microvolt = <1800000>;
254                                         regulator-max-microvolt = <1800000>;
255                                         regulator-always-on;
256                                         regulator-boot-on;
257                                 };
258
259                                 ldo20_reg: LDO20 {
260                                         regulator-name = "LDO20_1.8V";
261                                         regulator-min-microvolt = <1800000>;
262                                         regulator-max-microvolt = <1800000>;
263                                         regulator-boot-on;
264                                 };
265
266                                 ldo21_reg: LDO21 {
267                                         regulator-name = "LDO21_3.3V";
268                                         regulator-min-microvolt = <3300000>;
269                                         regulator-max-microvolt = <3300000>;
270                                         regulator-always-on;
271                                         regulator-boot-on;
272                                 };
273
274                                 ldo25_reg: LDO25 {
275                                         regulator-name = "VDDQ_LCD_1.8V";
276                                         regulator-min-microvolt = <1800000>;
277                                         regulator-max-microvolt = <1800000>;
278                                         regulator-always-on;
279                                         regulator-boot-on;
280                                 };
281
282                                 buck1_reg: BUCK1 {
283                                         regulator-name = "vdd_mif";
284                                         regulator-min-microvolt = <1000000>;
285                                         regulator-max-microvolt = <1000000>;
286                                         regulator-always-on;
287                                         regulator-boot-on;
288                                 };
289
290                                 buck2_reg: BUCK2 {
291                                         regulator-name = "vdd_arm";
292                                         regulator-min-microvolt = <900000>;
293                                         regulator-max-microvolt = <1350000>;
294                                         regulator-always-on;
295                                         regulator-boot-on;
296                                 };
297
298                                 buck3_reg: BUCK3 {
299                                         regulator-name = "vdd_int";
300                                         regulator-min-microvolt = <1000000>;
301                                         regulator-max-microvolt = <1000000>;
302                                         regulator-always-on;
303                                         regulator-boot-on;
304                                 };
305
306                                 buck4_reg: BUCK4 {
307                                         regulator-name = "vdd_g3d";
308                                         regulator-min-microvolt = <900000>;
309                                         regulator-max-microvolt = <1100000>;
310                                         regulator-microvolt-offset = <50000>;
311                                 };
312
313                                 buck5_reg: BUCK5 {
314                                         regulator-name = "VDDQ_CKEM1_2_1.2V";
315                                         regulator-min-microvolt = <1200000>;
316                                         regulator-max-microvolt = <1200000>;
317                                         regulator-always-on;
318                                         regulator-boot-on;
319                                 };
320
321                                 buck6_reg: BUCK6 {
322                                         regulator-name = "BUCK6_1.35V";
323                                         regulator-min-microvolt = <1350000>;
324                                         regulator-max-microvolt = <1350000>;
325                                         regulator-always-on;
326                                         regulator-boot-on;
327                                 };
328
329                                 buck7_reg: BUCK7 {
330                                         regulator-name = "BUCK7_2.0V";
331                                         regulator-min-microvolt = <2000000>;
332                                         regulator-max-microvolt = <2000000>;
333                                         regulator-always-on;
334                                 };
335
336                                 buck8_reg: BUCK8 {
337                                         regulator-name = "BUCK8_2.8V";
338                                         regulator-min-microvolt = <2800000>;
339                                         regulator-max-microvolt = <2800000>;
340                                 };
341                         };
342                 };
343         };
344
345         i2c@13870000 {
346                 pinctrl-names = "default";
347                 pinctrl-0 = <&i2c1_bus>;
348                 status = "okay";
349                 max98090: max98090@10 {
350                         compatible = "maxim,max98090";
351                         reg = <0x10>;
352                         interrupt-parent = <&gpx0>;
353                         interrupts = <0 0>;
354                 };
355         };
356
357         exynos-usbphy@125B0000 {
358                 status = "okay";
359         };
360
361         hsotg@12480000 {
362                 status = "okay";
363                 vusb_d-supply = <&ldo15_reg>;
364                 vusb_a-supply = <&ldo12_reg>;
365         };
366
367         ehci: ehci@12580000 {
368                 status = "okay";
369         };
370 };
371
372 &pinctrl_1 {
373         gpio_power_key: power_key {
374                 samsung,pins = "gpx1-3";
375                 samsung,pin-pud = <0>;
376         };
377
378         max77686_irq: max77686-irq {
379                 samsung,pins = "gpx3-2";
380                 samsung,pin-function = <0>;
381                 samsung,pin-pud = <0>;
382                 samsung,pin-drv = <0>;
383         };
384 };