2 * Google Peach Pi Rev 10+ 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 "exynos5800.dtsi"
19 model = "Google Peach Pi Rev 10+";
21 compatible = "google,pi-rev16",
22 "google,pi-rev15", "google,pi-rev14",
23 "google,pi-rev13", "google,pi-rev12",
24 "google,pi-rev11", "google,pi-rev10",
25 "google,pi", "google,peach", "samsung,exynos5800",
29 /* Assign 20 so we don't get confused w/ builtin ones */
30 i2c20 = "/spi@12d40000/cros-ec@0/i2c-tunnel";
33 backlight: backlight {
34 compatible = "pwm-backlight";
35 pwms = <&pwm 0 1000000 0>;
36 brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
37 default-brightness-level = <7>;
38 enable-gpios = <&gpx2 2 GPIO_ACTIVE_HIGH>;
39 power-supply = <&tps65090_fet1>;
40 pinctrl-0 = <&pwm0_out>;
41 pinctrl-names = "default";
46 compatible = "samsung,exynos5420-oscclk";
47 clock-frequency = <24000000>;
52 compatible = "gpio-keys";
54 pinctrl-names = "default";
55 pinctrl-0 = <&power_key_irq>;
59 gpios = <&gpx1 2 GPIO_ACTIVE_LOW>;
60 linux,code = <KEY_POWER>;
66 reg = <0x20000000 0x80000000>;
70 compatible = "google,snow-audio-max98091";
72 samsung,model = "Peach-Pi-I2S-MAX98091";
73 samsung,i2s-controller = <&i2s0>;
74 samsung,audio-codec = <&max98091>;
77 usb300_vbus_reg: regulator-usb300 {
78 compatible = "regulator-fixed";
79 regulator-name = "P5.0V_USB3CON0";
80 regulator-min-microvolt = <5000000>;
81 regulator-max-microvolt = <5000000>;
83 pinctrl-names = "default";
84 pinctrl-0 = <&usb300_vbus_en>;
88 usb301_vbus_reg: regulator-usb301 {
89 compatible = "regulator-fixed";
90 regulator-name = "P5.0V_USB3CON1";
91 regulator-min-microvolt = <5000000>;
92 regulator-max-microvolt = <5000000>;
94 pinctrl-names = "default";
95 pinctrl-0 = <&usb301_vbus_en>;
99 vbat: fixed-regulator {
100 compatible = "regulator-fixed";
101 regulator-name = "vbat-supply";
107 compatible = "auo,b133htn01";
108 power-supply = <&tps65090_fet6>;
109 backlight = <&backlight>;
115 vdd-supply = <&ldo9_reg>;
120 pinctrl-names = "default";
121 pinctrl-0 = <&dp_hpd_gpio>;
122 samsung,color-space = <0>;
123 samsung,dynamic-range = <0>;
124 samsung,ycbcr-coeff = <0>;
125 samsung,color-depth = <1>;
126 samsung,link-rate = <0x0a>;
127 samsung,lane-count = <2>;
128 samsung,hpd-gpio = <&gpx2 6 0>;
139 hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>;
140 pinctrl-names = "default";
141 pinctrl-0 = <&hdmi_hpd_irq>;
144 hdmi-en-supply = <&tps65090_fet7>;
145 vdd-supply = <&ldo8_reg>;
146 vdd_osc-supply = <&ldo10_reg>;
147 vdd_pll-supply = <&ldo8_reg>;
152 clock-frequency = <400000>;
154 max77802: max77802-pmic@9 {
155 compatible = "maxim,max77802";
156 interrupt-parent = <&gpx3>;
157 interrupts = <1 IRQ_TYPE_NONE>;
158 pinctrl-names = "default";
159 pinctrl-0 = <&max77802_irq>, <&pmic_selb>,
160 <&pmic_dvs_1>, <&pmic_dvs_2>, <&pmic_dvs_3>;
165 inb1-supply = <&tps65090_dcdc2>;
166 inb2-supply = <&tps65090_dcdc1>;
167 inb3-supply = <&tps65090_dcdc2>;
168 inb4-supply = <&tps65090_dcdc2>;
169 inb5-supply = <&tps65090_dcdc1>;
170 inb6-supply = <&tps65090_dcdc2>;
171 inb7-supply = <&tps65090_dcdc1>;
172 inb8-supply = <&tps65090_dcdc1>;
173 inb9-supply = <&tps65090_dcdc1>;
174 inb10-supply = <&tps65090_dcdc1>;
176 inl1-supply = <&buck5_reg>;
177 inl2-supply = <&buck7_reg>;
178 inl3-supply = <&buck9_reg>;
179 inl4-supply = <&buck9_reg>;
180 inl5-supply = <&buck9_reg>;
181 inl6-supply = <&tps65090_dcdc2>;
182 inl7-supply = <&buck9_reg>;
183 inl9-supply = <&tps65090_dcdc2>;
184 inl10-supply = <&buck7_reg>;
188 regulator-name = "vdd_mif";
189 regulator-min-microvolt = <800000>;
190 regulator-max-microvolt = <1300000>;
193 regulator-ramp-delay = <12500>;
197 regulator-name = "vdd_arm";
198 regulator-min-microvolt = <800000>;
199 regulator-max-microvolt = <1500000>;
202 regulator-ramp-delay = <12500>;
206 regulator-name = "vdd_int";
207 regulator-min-microvolt = <800000>;
208 regulator-max-microvolt = <1400000>;
211 regulator-ramp-delay = <12500>;
215 regulator-name = "vdd_g3d";
216 regulator-min-microvolt = <700000>;
217 regulator-max-microvolt = <1400000>;
220 regulator-ramp-delay = <12500>;
224 regulator-name = "vdd_1v2";
225 regulator-min-microvolt = <1200000>;
226 regulator-max-microvolt = <1200000>;
232 regulator-name = "vdd_kfc";
233 regulator-min-microvolt = <800000>;
234 regulator-max-microvolt = <1500000>;
237 regulator-ramp-delay = <12500>;
241 regulator-name = "vdd_1v35";
242 regulator-min-microvolt = <1350000>;
243 regulator-max-microvolt = <1350000>;
249 regulator-name = "vdd_emmc";
250 regulator-min-microvolt = <2850000>;
251 regulator-max-microvolt = <2850000>;
257 regulator-name = "vdd_2v";
258 regulator-min-microvolt = <2000000>;
259 regulator-max-microvolt = <2000000>;
265 regulator-name = "vdd_1v8";
266 regulator-min-microvolt = <1800000>;
267 regulator-max-microvolt = <1800000>;
273 regulator-name = "vdd_1v0";
274 regulator-min-microvolt = <1000000>;
275 regulator-max-microvolt = <1000000>;
280 regulator-name = "vdd_1v2_2";
281 regulator-min-microvolt = <1200000>;
282 regulator-max-microvolt = <1200000>;
286 regulator-name = "vdd_1v8_3";
287 regulator-min-microvolt = <1800000>;
288 regulator-max-microvolt = <1800000>;
292 vqmmc_sdcard: ldo4_reg: LDO4 {
293 regulator-name = "vdd_sd";
294 regulator-min-microvolt = <1800000>;
295 regulator-max-microvolt = <2800000>;
300 regulator-name = "vdd_1v8_5";
301 regulator-min-microvolt = <1800000>;
302 regulator-max-microvolt = <1800000>;
307 regulator-name = "vdd_1v8_6";
308 regulator-min-microvolt = <1800000>;
309 regulator-max-microvolt = <1800000>;
314 regulator-name = "vdd_1v8_7";
315 regulator-min-microvolt = <1800000>;
316 regulator-max-microvolt = <1800000>;
320 regulator-name = "vdd_ldo8";
321 regulator-min-microvolt = <1000000>;
322 regulator-max-microvolt = <1000000>;
327 regulator-name = "vdd_ldo9";
328 regulator-min-microvolt = <1800000>;
329 regulator-max-microvolt = <1800000>;
334 regulator-name = "vdd_ldo10";
335 regulator-min-microvolt = <1800000>;
336 regulator-max-microvolt = <1800000>;
341 regulator-name = "vdd_ldo11";
342 regulator-min-microvolt = <1800000>;
343 regulator-max-microvolt = <1800000>;
348 regulator-name = "vdd_ldo12";
349 regulator-min-microvolt = <3000000>;
350 regulator-max-microvolt = <3000000>;
355 regulator-name = "vdd_ldo13";
356 regulator-min-microvolt = <1800000>;
357 regulator-max-microvolt = <1800000>;
362 regulator-name = "vdd_ldo14";
363 regulator-min-microvolt = <1800000>;
364 regulator-max-microvolt = <1800000>;
369 regulator-name = "vdd_ldo15";
370 regulator-min-microvolt = <1000000>;
371 regulator-max-microvolt = <1000000>;
376 regulator-name = "vdd_g3ds";
377 regulator-min-microvolt = <900000>;
378 regulator-max-microvolt = <1400000>;
383 regulator-name = "ldo_18";
384 regulator-min-microvolt = <1800000>;
385 regulator-max-microvolt = <1800000>;
389 regulator-name = "ldo_19";
390 regulator-min-microvolt = <1800000>;
391 regulator-max-microvolt = <1800000>;
395 regulator-name = "ldo_20";
396 regulator-min-microvolt = <1800000>;
397 regulator-max-microvolt = <1800000>;
402 regulator-name = "ldo_21";
403 regulator-min-microvolt = <2800000>;
404 regulator-max-microvolt = <2800000>;
408 regulator-name = "ldo_23";
409 regulator-min-microvolt = <3300000>;
410 regulator-max-microvolt = <3300000>;
413 regulator-name = "ldo_24";
414 regulator-min-microvolt = <2800000>;
415 regulator-max-microvolt = <2800000>;
419 regulator-name = "ldo_25";
420 regulator-min-microvolt = <3300000>;
421 regulator-max-microvolt = <3300000>;
425 regulator-name = "ldo_26";
426 regulator-min-microvolt = <1200000>;
427 regulator-max-microvolt = <1200000>;
431 regulator-name = "ldo_27";
432 regulator-min-microvolt = <1200000>;
433 regulator-max-microvolt = <1200000>;
437 regulator-name = "ldo_28";
438 regulator-min-microvolt = <1800000>;
439 regulator-max-microvolt = <1800000>;
443 regulator-name = "ldo_29";
444 regulator-min-microvolt = <1800000>;
445 regulator-max-microvolt = <1800000>;
449 regulator-name = "vdd_mifs";
450 regulator-min-microvolt = <1000000>;
451 regulator-max-microvolt = <1000000>;
456 regulator-name = "ldo_32";
457 regulator-min-microvolt = <3000000>;
458 regulator-max-microvolt = <3000000>;
462 regulator-name = "ldo_33";
463 regulator-min-microvolt = <2800000>;
464 regulator-max-microvolt = <2800000>;
468 regulator-name = "ldo_34";
469 regulator-min-microvolt = <3000000>;
470 regulator-max-microvolt = <3000000>;
474 regulator-name = "ldo_35";
475 regulator-min-microvolt = <1200000>;
476 regulator-max-microvolt = <1200000>;
484 clock-frequency = <400000>;
487 compatible = "maxim,max98091";
490 interrupt-parent = <&gpx0>;
491 pinctrl-names = "default";
492 pinctrl-0 = <&max98091_irq>;
496 compatible = "isil,isl29018";
498 vcc-supply = <&tps65090_fet5>;
504 clock-frequency = <333000>;
507 compatible = "atmel,maxtouch";
509 interrupt-parent = <&gpx1>;
510 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
512 pinctrl-names = "default";
513 pinctrl-0 = <&trackpad_irq>;
514 linux,gpio-keymap = <KEY_RESERVED
516 KEY_RESERVED /* GPIO 0 */
517 KEY_RESERVED /* GPIO 1 */
518 BTN_LEFT /* GPIO 2 */
519 KEY_RESERVED>; /* GPIO 3 */
525 clock-frequency = <400000>;
528 compatible = "infineon,slb9645tt";
531 /* Unused irq; but still need to configure the pins */
532 pinctrl-names = "default";
533 pinctrl-0 = <&tpm_irq>;
539 samsung,i2c-sda-delay = <100>;
540 samsung,i2c-max-bus-freq = <66000>;
541 samsung,i2c-slave-addr = <0x50>;
555 card-detect-delay = <200>;
556 clock-frequency = <400000000>;
557 samsung,dw-mshc-ciu-div = <3>;
558 samsung,dw-mshc-sdr-timing = <0 4>;
559 samsung,dw-mshc-ddr-timing = <0 2>;
560 pinctrl-names = "default";
561 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
569 card-detect-delay = <200>;
570 clock-frequency = <400000000>;
571 samsung,dw-mshc-ciu-div = <3>;
572 samsung,dw-mshc-sdr-timing = <2 3>;
573 samsung,dw-mshc-ddr-timing = <1 2>;
574 pinctrl-names = "default";
575 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
581 pinctrl-names = "default";
582 pinctrl-0 = <&mask_tpm_reset>;
584 max98091_irq: max98091-irq {
585 samsung,pins = "gpx0-2";
586 samsung,pin-function = <0>;
587 samsung,pin-pud = <0>;
588 samsung,pin-drv = <0>;
591 /* We need GPX0_6 to be low at sleep time; just keep it low always */
592 mask_tpm_reset: mask-tpm-reset {
593 samsung,pins = "gpx0-6";
594 samsung,pin-function = <1>;
595 samsung,pin-pud = <0>;
596 samsung,pin-drv = <0>;
597 samsung,pin-val = <0>;
601 samsung,pins = "gpx1-0";
602 samsung,pin-function = <0>;
603 samsung,pin-pud = <0>;
604 samsung,pin-drv = <0>;
607 trackpad_irq: trackpad-irq {
608 samsung,pins = "gpx1-1";
609 samsung,pin-function = <0xf>;
610 samsung,pin-pud = <0>;
611 samsung,pin-drv = <0>;
614 power_key_irq: power-key-irq {
615 samsung,pins = "gpx1-2";
616 samsung,pin-function = <0>;
617 samsung,pin-pud = <0>;
618 samsung,pin-drv = <0>;
622 samsung,pins = "gpx1-5";
623 samsung,pin-function = <0>;
624 samsung,pin-pud = <0>;
625 samsung,pin-drv = <0>;
628 tps65090_irq: tps65090-irq {
629 samsung,pins = "gpx2-5";
630 samsung,pin-function = <0>;
631 samsung,pin-pud = <0>;
632 samsung,pin-drv = <0>;
635 dp_hpd_gpio: dp_hpd_gpio {
636 samsung,pins = "gpx2-6";
637 samsung,pin-function = <0>;
638 samsung,pin-pud = <3>;
639 samsung,pin-drv = <0>;
642 max77802_irq: max77802-irq {
643 samsung,pins = "gpx3-1";
644 samsung,pin-function = <0>;
645 samsung,pin-pud = <0>;
646 samsung,pin-drv = <0>;
649 hdmi_hpd_irq: hdmi-hpd-irq {
650 samsung,pins = "gpx3-7";
651 samsung,pin-function = <0>;
652 samsung,pin-pud = <1>;
653 samsung,pin-drv = <0>;
656 pmic_dvs_1: pmic-dvs-1 {
657 samsung,pins = "gpy7-6";
658 samsung,pin-function = <1>;
659 samsung,pin-pud = <0>;
660 samsung,pin-drv = <0>;
665 pmic_dvs_2: pmic-dvs-2 {
666 samsung,pins = "gpj4-2";
667 samsung,pin-function = <1>;
668 samsung,pin-pud = <0>;
669 samsung,pin-drv = <0>;
672 pmic_dvs_3: pmic-dvs-3 {
673 samsung,pins = "gpj4-3";
674 samsung,pin-function = <1>;
675 samsung,pin-pud = <0>;
676 samsung,pin-drv = <0>;
681 /* Drive SPI lines at x2 for better integrity */
683 samsung,pin-drv = <2>;
686 /* Drive SPI chip select at x2 for better integrity */
687 ec_spi_cs: ec-spi-cs {
688 samsung,pins = "gpb1-2";
689 samsung,pin-function = <1>;
690 samsung,pin-pud = <0>;
691 samsung,pin-drv = <2>;
694 usb300_vbus_en: usb300-vbus-en {
695 samsung,pins = "gph0-0";
696 samsung,pin-function = <1>;
697 samsung,pin-pud = <0>;
698 samsung,pin-drv = <0>;
701 usb301_vbus_en: usb301-vbus-en {
702 samsung,pins = "gph0-1";
703 samsung,pin-function = <1>;
704 samsung,pin-pud = <0>;
705 samsung,pin-drv = <0>;
708 pmic_selb: pmic-selb {
709 samsung,pins = "gph0-2", "gph0-3", "gph0-4", "gph0-5",
711 samsung,pin-function = <1>;
712 samsung,pin-pud = <0>;
713 samsung,pin-drv = <0>;
719 clocks = <&clock CLK_RTC>, <&max77802 MAX77802_CLK_32K_AP>;
720 clock-names = "rtc", "rtc_src";
726 samsung,spi-src-clk = <0>;
727 cs-gpios = <&gpb1 2 0>;
730 compatible = "google,cros-ec-spi";
731 interrupt-parent = <&gpx1>;
733 pinctrl-names = "default";
734 pinctrl-0 = <&ec_spi_cs &ec_irq>;
736 spi-max-frequency = <3125000>;
739 samsung,spi-feedback-delay = <1>;
743 compatible = "google,cros-ec-i2c-tunnel";
744 #address-cells = <1>;
746 google,remote-bus = <0>;
748 battery: sbs-battery@b {
749 compatible = "sbs,sbs-battery";
751 sbs,poll-retry-count = <1>;
752 sbs,i2c-retry-count = <2>;
756 compatible = "ti,tps65090";
760 * Config irq to disable internal pulls
761 * even though we run in polling mode.
763 pinctrl-names = "default";
764 pinctrl-0 = <&tps65090_irq>;
766 vsys1-supply = <&vbat>;
767 vsys2-supply = <&vbat>;
768 vsys3-supply = <&vbat>;
769 infet1-supply = <&vbat>;
770 infet2-supply = <&tps65090_dcdc1>;
771 infet3-supply = <&tps65090_dcdc2>;
772 infet4-supply = <&tps65090_dcdc2>;
773 infet5-supply = <&tps65090_dcdc2>;
774 infet6-supply = <&tps65090_dcdc2>;
775 infet7-supply = <&tps65090_dcdc1>;
776 vsys-l1-supply = <&vbat>;
777 vsys-l2-supply = <&vbat>;
780 tps65090_dcdc1: dcdc1 {
781 ti,enable-ext-control;
783 tps65090_dcdc2: dcdc2 {
784 ti,enable-ext-control;
786 tps65090_dcdc3: dcdc3 {
787 ti,enable-ext-control;
789 tps65090_fet1: fet1 {
790 regulator-name = "vcd_led";
792 tps65090_fet2: fet2 {
793 regulator-name = "video_mid";
796 tps65090_fet3: fet3 {
797 regulator-name = "wwan_r";
800 tps65090_fet4: fet4 {
801 regulator-name = "sdcard";
804 tps65090_fet5: fet5 {
805 regulator-name = "camout";
807 tps65090_fet6: fet6 {
808 regulator-name = "lcd_vdd";
810 tps65090_fet7: fet7 {
811 regulator-name = "video_mid_1a";
814 tps65090_ldo1: ldo1 {
816 tps65090_ldo2: ldo2 {
821 compatible = "ti,tps65090-charger";
841 vbus-supply = <&usb300_vbus_reg>;
845 vbus-supply = <&usb301_vbus_reg>;
849 * Use longest HW watchdog in SoC (32 seconds) since the hardware
850 * watchdog provides no debugging information (compared to soft/hard
851 * lockup detectors) and so should be last resort.
857 #include "cros-ec-keyboard.dtsi"
858 #include "cros-adc-thermistors.dtsi"