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