2 * Google Snow board device tree source
4 * Copyright (c) 2012 Google, Inc
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.
11 #include <dt-bindings/gpio/gpio.h>
12 #include <dt-bindings/clock/maxim,max77686.h>
13 #include <dt-bindings/interrupt-controller/irq.h>
14 #include <dt-bindings/input/input.h>
15 #include "exynos5250.dtsi"
23 reg = <0x40000000 0x80000000>;
27 bootargs = "console=tty1";
28 stdout-path = "serial3:115200n8";
32 compatible = "gpio-keys";
33 pinctrl-names = "default";
34 pinctrl-0 = <&power_key_irq &lid_irq>;
38 gpios = <&gpx1 3 GPIO_ACTIVE_LOW>;
39 linux,code = <KEY_POWER>;
45 gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
46 linux,input-type = <5>; /* EV_SW */
47 linux,code = <0>; /* SW_LID */
48 debounce-interval = <1>;
53 vbat: vbat-fixed-regulator {
54 compatible = "regulator-fixed";
55 regulator-name = "vbat-supply";
60 compatible = "i2c-arb-gpio-challenge";
64 i2c-parent = <&{/i2c@12CA0000}>;
66 our-claim-gpio = <&gpf0 3 GPIO_ACTIVE_LOW>;
67 their-claim-gpios = <&gpe0 4 GPIO_ACTIVE_LOW>;
69 wait-retry-us = <3000>;
70 wait-free-us = <50000>;
72 pinctrl-names = "default";
73 pinctrl-0 = <&arb_our_claim &arb_their_claim>;
75 /* Use ID 104 as a hint that we're on physical bus 4 */
81 battery: sbs-battery@b {
82 compatible = "sbs,sbs-battery";
84 sbs,poll-retry-count = <1>;
87 cros_ec: embedded-controller@1e {
88 compatible = "google,cros-ec-i2c";
90 interrupts = <6 IRQ_TYPE_NONE>;
91 interrupt-parent = <&gpx1>;
92 pinctrl-names = "default";
93 pinctrl-0 = <&ec_irq>;
98 compatible = "ti,tps65090";
102 * Config irq to disable internal pulls
103 * even though we run in polling mode.
105 pinctrl-names = "default";
106 pinctrl-0 = <&tps65090_irq>;
108 vsys1-supply = <&vbat>;
109 vsys2-supply = <&vbat>;
110 vsys3-supply = <&vbat>;
111 infet1-supply = <&vbat>;
112 infet2-supply = <&vbat>;
113 infet3-supply = <&vbat>;
114 infet4-supply = <&vbat>;
115 infet5-supply = <&vbat>;
116 infet6-supply = <&vbat>;
117 infet7-supply = <&vbat>;
118 vsys-l1-supply = <&vbat>;
119 vsys-l2-supply = <&vbat>;
123 ti,enable-ext-control;
126 ti,enable-ext-control;
129 ti,enable-ext-control;
132 regulator-name = "vcd_led";
133 ti,overcurrent-wait = <3>;
135 tps65090_fet2: fet2 {
136 regulator-name = "video_mid";
138 ti,overcurrent-wait = <3>;
141 regulator-name = "wwan_r";
143 ti,overcurrent-wait = <3>;
146 regulator-name = "sdcard";
147 ti,overcurrent-wait = <3>;
150 regulator-name = "camout";
152 ti,overcurrent-wait = <3>;
155 regulator-name = "lcd_vdd";
156 ti,overcurrent-wait = <3>;
158 tps65090_fet7: fet7 {
159 regulator-name = "video_mid_1a";
161 ti,overcurrent-wait = <3>;
170 compatible = "ti,tps65090-charger";
177 samsung,i2s-controller = <&i2s0>;
180 usb3_vbus_reg: regulator-usb3 {
181 compatible = "regulator-fixed";
182 regulator-name = "P5.0V_USB3CON";
183 regulator-min-microvolt = <5000000>;
184 regulator-max-microvolt = <5000000>;
185 gpio = <&gpx2 7 GPIO_ACTIVE_HIGH>;
186 pinctrl-names = "default";
187 pinctrl-0 = <&usb3_vbus_en>;
193 compatible = "samsung,clock-xxti";
194 clock-frequency = <24000000>;
198 backlight: backlight {
199 compatible = "pwm-backlight";
200 pwms = <&pwm 0 1000000 0>;
201 brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
202 default-brightness-level = <7>;
203 enable-gpios = <&gpx3 0 GPIO_ACTIVE_HIGH>;
204 power-supply = <&fet1>;
205 pinctrl-0 = <&pwm0_out>;
206 pinctrl-names = "default";
210 compatible = "auo,b116xw03";
211 power-supply = <&fet6>;
212 backlight = <&backlight>;
216 remote-endpoint = <&bridge_out>;
221 mmc3_pwrseq: mmc3_pwrseq {
222 compatible = "mmc-pwrseq-simple";
223 reset-gpios = <&gpx0 2 GPIO_ACTIVE_LOW>, /* WIFI_RSTn */
224 <&gpx0 1 GPIO_ACTIVE_LOW>; /* WIFI_EN */
225 clocks = <&max77686 MAX77686_CLK_PMIC>;
226 clock-names = "ext_clock";
231 cpu0-supply = <&buck2_reg>;
236 pinctrl-names = "default";
237 pinctrl-0 = <&dp_hpd>;
238 samsung,color-space = <0>;
239 samsung,color-depth = <1>;
240 samsung,link-rate = <0x0a>;
241 samsung,lane-count = <2>;
242 hpd-gpios = <&gpx0 7 GPIO_ACTIVE_HIGH>;
247 remote-endpoint = <&bridge_in>;
254 samsung,vbus-gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>;
263 hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>;
264 pinctrl-names = "default";
265 pinctrl-0 = <&hdmi_hpd_irq>;
268 hdmi-en-supply = <&tps65090_fet7>;
269 vdd-supply = <&ldo8_reg>;
270 vdd_osc-supply = <&ldo10_reg>;
271 vdd_pll-supply = <&ldo8_reg>;
276 samsung,i2c-sda-delay = <100>;
277 samsung,i2c-max-bus-freq = <378000>;
279 max77686: max77686@09 {
280 compatible = "maxim,max77686";
281 interrupt-parent = <&gpx3>;
282 interrupts = <2 IRQ_TYPE_NONE>;
283 pinctrl-names = "default";
284 pinctrl-0 = <&max77686_irq>;
291 regulator-name = "P1.0V_LDO_OUT1";
292 regulator-min-microvolt = <1000000>;
293 regulator-max-microvolt = <1000000>;
298 regulator-name = "P1.8V_LDO_OUT2";
299 regulator-min-microvolt = <1800000>;
300 regulator-max-microvolt = <1800000>;
305 regulator-name = "P1.8V_LDO_OUT3";
306 regulator-min-microvolt = <1800000>;
307 regulator-max-microvolt = <1800000>;
312 regulator-name = "P1.1V_LDO_OUT7";
313 regulator-min-microvolt = <1100000>;
314 regulator-max-microvolt = <1100000>;
319 regulator-name = "P1.0V_LDO_OUT8";
320 regulator-min-microvolt = <1000000>;
321 regulator-max-microvolt = <1000000>;
326 regulator-name = "P1.8V_LDO_OUT10";
327 regulator-min-microvolt = <1800000>;
328 regulator-max-microvolt = <1800000>;
333 regulator-name = "P3.0V_LDO_OUT12";
334 regulator-min-microvolt = <3000000>;
335 regulator-max-microvolt = <3000000>;
340 regulator-name = "P1.8V_LDO_OUT14";
341 regulator-min-microvolt = <1800000>;
342 regulator-max-microvolt = <1800000>;
347 regulator-name = "P1.0V_LDO_OUT15";
348 regulator-min-microvolt = <1000000>;
349 regulator-max-microvolt = <1000000>;
354 regulator-name = "P1.8V_LDO_OUT16";
355 regulator-min-microvolt = <1800000>;
356 regulator-max-microvolt = <1800000>;
361 regulator-name = "vdd_mif";
362 regulator-min-microvolt = <950000>;
363 regulator-max-microvolt = <1300000>;
369 regulator-name = "vdd_arm";
370 regulator-min-microvolt = <850000>;
371 regulator-max-microvolt = <1350000>;
377 regulator-name = "vdd_int";
378 regulator-min-microvolt = <900000>;
379 regulator-max-microvolt = <1200000>;
385 regulator-name = "vdd_g3d";
386 regulator-min-microvolt = <850000>;
387 regulator-max-microvolt = <1300000>;
393 regulator-name = "P1.8V_BUCK_OUT5";
394 regulator-min-microvolt = <1800000>;
395 regulator-max-microvolt = <1800000>;
401 regulator-name = "P1.35V_BUCK_OUT6";
402 regulator-min-microvolt = <1350000>;
403 regulator-max-microvolt = <1350000>;
408 regulator-name = "P2.0V_BUCK_OUT7";
409 regulator-min-microvolt = <2000000>;
410 regulator-max-microvolt = <2000000>;
415 regulator-name = "P2.85V_BUCK_OUT8";
416 regulator-min-microvolt = <2850000>;
417 regulator-max-microvolt = <2850000>;
426 samsung,i2c-sda-delay = <100>;
427 samsung,i2c-max-bus-freq = <378000>;
431 compatible = "cypress,cyapa";
432 interrupts = <2 IRQ_TYPE_NONE>;
433 interrupt-parent = <&gpx1>;
439 * Disabled pullups since external part has its own pullups and
440 * double-pulling gets us out of spec in some cases.
443 samsung,pin-pud = <0>;
448 samsung,i2c-sda-delay = <100>;
449 samsung,i2c-max-bus-freq = <66000>;
452 compatible = "samsung,exynos4210-hdmiddc";
459 samsung,i2c-sda-delay = <100>;
460 samsung,i2c-max-bus-freq = <66000>;
465 samsung,i2c-sda-delay = <100>;
466 samsung,i2c-max-bus-freq = <66000>;
471 samsung,i2c-sda-delay = <100>;
472 samsung,i2c-max-bus-freq = <66000>;
477 samsung,i2c-sda-delay = <100>;
478 samsung,i2c-max-bus-freq = <66000>;
480 ptn3460: lvds-bridge@20 {
481 compatible = "nxp,ptn3460";
483 powerdown-gpios = <&gpy2 5 GPIO_ACTIVE_HIGH>;
484 reset-gpios = <&gpx1 5 GPIO_ACTIVE_HIGH>;
485 edid-emulation = <5>;
488 #address-cells = <1>;
494 bridge_out: endpoint {
495 remote-endpoint = <&panel_in>;
502 bridge_in: endpoint {
503 remote-endpoint = <&dp_out>;
512 samsung,i2c-sda-delay = <100>;
513 samsung,i2c-max-bus-freq = <378000>;
515 hdmiphy: hdmiphy@38 {
516 compatible = "samsung,exynos4212-hdmiphy";
529 samsung,dw-mshc-ciu-div = <3>;
530 samsung,dw-mshc-sdr-timing = <2 3>;
531 samsung,dw-mshc-ddr-timing = <1 2>;
532 pinctrl-names = "default";
533 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus4 &sd0_bus8>;
541 card-detect-delay = <200>;
542 samsung,dw-mshc-ciu-div = <3>;
543 samsung,dw-mshc-sdr-timing = <2 3>;
544 samsung,dw-mshc-ddr-timing = <1 2>;
545 pinctrl-names = "default";
546 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
548 wp-gpios = <&gpc2 1 GPIO_ACTIVE_HIGH>;
553 * On Snow we've got SIP WiFi and so can keep drive strengths low to
561 keep-power-in-suspend;
562 samsung,dw-mshc-ciu-div = <3>;
563 samsung,dw-mshc-sdr-timing = <2 3>;
564 samsung,dw-mshc-ddr-timing = <1 2>;
565 pinctrl-names = "default";
566 pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4 &wifi_en &wifi_rst>;
569 mmc-pwrseq = <&mmc3_pwrseq>;
574 samsung,pins = "gpx0-1";
575 samsung,pin-function = <1>;
576 samsung,pin-pud = <0>;
577 samsung,pin-drv = <0>;
581 samsung,pins = "gpx0-2";
582 samsung,pin-function = <1>;
583 samsung,pin-pud = <0>;
584 samsung,pin-drv = <0>;
587 power_key_irq: power-key-irq {
588 samsung,pins = "gpx1-3";
589 samsung,pin-function = <0xf>;
590 samsung,pin-pud = <0>;
591 samsung,pin-drv = <0>;
595 samsung,pins = "gpx1-6";
596 samsung,pin-function = <0>;
597 samsung,pin-pud = <0>;
598 samsung,pin-drv = <0>;
601 tps65090_irq: tps65090-irq {
602 samsung,pins = "gpx2-6";
603 samsung,pin-function = <0>;
604 samsung,pin-pud = <0>;
605 samsung,pin-drv = <0>;
608 usb3_vbus_en: usb3-vbus-en {
609 samsung,pins = "gpx2-7";
610 samsung,pin-function = <1>;
611 samsung,pin-pud = <0>;
612 samsung,pin-drv = <0>;
615 max77686_irq: max77686-irq {
616 samsung,pins = "gpx3-2";
617 samsung,pin-function = <0>;
618 samsung,pin-pud = <0>;
619 samsung,pin-drv = <0>;
623 samsung,pins = "gpx3-5";
624 samsung,pin-function = <0xf>;
625 samsung,pin-pud = <0>;
626 samsung,pin-drv = <0>;
629 hdmi_hpd_irq: hdmi-hpd-irq {
630 samsung,pins = "gpx3-7";
631 samsung,pin-function = <0>;
632 samsung,pin-pud = <1>;
633 samsung,pin-drv = <0>;
638 arb_their_claim: arb-their-claim {
639 samsung,pins = "gpe0-4";
640 samsung,pin-function = <0>;
641 samsung,pin-pud = <3>;
642 samsung,pin-drv = <0>;
645 arb_our_claim: arb-our-claim {
646 samsung,pins = "gpf0-3";
647 samsung,pin-function = <1>;
648 samsung,pin-pud = <0>;
649 samsung,pin-drv = <0>;
655 clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>;
656 clock-names = "rtc", "rtc_src";
660 samsung,pin-drv = <0>;
664 samsung,pin-drv = <0>;
668 samsung,pin-pud = <3>;
669 samsung,pin-drv = <0>;
674 samsung,spi-src-clk = <0>;
676 cs-gpios = <&gpa2 5 GPIO_ACTIVE_HIGH>;
684 vbus-supply = <&usb3_vbus_reg>;
687 #include "cros-ec-keyboard.dtsi"