0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003 * Google Peach Pit Rev 6+ board device tree source
0004 *
0005 * Copyright (c) 2014 Google, Inc
0006 */
0007
0008 /dts-v1/;
0009 #include <dt-bindings/input/input.h>
0010 #include <dt-bindings/gpio/gpio.h>
0011 #include <dt-bindings/interrupt-controller/irq.h>
0012 #include <dt-bindings/clock/maxim,max77802.h>
0013 #include <dt-bindings/regulator/maxim,max77802.h>
0014 #include <dt-bindings/sound/samsung-i2s.h>
0015 #include "exynos5420.dtsi"
0016 #include "exynos5420-cpus.dtsi"
0017
0018 / {
0019 model = "Google Peach Pit Rev 6+";
0020
0021 compatible = "google,pit-rev16",
0022 "google,pit-rev15", "google,pit-rev14",
0023 "google,pit-rev13", "google,pit-rev12",
0024 "google,pit-rev11", "google,pit-rev10",
0025 "google,pit-rev9", "google,pit-rev8",
0026 "google,pit-rev7", "google,pit-rev6",
0027 "google,pit", "google,peach","samsung,exynos5420",
0028 "samsung,exynos5";
0029 chassis-type = "laptop";
0030
0031 aliases {
0032 /* Assign 20 so we don't get confused w/ builtin ones */
0033 i2c20 = &i2c_tunnel;
0034 };
0035
0036 backlight: backlight {
0037 compatible = "pwm-backlight";
0038 pwms = <&pwm 0 1000000 0>;
0039 brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
0040 default-brightness-level = <7>;
0041 power-supply = <&tps65090_fet1>;
0042 pinctrl-0 = <&pwm0_out>;
0043 pinctrl-names = "default";
0044 };
0045
0046 chosen {
0047 stdout-path = "serial3:115200n8";
0048 };
0049
0050 fixed-rate-clocks {
0051 oscclk {
0052 compatible = "samsung,exynos5420-oscclk";
0053 clock-frequency = <24000000>;
0054 };
0055 };
0056
0057 gpio-keys {
0058 compatible = "gpio-keys";
0059
0060 pinctrl-names = "default";
0061 pinctrl-0 = <&power_key_irq &lid_irq>;
0062
0063 power-key {
0064 label = "Power";
0065 gpios = <&gpx1 2 GPIO_ACTIVE_LOW>;
0066 linux,code = <KEY_POWER>;
0067 wakeup-source;
0068 };
0069
0070 lid-switch {
0071 label = "Lid";
0072 gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
0073 linux,input-type = <5>; /* EV_SW */
0074 linux,code = <0>; /* SW_LID */
0075 debounce-interval = <1>;
0076 wakeup-source;
0077 };
0078 };
0079
0080 memory@20000000 {
0081 device_type = "memory";
0082 reg = <0x20000000 0x80000000>;
0083 };
0084
0085 sound {
0086 compatible = "google,snow-audio-max98090";
0087
0088 samsung,model = "Peach-Pit-I2S-MAX98090";
0089 samsung,i2s-controller = <&i2s0>;
0090 samsung,audio-codec = <&max98090>;
0091
0092 cpu {
0093 sound-dai = <&i2s0 0>;
0094 };
0095
0096 codec {
0097 sound-dai = <&max98090>, <&hdmi>;
0098 };
0099 };
0100
0101 usb300_vbus_reg: regulator-usb300 {
0102 compatible = "regulator-fixed";
0103 regulator-name = "P5.0V_USB3CON0";
0104 regulator-min-microvolt = <5000000>;
0105 regulator-max-microvolt = <5000000>;
0106 gpio = <&gph0 0 GPIO_ACTIVE_HIGH>;
0107 pinctrl-names = "default";
0108 pinctrl-0 = <&usb300_vbus_en>;
0109 enable-active-high;
0110 };
0111
0112 usb301_vbus_reg: regulator-usb301 {
0113 compatible = "regulator-fixed";
0114 regulator-name = "P5.0V_USB3CON1";
0115 regulator-min-microvolt = <5000000>;
0116 regulator-max-microvolt = <5000000>;
0117 gpio = <&gph0 1 GPIO_ACTIVE_HIGH>;
0118 pinctrl-names = "default";
0119 pinctrl-0 = <&usb301_vbus_en>;
0120 enable-active-high;
0121 };
0122
0123 vbat: fixed-regulator {
0124 compatible = "regulator-fixed";
0125 regulator-name = "vbat-supply";
0126 regulator-boot-on;
0127 regulator-always-on;
0128 };
0129
0130 panel: panel {
0131 compatible = "auo,b116xw03";
0132 power-supply = <&tps65090_fet6>;
0133 backlight = <&backlight>;
0134
0135 port {
0136 panel_in: endpoint {
0137 remote-endpoint = <&bridge_out>;
0138 };
0139 };
0140 };
0141
0142 mmc1_pwrseq: mmc1-pwrseq {
0143 compatible = "mmc-pwrseq-simple";
0144 reset-gpios = <&gpx0 0 GPIO_ACTIVE_LOW>; /* WIFI_EN */
0145 clocks = <&max77802 MAX77802_CLK_32K_CP>;
0146 clock-names = "ext_clock";
0147 };
0148 };
0149
0150 &adc {
0151 status = "okay";
0152 vdd-supply = <&ldo9_reg>;
0153 };
0154
0155 &clock_audss {
0156 assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>;
0157 assigned-clock-parents = <&clock CLK_MAU_EPLL>;
0158 };
0159
0160 &cpu0 {
0161 cpu-supply = <&buck2_reg>;
0162 };
0163
0164 &cpu4 {
0165 cpu-supply = <&buck6_reg>;
0166 };
0167
0168 &dp {
0169 status = "okay";
0170 pinctrl-names = "default";
0171 pinctrl-0 = <&dp_hpd_gpio>;
0172 samsung,color-space = <0>;
0173 samsung,color-depth = <1>;
0174 samsung,link-rate = <0x06>;
0175 samsung,lane-count = <2>;
0176 hpd-gpios = <&gpx2 6 GPIO_ACTIVE_HIGH>;
0177
0178 ports {
0179 port {
0180 dp_out: endpoint {
0181 remote-endpoint = <&bridge_in>;
0182 };
0183 };
0184 };
0185 };
0186
0187 &fimd {
0188 status = "okay";
0189 samsung,invert-vclk;
0190 };
0191
0192 &hdmi {
0193 status = "okay";
0194 hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
0195 pinctrl-names = "default";
0196 pinctrl-0 = <&hdmi_hpd_irq>;
0197 ddc = <&i2c_2>;
0198
0199 hdmi-en-supply = <&tps65090_fet7>;
0200 vdd-supply = <&ldo8_reg>;
0201 vdd_osc-supply = <&ldo10_reg>;
0202 vdd_pll-supply = <&ldo8_reg>;
0203 };
0204
0205 &hsi2c_4 {
0206 status = "okay";
0207 clock-frequency = <400000>;
0208
0209 max77802: pmic@9 {
0210 compatible = "maxim,max77802";
0211 interrupt-parent = <&gpx3>;
0212 interrupts = <1 IRQ_TYPE_NONE>;
0213 pinctrl-names = "default";
0214 pinctrl-0 = <&max77802_irq>, <&pmic_selb>,
0215 <&pmic_dvs_1>, <&pmic_dvs_2>;
0216 wakeup-source;
0217 reg = <0x9>;
0218 #clock-cells = <1>;
0219
0220 inb1-supply = <&tps65090_dcdc2>;
0221 inb2-supply = <&tps65090_dcdc1>;
0222 inb3-supply = <&tps65090_dcdc2>;
0223 inb4-supply = <&tps65090_dcdc2>;
0224 inb5-supply = <&tps65090_dcdc1>;
0225 inb6-supply = <&tps65090_dcdc2>;
0226 inb7-supply = <&tps65090_dcdc1>;
0227 inb8-supply = <&tps65090_dcdc1>;
0228 inb9-supply = <&tps65090_dcdc1>;
0229 inb10-supply = <&tps65090_dcdc1>;
0230
0231 inl1-supply = <&buck5_reg>;
0232 inl2-supply = <&buck7_reg>;
0233 inl3-supply = <&buck9_reg>;
0234 inl4-supply = <&buck9_reg>;
0235 inl5-supply = <&buck9_reg>;
0236 inl6-supply = <&tps65090_dcdc2>;
0237 inl7-supply = <&buck9_reg>;
0238 inl9-supply = <&tps65090_dcdc2>;
0239 inl10-supply = <&buck7_reg>;
0240
0241 regulators {
0242 buck1_reg: BUCK1 {
0243 regulator-name = "vdd_mif";
0244 regulator-min-microvolt = <800000>;
0245 regulator-max-microvolt = <1300000>;
0246 regulator-always-on;
0247 regulator-boot-on;
0248 regulator-ramp-delay = <12500>;
0249 regulator-state-mem {
0250 regulator-off-in-suspend;
0251 };
0252 };
0253
0254 buck2_reg: BUCK2 {
0255 regulator-name = "vdd_arm";
0256 regulator-min-microvolt = <800000>;
0257 regulator-max-microvolt = <1500000>;
0258 regulator-always-on;
0259 regulator-boot-on;
0260 regulator-ramp-delay = <12500>;
0261 regulator-state-mem {
0262 regulator-off-in-suspend;
0263 };
0264 };
0265
0266 buck3_reg: BUCK3 {
0267 regulator-name = "vdd_int";
0268 regulator-min-microvolt = <800000>;
0269 regulator-max-microvolt = <1400000>;
0270 regulator-always-on;
0271 regulator-boot-on;
0272 regulator-ramp-delay = <12500>;
0273 regulator-state-mem {
0274 regulator-off-in-suspend;
0275 };
0276 };
0277
0278 buck4_reg: BUCK4 {
0279 regulator-name = "vdd_g3d";
0280 regulator-min-microvolt = <700000>;
0281 regulator-max-microvolt = <1400000>;
0282 regulator-always-on;
0283 regulator-boot-on;
0284 regulator-ramp-delay = <12500>;
0285 regulator-state-mem {
0286 regulator-off-in-suspend;
0287 };
0288 };
0289
0290 buck5_reg: BUCK5 {
0291 regulator-name = "vdd_1v2";
0292 regulator-min-microvolt = <1200000>;
0293 regulator-max-microvolt = <1200000>;
0294 regulator-boot-on;
0295 regulator-state-mem {
0296 regulator-off-in-suspend;
0297 };
0298 };
0299
0300 buck6_reg: BUCK6 {
0301 regulator-name = "vdd_kfc";
0302 regulator-min-microvolt = <800000>;
0303 regulator-max-microvolt = <1500000>;
0304 regulator-always-on;
0305 regulator-boot-on;
0306 regulator-ramp-delay = <12500>;
0307 regulator-state-mem {
0308 regulator-off-in-suspend;
0309 };
0310 };
0311
0312 buck7_reg: BUCK7 {
0313 regulator-name = "vdd_1v35";
0314 regulator-min-microvolt = <1350000>;
0315 regulator-max-microvolt = <1350000>;
0316 regulator-always-on;
0317 regulator-boot-on;
0318 regulator-state-mem {
0319 regulator-on-in-suspend;
0320 };
0321 };
0322
0323 buck8_reg: BUCK8 {
0324 regulator-name = "vdd_emmc";
0325 regulator-min-microvolt = <2850000>;
0326 regulator-max-microvolt = <2850000>;
0327 regulator-always-on;
0328 regulator-boot-on;
0329 regulator-state-mem {
0330 regulator-off-in-suspend;
0331 };
0332 };
0333
0334 buck9_reg: BUCK9 {
0335 regulator-name = "vdd_2v";
0336 regulator-min-microvolt = <2000000>;
0337 regulator-max-microvolt = <2000000>;
0338 regulator-always-on;
0339 regulator-boot-on;
0340 regulator-state-mem {
0341 regulator-on-in-suspend;
0342 };
0343 };
0344
0345 buck10_reg: BUCK10 {
0346 regulator-name = "vdd_1v8";
0347 regulator-min-microvolt = <1800000>;
0348 regulator-max-microvolt = <1800000>;
0349 regulator-always-on;
0350 regulator-boot-on;
0351 regulator-state-mem {
0352 regulator-on-in-suspend;
0353 };
0354 };
0355
0356 ldo1_reg: LDO1 {
0357 regulator-name = "vdd_1v0";
0358 regulator-min-microvolt = <1000000>;
0359 regulator-max-microvolt = <1000000>;
0360 regulator-always-on;
0361 regulator-state-mem {
0362 regulator-on-in-suspend;
0363 regulator-mode = <MAX77802_OPMODE_LP>;
0364 };
0365 };
0366
0367 ldo2_reg: LDO2 {
0368 regulator-name = "vdd_1v2_2";
0369 regulator-min-microvolt = <1200000>;
0370 regulator-max-microvolt = <1200000>;
0371 };
0372
0373 ldo3_reg: LDO3 {
0374 regulator-name = "vdd_1v8_3";
0375 regulator-min-microvolt = <1800000>;
0376 regulator-max-microvolt = <1800000>;
0377 regulator-always-on;
0378 regulator-state-mem {
0379 regulator-on-in-suspend;
0380 regulator-mode = <MAX77802_OPMODE_LP>;
0381 };
0382 };
0383
0384 vqmmc_sdcard: ldo4_reg: LDO4 {
0385 regulator-name = "vdd_sd";
0386 regulator-min-microvolt = <1800000>;
0387 regulator-max-microvolt = <2800000>;
0388 regulator-always-on;
0389 regulator-state-mem {
0390 regulator-off-in-suspend;
0391 };
0392 };
0393
0394 ldo5_reg: LDO5 {
0395 regulator-name = "vdd_1v8_5";
0396 regulator-min-microvolt = <1800000>;
0397 regulator-max-microvolt = <1800000>;
0398 regulator-always-on;
0399 regulator-state-mem {
0400 regulator-off-in-suspend;
0401 };
0402 };
0403
0404 ldo6_reg: LDO6 {
0405 regulator-name = "vdd_1v8_6";
0406 regulator-min-microvolt = <1800000>;
0407 regulator-max-microvolt = <1800000>;
0408 regulator-always-on;
0409 regulator-state-mem {
0410 regulator-off-in-suspend;
0411 };
0412 };
0413
0414 ldo7_reg: LDO7 {
0415 regulator-name = "vdd_1v8_7";
0416 regulator-min-microvolt = <1800000>;
0417 regulator-max-microvolt = <1800000>;
0418 };
0419
0420 ldo8_reg: LDO8 {
0421 regulator-name = "vdd_ldo8";
0422 regulator-min-microvolt = <1000000>;
0423 regulator-max-microvolt = <1000000>;
0424 regulator-always-on;
0425 regulator-state-mem {
0426 regulator-off-in-suspend;
0427 };
0428 };
0429
0430 ldo9_reg: LDO9 {
0431 regulator-name = "vdd_ldo9";
0432 regulator-min-microvolt = <1800000>;
0433 regulator-max-microvolt = <1800000>;
0434 regulator-state-mem {
0435 regulator-on-in-suspend;
0436 regulator-mode = <MAX77802_OPMODE_LP>;
0437 };
0438 };
0439
0440 ldo10_reg: LDO10 {
0441 regulator-name = "vdd_ldo10";
0442 regulator-min-microvolt = <1800000>;
0443 regulator-max-microvolt = <1800000>;
0444 regulator-always-on;
0445 regulator-state-mem {
0446 regulator-off-in-suspend;
0447 };
0448 };
0449
0450 ldo11_reg: LDO11 {
0451 regulator-name = "vdd_ldo11";
0452 regulator-min-microvolt = <1800000>;
0453 regulator-max-microvolt = <1800000>;
0454 regulator-always-on;
0455 regulator-state-mem {
0456 regulator-on-in-suspend;
0457 regulator-mode = <MAX77802_OPMODE_LP>;
0458 };
0459 };
0460
0461 ldo12_reg: LDO12 {
0462 regulator-name = "vdd_ldo12";
0463 regulator-min-microvolt = <3000000>;
0464 regulator-max-microvolt = <3000000>;
0465 regulator-always-on;
0466 regulator-state-mem {
0467 regulator-off-in-suspend;
0468 };
0469 };
0470
0471 ldo13_reg: LDO13 {
0472 regulator-name = "vdd_ldo13";
0473 regulator-min-microvolt = <1800000>;
0474 regulator-max-microvolt = <1800000>;
0475 regulator-always-on;
0476 regulator-state-mem {
0477 regulator-on-in-suspend;
0478 regulator-mode = <MAX77802_OPMODE_LP>;
0479 };
0480 };
0481
0482 ldo14_reg: LDO14 {
0483 regulator-name = "vdd_ldo14";
0484 regulator-min-microvolt = <1800000>;
0485 regulator-max-microvolt = <1800000>;
0486 regulator-always-on;
0487 regulator-state-mem {
0488 regulator-off-in-suspend;
0489 };
0490 };
0491
0492 ldo15_reg: LDO15 {
0493 regulator-name = "vdd_ldo15";
0494 regulator-min-microvolt = <1000000>;
0495 regulator-max-microvolt = <1000000>;
0496 regulator-always-on;
0497 regulator-state-mem {
0498 regulator-off-in-suspend;
0499 };
0500 };
0501
0502 ldo17_reg: LDO17 {
0503 regulator-name = "vdd_g3ds";
0504 regulator-min-microvolt = <900000>;
0505 regulator-max-microvolt = <1400000>;
0506 regulator-always-on;
0507 regulator-state-mem {
0508 regulator-off-in-suspend;
0509 };
0510 };
0511
0512 ldo18_reg: LDO18 {
0513 regulator-name = "ldo_18";
0514 regulator-min-microvolt = <1800000>;
0515 regulator-max-microvolt = <1800000>;
0516 };
0517
0518 ldo19_reg: LDO19 {
0519 regulator-name = "ldo_19";
0520 regulator-min-microvolt = <1800000>;
0521 regulator-max-microvolt = <1800000>;
0522 };
0523
0524 ldo20_reg: LDO20 {
0525 regulator-name = "ldo_20";
0526 regulator-min-microvolt = <1800000>;
0527 regulator-max-microvolt = <1800000>;
0528 regulator-always-on;
0529 };
0530
0531 ldo21_reg: LDO21 {
0532 regulator-name = "ldo_21";
0533 regulator-min-microvolt = <2800000>;
0534 regulator-max-microvolt = <2800000>;
0535 };
0536
0537 ldo23_reg: LDO23 {
0538 regulator-name = "ldo_23";
0539 regulator-min-microvolt = <3300000>;
0540 regulator-max-microvolt = <3300000>;
0541 };
0542 ldo24_reg: LDO24 {
0543 regulator-name = "ldo_24";
0544 regulator-min-microvolt = <2800000>;
0545 regulator-max-microvolt = <2800000>;
0546 };
0547
0548 ldo25_reg: LDO25 {
0549 regulator-name = "ldo_25";
0550 regulator-min-microvolt = <3300000>;
0551 regulator-max-microvolt = <3300000>;
0552 };
0553
0554 ldo26_reg: LDO26 {
0555 regulator-name = "ldo_26";
0556 regulator-min-microvolt = <1200000>;
0557 regulator-max-microvolt = <1200000>;
0558 };
0559
0560 ldo27_reg: LDO27 {
0561 regulator-name = "ldo_27";
0562 regulator-min-microvolt = <1200000>;
0563 regulator-max-microvolt = <1200000>;
0564 };
0565
0566 ldo28_reg: LDO28 {
0567 regulator-name = "ldo_28";
0568 regulator-min-microvolt = <1800000>;
0569 regulator-max-microvolt = <1800000>;
0570 };
0571
0572 ldo29_reg: LDO29 {
0573 regulator-name = "ldo_29";
0574 regulator-min-microvolt = <1800000>;
0575 regulator-max-microvolt = <1800000>;
0576 };
0577
0578 ldo30_reg: LDO30 {
0579 regulator-name = "vdd_mifs";
0580 regulator-min-microvolt = <1000000>;
0581 regulator-max-microvolt = <1000000>;
0582 regulator-always-on;
0583 regulator-state-mem {
0584 regulator-off-in-suspend;
0585 };
0586 };
0587
0588 ldo32_reg: LDO32 {
0589 regulator-name = "ldo_32";
0590 regulator-min-microvolt = <3000000>;
0591 regulator-max-microvolt = <3000000>;
0592 };
0593
0594 ldo33_reg: LDO33 {
0595 regulator-name = "ldo_33";
0596 regulator-min-microvolt = <2800000>;
0597 regulator-max-microvolt = <2800000>;
0598 };
0599
0600 ldo34_reg: LDO34 {
0601 regulator-name = "ldo_34";
0602 regulator-min-microvolt = <3000000>;
0603 regulator-max-microvolt = <3000000>;
0604 };
0605
0606 ldo35_reg: LDO35 {
0607 regulator-name = "ldo_35";
0608 regulator-min-microvolt = <1200000>;
0609 regulator-max-microvolt = <1200000>;
0610 };
0611 };
0612 };
0613 };
0614
0615 &hsi2c_7 {
0616 status = "okay";
0617 clock-frequency = <400000>;
0618
0619 max98090: audio-codec@10 {
0620 compatible = "maxim,max98090";
0621 reg = <0x10>;
0622 interrupts = <2 IRQ_TYPE_NONE>;
0623 interrupt-parent = <&gpx0>;
0624 pinctrl-names = "default";
0625 pinctrl-0 = <&max98090_irq>;
0626 clocks = <&pmu_system_controller 0>;
0627 clock-names = "mclk";
0628 #sound-dai-cells = <0>;
0629 };
0630
0631 light-sensor@44 {
0632 compatible = "isil,isl29018";
0633 reg = <0x44>;
0634 vcc-supply = <&tps65090_fet5>;
0635 };
0636
0637 ps8625: lvds-bridge@48 {
0638 compatible = "parade,ps8625";
0639 reg = <0x48>;
0640 sleep-gpios = <&gpx3 5 GPIO_ACTIVE_HIGH>;
0641 reset-gpios = <&gpy7 7 GPIO_ACTIVE_HIGH>;
0642 lane-count = <2>;
0643 use-external-pwm;
0644
0645 ports {
0646 #address-cells = <1>;
0647 #size-cells = <0>;
0648
0649 port@0 {
0650 reg = <0>;
0651
0652 bridge_out: endpoint {
0653 remote-endpoint = <&panel_in>;
0654 };
0655 };
0656
0657 port@1 {
0658 reg = <1>;
0659
0660 bridge_in: endpoint {
0661 remote-endpoint = <&dp_out>;
0662 };
0663 };
0664 };
0665
0666 };
0667 };
0668
0669 &hsi2c_8 {
0670 status = "okay";
0671 clock-frequency = <333000>;
0672
0673 /* Atmel mXT336S */
0674 trackpad@4b {
0675 compatible = "atmel,maxtouch";
0676 reg = <0x4b>;
0677 interrupt-parent = <&gpx1>;
0678 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
0679 wakeup-source;
0680 pinctrl-names = "default";
0681 pinctrl-0 = <&trackpad_irq>;
0682 linux,gpio-keymap = <KEY_RESERVED
0683 KEY_RESERVED
0684 KEY_RESERVED /* GPIO0 */
0685 KEY_RESERVED /* GPIO1 */
0686 KEY_RESERVED /* GPIO2 */
0687 BTN_LEFT>; /* GPIO3 */
0688 };
0689 };
0690
0691 &hsi2c_9 {
0692 status = "okay";
0693 clock-frequency = <400000>;
0694
0695 tpm@20 {
0696 compatible = "infineon,slb9645tt";
0697 reg = <0x20>;
0698
0699 /* Unused irq; but still need to configure the pins */
0700 pinctrl-names = "default";
0701 pinctrl-0 = <&tpm_irq>;
0702 };
0703 };
0704
0705 &i2c_2 {
0706 status = "okay";
0707 samsung,i2c-sda-delay = <100>;
0708 samsung,i2c-max-bus-freq = <66000>;
0709 samsung,i2c-slave-addr = <0x50>;
0710 };
0711
0712 &i2s0 {
0713 assigned-clocks = <&i2s0 CLK_I2S_RCLK_SRC>;
0714 assigned-clock-parents = <&clock_audss EXYNOS_I2S_BUS>;
0715 status = "okay";
0716 };
0717
0718 &mixer {
0719 status = "okay";
0720 };
0721
0722 /* eMMC flash */
0723 &mmc_0 {
0724 status = "okay";
0725 mmc-hs200-1_8v;
0726 cap-mmc-highspeed;
0727 non-removable;
0728 clock-frequency = <400000000>;
0729 samsung,dw-mshc-ciu-div = <3>;
0730 samsung,dw-mshc-sdr-timing = <0 4>;
0731 samsung,dw-mshc-ddr-timing = <0 2>;
0732 samsung,dw-mshc-hs400-timing = <0 2>;
0733 samsung,read-strobe-delay = <90>;
0734 pinctrl-names = "default";
0735 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_rclk>;
0736 bus-width = <8>;
0737 };
0738
0739 /* WiFi SDIO module */
0740 &mmc_1 {
0741 status = "okay";
0742 non-removable;
0743 cap-sdio-irq;
0744 keep-power-in-suspend;
0745 clock-frequency = <400000000>;
0746 samsung,dw-mshc-ciu-div = <1>;
0747 samsung,dw-mshc-sdr-timing = <0 1>;
0748 samsung,dw-mshc-ddr-timing = <0 2>;
0749 pinctrl-names = "default";
0750 pinctrl-0 = <&sd1_clk>, <&sd1_cmd>, <&sd1_int>, <&sd1_bus1>,
0751 <&sd1_bus4>, <&sd1_bus8>, <&wifi_en>;
0752 bus-width = <4>;
0753 cap-sd-highspeed;
0754 mmc-pwrseq = <&mmc1_pwrseq>;
0755 vqmmc-supply = <&buck10_reg>;
0756 };
0757
0758 /* uSD card */
0759 &mmc_2 {
0760 status = "okay";
0761 cap-sd-highspeed;
0762 card-detect-delay = <200>;
0763 clock-frequency = <400000000>;
0764 samsung,dw-mshc-ciu-div = <3>;
0765 samsung,dw-mshc-sdr-timing = <2 3>;
0766 samsung,dw-mshc-ddr-timing = <1 2>;
0767 pinctrl-names = "default";
0768 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
0769 bus-width = <4>;
0770 };
0771
0772
0773 &pinctrl_0 {
0774 pinctrl-names = "default";
0775 pinctrl-0 = <&mask_tpm_reset>;
0776
0777 wifi_en: wifi-en-pins {
0778 samsung,pins = "gpx0-0";
0779 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
0780 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0781 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0782 };
0783
0784 max98090_irq: max98090-irq-pins {
0785 samsung,pins = "gpx0-2";
0786 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
0787 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0788 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0789 };
0790
0791 /* We need GPX0_6 to be low at sleep time; just keep it low always */
0792 mask_tpm_reset: mask-tpm-reset-pins {
0793 samsung,pins = "gpx0-6";
0794 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
0795 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0796 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0797 samsung,pin-val = <0>;
0798 };
0799
0800 tpm_irq: tpm-irq-pins {
0801 samsung,pins = "gpx1-0";
0802 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
0803 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0804 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0805 };
0806
0807 trackpad_irq: trackpad-irq-pins {
0808 samsung,pins = "gpx1-1";
0809 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
0810 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0811 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0812 };
0813
0814 power_key_irq: power-key-irq-pins {
0815 samsung,pins = "gpx1-2";
0816 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
0817 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0818 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0819 };
0820
0821 ec_irq: ec-irq-pins {
0822 samsung,pins = "gpx1-5";
0823 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
0824 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0825 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0826 };
0827
0828 tps65090_irq: tps65090-irq-pins {
0829 samsung,pins = "gpx2-5";
0830 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
0831 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0832 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0833 };
0834
0835 dp_hpd_gpio: dp-hpd-gpio-pins {
0836 samsung,pins = "gpx2-6";
0837 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
0838 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
0839 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0840 };
0841
0842 max77802_irq: max77802-irq-pins {
0843 samsung,pins = "gpx3-1";
0844 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
0845 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0846 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0847 };
0848
0849 lid_irq: lid-irq-pins {
0850 samsung,pins = "gpx3-4";
0851 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
0852 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0853 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0854 };
0855
0856 hdmi_hpd_irq: hdmi-hpd-irq-pins {
0857 samsung,pins = "gpx3-7";
0858 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
0859 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
0860 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0861 };
0862
0863 pmic_dvs_1: pmic-dvs-1-pins {
0864 samsung,pins = "gpy7-6";
0865 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
0866 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0867 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0868 };
0869 };
0870
0871 /* pinctrl_1 */
0872 /* Adjust WiFi drive strengths lower for EMI */
0873 &sd1_bus1 {
0874 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
0875 };
0876
0877 &sd1_bus4 {
0878 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
0879 };
0880
0881 &sd1_bus8 {
0882 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
0883 };
0884
0885 &sd1_clk {
0886 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
0887 };
0888
0889 &sd1_cmd {
0890 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
0891 };
0892
0893 &pinctrl_2 {
0894 pmic_dvs_2: pmic-dvs-2-pins {
0895 samsung,pins = "gpj4-2", "gpj4-3";
0896 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
0897 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0898 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0899 };
0900 };
0901
0902 /* pinctrl_3*/
0903 /* Drive SPI lines at x2 for better integrity */
0904 &spi2_bus {
0905 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
0906 };
0907
0908 &pinctrl_3 {
0909 /* Drive SPI chip select at x2 for better integrity */
0910 ec_spi_cs: ec-spi-cs-pins {
0911 samsung,pins = "gpb1-2";
0912 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
0913 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0914 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
0915 };
0916
0917 usb300_vbus_en: usb300-vbus-en-pins {
0918 samsung,pins = "gph0-0";
0919 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
0920 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0921 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0922 };
0923
0924 usb301_vbus_en: usb301-vbus-en-pins {
0925 samsung,pins = "gph0-1";
0926 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
0927 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0928 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0929 };
0930
0931 pmic_selb: pmic-selb-pins {
0932 samsung,pins = "gph0-2", "gph0-3", "gph0-4", "gph0-5",
0933 "gph0-6";
0934 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
0935 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0936 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0937 };
0938 };
0939
0940 &pmu_system_controller {
0941 assigned-clocks = <&pmu_system_controller 0>;
0942 assigned-clock-parents = <&clock CLK_FIN_PLL>;
0943 };
0944
0945 &rtc {
0946 status = "okay";
0947 clocks = <&clock CLK_RTC>, <&max77802 MAX77802_CLK_32K_AP>;
0948 clock-names = "rtc", "rtc_src";
0949 };
0950
0951 &spi_2 {
0952 status = "okay";
0953 num-cs = <1>;
0954 samsung,spi-src-clk = <0>;
0955 cs-gpios = <&gpb1 2 GPIO_ACTIVE_HIGH>;
0956
0957 cros_ec: cros-ec@0 {
0958 compatible = "google,cros-ec-spi";
0959 interrupt-parent = <&gpx1>;
0960 interrupts = <5 IRQ_TYPE_NONE>;
0961 pinctrl-names = "default";
0962 pinctrl-0 = <&ec_spi_cs &ec_irq>;
0963 reg = <0>;
0964 spi-max-frequency = <3125000>;
0965 google,has-vbc-nvram;
0966
0967 controller-data {
0968 samsung,spi-feedback-delay = <1>;
0969 };
0970
0971 i2c_tunnel: i2c-tunnel {
0972 compatible = "google,cros-ec-i2c-tunnel";
0973 #address-cells = <1>;
0974 #size-cells = <0>;
0975 google,remote-bus = <0>;
0976
0977 battery: sbs-battery@b {
0978 compatible = "sbs,sbs-battery";
0979 reg = <0xb>;
0980 sbs,poll-retry-count = <1>;
0981 sbs,i2c-retry-count = <2>;
0982 };
0983
0984 power-regulator@48 {
0985 compatible = "ti,tps65090";
0986 reg = <0x48>;
0987
0988 /*
0989 * Config irq to disable internal pulls
0990 * even though we run in polling mode.
0991 */
0992 pinctrl-names = "default";
0993 pinctrl-0 = <&tps65090_irq>;
0994
0995 vsys1-supply = <&vbat>;
0996 vsys2-supply = <&vbat>;
0997 vsys3-supply = <&vbat>;
0998 infet1-supply = <&vbat>;
0999 infet2-supply = <&tps65090_dcdc1>;
1000 infet3-supply = <&tps65090_dcdc2>;
1001 infet4-supply = <&tps65090_dcdc2>;
1002 infet5-supply = <&tps65090_dcdc2>;
1003 infet6-supply = <&tps65090_dcdc2>;
1004 infet7-supply = <&tps65090_dcdc1>;
1005 vsys-l1-supply = <&vbat>;
1006 vsys-l2-supply = <&vbat>;
1007
1008 regulators {
1009 tps65090_dcdc1: dcdc1 {
1010 ti,enable-ext-control;
1011 };
1012 tps65090_dcdc2: dcdc2 {
1013 ti,enable-ext-control;
1014 };
1015 tps65090_dcdc3: dcdc3 {
1016 ti,enable-ext-control;
1017 };
1018 tps65090_fet1: fet1 {
1019 regulator-name = "vcd_led";
1020 };
1021 tps65090_fet2: fet2 {
1022 regulator-name = "video_mid";
1023 regulator-always-on;
1024 };
1025 tps65090_fet3: fet3 {
1026 regulator-name = "wwan_r";
1027 regulator-always-on;
1028 };
1029 tps65090_fet4: fet4 {
1030 regulator-name = "sdcard";
1031 regulator-always-on;
1032 };
1033 tps65090_fet5: fet5 {
1034 regulator-name = "camout";
1035 regulator-always-on;
1036 };
1037 tps65090_fet6: fet6 {
1038 regulator-name = "lcd_vdd";
1039 };
1040 tps65090_fet7: fet7 {
1041 regulator-name = "video_mid_1a";
1042 regulator-always-on;
1043 };
1044 tps65090_ldo1: ldo1 {
1045 };
1046 tps65090_ldo2: ldo2 {
1047 };
1048 };
1049
1050 charger {
1051 compatible = "ti,tps65090-charger";
1052 };
1053 };
1054 };
1055 };
1056 };
1057
1058 &serial_3 {
1059 status = "okay";
1060 };
1061
1062 &timer {
1063 arm,cpu-registers-not-fw-configured;
1064 };
1065
1066 &tmu_cpu0 {
1067 vtmu-supply = <&ldo10_reg>;
1068 };
1069
1070 &tmu_cpu1 {
1071 vtmu-supply = <&ldo10_reg>;
1072 };
1073
1074 &tmu_cpu2 {
1075 vtmu-supply = <&ldo10_reg>;
1076 };
1077
1078 &tmu_cpu3 {
1079 vtmu-supply = <&ldo10_reg>;
1080 };
1081
1082 &tmu_gpu {
1083 vtmu-supply = <&ldo10_reg>;
1084 };
1085
1086 &usbdrd3_0 {
1087 vdd10-supply = <&ldo15_reg>;
1088 vdd33-supply = <&ldo12_reg>;
1089 };
1090
1091 &usbdrd3_1 {
1092 vdd10-supply = <&ldo15_reg>;
1093 vdd33-supply = <&ldo12_reg>;
1094 };
1095
1096 &usbdrd_dwc3_0 {
1097 dr_mode = "host";
1098 };
1099
1100 &usbdrd_dwc3_1 {
1101 dr_mode = "host";
1102 };
1103
1104 &usbdrd_phy0 {
1105 vbus-supply = <&usb300_vbus_reg>;
1106 };
1107
1108 &usbdrd_phy1 {
1109 vbus-supply = <&usb301_vbus_reg>;
1110 };
1111
1112 /*
1113 * Use longest HW watchdog in SoC (32 seconds) since the hardware
1114 * watchdog provides no debugging information (compared to soft/hard
1115 * lockup detectors) and so should be last resort.
1116 */
1117 &watchdog {
1118 timeout-sec = <32>;
1119 };
1120
1121 #include "cros-ec-keyboard.dtsi"
1122 #include "cros-adc-thermistors.dtsi"