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