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