ARM: dts: add MFC codec device node for exynos3250
[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                 broken-cd;
58                 card-detect-delay = <200>;
59                 samsung,dw-mshc-ciu-div = <3>;
60                 samsung,dw-mshc-sdr-timing = <2 3>;
61                 samsung,dw-mshc-ddr-timing = <1 2>;
62                 bus-width = <8>;
63                 cap-mmc-highspeed;
64         };
65
66         watchdog@10060000 {
67                 status = "okay";
68         };
69
70         rtc@10070000 {
71                 status = "okay";
72         };
73
74         g2d@10800000 {
75                 status = "okay";
76         };
77
78         camera {
79                 status = "okay";
80                 pinctrl-names = "default";
81                 pinctrl-0 = <>;
82
83                 fimc_0: fimc@11800000 {
84                         status = "okay";
85                 };
86
87                 fimc_1: fimc@11810000 {
88                         status = "okay";
89                 };
90
91                 fimc_2: fimc@11820000 {
92                         status = "okay";
93                 };
94
95                 fimc_3: fimc@11830000 {
96                         status = "okay";
97                 };
98         };
99
100         sdhci@12530000 {
101                 bus-width = <4>;
102                 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
103                 pinctrl-names = "default";
104                 vmmc-supply = <&ldo4_reg &ldo21_reg>;
105                 cd-gpios = <&gpk2 2 0>;
106                 cd-inverted;
107                 status = "okay";
108         };
109
110         serial@13800000 {
111                 status = "okay";
112         };
113
114         serial@13810000 {
115                 status = "okay";
116         };
117
118         fixed-rate-clocks {
119                 xxti {
120                         compatible = "samsung,clock-xxti";
121                         clock-frequency = <0>;
122                 };
123
124                 xusbxti {
125                         compatible = "samsung,clock-xusbxti";
126                         clock-frequency = <24000000>;
127                 };
128         };
129
130         i2c@13860000 {
131                 pinctrl-0 = <&i2c0_bus>;
132                 pinctrl-names = "default";
133                 samsung,i2c-sda-delay = <100>;
134                 samsung,i2c-max-bus-freq = <400000>;
135                 status = "okay";
136
137                 usb3503: usb3503@08 {
138                         compatible = "smsc,usb3503";
139                         reg = <0x08>;
140
141                         intn-gpios = <&gpx3 0 0>;
142                         connect-gpios = <&gpx3 4 0>;
143                         reset-gpios = <&gpx3 5 0>;
144                         initial-mode = <1>;
145                 };
146
147                 max77686: pmic@09 {
148                         compatible = "maxim,max77686";
149                         interrupt-parent = <&gpx3>;
150                         interrupts = <2 0>;
151                         pinctrl-names = "default";
152                         pinctrl-0 = <&max77686_irq>;
153                         reg = <0x09>;
154                         #clock-cells = <1>;
155
156                         voltage-regulators {
157                                 ldo1_reg: LDO1 {
158                                         regulator-name = "VDD_ALIVE_1.0V";
159                                         regulator-min-microvolt = <1000000>;
160                                         regulator-max-microvolt = <1000000>;
161                                         regulator-always-on;
162                                 };
163
164                                 ldo2_reg: LDO2 {
165                                         regulator-name = "VDDQ_M1_2_1.8V";
166                                         regulator-min-microvolt = <1800000>;
167                                         regulator-max-microvolt = <1800000>;
168                                         regulator-always-on;
169                                 };
170
171                                 ldo3_reg: LDO3 {
172                                         regulator-name = "VDDQ_EXT_1.8V";
173                                         regulator-min-microvolt = <1800000>;
174                                         regulator-max-microvolt = <1800000>;
175                                         regulator-always-on;
176                                 };
177
178                                 ldo4_reg: LDO4 {
179                                         regulator-name = "VDDQ_MMC2_2.8V";
180                                         regulator-min-microvolt = <2800000>;
181                                         regulator-max-microvolt = <2800000>;
182                                         regulator-always-on;
183                                         regulator-boot-on;
184                                 };
185
186                                 ldo5_reg: LDO5 {
187                                         regulator-name = "VDDQ_MMC1_3_1.8V";
188                                         regulator-min-microvolt = <1800000>;
189                                         regulator-max-microvolt = <1800000>;
190                                         regulator-always-on;
191                                         regulator-boot-on;
192                                 };
193
194                                 ldo6_reg: LDO6 {
195                                         regulator-name = "VDD10_MPLL_1.0V";
196                                         regulator-min-microvolt = <1000000>;
197                                         regulator-max-microvolt = <1000000>;
198                                         regulator-always-on;
199                                 };
200
201                                 ldo7_reg: LDO7 {
202                                         regulator-name = "VDD10_XPLL_1.0V";
203                                         regulator-min-microvolt = <1000000>;
204                                         regulator-max-microvolt = <1000000>;
205                                         regulator-always-on;
206                                 };
207
208                                 ldo11_reg: LDO11 {
209                                         regulator-name = "VDD18_ABB1_1.8V";
210                                         regulator-min-microvolt = <1800000>;
211                                         regulator-max-microvolt = <1800000>;
212                                         regulator-always-on;
213                                 };
214
215                                 ldo12_reg: LDO12 {
216                                         regulator-name = "VDD33_USB_3.3V";
217                                         regulator-min-microvolt = <3300000>;
218                                         regulator-max-microvolt = <3300000>;
219                                         regulator-always-on;
220                                         regulator-boot-on;
221                                 };
222
223                                 ldo13_reg: LDO13 {
224                                         regulator-name = "VDDQ_C2C_W_1.8V";
225                                         regulator-min-microvolt = <1800000>;
226                                         regulator-max-microvolt = <1800000>;
227                                         regulator-always-on;
228                                         regulator-boot-on;
229                                 };
230
231                                 ldo14_reg: LDO14 {
232                                         regulator-name = "VDD18_ABB0_2_1.8V";
233                                         regulator-min-microvolt = <1800000>;
234                                         regulator-max-microvolt = <1800000>;
235                                         regulator-always-on;
236                                         regulator-boot-on;
237                                 };
238
239                                 ldo15_reg: LDO15 {
240                                         regulator-name = "VDD10_HSIC_1.0V";
241                                         regulator-min-microvolt = <1000000>;
242                                         regulator-max-microvolt = <1000000>;
243                                         regulator-always-on;
244                                         regulator-boot-on;
245                                 };
246
247                                 ldo16_reg: LDO16 {
248                                         regulator-name = "VDD18_HSIC_1.8V";
249                                         regulator-min-microvolt = <1800000>;
250                                         regulator-max-microvolt = <1800000>;
251                                         regulator-always-on;
252                                         regulator-boot-on;
253                                 };
254
255                                 ldo20_reg: LDO20 {
256                                         regulator-name = "LDO20_1.8V";
257                                         regulator-min-microvolt = <1800000>;
258                                         regulator-max-microvolt = <1800000>;
259                                         regulator-boot-on;
260                                 };
261
262                                 ldo21_reg: LDO21 {
263                                         regulator-name = "LDO21_3.3V";
264                                         regulator-min-microvolt = <3300000>;
265                                         regulator-max-microvolt = <3300000>;
266                                         regulator-always-on;
267                                         regulator-boot-on;
268                                 };
269
270                                 ldo25_reg: LDO25 {
271                                         regulator-name = "VDDQ_LCD_1.8V";
272                                         regulator-min-microvolt = <1800000>;
273                                         regulator-max-microvolt = <1800000>;
274                                         regulator-always-on;
275                                         regulator-boot-on;
276                                 };
277
278                                 buck1_reg: BUCK1 {
279                                         regulator-name = "vdd_mif";
280                                         regulator-min-microvolt = <1000000>;
281                                         regulator-max-microvolt = <1000000>;
282                                         regulator-always-on;
283                                         regulator-boot-on;
284                                 };
285
286                                 buck2_reg: BUCK2 {
287                                         regulator-name = "vdd_arm";
288                                         regulator-min-microvolt = <900000>;
289                                         regulator-max-microvolt = <1350000>;
290                                         regulator-always-on;
291                                         regulator-boot-on;
292                                 };
293
294                                 buck3_reg: BUCK3 {
295                                         regulator-name = "vdd_int";
296                                         regulator-min-microvolt = <1000000>;
297                                         regulator-max-microvolt = <1000000>;
298                                         regulator-always-on;
299                                         regulator-boot-on;
300                                 };
301
302                                 buck4_reg: BUCK4 {
303                                         regulator-name = "vdd_g3d";
304                                         regulator-min-microvolt = <900000>;
305                                         regulator-max-microvolt = <1100000>;
306                                         regulator-microvolt-offset = <50000>;
307                                 };
308
309                                 buck5_reg: BUCK5 {
310                                         regulator-name = "VDDQ_CKEM1_2_1.2V";
311                                         regulator-min-microvolt = <1200000>;
312                                         regulator-max-microvolt = <1200000>;
313                                         regulator-always-on;
314                                         regulator-boot-on;
315                                 };
316
317                                 buck6_reg: BUCK6 {
318                                         regulator-name = "BUCK6_1.35V";
319                                         regulator-min-microvolt = <1350000>;
320                                         regulator-max-microvolt = <1350000>;
321                                         regulator-always-on;
322                                         regulator-boot-on;
323                                 };
324
325                                 buck7_reg: BUCK7 {
326                                         regulator-name = "BUCK7_2.0V";
327                                         regulator-min-microvolt = <2000000>;
328                                         regulator-max-microvolt = <2000000>;
329                                         regulator-always-on;
330                                 };
331
332                                 buck8_reg: BUCK8 {
333                                         regulator-name = "BUCK8_2.8V";
334                                         regulator-min-microvolt = <2800000>;
335                                         regulator-max-microvolt = <2800000>;
336                                 };
337                         };
338                 };
339         };
340
341         i2c@13870000 {
342                 pinctrl-names = "default";
343                 pinctrl-0 = <&i2c1_bus>;
344                 status = "okay";
345                 max98090: max98090@10 {
346                         compatible = "maxim,max98090";
347                         reg = <0x10>;
348                         interrupt-parent = <&gpx0>;
349                         interrupts = <0 0>;
350                 };
351         };
352
353         exynos-usbphy@125B0000 {
354                 status = "okay";
355         };
356
357         hsotg@12480000 {
358                 status = "okay";
359                 vusb_d-supply = <&ldo15_reg>;
360                 vusb_a-supply = <&ldo12_reg>;
361         };
362
363         ehci: ehci@12580000 {
364                 status = "okay";
365         };
366 };
367
368 &pinctrl_1 {
369         gpio_power_key: power_key {
370                 samsung,pins = "gpx1-3";
371                 samsung,pin-pud = <0>;
372         };
373
374         max77686_irq: max77686-irq {
375                 samsung,pins = "gpx3-2";
376                 samsung,pin-function = <0>;
377                 samsung,pin-pud = <0>;
378                 samsung,pin-drv = <0>;
379         };
380 };