ARM: dts: Add rtc_src clk for s3c-rtc on exynos5250-snow
[deliverable/linux.git] / arch / arm / boot / dts / exynos5250-snow.dts
1 /*
2 * Google Snow board device tree source
3 *
4 * Copyright (c) 2012 Google, Inc
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10
11 /dts-v1/;
12 #include <dt-bindings/gpio/gpio.h>
13 #include <dt-bindings/clock/maxim,max77686.h>
14 #include <dt-bindings/interrupt-controller/irq.h>
15 #include <dt-bindings/input/input.h>
16 #include "exynos5250.dtsi"
17
18 / {
19 model = "Google Snow";
20 compatible = "google,snow", "samsung,exynos5250", "samsung,exynos5";
21
22 aliases {
23 i2c104 = &i2c_104;
24 };
25
26 memory {
27 reg = <0x40000000 0x80000000>;
28 };
29
30 chosen {
31 bootargs = "console=tty1";
32 };
33
34 gpio-keys {
35 compatible = "gpio-keys";
36
37 power {
38 label = "Power";
39 gpios = <&gpx1 3 GPIO_ACTIVE_LOW>;
40 linux,code = <KEY_POWER>;
41 gpio-key,wakeup;
42 };
43
44 lid-switch {
45 label = "Lid";
46 gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
47 linux,input-type = <5>; /* EV_SW */
48 linux,code = <0>; /* SW_LID */
49 debounce-interval = <1>;
50 gpio-key,wakeup;
51 };
52 };
53
54 vbat: vbat-fixed-regulator {
55 compatible = "regulator-fixed";
56 regulator-name = "vbat-supply";
57 regulator-boot-on;
58 };
59
60 i2c-arbitrator {
61 compatible = "i2c-arb-gpio-challenge";
62 #address-cells = <1>;
63 #size-cells = <0>;
64
65 i2c-parent = <&{/i2c@12CA0000}>;
66
67 our-claim-gpio = <&gpf0 3 GPIO_ACTIVE_LOW>;
68 their-claim-gpios = <&gpe0 4 GPIO_ACTIVE_LOW>;
69 slew-delay-us = <10>;
70 wait-retry-us = <3000>;
71 wait-free-us = <50000>;
72
73 pinctrl-names = "default";
74 pinctrl-0 = <&arb_our_claim &arb_their_claim>;
75
76 /* Use ID 104 as a hint that we're on physical bus 4 */
77 i2c_104: i2c@0 {
78 reg = <0>;
79 #address-cells = <1>;
80 #size-cells = <0>;
81
82 battery: sbs-battery@b {
83 compatible = "sbs,sbs-battery";
84 reg = <0xb>;
85 sbs,poll-retry-count = <1>;
86 };
87
88 cros_ec: embedded-controller {
89 compatible = "google,cros-ec-i2c";
90 reg = <0x1e>;
91 interrupts = <6 IRQ_TYPE_NONE>;
92 interrupt-parent = <&gpx1>;
93 pinctrl-names = "default";
94 pinctrl-0 = <&ec_irq>;
95 wakeup-source;
96 };
97
98 power-regulator {
99 compatible = "ti,tps65090";
100 reg = <0x48>;
101
102 /*
103 * Config irq to disable internal pulls
104 * even though we run in polling mode.
105 */
106 pinctrl-names = "default";
107 pinctrl-0 = <&tps65090_irq>;
108
109 vsys1-supply = <&vbat>;
110 vsys2-supply = <&vbat>;
111 vsys3-supply = <&vbat>;
112 infet1-supply = <&vbat>;
113 infet2-supply = <&vbat>;
114 infet3-supply = <&vbat>;
115 infet4-supply = <&vbat>;
116 infet5-supply = <&vbat>;
117 infet6-supply = <&vbat>;
118 infet7-supply = <&vbat>;
119 vsys-l1-supply = <&vbat>;
120 vsys-l2-supply = <&vbat>;
121
122 regulators {
123 dcdc1 {
124 ti,enable-ext-control;
125 };
126 dcdc2 {
127 ti,enable-ext-control;
128 };
129 dcdc3 {
130 ti,enable-ext-control;
131 };
132 fet1: fet1 {
133 regulator-name = "vcd_led";
134 ti,overcurrent-wait = <3>;
135 };
136 tps65090_fet2: fet2 {
137 regulator-name = "video_mid";
138 regulator-always-on;
139 ti,overcurrent-wait = <3>;
140 };
141 fet3 {
142 regulator-name = "wwan_r";
143 regulator-always-on;
144 ti,overcurrent-wait = <3>;
145 };
146 fet4 {
147 regulator-name = "sdcard";
148 ti,overcurrent-wait = <3>;
149 };
150 fet5 {
151 regulator-name = "camout";
152 regulator-always-on;
153 ti,overcurrent-wait = <3>;
154 };
155 fet6: fet6 {
156 regulator-name = "lcd_vdd";
157 ti,overcurrent-wait = <3>;
158 };
159 tps65090_fet7: fet7 {
160 regulator-name = "video_mid_1a";
161 regulator-always-on;
162 ti,overcurrent-wait = <3>;
163 };
164 ldo1 {
165 };
166 ldo2 {
167 };
168 };
169
170 charger {
171 compatible = "ti,tps65090-charger";
172 };
173 };
174 };
175 };
176
177 i2c@12CD0000 {
178 ptn3460: lvds-bridge@20 {
179 compatible = "nxp,ptn3460";
180 reg = <0x20>;
181 powerdown-gpios = <&gpy2 5 GPIO_ACTIVE_HIGH>;
182 reset-gpios = <&gpx1 5 GPIO_ACTIVE_HIGH>;
183 edid-emulation = <5>;
184 panel = <&panel>;
185 };
186 };
187
188 sound {
189 compatible = "google,snow-audio-max98095";
190
191 samsung,model = "Snow-I2S-MAX98095";
192 samsung,i2s-controller = <&i2s0>;
193 samsung,audio-codec = <&max98095>;
194 };
195
196 usb3_vbus_reg: regulator-usb3 {
197 compatible = "regulator-fixed";
198 regulator-name = "P5.0V_USB3CON";
199 regulator-min-microvolt = <5000000>;
200 regulator-max-microvolt = <5000000>;
201 gpio = <&gpx2 7 GPIO_ACTIVE_HIGH>;
202 pinctrl-names = "default";
203 pinctrl-0 = <&usb3_vbus_en>;
204 enable-active-high;
205 };
206
207 fixed-rate-clocks {
208 xxti {
209 compatible = "samsung,clock-xxti";
210 clock-frequency = <24000000>;
211 };
212 };
213
214 backlight: backlight {
215 compatible = "pwm-backlight";
216 pwms = <&pwm 0 1000000 0>;
217 brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
218 default-brightness-level = <7>;
219 enable-gpios = <&gpx3 0 GPIO_ACTIVE_HIGH>;
220 power-supply = <&fet1>;
221 pinctrl-0 = <&pwm0_out>;
222 pinctrl-names = "default";
223 };
224
225 panel: panel {
226 compatible = "auo,b116xw03";
227 power-supply = <&fet6>;
228 backlight = <&backlight>;
229 };
230 };
231
232 &dp {
233 status = "okay";
234 pinctrl-names = "default";
235 pinctrl-0 = <&dp_hpd>;
236 samsung,color-space = <0>;
237 samsung,dynamic-range = <0>;
238 samsung,ycbcr-coeff = <0>;
239 samsung,color-depth = <1>;
240 samsung,link-rate = <0x0a>;
241 samsung,lane-count = <2>;
242 samsung,hpd-gpio = <&gpx0 7 GPIO_ACTIVE_HIGH>;
243 bridge = <&ptn3460>;
244 };
245
246 &ehci {
247 samsung,vbus-gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>;
248 };
249
250 &fimd {
251 status = "okay";
252 samsung,invert-vclk;
253 };
254
255 &hdmi {
256 hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>;
257 pinctrl-names = "default";
258 pinctrl-0 = <&hdmi_hpd_irq>;
259 phy = <&hdmiphy>;
260 ddc = <&i2c_2>;
261 hdmi-en-supply = <&tps65090_fet7>;
262 vdd-supply = <&ldo8_reg>;
263 vdd_osc-supply = <&ldo10_reg>;
264 vdd_pll-supply = <&ldo8_reg>;
265 };
266
267 &i2c_0 {
268 status = "okay";
269 samsung,i2c-sda-delay = <100>;
270 samsung,i2c-max-bus-freq = <378000>;
271
272 max77686: max77686@09 {
273 compatible = "maxim,max77686";
274 interrupt-parent = <&gpx3>;
275 interrupts = <2 IRQ_TYPE_NONE>;
276 pinctrl-names = "default";
277 pinctrl-0 = <&max77686_irq>;
278 wakeup-source;
279 reg = <0x09>;
280 #clock-cells = <1>;
281
282 voltage-regulators {
283 ldo1_reg: LDO1 {
284 regulator-name = "P1.0V_LDO_OUT1";
285 regulator-min-microvolt = <1000000>;
286 regulator-max-microvolt = <1000000>;
287 regulator-always-on;
288 };
289
290 ldo2_reg: LDO2 {
291 regulator-name = "P1.8V_LDO_OUT2";
292 regulator-min-microvolt = <1800000>;
293 regulator-max-microvolt = <1800000>;
294 regulator-always-on;
295 };
296
297 ldo3_reg: LDO3 {
298 regulator-name = "P1.8V_LDO_OUT3";
299 regulator-min-microvolt = <1800000>;
300 regulator-max-microvolt = <1800000>;
301 regulator-always-on;
302 };
303
304 ldo7_reg: LDO7 {
305 regulator-name = "P1.1V_LDO_OUT7";
306 regulator-min-microvolt = <1100000>;
307 regulator-max-microvolt = <1100000>;
308 regulator-always-on;
309 };
310
311 ldo8_reg: LDO8 {
312 regulator-name = "P1.0V_LDO_OUT8";
313 regulator-min-microvolt = <1000000>;
314 regulator-max-microvolt = <1000000>;
315 regulator-always-on;
316 };
317
318 ldo10_reg: LDO10 {
319 regulator-name = "P1.8V_LDO_OUT10";
320 regulator-min-microvolt = <1800000>;
321 regulator-max-microvolt = <1800000>;
322 regulator-always-on;
323 };
324
325 ldo12_reg: LDO12 {
326 regulator-name = "P3.0V_LDO_OUT12";
327 regulator-min-microvolt = <3000000>;
328 regulator-max-microvolt = <3000000>;
329 regulator-always-on;
330 };
331
332 ldo14_reg: LDO14 {
333 regulator-name = "P1.8V_LDO_OUT14";
334 regulator-min-microvolt = <1800000>;
335 regulator-max-microvolt = <1800000>;
336 regulator-always-on;
337 };
338
339 ldo15_reg: LDO15 {
340 regulator-name = "P1.0V_LDO_OUT15";
341 regulator-min-microvolt = <1000000>;
342 regulator-max-microvolt = <1000000>;
343 regulator-always-on;
344 };
345
346 ldo16_reg: LDO16 {
347 regulator-name = "P1.8V_LDO_OUT16";
348 regulator-min-microvolt = <1800000>;
349 regulator-max-microvolt = <1800000>;
350 regulator-always-on;
351 };
352
353 buck1_reg: BUCK1 {
354 regulator-name = "vdd_mif";
355 regulator-min-microvolt = <950000>;
356 regulator-max-microvolt = <1300000>;
357 regulator-always-on;
358 regulator-boot-on;
359 };
360
361 buck2_reg: BUCK2 {
362 regulator-name = "vdd_arm";
363 regulator-min-microvolt = <850000>;
364 regulator-max-microvolt = <1350000>;
365 regulator-always-on;
366 regulator-boot-on;
367 };
368
369 buck3_reg: BUCK3 {
370 regulator-name = "vdd_int";
371 regulator-min-microvolt = <900000>;
372 regulator-max-microvolt = <1200000>;
373 regulator-always-on;
374 regulator-boot-on;
375 };
376
377 buck4_reg: BUCK4 {
378 regulator-name = "vdd_g3d";
379 regulator-min-microvolt = <850000>;
380 regulator-max-microvolt = <1300000>;
381 regulator-always-on;
382 regulator-boot-on;
383 };
384
385 buck5_reg: BUCK5 {
386 regulator-name = "P1.8V_BUCK_OUT5";
387 regulator-min-microvolt = <1800000>;
388 regulator-max-microvolt = <1800000>;
389 regulator-always-on;
390 regulator-boot-on;
391 };
392
393 buck6_reg: BUCK6 {
394 regulator-name = "P1.35V_BUCK_OUT6";
395 regulator-min-microvolt = <1350000>;
396 regulator-max-microvolt = <1350000>;
397 regulator-always-on;
398 };
399
400 buck7_reg: BUCK7 {
401 regulator-name = "P2.0V_BUCK_OUT7";
402 regulator-min-microvolt = <2000000>;
403 regulator-max-microvolt = <2000000>;
404 regulator-always-on;
405 };
406
407 buck8_reg: BUCK8 {
408 regulator-name = "P2.85V_BUCK_OUT8";
409 regulator-min-microvolt = <2850000>;
410 regulator-max-microvolt = <2850000>;
411 regulator-always-on;
412 };
413 };
414 };
415 };
416
417 &i2c_1 {
418 status = "okay";
419 samsung,i2c-sda-delay = <100>;
420 samsung,i2c-max-bus-freq = <378000>;
421
422 trackpad {
423 reg = <0x67>;
424 compatible = "cypress,cyapa";
425 interrupts = <2 IRQ_TYPE_NONE>;
426 interrupt-parent = <&gpx1>;
427 wakeup-source;
428 };
429 };
430
431 /*
432 * Disabled pullups since external part has its own pullups and
433 * double-pulling gets us out of spec in some cases.
434 */
435 &i2c2_bus {
436 samsung,pin-pud = <0>;
437 };
438
439 &i2c_2 {
440 status = "okay";
441 samsung,i2c-sda-delay = <100>;
442 samsung,i2c-max-bus-freq = <66000>;
443
444 hdmiddc@50 {
445 compatible = "samsung,exynos4210-hdmiddc";
446 reg = <0x50>;
447 };
448 };
449
450 &i2c_3 {
451 status = "okay";
452 samsung,i2c-sda-delay = <100>;
453 samsung,i2c-max-bus-freq = <66000>;
454 };
455
456 &i2c_4 {
457 status = "okay";
458 samsung,i2c-sda-delay = <100>;
459 samsung,i2c-max-bus-freq = <66000>;
460 };
461
462 &i2c_5 {
463 status = "okay";
464 samsung,i2c-sda-delay = <100>;
465 samsung,i2c-max-bus-freq = <66000>;
466 };
467
468 &i2c_7 {
469 status = "okay";
470 samsung,i2c-sda-delay = <100>;
471 samsung,i2c-max-bus-freq = <66000>;
472
473 max98095: codec@11 {
474 compatible = "maxim,max98095";
475 reg = <0x11>;
476 pinctrl-0 = <&max98095_en>;
477 pinctrl-names = "default";
478 };
479 };
480
481 &i2c_8 {
482 status = "okay";
483 samsung,i2c-sda-delay = <100>;
484 samsung,i2c-max-bus-freq = <378000>;
485
486 hdmiphy: hdmiphy@38 {
487 compatible = "samsung,exynos4212-hdmiphy";
488 reg = <0x38>;
489 };
490 };
491
492 &i2s0 {
493 status = "okay";
494 };
495
496 &mmc_0 {
497 status = "okay";
498 num-slots = <1>;
499 broken-cd;
500 card-detect-delay = <200>;
501 samsung,dw-mshc-ciu-div = <3>;
502 samsung,dw-mshc-sdr-timing = <2 3>;
503 samsung,dw-mshc-ddr-timing = <1 2>;
504 pinctrl-names = "default";
505 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus4 &sd0_bus8>;
506 bus-width = <8>;
507 cap-mmc-highspeed;
508 };
509
510 &mmc_2 {
511 status = "okay";
512 num-slots = <1>;
513 card-detect-delay = <200>;
514 samsung,dw-mshc-ciu-div = <3>;
515 samsung,dw-mshc-sdr-timing = <2 3>;
516 samsung,dw-mshc-ddr-timing = <1 2>;
517 pinctrl-names = "default";
518 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
519 bus-width = <4>;
520 wp-gpios = <&gpc2 1 GPIO_ACTIVE_HIGH>;
521 cap-sd-highspeed;
522 };
523
524 /*
525 * On Snow we've got SIP WiFi and so can keep drive strengths low to
526 * reduce EMI.
527 */
528 &mmc_3 {
529 status = "okay";
530 num-slots = <1>;
531 broken-cd;
532 card-detect-delay = <200>;
533 samsung,dw-mshc-ciu-div = <3>;
534 samsung,dw-mshc-sdr-timing = <2 3>;
535 samsung,dw-mshc-ddr-timing = <1 2>;
536 pinctrl-names = "default";
537 pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4>;
538 bus-width = <4>;
539 cap-sd-highspeed;
540 };
541
542 &pinctrl_0 {
543 ec_irq: ec-irq {
544 samsung,pins = "gpx1-6";
545 samsung,pin-function = <0>;
546 samsung,pin-pud = <0>;
547 samsung,pin-drv = <0>;
548 };
549
550 max98095_en: max98095-en {
551 samsung,pins = "gpx1-7";
552 samsung,pin-function = <0>;
553 samsung,pin-pud = <3>;
554 samsung,pin-drv = <0>;
555 };
556
557 tps65090_irq: tps65090-irq {
558 samsung,pins = "gpx2-6";
559 samsung,pin-function = <0>;
560 samsung,pin-pud = <0>;
561 samsung,pin-drv = <0>;
562 };
563
564 usb3_vbus_en: usb3-vbus-en {
565 samsung,pins = "gpx2-7";
566 samsung,pin-function = <1>;
567 samsung,pin-pud = <0>;
568 samsung,pin-drv = <0>;
569 };
570
571 max77686_irq: max77686-irq {
572 samsung,pins = "gpx3-2";
573 samsung,pin-function = <0>;
574 samsung,pin-pud = <0>;
575 samsung,pin-drv = <0>;
576 };
577
578 hdmi_hpd_irq: hdmi-hpd-irq {
579 samsung,pins = "gpx3-7";
580 samsung,pin-function = <0>;
581 samsung,pin-pud = <1>;
582 samsung,pin-drv = <0>;
583 };
584 };
585
586 &pinctrl_1 {
587 arb_their_claim: arb-their-claim {
588 samsung,pins = "gpe0-4";
589 samsung,pin-function = <0>;
590 samsung,pin-pud = <3>;
591 samsung,pin-drv = <0>;
592 };
593
594 arb_our_claim: arb-our-claim {
595 samsung,pins = "gpf0-3";
596 samsung,pin-function = <1>;
597 samsung,pin-pud = <0>;
598 samsung,pin-drv = <0>;
599 };
600 };
601
602 &rtc {
603 status = "okay";
604 clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>;
605 clock-names = "rtc", "rtc_src";
606 };
607
608 &sd3_bus4 {
609 samsung,pin-drv = <0>;
610 };
611
612 &sd3_clk {
613 samsung,pin-drv = <0>;
614 };
615
616 &sd3_cmd {
617 samsung,pin-pud = <3>;
618 samsung,pin-drv = <0>;
619 };
620
621 &spi_1 {
622 status = "okay";
623 samsung,spi-src-clk = <0>;
624 num-cs = <1>;
625 };
626
627 &usbdrd_phy {
628 vbus-supply = <&usb3_vbus_reg>;
629 };
630
631 #include "cros-ec-keyboard.dtsi"
This page took 0.067392 seconds and 5 git commands to generate.