ARM: dts: Adding CPU cooling binding for Exynos SoCs
[deliverable/linux.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>
ec601ff3
MS
12#include "exynos4412.dtsi"
13
14/ {
62d38099
TF
15 chosen {
16 stdout-path = &serial_1;
17 };
18
ec601ff3
MS
19 firmware@0204F000 {
20 compatible = "samsung,secure-firmware";
21 reg = <0x0204F000 0x1000>;
22 };
23
081a15e3
MS
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
5a852743
SN
40 i2s0: i2s@03830000 {
41 pinctrl-0 = <&i2s0_bus>;
42 pinctrl-names = "default";
43 status = "okay";
44 clocks = <&clock_audss EXYNOS_I2S_BUS>,
3635acef
SN
45 <&clock_audss EXYNOS_DOUT_AUD_BUS>,
46 <&clock_audss EXYNOS_SCLK_I2S>;
47 clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
5a852743
SN
48 };
49
50 sound: sound {
16696337 51 compatible = "simple-audio-card";
59760009
SN
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>;
16696337
SN
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 };
5a852743
SN
76 };
77
ec601ff3
MS
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>;
ec601ff3
MS
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>;
aaa25a5a
JC
90 bus-width = <8>;
91 cap-mmc-highspeed;
ec601ff3
MS
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";
0357a443
SN
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>;
ec601ff3
MS
117 };
118
119 fimc_1: fimc@11810000 {
120 status = "okay";
0357a443
SN
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>;
ec601ff3
MS
125 };
126
127 fimc_2: fimc@11820000 {
128 status = "okay";
0357a443
SN
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>;
ec601ff3
MS
133 };
134
135 fimc_3: fimc@11830000 {
136 status = "okay";
0357a443
SN
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>;
ec601ff3
MS
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>;
78f54db1
MS
149 cd-gpios = <&gpk2 2 0>;
150 cd-inverted;
ec601ff3
MS
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";
cc3fe7ab
DD
177 samsung,i2c-sda-delay = <100>;
178 samsung,i2c-max-bus-freq = <400000>;
ec601ff3
MS
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";
eea6653a
DD
193 interrupt-parent = <&gpx3>;
194 interrupts = <2 0>;
195 pinctrl-names = "default";
196 pinctrl-0 = <&max77686_irq>;
ec601ff3
MS
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
a59acc17
LM
252 ldo10_reg: LDO10 {
253 regulator-name = "VDD18_MIPIHSI_1.8V";
254 regulator-min-microvolt = <1800000>;
255 regulator-max-microvolt = <1800000>;
256 regulator-always-on;
257 };
258
ec601ff3
MS
259 ldo11_reg: LDO11 {
260 regulator-name = "VDD18_ABB1_1.8V";
261 regulator-min-microvolt = <1800000>;
262 regulator-max-microvolt = <1800000>;
263 regulator-always-on;
264 };
265
266 ldo12_reg: LDO12 {
267 regulator-name = "VDD33_USB_3.3V";
268 regulator-min-microvolt = <3300000>;
269 regulator-max-microvolt = <3300000>;
270 regulator-always-on;
271 regulator-boot-on;
272 };
273
274 ldo13_reg: LDO13 {
275 regulator-name = "VDDQ_C2C_W_1.8V";
276 regulator-min-microvolt = <1800000>;
277 regulator-max-microvolt = <1800000>;
278 regulator-always-on;
279 regulator-boot-on;
280 };
281
282 ldo14_reg: LDO14 {
283 regulator-name = "VDD18_ABB0_2_1.8V";
284 regulator-min-microvolt = <1800000>;
285 regulator-max-microvolt = <1800000>;
286 regulator-always-on;
287 regulator-boot-on;
288 };
289
290 ldo15_reg: LDO15 {
291 regulator-name = "VDD10_HSIC_1.0V";
292 regulator-min-microvolt = <1000000>;
293 regulator-max-microvolt = <1000000>;
294 regulator-always-on;
295 regulator-boot-on;
296 };
297
298 ldo16_reg: LDO16 {
299 regulator-name = "VDD18_HSIC_1.8V";
300 regulator-min-microvolt = <1800000>;
301 regulator-max-microvolt = <1800000>;
302 regulator-always-on;
303 regulator-boot-on;
304 };
305
306 ldo20_reg: LDO20 {
307 regulator-name = "LDO20_1.8V";
308 regulator-min-microvolt = <1800000>;
309 regulator-max-microvolt = <1800000>;
310 regulator-boot-on;
311 };
312
313 ldo21_reg: LDO21 {
314 regulator-name = "LDO21_3.3V";
315 regulator-min-microvolt = <3300000>;
316 regulator-max-microvolt = <3300000>;
317 regulator-always-on;
318 regulator-boot-on;
319 };
320
321 ldo25_reg: LDO25 {
322 regulator-name = "VDDQ_LCD_1.8V";
323 regulator-min-microvolt = <1800000>;
324 regulator-max-microvolt = <1800000>;
325 regulator-always-on;
326 regulator-boot-on;
327 };
328
329 buck1_reg: BUCK1 {
330 regulator-name = "vdd_mif";
331 regulator-min-microvolt = <1000000>;
332 regulator-max-microvolt = <1000000>;
333 regulator-always-on;
334 regulator-boot-on;
335 };
336
337 buck2_reg: BUCK2 {
338 regulator-name = "vdd_arm";
339 regulator-min-microvolt = <900000>;
340 regulator-max-microvolt = <1350000>;
341 regulator-always-on;
342 regulator-boot-on;
343 };
344
345 buck3_reg: BUCK3 {
346 regulator-name = "vdd_int";
347 regulator-min-microvolt = <1000000>;
348 regulator-max-microvolt = <1000000>;
349 regulator-always-on;
350 regulator-boot-on;
351 };
352
353 buck4_reg: BUCK4 {
354 regulator-name = "vdd_g3d";
355 regulator-min-microvolt = <900000>;
356 regulator-max-microvolt = <1100000>;
357 regulator-microvolt-offset = <50000>;
358 };
359
360 buck5_reg: BUCK5 {
361 regulator-name = "VDDQ_CKEM1_2_1.2V";
362 regulator-min-microvolt = <1200000>;
363 regulator-max-microvolt = <1200000>;
364 regulator-always-on;
365 regulator-boot-on;
366 };
367
368 buck6_reg: BUCK6 {
369 regulator-name = "BUCK6_1.35V";
370 regulator-min-microvolt = <1350000>;
371 regulator-max-microvolt = <1350000>;
372 regulator-always-on;
373 regulator-boot-on;
374 };
375
376 buck7_reg: BUCK7 {
377 regulator-name = "BUCK7_2.0V";
378 regulator-min-microvolt = <2000000>;
379 regulator-max-microvolt = <2000000>;
380 regulator-always-on;
381 };
382
383 buck8_reg: BUCK8 {
384 regulator-name = "BUCK8_2.8V";
385 regulator-min-microvolt = <2800000>;
386 regulator-max-microvolt = <2800000>;
ec601ff3
MS
387 };
388 };
389 };
390 };
391
5a852743
SN
392 i2c@13870000 {
393 pinctrl-names = "default";
394 pinctrl-0 = <&i2c1_bus>;
395 status = "okay";
396 max98090: max98090@10 {
397 compatible = "maxim,max98090";
398 reg = <0x10>;
399 interrupt-parent = <&gpx0>;
400 interrupts = <0 0>;
3635acef
SN
401 clocks = <&i2s0 CLK_I2S_CDCLK>;
402 clock-names = "mclk";
16696337 403 #sound-dai-cells = <0>;
5a852743
SN
404 };
405 };
406
ec601ff3
MS
407 exynos-usbphy@125B0000 {
408 status = "okay";
409 };
410
411 hsotg@12480000 {
32f144f2 412 dr_mode = "peripheral";
ec601ff3
MS
413 status = "okay";
414 vusb_d-supply = <&ldo15_reg>;
415 vusb_a-supply = <&ldo12_reg>;
416 };
417
418 ehci: ehci@12580000 {
419 status = "okay";
420 };
233e274a
LM
421
422 tmu@100C0000 {
423 vtmu-supply = <&ldo10_reg>;
424 status = "okay";
425 };
bf4a0bed
LM
426
427 thermal-zones {
428 cpu_thermal: cpu-thermal {
429 cooling-maps {
430 map0 {
431 /* Corresponds to 800MHz at freq_table */
432 cooling-device = <&cpu0 7 7>;
433 };
434 map1 {
435 /* Corresponds to 200MHz at freq_table */
436 cooling-device = <&cpu0 13 13>;
437 };
438 };
439 };
440 };
ec601ff3 441};
081a15e3
MS
442
443&pinctrl_1 {
444 gpio_power_key: power_key {
445 samsung,pins = "gpx1-3";
446 samsung,pin-pud = <0>;
447 };
eea6653a
DD
448
449 max77686_irq: max77686-irq {
450 samsung,pins = "gpx3-2";
451 samsung,pin-function = <0>;
452 samsung,pin-pud = <0>;
453 samsung,pin-drv = <0>;
454 };
081a15e3 455};
This page took 0.07158 seconds and 5 git commands to generate.