6d6d23c83d30a70e63eae3f5d04d9b8a77da8013
[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                 status = "okay";
138
139                 usb3503: usb3503@08 {
140                         compatible = "smsc,usb3503";
141                         reg = <0x08>;
142
143                         intn-gpios = <&gpx3 0 0>;
144                         connect-gpios = <&gpx3 4 0>;
145                         reset-gpios = <&gpx3 5 0>;
146                         initial-mode = <1>;
147                 };
148
149                 max77686: pmic@09 {
150                         compatible = "maxim,max77686";
151                         reg = <0x09>;
152                         #clock-cells = <1>;
153
154                         voltage-regulators {
155                                 ldo1_reg: LDO1 {
156                                         regulator-name = "VDD_ALIVE_1.0V";
157                                         regulator-min-microvolt = <1000000>;
158                                         regulator-max-microvolt = <1000000>;
159                                         regulator-always-on;
160                                 };
161
162                                 ldo2_reg: LDO2 {
163                                         regulator-name = "VDDQ_M1_2_1.8V";
164                                         regulator-min-microvolt = <1800000>;
165                                         regulator-max-microvolt = <1800000>;
166                                         regulator-always-on;
167                                 };
168
169                                 ldo3_reg: LDO3 {
170                                         regulator-name = "VDDQ_EXT_1.8V";
171                                         regulator-min-microvolt = <1800000>;
172                                         regulator-max-microvolt = <1800000>;
173                                         regulator-always-on;
174                                 };
175
176                                 ldo4_reg: LDO4 {
177                                         regulator-name = "VDDQ_MMC2_2.8V";
178                                         regulator-min-microvolt = <2800000>;
179                                         regulator-max-microvolt = <2800000>;
180                                         regulator-always-on;
181                                         regulator-boot-on;
182                                 };
183
184                                 ldo5_reg: LDO5 {
185                                         regulator-name = "VDDQ_MMC1_3_1.8V";
186                                         regulator-min-microvolt = <1800000>;
187                                         regulator-max-microvolt = <1800000>;
188                                         regulator-always-on;
189                                         regulator-boot-on;
190                                 };
191
192                                 ldo6_reg: LDO6 {
193                                         regulator-name = "VDD10_MPLL_1.0V";
194                                         regulator-min-microvolt = <1000000>;
195                                         regulator-max-microvolt = <1000000>;
196                                         regulator-always-on;
197                                 };
198
199                                 ldo7_reg: LDO7 {
200                                         regulator-name = "VDD10_XPLL_1.0V";
201                                         regulator-min-microvolt = <1000000>;
202                                         regulator-max-microvolt = <1000000>;
203                                         regulator-always-on;
204                                 };
205
206                                 ldo11_reg: LDO11 {
207                                         regulator-name = "VDD18_ABB1_1.8V";
208                                         regulator-min-microvolt = <1800000>;
209                                         regulator-max-microvolt = <1800000>;
210                                         regulator-always-on;
211                                 };
212
213                                 ldo12_reg: LDO12 {
214                                         regulator-name = "VDD33_USB_3.3V";
215                                         regulator-min-microvolt = <3300000>;
216                                         regulator-max-microvolt = <3300000>;
217                                         regulator-always-on;
218                                         regulator-boot-on;
219                                 };
220
221                                 ldo13_reg: LDO13 {
222                                         regulator-name = "VDDQ_C2C_W_1.8V";
223                                         regulator-min-microvolt = <1800000>;
224                                         regulator-max-microvolt = <1800000>;
225                                         regulator-always-on;
226                                         regulator-boot-on;
227                                 };
228
229                                 ldo14_reg: LDO14 {
230                                         regulator-name = "VDD18_ABB0_2_1.8V";
231                                         regulator-min-microvolt = <1800000>;
232                                         regulator-max-microvolt = <1800000>;
233                                         regulator-always-on;
234                                         regulator-boot-on;
235                                 };
236
237                                 ldo15_reg: LDO15 {
238                                         regulator-name = "VDD10_HSIC_1.0V";
239                                         regulator-min-microvolt = <1000000>;
240                                         regulator-max-microvolt = <1000000>;
241                                         regulator-always-on;
242                                         regulator-boot-on;
243                                 };
244
245                                 ldo16_reg: LDO16 {
246                                         regulator-name = "VDD18_HSIC_1.8V";
247                                         regulator-min-microvolt = <1800000>;
248                                         regulator-max-microvolt = <1800000>;
249                                         regulator-always-on;
250                                         regulator-boot-on;
251                                 };
252
253                                 ldo20_reg: LDO20 {
254                                         regulator-name = "LDO20_1.8V";
255                                         regulator-min-microvolt = <1800000>;
256                                         regulator-max-microvolt = <1800000>;
257                                         regulator-boot-on;
258                                 };
259
260                                 ldo21_reg: LDO21 {
261                                         regulator-name = "LDO21_3.3V";
262                                         regulator-min-microvolt = <3300000>;
263                                         regulator-max-microvolt = <3300000>;
264                                         regulator-always-on;
265                                         regulator-boot-on;
266                                 };
267
268                                 ldo25_reg: LDO25 {
269                                         regulator-name = "VDDQ_LCD_1.8V";
270                                         regulator-min-microvolt = <1800000>;
271                                         regulator-max-microvolt = <1800000>;
272                                         regulator-always-on;
273                                         regulator-boot-on;
274                                 };
275
276                                 buck1_reg: BUCK1 {
277                                         regulator-name = "vdd_mif";
278                                         regulator-min-microvolt = <1000000>;
279                                         regulator-max-microvolt = <1000000>;
280                                         regulator-always-on;
281                                         regulator-boot-on;
282                                 };
283
284                                 buck2_reg: BUCK2 {
285                                         regulator-name = "vdd_arm";
286                                         regulator-min-microvolt = <900000>;
287                                         regulator-max-microvolt = <1350000>;
288                                         regulator-always-on;
289                                         regulator-boot-on;
290                                 };
291
292                                 buck3_reg: BUCK3 {
293                                         regulator-name = "vdd_int";
294                                         regulator-min-microvolt = <1000000>;
295                                         regulator-max-microvolt = <1000000>;
296                                         regulator-always-on;
297                                         regulator-boot-on;
298                                 };
299
300                                 buck4_reg: BUCK4 {
301                                         regulator-name = "vdd_g3d";
302                                         regulator-min-microvolt = <900000>;
303                                         regulator-max-microvolt = <1100000>;
304                                         regulator-microvolt-offset = <50000>;
305                                 };
306
307                                 buck5_reg: BUCK5 {
308                                         regulator-name = "VDDQ_CKEM1_2_1.2V";
309                                         regulator-min-microvolt = <1200000>;
310                                         regulator-max-microvolt = <1200000>;
311                                         regulator-always-on;
312                                         regulator-boot-on;
313                                 };
314
315                                 buck6_reg: BUCK6 {
316                                         regulator-name = "BUCK6_1.35V";
317                                         regulator-min-microvolt = <1350000>;
318                                         regulator-max-microvolt = <1350000>;
319                                         regulator-always-on;
320                                         regulator-boot-on;
321                                 };
322
323                                 buck7_reg: BUCK7 {
324                                         regulator-name = "BUCK7_2.0V";
325                                         regulator-min-microvolt = <2000000>;
326                                         regulator-max-microvolt = <2000000>;
327                                         regulator-always-on;
328                                 };
329
330                                 buck8_reg: BUCK8 {
331                                         regulator-name = "BUCK8_2.8V";
332                                         regulator-min-microvolt = <2800000>;
333                                         regulator-max-microvolt = <2800000>;
334                                 };
335                         };
336                 };
337         };
338
339         i2c@13870000 {
340                 pinctrl-names = "default";
341                 pinctrl-0 = <&i2c1_bus>;
342                 status = "okay";
343                 max98090: max98090@10 {
344                         compatible = "maxim,max98090";
345                         reg = <0x10>;
346                         interrupt-parent = <&gpx0>;
347                         interrupts = <0 0>;
348                 };
349         };
350
351         exynos-usbphy@125B0000 {
352                 status = "okay";
353         };
354
355         hsotg@12480000 {
356                 status = "okay";
357                 vusb_d-supply = <&ldo15_reg>;
358                 vusb_a-supply = <&ldo12_reg>;
359         };
360
361         ehci: ehci@12580000 {
362                 status = "okay";
363         };
364 };
365
366 &pinctrl_1 {
367         gpio_power_key: power_key {
368                 samsung,pins = "gpx1-3";
369                 samsung,pin-pud = <0>;
370         };
371 };