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