2 * Google Peach Pit Rev 6+ board device tree source
4 * Copyright (c) 2014 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.
12 #include <dt-bindings/input/input.h>
13 #include <dt-bindings/gpio/gpio.h>
14 #include <dt-bindings/interrupt-controller/irq.h>
15 #include <dt-bindings/clock/maxim,max77802.h>
16 #include "exynos5420.dtsi"
19 model = "Google Peach Pit Rev 6+";
21 compatible = "google,pit-rev16",
22 "google,pit-rev15", "google,pit-rev14",
23 "google,pit-rev13", "google,pit-rev12",
24 "google,pit-rev11", "google,pit-rev10",
25 "google,pit-rev9", "google,pit-rev8",
26 "google,pit-rev7", "google,pit-rev6",
27 "google,pit", "google,peach","samsung,exynos5420",
31 /* Assign 20 so we don't get confused w/ builtin ones */
32 i2c20 = "/spi@12d40000/cros-ec@0/i2c-tunnel";
35 backlight: backlight {
36 compatible = "pwm-backlight";
37 pwms = <&pwm 0 1000000 0>;
38 brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
39 default-brightness-level = <7>;
40 power-supply = <&tps65090_fet1>;
41 pinctrl-0 = <&pwm0_out>;
42 pinctrl-names = "default";
47 compatible = "samsung,exynos5420-oscclk";
48 clock-frequency = <24000000>;
53 compatible = "gpio-keys";
55 pinctrl-names = "default";
56 pinctrl-0 = <&power_key_irq &lid_irq>;
60 gpios = <&gpx1 2 GPIO_ACTIVE_LOW>;
61 linux,code = <KEY_POWER>;
67 gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
68 linux,input-type = <5>; /* EV_SW */
69 linux,code = <0>; /* SW_LID */
70 debounce-interval = <1>;
76 reg = <0x20000000 0x80000000>;
80 compatible = "google,snow-audio-max98090";
82 samsung,model = "Peach-Pit-I2S-MAX98090";
83 samsung,i2s-controller = <&i2s0>;
84 samsung,audio-codec = <&max98090>;
87 usb300_vbus_reg: regulator-usb300 {
88 compatible = "regulator-fixed";
89 regulator-name = "P5.0V_USB3CON0";
90 regulator-min-microvolt = <5000000>;
91 regulator-max-microvolt = <5000000>;
93 pinctrl-names = "default";
94 pinctrl-0 = <&usb300_vbus_en>;
98 usb301_vbus_reg: regulator-usb301 {
99 compatible = "regulator-fixed";
100 regulator-name = "P5.0V_USB3CON1";
101 regulator-min-microvolt = <5000000>;
102 regulator-max-microvolt = <5000000>;
104 pinctrl-names = "default";
105 pinctrl-0 = <&usb301_vbus_en>;
109 vbat: fixed-regulator {
110 compatible = "regulator-fixed";
111 regulator-name = "vbat-supply";
117 compatible = "auo,b116xw03";
118 power-supply = <&tps65090_fet6>;
119 backlight = <&backlight>;
125 vdd-supply = <&ldo9_reg>;
130 pinctrl-names = "default";
131 pinctrl-0 = <&dp_hpd_gpio>;
132 samsung,color-space = <0>;
133 samsung,dynamic-range = <0>;
134 samsung,ycbcr-coeff = <0>;
135 samsung,color-depth = <1>;
136 samsung,link-rate = <0x06>;
137 samsung,lane-count = <2>;
138 samsung,hpd-gpio = <&gpx2 6 0>;
149 hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>;
150 pinctrl-names = "default";
151 pinctrl-0 = <&hdmi_hpd_irq>;
154 hdmi-en-supply = <&tps65090_fet7>;
155 vdd-supply = <&ldo8_reg>;
156 vdd_osc-supply = <&ldo10_reg>;
157 vdd_pll-supply = <&ldo8_reg>;
162 clock-frequency = <400000>;
164 max77802: max77802-pmic@9 {
165 compatible = "maxim,max77802";
166 interrupt-parent = <&gpx3>;
167 interrupts = <1 IRQ_TYPE_NONE>;
168 pinctrl-names = "default";
169 pinctrl-0 = <&max77802_irq>, <&pmic_selb>,
170 <&pmic_dvs_1>, <&pmic_dvs_2>, <&pmic_dvs_3>;
175 inb1-supply = <&tps65090_dcdc2>;
176 inb2-supply = <&tps65090_dcdc1>;
177 inb3-supply = <&tps65090_dcdc2>;
178 inb4-supply = <&tps65090_dcdc2>;
179 inb5-supply = <&tps65090_dcdc1>;
180 inb6-supply = <&tps65090_dcdc2>;
181 inb7-supply = <&tps65090_dcdc1>;
182 inb8-supply = <&tps65090_dcdc1>;
183 inb9-supply = <&tps65090_dcdc1>;
184 inb10-supply = <&tps65090_dcdc1>;
186 inl1-supply = <&buck5_reg>;
187 inl2-supply = <&buck7_reg>;
188 inl3-supply = <&buck9_reg>;
189 inl4-supply = <&buck9_reg>;
190 inl5-supply = <&buck9_reg>;
191 inl6-supply = <&tps65090_dcdc2>;
192 inl7-supply = <&buck9_reg>;
193 inl9-supply = <&tps65090_dcdc2>;
194 inl10-supply = <&buck7_reg>;
198 regulator-name = "vdd_mif";
199 regulator-min-microvolt = <800000>;
200 regulator-max-microvolt = <1300000>;
203 regulator-ramp-delay = <12500>;
207 regulator-name = "vdd_arm";
208 regulator-min-microvolt = <800000>;
209 regulator-max-microvolt = <1500000>;
212 regulator-ramp-delay = <12500>;
216 regulator-name = "vdd_int";
217 regulator-min-microvolt = <800000>;
218 regulator-max-microvolt = <1400000>;
221 regulator-ramp-delay = <12500>;
225 regulator-name = "vdd_g3d";
226 regulator-min-microvolt = <700000>;
227 regulator-max-microvolt = <1400000>;
230 regulator-ramp-delay = <12500>;
234 regulator-name = "vdd_1v2";
235 regulator-min-microvolt = <1200000>;
236 regulator-max-microvolt = <1200000>;
242 regulator-name = "vdd_kfc";
243 regulator-min-microvolt = <800000>;
244 regulator-max-microvolt = <1500000>;
247 regulator-ramp-delay = <12500>;
251 regulator-name = "vdd_1v35";
252 regulator-min-microvolt = <1350000>;
253 regulator-max-microvolt = <1350000>;
259 regulator-name = "vdd_emmc";
260 regulator-min-microvolt = <2850000>;
261 regulator-max-microvolt = <2850000>;
267 regulator-name = "vdd_2v";
268 regulator-min-microvolt = <2000000>;
269 regulator-max-microvolt = <2000000>;
275 regulator-name = "vdd_1v8";
276 regulator-min-microvolt = <1800000>;
277 regulator-max-microvolt = <1800000>;
283 regulator-name = "vdd_1v0";
284 regulator-min-microvolt = <1000000>;
285 regulator-max-microvolt = <1000000>;
290 regulator-name = "vdd_1v2_2";
291 regulator-min-microvolt = <1200000>;
292 regulator-max-microvolt = <1200000>;
296 regulator-name = "vdd_1v8_3";
297 regulator-min-microvolt = <1800000>;
298 regulator-max-microvolt = <1800000>;
302 vqmmc_sdcard: ldo4_reg: LDO4 {
303 regulator-name = "vdd_sd";
304 regulator-min-microvolt = <1800000>;
305 regulator-max-microvolt = <2800000>;
310 regulator-name = "vdd_1v8_5";
311 regulator-min-microvolt = <1800000>;
312 regulator-max-microvolt = <1800000>;
317 regulator-name = "vdd_1v8_6";
318 regulator-min-microvolt = <1800000>;
319 regulator-max-microvolt = <1800000>;
324 regulator-name = "vdd_1v8_7";
325 regulator-min-microvolt = <1800000>;
326 regulator-max-microvolt = <1800000>;
330 regulator-name = "vdd_ldo8";
331 regulator-min-microvolt = <1000000>;
332 regulator-max-microvolt = <1000000>;
337 regulator-name = "vdd_ldo9";
338 regulator-min-microvolt = <1800000>;
339 regulator-max-microvolt = <1800000>;
344 regulator-name = "vdd_ldo10";
345 regulator-min-microvolt = <1800000>;
346 regulator-max-microvolt = <1800000>;
351 regulator-name = "vdd_ldo11";
352 regulator-min-microvolt = <1800000>;
353 regulator-max-microvolt = <1800000>;
358 regulator-name = "vdd_ldo12";
359 regulator-min-microvolt = <3000000>;
360 regulator-max-microvolt = <3000000>;
365 regulator-name = "vdd_ldo13";
366 regulator-min-microvolt = <1800000>;
367 regulator-max-microvolt = <1800000>;
372 regulator-name = "vdd_ldo14";
373 regulator-min-microvolt = <1800000>;
374 regulator-max-microvolt = <1800000>;
379 regulator-name = "vdd_ldo15";
380 regulator-min-microvolt = <1000000>;
381 regulator-max-microvolt = <1000000>;
386 regulator-name = "vdd_g3ds";
387 regulator-min-microvolt = <900000>;
388 regulator-max-microvolt = <1400000>;
393 regulator-name = "ldo_18";
394 regulator-min-microvolt = <1800000>;
395 regulator-max-microvolt = <1800000>;
399 regulator-name = "ldo_19";
400 regulator-min-microvolt = <1800000>;
401 regulator-max-microvolt = <1800000>;
405 regulator-name = "ldo_20";
406 regulator-min-microvolt = <1800000>;
407 regulator-max-microvolt = <1800000>;
412 regulator-name = "ldo_21";
413 regulator-min-microvolt = <2800000>;
414 regulator-max-microvolt = <2800000>;
418 regulator-name = "ldo_23";
419 regulator-min-microvolt = <3300000>;
420 regulator-max-microvolt = <3300000>;
423 regulator-name = "ldo_24";
424 regulator-min-microvolt = <2800000>;
425 regulator-max-microvolt = <2800000>;
429 regulator-name = "ldo_25";
430 regulator-min-microvolt = <3300000>;
431 regulator-max-microvolt = <3300000>;
435 regulator-name = "ldo_26";
436 regulator-min-microvolt = <1200000>;
437 regulator-max-microvolt = <1200000>;
441 regulator-name = "ldo_27";
442 regulator-min-microvolt = <1200000>;
443 regulator-max-microvolt = <1200000>;
447 regulator-name = "ldo_28";
448 regulator-min-microvolt = <1800000>;
449 regulator-max-microvolt = <1800000>;
453 regulator-name = "ldo_29";
454 regulator-min-microvolt = <1800000>;
455 regulator-max-microvolt = <1800000>;
459 regulator-name = "vdd_mifs";
460 regulator-min-microvolt = <1000000>;
461 regulator-max-microvolt = <1000000>;
466 regulator-name = "ldo_32";
467 regulator-min-microvolt = <3000000>;
468 regulator-max-microvolt = <3000000>;
472 regulator-name = "ldo_33";
473 regulator-min-microvolt = <2800000>;
474 regulator-max-microvolt = <2800000>;
478 regulator-name = "ldo_34";
479 regulator-min-microvolt = <3000000>;
480 regulator-max-microvolt = <3000000>;
484 regulator-name = "ldo_35";
485 regulator-min-microvolt = <1200000>;
486 regulator-max-microvolt = <1200000>;
494 clock-frequency = <400000>;
497 compatible = "maxim,max98090";
500 interrupt-parent = <&gpx0>;
501 pinctrl-names = "default";
502 pinctrl-0 = <&max98090_irq>;
506 compatible = "isil,isl29018";
508 vcc-supply = <&tps65090_fet5>;
511 ps8625: lvds-bridge@48 {
512 compatible = "parade,ps8625";
514 sleep-gpios = <&gpx3 5 GPIO_ACTIVE_HIGH>;
515 reset-gpios = <&gpy7 7 GPIO_ACTIVE_HIGH>;
524 clock-frequency = <333000>;
528 compatible = "atmel,maxtouch";
530 interrupt-parent = <&gpx1>;
531 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
533 pinctrl-names = "default";
534 pinctrl-0 = <&trackpad_irq>;
535 linux,gpio-keymap = <KEY_RESERVED
537 KEY_RESERVED /* GPIO0 */
538 KEY_RESERVED /* GPIO1 */
539 KEY_RESERVED /* GPIO2 */
540 BTN_LEFT>; /* GPIO3 */
546 clock-frequency = <400000>;
549 compatible = "infineon,slb9645tt";
552 /* Unused irq; but still need to configure the pins */
553 pinctrl-names = "default";
554 pinctrl-0 = <&tpm_irq>;
560 samsung,i2c-sda-delay = <100>;
561 samsung,i2c-max-bus-freq = <66000>;
562 samsung,i2c-slave-addr = <0x50>;
576 card-detect-delay = <200>;
577 clock-frequency = <400000000>;
578 samsung,dw-mshc-ciu-div = <3>;
579 samsung,dw-mshc-sdr-timing = <0 4>;
580 samsung,dw-mshc-ddr-timing = <0 2>;
581 pinctrl-names = "default";
582 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
590 card-detect-delay = <200>;
591 clock-frequency = <400000000>;
592 samsung,dw-mshc-ciu-div = <3>;
593 samsung,dw-mshc-sdr-timing = <2 3>;
594 samsung,dw-mshc-ddr-timing = <1 2>;
595 pinctrl-names = "default";
596 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
602 pinctrl-names = "default";
603 pinctrl-0 = <&mask_tpm_reset>;
605 max98090_irq: max98090-irq {
606 samsung,pins = "gpx0-2";
607 samsung,pin-function = <0>;
608 samsung,pin-pud = <0>;
609 samsung,pin-drv = <0>;
612 /* We need GPX0_6 to be low at sleep time; just keep it low always */
613 mask_tpm_reset: mask-tpm-reset {
614 samsung,pins = "gpx0-6";
615 samsung,pin-function = <1>;
616 samsung,pin-pud = <0>;
617 samsung,pin-drv = <0>;
618 samsung,pin-val = <0>;
622 samsung,pins = "gpx1-0";
623 samsung,pin-function = <0>;
624 samsung,pin-pud = <0>;
625 samsung,pin-drv = <0>;
628 trackpad_irq: trackpad-irq {
629 samsung,pins = "gpx1-1";
630 samsung,pin-function = <0xf>;
631 samsung,pin-pud = <0>;
632 samsung,pin-drv = <0>;
635 power_key_irq: power-key-irq {
636 samsung,pins = "gpx1-2";
637 samsung,pin-function = <0>;
638 samsung,pin-pud = <0>;
639 samsung,pin-drv = <0>;
643 samsung,pins = "gpx1-5";
644 samsung,pin-function = <0>;
645 samsung,pin-pud = <0>;
646 samsung,pin-drv = <0>;
649 tps65090_irq: tps65090-irq {
650 samsung,pins = "gpx2-5";
651 samsung,pin-function = <0>;
652 samsung,pin-pud = <0>;
653 samsung,pin-drv = <0>;
656 dp_hpd_gpio: dp_hpd_gpio {
657 samsung,pins = "gpx2-6";
658 samsung,pin-function = <0>;
659 samsung,pin-pud = <3>;
660 samsung,pin-drv = <0>;
663 max77802_irq: max77802-irq {
664 samsung,pins = "gpx3-1";
665 samsung,pin-function = <0>;
666 samsung,pin-pud = <0>;
667 samsung,pin-drv = <0>;
671 samsung,pins = "gpx3-4";
672 samsung,pin-function = <0xf>;
673 samsung,pin-pud = <0>;
674 samsung,pin-drv = <0>;
677 hdmi_hpd_irq: hdmi-hpd-irq {
678 samsung,pins = "gpx3-7";
679 samsung,pin-function = <0>;
680 samsung,pin-pud = <1>;
681 samsung,pin-drv = <0>;
684 pmic_dvs_1: pmic-dvs-1 {
685 samsung,pins = "gpy7-6";
686 samsung,pin-function = <1>;
687 samsung,pin-pud = <0>;
688 samsung,pin-drv = <0>;
693 pmic_dvs_2: pmic-dvs-2 {
694 samsung,pins = "gpj4-2";
695 samsung,pin-function = <1>;
696 samsung,pin-pud = <0>;
697 samsung,pin-drv = <0>;
700 pmic_dvs_3: pmic-dvs-3 {
701 samsung,pins = "gpj4-3";
702 samsung,pin-function = <1>;
703 samsung,pin-pud = <0>;
704 samsung,pin-drv = <0>;
709 /* Drive SPI lines at x2 for better integrity */
711 samsung,pin-drv = <2>;
714 /* Drive SPI chip select at x2 for better integrity */
715 ec_spi_cs: ec-spi-cs {
716 samsung,pins = "gpb1-2";
717 samsung,pin-function = <1>;
718 samsung,pin-pud = <0>;
719 samsung,pin-drv = <2>;
722 usb300_vbus_en: usb300-vbus-en {
723 samsung,pins = "gph0-0";
724 samsung,pin-function = <1>;
725 samsung,pin-pud = <0>;
726 samsung,pin-drv = <0>;
729 usb301_vbus_en: usb301-vbus-en {
730 samsung,pins = "gph0-1";
731 samsung,pin-function = <1>;
732 samsung,pin-pud = <0>;
733 samsung,pin-drv = <0>;
736 pmic_selb: pmic-selb {
737 samsung,pins = "gph0-2", "gph0-3", "gph0-4", "gph0-5",
739 samsung,pin-function = <1>;
740 samsung,pin-pud = <0>;
741 samsung,pin-drv = <0>;
747 clocks = <&clock CLK_RTC>, <&max77802 MAX77802_CLK_32K_AP>;
748 clock-names = "rtc", "rtc_src";
754 samsung,spi-src-clk = <0>;
755 cs-gpios = <&gpb1 2 0>;
758 compatible = "google,cros-ec-spi";
759 interrupt-parent = <&gpx1>;
761 pinctrl-names = "default";
762 pinctrl-0 = <&ec_spi_cs &ec_irq>;
764 spi-max-frequency = <3125000>;
767 samsung,spi-feedback-delay = <1>;
771 compatible = "google,cros-ec-i2c-tunnel";
772 #address-cells = <1>;
774 google,remote-bus = <0>;
776 battery: sbs-battery@b {
777 compatible = "sbs,sbs-battery";
779 sbs,poll-retry-count = <1>;
780 sbs,i2c-retry-count = <2>;
784 compatible = "ti,tps65090";
788 * Config irq to disable internal pulls
789 * even though we run in polling mode.
791 pinctrl-names = "default";
792 pinctrl-0 = <&tps65090_irq>;
794 vsys1-supply = <&vbat>;
795 vsys2-supply = <&vbat>;
796 vsys3-supply = <&vbat>;
797 infet1-supply = <&vbat>;
798 infet2-supply = <&tps65090_dcdc1>;
799 infet3-supply = <&tps65090_dcdc2>;
800 infet4-supply = <&tps65090_dcdc2>;
801 infet5-supply = <&tps65090_dcdc2>;
802 infet6-supply = <&tps65090_dcdc2>;
803 infet7-supply = <&tps65090_dcdc1>;
804 vsys-l1-supply = <&vbat>;
805 vsys-l2-supply = <&vbat>;
808 tps65090_dcdc1: dcdc1 {
809 ti,enable-ext-control;
811 tps65090_dcdc2: dcdc2 {
812 ti,enable-ext-control;
814 tps65090_dcdc3: dcdc3 {
815 ti,enable-ext-control;
817 tps65090_fet1: fet1 {
818 regulator-name = "vcd_led";
820 tps65090_fet2: fet2 {
821 regulator-name = "video_mid";
824 tps65090_fet3: fet3 {
825 regulator-name = "wwan_r";
828 tps65090_fet4: fet4 {
829 regulator-name = "sdcard";
832 tps65090_fet5: fet5 {
833 regulator-name = "camout";
836 tps65090_fet6: fet6 {
837 regulator-name = "lcd_vdd";
839 tps65090_fet7: fet7 {
840 regulator-name = "video_mid_1a";
843 tps65090_ldo1: ldo1 {
845 tps65090_ldo2: ldo2 {
850 compatible = "ti,tps65090-charger";
870 vbus-supply = <&usb300_vbus_reg>;
874 vbus-supply = <&usb301_vbus_reg>;
878 * Use longest HW watchdog in SoC (32 seconds) since the hardware
879 * watchdog provides no debugging information (compared to soft/hard
880 * lockup detectors) and so should be last resort.
886 #include "cros-ec-keyboard.dtsi"
887 #include "cros-adc-thermistors.dtsi"