1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Google Trogdor device tree source (common between revisions) 4 * 5 * Copyright 2019 Google LLC. 6 */ 7 8#include <dt-bindings/gpio/gpio.h> 9#include <dt-bindings/input/gpio-keys.h> 10#include <dt-bindings/input/input.h> 11#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 12#include <dt-bindings/sound/sc7180-lpass.h> 13 14/* PMICs depend on spmi_bus label and so must come after SoC */ 15#include "pm6150.dtsi" 16#include "pm6150l.dtsi" 17 18/ { 19 thermal-zones { 20 charger_thermal: charger-thermal { 21 polling-delay-passive = <0>; 22 polling-delay = <0>; 23 24 thermal-sensors = <&pm6150_adc_tm 0>; 25 26 trips { 27 charger-crit { 28 temperature = <125000>; 29 hysteresis = <1000>; 30 type = "critical"; 31 }; 32 }; 33 }; 34 }; 35}; 36 37/* 38 * Reserved memory changes 39 * 40 * Delete all unused memory nodes and define the peripheral memory regions 41 * required by the board dts. 42 */ 43 44/delete-node/ &hyp_mem; 45/delete-node/ &xbl_mem; 46/delete-node/ &aop_mem; 47/delete-node/ &sec_apps_mem; 48/delete-node/ &tz_mem; 49 50/* Increase the size from 2MB to 8MB */ 51&rmtfs_mem { 52 reg = <0x0 0x94600000 0x0 0x800000>; 53}; 54 55/ { 56 reserved-memory { 57 atf_mem: memory@80b00000 { 58 reg = <0x0 0x80b00000 0x0 0x100000>; 59 no-map; 60 }; 61 62 mpss_mem: memory@86000000 { 63 reg = <0x0 0x86000000 0x0 0x2000000>; 64 no-map; 65 }; 66 67 venus_mem: memory@8f600000 { 68 reg = <0 0x8f600000 0 0x500000>; 69 no-map; 70 }; 71 72 wlan_mem: memory@94100000 { 73 reg = <0x0 0x94100000 0x0 0x200000>; 74 no-map; 75 }; 76 77 mba_mem: memory@94400000 { 78 reg = <0x0 0x94400000 0x0 0x200000>; 79 no-map; 80 }; 81 }; 82 83 aliases { 84 bluetooth0 = &bluetooth; 85 hsuart0 = &uart3; 86 serial0 = &uart8; 87 wifi0 = &wifi; 88 }; 89 90 chosen { 91 stdout-path = "serial0:115200n8"; 92 }; 93 94 /* FIXED REGULATORS - parents above children */ 95 96 /* This is the top level supply and variable voltage */ 97 ppvar_sys: ppvar-sys-regulator { 98 compatible = "regulator-fixed"; 99 regulator-name = "ppvar_sys"; 100 regulator-always-on; 101 regulator-boot-on; 102 }; 103 104 /* This divides ppvar_sys by 2, so voltage is variable */ 105 src_vph_pwr: src-vph-pwr-regulator { 106 compatible = "regulator-fixed"; 107 regulator-name = "src_vph_pwr"; 108 109 /* EC turns on with switchcap_on; always on for AP */ 110 regulator-always-on; 111 regulator-boot-on; 112 113 vin-supply = <&ppvar_sys>; 114 }; 115 116 pp5000_a: pp5000-a-regulator { 117 compatible = "regulator-fixed"; 118 regulator-name = "pp5000_a"; 119 120 /* EC turns on with en_pp5000_a; always on for AP */ 121 regulator-always-on; 122 regulator-boot-on; 123 regulator-min-microvolt = <5000000>; 124 regulator-max-microvolt = <5000000>; 125 126 vin-supply = <&ppvar_sys>; 127 }; 128 129 pp3300_a: pp3300-a-regulator { 130 compatible = "regulator-fixed"; 131 regulator-name = "pp3300_a"; 132 133 /* EC turns on with en_pp3300_a; always on for AP */ 134 regulator-always-on; 135 regulator-boot-on; 136 regulator-min-microvolt = <3300000>; 137 regulator-max-microvolt = <3300000>; 138 139 /* 140 * Actually should be pp3300 but that's practically an alias for 141 * pp3300_a so we use pp3300's vin-supply here to avoid one more 142 * node. 143 */ 144 vin-supply = <&ppvar_sys>; 145 }; 146 147 pp3300_audio: 148 pp3300_codec: pp3300-codec-regulator { 149 compatible = "regulator-fixed"; 150 regulator-name = "pp3300_codec"; 151 152 regulator-min-microvolt = <3300000>; 153 regulator-max-microvolt = <3300000>; 154 155 gpio = <&tlmm 83 GPIO_ACTIVE_HIGH>; 156 enable-active-high; 157 pinctrl-names = "default"; 158 pinctrl-0 = <&en_pp3300_codec>; 159 160 vin-supply = <&pp3300_a>; 161 }; 162 163 pp3300_dx_edp: 164 pp3300_ts: pp3300-dx-edp-regulator { 165 compatible = "regulator-fixed"; 166 regulator-name = "pp3300_dx_edp"; 167 168 regulator-min-microvolt = <3300000>; 169 regulator-max-microvolt = <3300000>; 170 171 gpio = <&tlmm 30 GPIO_ACTIVE_HIGH>; 172 enable-active-high; 173 pinctrl-names = "default"; 174 pinctrl-0 = <&en_pp3300_dx_edp>; 175 176 vin-supply = <&pp3300_a>; 177 }; 178 179 pp3300_fp_tp: pp3300-fp-tp-regulator { 180 compatible = "regulator-fixed"; 181 regulator-name = "pp3300_fp_tp"; 182 183 regulator-min-microvolt = <3300000>; 184 regulator-max-microvolt = <3300000>; 185 186 /* AP turns on with PP1800_VIO_OUT; always on for AP */ 187 regulator-always-on; 188 regulator-boot-on; 189 190 vin-supply = <&pp3300_a>; 191 }; 192 193 pp3300_hub: pp3300-hub { 194 compatible = "regulator-fixed"; 195 regulator-name = "pp3300_hub"; 196 197 regulator-min-microvolt = <3300000>; 198 regulator-max-microvolt = <3300000>; 199 200 gpio = <&tlmm 84 GPIO_ACTIVE_HIGH>; 201 enable-active-high; 202 pinctrl-names = "default"; 203 pinctrl-0 = <&en_pp3300_hub>; 204 205 regulator-always-on; 206 regulator-boot-on; 207 208 vin-supply = <&pp3300_a>; 209 }; 210 211 /* BOARD-SPECIFIC TOP LEVEL NODES */ 212 213 backlight: backlight { 214 compatible = "pwm-backlight"; 215 216 /* The panels don't seem to like anything below ~ 5% */ 217 brightness-levels = < 218 196 256 324 400 484 576 676 784 900 1024 1156 1296 219 1444 1600 1764 1936 2116 2304 2500 2704 2916 3136 220 3364 3600 3844 4096 221 >; 222 num-interpolated-steps = <64>; 223 default-brightness-level = <951>; 224 225 pwms = <&cros_ec_pwm 1>; 226 enable-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; 227 power-supply = <&ppvar_sys>; 228 pinctrl-names = "default"; 229 pinctrl-0 = <&ap_edp_bklten>; 230 }; 231 232 gpio_keys: gpio-keys { 233 compatible = "gpio-keys"; 234 status = "disabled"; 235 pinctrl-names = "default"; 236 pinctrl-0 = <&pen_pdct_l>; 237 238 pen_insert: pen-insert { 239 label = "Pen Insert"; 240 241 /* Insert = low, eject = high */ 242 gpios = <&tlmm 52 GPIO_ACTIVE_LOW>; 243 linux,code = <SW_PEN_INSERTED>; 244 linux,input-type = <EV_SW>; 245 wakeup-event-action = <EV_ACT_DEASSERTED>; 246 wakeup-source; 247 }; 248 }; 249 250 max98360a: audio-codec-0 { 251 compatible = "maxim,max98360a"; 252 pinctrl-names = "default"; 253 pinctrl-0 = <&_en>; 254 sdmode-gpios = <&tlmm 23 GPIO_ACTIVE_HIGH>; 255 #sound-dai-cells = <0>; 256 }; 257 258 pwmleds { 259 compatible = "pwm-leds"; 260 keyboard_backlight: keyboard-backlight { 261 status = "disabled"; 262 label = "cros_ec::kbd_backlight"; 263 pwms = <&cros_ec_pwm 0>; 264 max-brightness = <1023>; 265 }; 266 }; 267 268 sound: sound { 269 compatible = "google,sc7180-trogdor"; 270 model = "sc7180-rt5682-max98357a-1mic"; 271 272 audio-routing = 273 "Headphone Jack", "HPOL", 274 "Headphone Jack", "HPOR"; 275 276 #address-cells = <1>; 277 #size-cells = <0>; 278 279 dai-link@0 { 280 link-name = "MultiMedia0"; 281 reg = <MI2S_PRIMARY>; 282 cpu { 283 sound-dai = <&lpass_cpu MI2S_PRIMARY>; 284 }; 285 286 sound_multimedia0_codec: codec { 287 sound-dai = <&alc5682 0 /* aif1 */>; 288 }; 289 }; 290 291 dai-link@1 { 292 link-name = "MultiMedia1"; 293 reg = <MI2S_SECONDARY>; 294 cpu { 295 sound-dai = <&lpass_cpu MI2S_SECONDARY>; 296 }; 297 298 sound_multimedia1_codec: codec { 299 sound-dai = <&max98360a>; 300 }; 301 }; 302 303 dai-link@5 { 304 link-name = "MultiMedia2"; 305 reg = <LPASS_DP_RX>; 306 cpu { 307 sound-dai = <&lpass_cpu LPASS_DP_RX>; 308 }; 309 310 codec { 311 sound-dai = <&mdss_dp>; 312 }; 313 }; 314 }; 315}; 316 317&qfprom { 318 vcc-supply = <&pp1800_l11a>; 319}; 320 321&qspi { 322 status = "okay"; 323 pinctrl-names = "default"; 324 pinctrl-0 = <&qspi_clk>, <&qspi_cs0>, <&qspi_data01>; 325 326 flash@0 { 327 compatible = "jedec,spi-nor"; 328 reg = <0>; 329 330 spi-max-frequency = <37500000>; 331 spi-tx-bus-width = <2>; 332 spi-rx-bus-width = <2>; 333 }; 334}; 335 336&apps_rsc { 337 pm6150-rpmh-regulators { 338 compatible = "qcom,pm6150-rpmh-regulators"; 339 qcom,pmic-id = "a"; 340 341 vddpx_1: 342 vdd2: 343 pp1125_s1a: smps1 { 344 regulator-min-microvolt = <1128000>; 345 regulator-max-microvolt = <1128000>; 346 }; 347 348 vdd_qlink_lv: 349 vdd_qlink_lv_ck: 350 vdd_qusb_hs0_core: 351 vdd_ufs1_core: 352 vdda_mipi_csi0_0p9: 353 vdda_mipi_csi1_0p9: 354 vdda_mipi_csi2_0p9: 355 vdda_mipi_csi3_0p9: 356 vdda_mipi_dsi0_pll: 357 vdda_pll_cc_ebi01: 358 vdda_qrefs_0p9: 359 vdda_usb_ss_dp_core: 360 pp900_l4a: ldo4 { 361 regulator-min-microvolt = <824000>; 362 regulator-max-microvolt = <928000>; 363 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 364 }; 365 366 vdd_cx_wlan: 367 pp800_l9a: ldo9 { 368 regulator-min-microvolt = <488000>; 369 regulator-max-microvolt = <800000>; 370 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 371 }; 372 373 vdd1: 374 vddpx_3: 375 vddpx_7: 376 vio_in: 377 pp1800_l10a: ldo10 { 378 regulator-min-microvolt = <1800000>; 379 regulator-max-microvolt = <1800000>; 380 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 381 }; 382 383 vdd_qfprom: 384 vdda_apc1_cs_1p8: 385 vdda_qrefs_1p8: 386 vdda_qusb_hs0_1p8: 387 vddpx_11: 388 vreg_bb_clk: 389 pp1800_l11a: ldo11 { 390 regulator-min-microvolt = <1800000>; 391 regulator-max-microvolt = <1800000>; 392 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 393 }; 394 395 mcp_vccq: 396 pp1800_l12a_r: ldo12 { 397 regulator-min-microvolt = <1800000>; 398 regulator-max-microvolt = <1800000>; 399 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 400 }; 401 402 /* 403 * On trogdor this needs to match l10a since we use it to 404 * give power to things like SPI flash which communicate back 405 * on lines powered by l10a. Thus we force to 1.8V. 406 */ 407 pp1800_l13a: ldo13 { 408 regulator-min-microvolt = <1800000>; 409 regulator-max-microvolt = <1800000>; 410 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 411 }; 412 413 pp1800_prox: 414 pp1800_l14a: ldo14 { 415 regulator-min-microvolt = <1800000>; 416 regulator-max-microvolt = <1800000>; 417 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 418 }; 419 420 pp1800_alc5682: 421 pp1800_l15a: ldo15 { 422 regulator-min-microvolt = <1800000>; 423 regulator-max-microvolt = <1800000>; 424 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 425 }; 426 427 vdda_qusb_hs0_3p1: 428 vdd_pdphy: 429 pp3100_l17a: ldo17 { 430 regulator-min-microvolt = <2920000>; 431 regulator-max-microvolt = <3232000>; 432 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 433 }; 434 435 pp1800_pen: 436 pp1800_l18a: ldo18 { 437 regulator-min-microvolt = <1800000>; 438 regulator-max-microvolt = <1800000>; 439 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 440 }; 441 442 mcp_vcc: 443 pp2850_l19a: ldo19 { 444 regulator-min-microvolt = <2960000>; 445 regulator-max-microvolt = <2960000>; 446 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 447 }; 448 }; 449 450 pm6150l-rpmh-regulators { 451 compatible = "qcom,pm6150l-rpmh-regulators"; 452 qcom,pmic-id = "c"; 453 454 pp1300_s8c: smps8 { 455 regulator-min-microvolt = <1120000>; 456 regulator-max-microvolt = <1408000>; 457 }; 458 459 pp1800_l1c: ldo1 { 460 regulator-min-microvolt = <1616000>; 461 regulator-max-microvolt = <1984000>; 462 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 463 }; 464 465 vdd_wcss_adc_dac: 466 pp1300_l2c: ldo2 { 467 regulator-min-microvolt = <1168000>; 468 regulator-max-microvolt = <1304000>; 469 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 470 }; 471 472 pp1200_brij: 473 vdd_ufs1_1p2: 474 vdda_csi0_1p25: 475 vdda_csi1_1p25: 476 vdda_csi2_1p25: 477 vdda_csi3_1p25: 478 vdda_hv_ebi0: 479 vdda_mipi_dsi0_1p2: 480 vdda_usb_ss_dp_1p2: 481 vddpx_10: 482 pp1200_l3c: ldo3 { 483 regulator-min-microvolt = <1200000>; 484 regulator-max-microvolt = <1200000>; 485 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 486 }; 487 488 vddpx_2: 489 ppvar_l6c: ldo6 { 490 regulator-min-microvolt = <1800000>; 491 regulator-max-microvolt = <2952000>; 492 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 493 }; 494 495 pp3300_l7c: ldo7 { 496 regulator-min-microvolt = <3304000>; 497 regulator-max-microvolt = <3304000>; 498 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 499 }; 500 501 pp1800_brij_vccio: 502 pp1800_edp_vpll: 503 pp1800_l8c: ldo8 { 504 regulator-min-microvolt = <1800000>; 505 regulator-max-microvolt = <1800000>; 506 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 507 }; 508 509 pp2950_l9c: ldo9 { 510 regulator-min-microvolt = <2952000>; 511 regulator-max-microvolt = <2952000>; 512 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 513 }; 514 515 pp3300_l10c: ldo10 { 516 regulator-min-microvolt = <3000000>; 517 regulator-max-microvolt = <3400000>; 518 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 519 }; 520 521 pp3300_l11c: ldo11 { 522 regulator-min-microvolt = <3000000>; 523 regulator-max-microvolt = <3400000>; 524 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 525 }; 526 527 src_vreg_bob: bob { 528 regulator-min-microvolt = <3008000>; 529 regulator-max-microvolt = <3960000>; 530 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 531 }; 532 }; 533}; 534 535&ap_ec_spi { 536 status = "okay"; 537 cros_ec: ec@0 { 538 compatible = "google,cros-ec-spi"; 539 reg = <0>; 540 interrupt-parent = <&tlmm>; 541 interrupts = <94 IRQ_TYPE_LEVEL_LOW>; 542 pinctrl-names = "default"; 543 pinctrl-0 = <&ap_ec_int_l>; 544 spi-max-frequency = <3000000>; 545 546 cros_ec_pwm: ec-pwm { 547 compatible = "google,cros-ec-pwm"; 548 #pwm-cells = <1>; 549 }; 550 551 i2c_tunnel: i2c-tunnel { 552 compatible = "google,cros-ec-i2c-tunnel"; 553 google,remote-bus = <0>; 554 #address-cells = <1>; 555 #size-cells = <0>; 556 }; 557 558 typec { 559 compatible = "google,cros-ec-typec"; 560 #address-cells = <1>; 561 #size-cells = <0>; 562 563 usb_c0: connector@0 { 564 compatible = "usb-c-connector"; 565 reg = <0>; 566 label = "left"; 567 power-role = "dual"; 568 data-role = "host"; 569 try-power-role = "source"; 570 }; 571 572 usb_c1: connector@1 { 573 compatible = "usb-c-connector"; 574 reg = <1>; 575 label = "right"; 576 power-role = "dual"; 577 data-role = "host"; 578 try-power-role = "source"; 579 }; 580 }; 581 }; 582}; 583 584&ap_h1_spi { 585 status = "okay"; 586 cr50: tpm@0 { 587 compatible = "google,cr50"; 588 reg = <0>; 589 pinctrl-names = "default"; 590 pinctrl-0 = <&h1_ap_int_odl>; 591 spi-max-frequency = <800000>; 592 interrupt-parent = <&tlmm>; 593 interrupts = <42 IRQ_TYPE_EDGE_RISING>; 594 }; 595}; 596 597&camcc { 598 status = "disabled"; 599}; 600 601&dsi0 { 602 status = "okay"; 603 vdda-supply = <&vdda_mipi_dsi0_1p2>; 604}; 605 606&dsi0_out { 607 data-lanes = <0 1 2 3>; 608}; 609 610&dsi_phy { 611 status = "okay"; 612 vdds-supply = <&vdda_mipi_dsi0_pll>; 613}; 614 615ap_sar_sensor_i2c: &i2c5 { 616 clock-frequency = <400000>; 617 618 ap_sar_sensor: proximity@28 { 619 compatible = "semtech,sx9310"; 620 reg = <0x28>; 621 #io-channel-cells = <1>; 622 pinctrl-names = "default"; 623 pinctrl-0 = <&p_sensor_int_l>; 624 625 interrupt-parent = <&tlmm>; 626 interrupts = <24 IRQ_TYPE_LEVEL_LOW>; 627 628 vdd-supply = <&pp3300_a>; 629 svdd-supply = <&pp1800_prox>; 630 631 status = "disabled"; 632 label = "proximity-wifi"; 633 }; 634}; 635 636ap_tp_i2c: &i2c7 { 637 status = "okay"; 638 clock-frequency = <400000>; 639 640 trackpad: trackpad@15 { 641 compatible = "elan,ekth3000"; 642 reg = <0x15>; 643 pinctrl-names = "default"; 644 pinctrl-0 = <&tp_int_odl>; 645 646 interrupt-parent = <&tlmm>; 647 interrupts = <0 IRQ_TYPE_EDGE_FALLING>; 648 649 vcc-supply = <&pp3300_fp_tp>; 650 651 wakeup-source; 652 }; 653}; 654 655hp_i2c: &i2c9 { 656 status = "okay"; 657 clock-frequency = <400000>; 658 659 alc5682: codec@1a { 660 compatible = "realtek,rt5682i"; 661 reg = <0x1a>; 662 pinctrl-names = "default"; 663 pinctrl-0 = <&hp_irq>; 664 665 #sound-dai-cells = <1>; 666 667 interrupt-parent = <&tlmm>; 668 /* 669 * This will get ignored because the interrupt type 670 * is set in rt5682.c. 671 */ 672 interrupts = <28 IRQ_TYPE_EDGE_BOTH>; 673 674 AVDD-supply = <&pp1800_alc5682>; 675 MICVDD-supply = <&pp3300_codec>; 676 VBAT-supply = <&pp3300_audio>; 677 678 realtek,dmic1-data-pin = <1>; 679 realtek,dmic1-clk-pin = <1>; 680 realtek,jd-src = <1>; 681 }; 682}; 683 684&lpass_cpu { 685 status = "okay"; 686 687 pinctrl-names = "default"; 688 pinctrl-0 = <&sec_mi2s_active>, <&pri_mi2s_active>, <&pri_mi2s_mclk_active>; 689 690 #address-cells = <1>; 691 #size-cells = <0>; 692 693 mi2s@0 { 694 reg = <MI2S_PRIMARY>; 695 qcom,playback-sd-lines = <1>; 696 qcom,capture-sd-lines = <0>; 697 }; 698 699 secondary_mi2s: mi2s@1 { 700 reg = <MI2S_SECONDARY>; 701 qcom,playback-sd-lines = <0>; 702 }; 703 704 hdmi@5 { 705 reg = <LPASS_DP_RX>; 706 }; 707}; 708 709&mdp { 710 status = "okay"; 711}; 712 713&mdss { 714 status = "okay"; 715}; 716 717&mdss_dp { 718 status = "okay"; 719 pinctrl-names = "default"; 720 pinctrl-0 = <&dp_hot_plug_det>; 721 data-lanes = <0 1>; 722 vdda-1p2-supply = <&vdda_usb_ss_dp_1p2>; 723 vdda-0p9-supply = <&vdda_usb_ss_dp_core>; 724}; 725 726&pm6150_adc { 727 charger-thermistor@4f { 728 reg = <ADC5_AMUX_THM3_100K_PU>; 729 qcom,ratiometric; 730 qcom,hw-settle-time = <200>; 731 }; 732}; 733 734&pm6150_adc_tm { 735 status = "okay"; 736 737 charger-thermistor@0 { 738 reg = <0>; 739 io-channels = <&pm6150_adc ADC5_AMUX_THM3_100K_PU>; 740 qcom,ratiometric; 741 qcom,hw-settle-time-us = <200>; 742 }; 743}; 744 745&pm6150_pon { 746 status = "disabled"; 747}; 748 749&qupv3_id_0 { 750 status = "okay"; 751}; 752 753&qupv3_id_1 { 754 status = "okay"; 755}; 756 757&remoteproc_mpss { 758 status = "okay"; 759 compatible = "qcom,sc7180-mss-pil"; 760 iommus = <&apps_smmu 0x461 0x0>, <&apps_smmu 0x444 0x3>; 761 memory-region = <&mba_mem &mpss_mem>; 762 763 /* This gets overridden for SKUs with LTE support. */ 764 firmware-name = "qcom/sc7180-trogdor/modem-nolte/mba.mbn", 765 "qcom/sc7180-trogdor/modem-nolte/qdsp6sw.mbn"; 766}; 767 768&sdhc_1 { 769 status = "okay"; 770 771 pinctrl-names = "default", "sleep"; 772 pinctrl-0 = <&sdc1_on>; 773 pinctrl-1 = <&sdc1_off>; 774 vmmc-supply = <&mcp_vcc>; 775 vqmmc-supply = <&mcp_vccq>; 776}; 777 778&sdhc_2 { 779 pinctrl-names = "default", "sleep"; 780 pinctrl-0 = <&sdc2_on>; 781 pinctrl-1 = <&sdc2_off>; 782 vmmc-supply = <&pp2950_l9c>; 783 vqmmc-supply = <&ppvar_l6c>; 784 785 cd-gpios = <&tlmm 69 GPIO_ACTIVE_LOW>; 786}; 787 788&spi0 { 789 pinctrl-0 = <&qup_spi0_cs_gpio_init_high>, <&qup_spi0_cs_gpio>; 790 cs-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>; 791}; 792 793&spi6 { 794 pinctrl-0 = <&qup_spi6_cs_gpio_init_high>, <&qup_spi6_cs_gpio>; 795 cs-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>; 796}; 797 798ap_spi_fp: &spi10 { 799 pinctrl-0 = <&qup_spi10_cs_gpio_init_high>, <&qup_spi10_cs_gpio>; 800 cs-gpios = <&tlmm 89 GPIO_ACTIVE_LOW>; 801 802 cros_ec_fp: ec@0 { 803 compatible = "google,cros-ec-spi"; 804 reg = <0>; 805 interrupt-parent = <&tlmm>; 806 interrupts = <4 IRQ_TYPE_LEVEL_LOW>; 807 pinctrl-names = "default"; 808 pinctrl-0 = <&fp_to_ap_irq_l>; 809 spi-max-frequency = <3000000>; 810 }; 811}; 812 813#include <arm/cros-ec-keyboard.dtsi> 814#include <arm/cros-ec-sbs.dtsi> 815 816&uart3 { 817 status = "okay"; 818 819 /delete-property/interrupts; 820 interrupts-extended = <&intc GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>, 821 <&tlmm 41 IRQ_TYPE_EDGE_FALLING>; 822 823 pinctrl-names = "default", "sleep"; 824 pinctrl-1 = <&qup_uart3_sleep>; 825 826 bluetooth: bluetooth { 827 compatible = "qcom,wcn3991-bt"; 828 vddio-supply = <&pp1800_l10a>; 829 vddxo-supply = <&pp1800_l1c>; 830 vddrf-supply = <&pp1300_l2c>; 831 vddch0-supply = <&pp3300_l10c>; 832 max-speed = <3200000>; 833 }; 834}; 835 836&uart8 { 837 status = "okay"; 838}; 839 840&usb_1 { 841 status = "okay"; 842}; 843 844&usb_1_dwc3 { 845 dr_mode = "host"; 846}; 847 848&usb_1_hsphy { 849 status = "okay"; 850 vdd-supply = <&vdd_qusb_hs0_core>; 851 vdda-pll-supply = <&vdda_qusb_hs0_1p8>; 852 vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>; 853 qcom,imp-res-offset-value = <8>; 854 qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_15_PERCENT>; 855 qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>; 856 qcom,bias-ctrl-value = <0x22>; 857 qcom,charge-ctrl-value = <3>; 858 qcom,hsdisc-trim-value = <0>; 859}; 860 861&usb_1_qmpphy { 862 status = "okay"; 863 vdda-phy-supply = <&vdda_usb_ss_dp_1p2>; 864 vdda-pll-supply = <&vdda_usb_ss_dp_core>; 865}; 866 867&venus { 868 video-firmware { 869 iommus = <&apps_smmu 0x0c42 0x0>; 870 }; 871}; 872 873&wifi { 874 status = "okay"; 875 vdd-0.8-cx-mx-supply = <&vdd_cx_wlan>; 876 vdd-1.8-xo-supply = <&pp1800_l1c>; 877 vdd-1.3-rfa-supply = <&pp1300_l2c>; 878 vdd-3.3-ch0-supply = <&pp3300_l10c>; 879 vdd-3.3-ch1-supply = <&pp3300_l11c>; 880 881 wifi-firmware { 882 iommus = <&apps_smmu 0xc2 0x1>; 883 }; 884}; 885 886/* PINCTRL - additions to nodes defined in sc7180.dtsi */ 887 888&dp_hot_plug_det { 889 pinconf { 890 pins = "gpio117"; 891 bias-disable; 892 }; 893}; 894 895&pri_mi2s_active { 896 pinconf { 897 pins = "gpio53", "gpio54", "gpio55", "gpio56"; 898 drive-strength = <2>; 899 bias-pull-down; 900 }; 901}; 902 903&pri_mi2s_mclk_active { 904 pinconf { 905 pins = "gpio57"; 906 drive-strength = <2>; 907 bias-pull-down; 908 }; 909}; 910 911&qspi_cs0 { 912 pinconf { 913 pins = "gpio68"; 914 bias-disable; 915 }; 916}; 917 918&qspi_clk { 919 pinconf { 920 pins = "gpio63"; 921 drive-strength = <8>; 922 bias-disable; 923 }; 924}; 925 926&qspi_data01 { 927 pinconf { 928 pins = "gpio64", "gpio65"; 929 930 /* High-Z when no transfers; nice to park the lines */ 931 bias-pull-up; 932 }; 933}; 934 935&qup_i2c2_default { 936 pinconf { 937 pins = "gpio15", "gpio16"; 938 drive-strength = <2>; 939 940 /* Has external pullup */ 941 bias-disable; 942 }; 943}; 944 945&qup_i2c4_default { 946 pinconf { 947 pins = "gpio115", "gpio116"; 948 drive-strength = <2>; 949 950 /* Has external pullup */ 951 bias-disable; 952 }; 953}; 954 955&qup_i2c5_default { 956 pinconf { 957 pins = "gpio25", "gpio26"; 958 drive-strength = <2>; 959 960 /* Has external pullup */ 961 bias-disable; 962 }; 963}; 964 965&qup_i2c7_default { 966 pinconf { 967 pins = "gpio6", "gpio7"; 968 drive-strength = <2>; 969 970 /* Has external pullup */ 971 bias-disable; 972 }; 973}; 974 975&qup_i2c9_default { 976 pinconf { 977 pins = "gpio46", "gpio47"; 978 drive-strength = <2>; 979 980 /* Has external pullup */ 981 bias-disable; 982 }; 983}; 984 985&qup_spi0_cs_gpio { 986 pinconf { 987 pins = "gpio34", "gpio35", "gpio36", "gpio37"; 988 drive-strength = <2>; 989 bias-disable; 990 }; 991}; 992 993&qup_spi6_cs_gpio { 994 pinconf { 995 pins = "gpio59", "gpio60", "gpio61", "gpio62"; 996 drive-strength = <2>; 997 bias-disable; 998 }; 999}; 1000 1001&qup_spi10_cs_gpio { 1002 pinconf { 1003 pins = "gpio86", "gpio87", "gpio88", "gpio89"; 1004 drive-strength = <2>; 1005 bias-disable; 1006 }; 1007}; 1008 1009&qup_uart3_default { 1010 pinconf-cts { 1011 /* 1012 * Configure a pull-down on CTS to match the pull of 1013 * the Bluetooth module. 1014 */ 1015 pins = "gpio38"; 1016 bias-pull-down; 1017 }; 1018 1019 pinconf-rts-tx { 1020 /* We'll drive RTS and TX, so no pull */ 1021 pins = "gpio39", "gpio40"; 1022 drive-strength = <2>; 1023 bias-disable; 1024 }; 1025 1026 pinconf-rx { 1027 /* 1028 * Configure a pull-up on RX. This is needed to avoid 1029 * garbage data when the TX pin of the Bluetooth module is 1030 * in tri-state (module powered off or not driving the 1031 * signal yet). 1032 */ 1033 pins = "gpio41"; 1034 bias-pull-up; 1035 }; 1036}; 1037 1038&qup_uart8_default { 1039 pinconf-tx { 1040 pins = "gpio44"; 1041 drive-strength = <2>; 1042 bias-disable; 1043 }; 1044 1045 pinconf-rx { 1046 pins = "gpio45"; 1047 drive-strength = <2>; 1048 bias-pull-up; 1049 }; 1050}; 1051 1052&sec_mi2s_active { 1053 pinconf { 1054 pins = "gpio49", "gpio50", "gpio51"; 1055 drive-strength = <2>; 1056 bias-pull-down; 1057 }; 1058}; 1059 1060/* PINCTRL - board-specific pinctrl */ 1061 1062&pm6150_gpio { 1063 status = "disabled"; /* No GPIOs are connected */ 1064}; 1065 1066&pm6150l_gpio { 1067 gpio-line-names = "AP_SUSPEND", 1068 "", 1069 "", 1070 "", 1071 "", 1072 "", 1073 "", 1074 "", 1075 "", 1076 "", 1077 "", 1078 ""; 1079}; 1080 1081&tlmm { 1082 /* 1083 * pinctrl settings for pins that have no real owners. 1084 */ 1085 pinctrl-names = "default"; 1086 pinctrl-0 = <&bios_flash_wp_l>, <&ap_suspend_l_neuter>; 1087 1088 amp_en: amp-en { 1089 pinmux { 1090 pins = "gpio23"; 1091 function = "gpio"; 1092 }; 1093 1094 pinconf { 1095 pins = "gpio23"; 1096 bias-pull-down; 1097 }; 1098 }; 1099 1100 ap_ec_int_l: ap-ec-int-l { 1101 pinmux { 1102 pins = "gpio94"; 1103 function = "gpio"; 1104 input-enable; 1105 }; 1106 1107 pinconf { 1108 pins = "gpio94"; 1109 bias-pull-up; 1110 }; 1111 }; 1112 1113 ap_edp_bklten: ap-edp-bklten { 1114 pinmux { 1115 pins = "gpio12"; 1116 function = "gpio"; 1117 }; 1118 1119 pinconf { 1120 pins = "gpio12"; 1121 drive-strength = <2>; 1122 bias-disable; 1123 1124 /* Force backlight to be disabled to match state at boot. */ 1125 output-low; 1126 }; 1127 }; 1128 1129 ap_suspend_l_neuter: ap-suspend-l-neuter { 1130 pinmux { 1131 pins = "gpio27"; 1132 function = "gpio"; 1133 }; 1134 1135 pinconf { 1136 pins = "gpio27"; 1137 bias-disable; 1138 }; 1139 }; 1140 1141 bios_flash_wp_l: bios-flash-wp-l { 1142 pinmux { 1143 pins = "gpio66"; 1144 function = "gpio"; 1145 input-enable; 1146 }; 1147 1148 pinconf { 1149 pins = "gpio66"; 1150 bias-disable; 1151 }; 1152 }; 1153 1154 edp_brij_en: edp-brij-en { 1155 pinmux { 1156 pins = "gpio104"; 1157 function = "gpio"; 1158 }; 1159 1160 pinconf { 1161 pins = "gpio104"; 1162 drive-strength = <2>; 1163 bias-disable; 1164 }; 1165 }; 1166 1167 en_pp3300_codec: en-pp3300-codec { 1168 pinmux { 1169 pins = "gpio83"; 1170 function = "gpio"; 1171 }; 1172 1173 pinconf { 1174 pins = "gpio83"; 1175 drive-strength = <2>; 1176 bias-disable; 1177 }; 1178 }; 1179 1180 en_pp3300_dx_edp: en-pp3300-dx-edp { 1181 pinmux { 1182 pins = "gpio30"; 1183 function = "gpio"; 1184 }; 1185 1186 pinconf { 1187 pins = "gpio30"; 1188 drive-strength = <2>; 1189 bias-disable; 1190 }; 1191 }; 1192 1193 en_pp3300_hub: en-pp3300-hub { 1194 pinmux { 1195 pins = "gpio84"; 1196 function = "gpio"; 1197 }; 1198 1199 pinconf { 1200 pins = "gpio84"; 1201 drive-strength = <2>; 1202 bias-disable; 1203 }; 1204 }; 1205 1206 fp_to_ap_irq_l: fp-to-ap-irq-l { 1207 pinmux { 1208 pins = "gpio4"; 1209 function = "gpio"; 1210 input-enable; 1211 }; 1212 1213 pinconf { 1214 pins = "gpio4"; 1215 1216 /* Has external pullup */ 1217 bias-disable; 1218 }; 1219 }; 1220 1221 h1_ap_int_odl: h1-ap-int-odl { 1222 pinmux { 1223 pins = "gpio42"; 1224 function = "gpio"; 1225 input-enable; 1226 }; 1227 1228 pinconf { 1229 pins = "gpio42"; 1230 bias-pull-up; 1231 }; 1232 }; 1233 1234 hp_irq: hp-irq { 1235 pinmux { 1236 pins = "gpio28"; 1237 function = "gpio"; 1238 }; 1239 1240 pinconf { 1241 pins = "gpio28"; 1242 bias-pull-up; 1243 }; 1244 }; 1245 1246 pen_irq_l: pen-irq-l { 1247 pinmux { 1248 pins = "gpio21"; 1249 function = "gpio"; 1250 }; 1251 1252 pinconf { 1253 pins = "gpio21"; 1254 1255 /* Has external pullup */ 1256 bias-disable; 1257 }; 1258 }; 1259 1260 pen_pdct_l: pen-pdct-l { 1261 pinmux { 1262 pins = "gpio52"; 1263 function = "gpio"; 1264 }; 1265 1266 pinconf { 1267 pins = "gpio52"; 1268 1269 /* Has external pullup */ 1270 bias-disable; 1271 }; 1272 }; 1273 1274 pen_rst_odl: pen-rst-odl { 1275 pinmux { 1276 pins = "gpio18"; 1277 function = "gpio"; 1278 }; 1279 1280 pinconf { 1281 pins = "gpio18"; 1282 bias-disable; 1283 drive-strength = <2>; 1284 1285 /* 1286 * The pen driver doesn't currently support 1287 * driving this reset line. By specifying 1288 * output-high here we're relying on the fact 1289 * that this pin has a default pulldown at boot 1290 * (which makes sure the pen was in reset if it 1291 * was powered) and then we set it high here to 1292 * take it out of reset. Better would be if the 1293 * pen driver could control this and we could 1294 * remove "output-high" here. 1295 */ 1296 output-high; /* TODO: Remove this? */ 1297 }; 1298 }; 1299 1300 p_sensor_int_l: p-sensor-int-l { 1301 pinmux { 1302 pins = "gpio24"; 1303 function = "gpio"; 1304 input-enable; 1305 }; 1306 1307 pinconf { 1308 pins = "gpio24"; 1309 /* Has external pullup */ 1310 bias-disable; 1311 }; 1312 }; 1313 1314 qup_spi0_cs_gpio_init_high: qup-spi0-cs-gpio-init-high { 1315 pinconf { 1316 pins = "gpio37"; 1317 output-high; 1318 }; 1319 }; 1320 1321 qup_spi6_cs_gpio_init_high: qup-spi6-cs-gpio-init-high { 1322 pinconf { 1323 pins = "gpio62"; 1324 output-high; 1325 }; 1326 }; 1327 1328 qup_spi10_cs_gpio_init_high: qup-spi10-cs-gpio-init-high { 1329 pinconf { 1330 pins = "gpio89"; 1331 output-high; 1332 }; 1333 }; 1334 1335 qup_uart3_sleep: qup-uart3-sleep { 1336 pinmux { 1337 pins = "gpio38", "gpio39", 1338 "gpio40", "gpio41"; 1339 function = "gpio"; 1340 }; 1341 1342 pinconf-cts { 1343 /* 1344 * Configure a pull-down on CTS to match the pull of 1345 * the Bluetooth module. 1346 */ 1347 pins = "gpio38"; 1348 bias-pull-down; 1349 }; 1350 1351 pinconf-rts { 1352 /* 1353 * Configure pull-down on RTS. As RTS is active low 1354 * signal, pull it low to indicate the BT SoC that it 1355 * can wakeup the system anytime from suspend state by 1356 * pulling RX low (by sending wakeup bytes). 1357 */ 1358 pins = "gpio39"; 1359 bias-pull-down; 1360 }; 1361 1362 pinconf-tx { 1363 /* 1364 * Configure pull-up on TX when it isn't actively driven 1365 * to prevent BT SoC from receiving garbage during sleep. 1366 */ 1367 pins = "gpio40"; 1368 bias-pull-up; 1369 }; 1370 1371 pinconf-rx { 1372 /* 1373 * Configure a pull-up on RX. This is needed to avoid 1374 * garbage data when the TX pin of the Bluetooth module 1375 * is floating which may cause spurious wakeups. 1376 */ 1377 pins = "gpio41"; 1378 bias-pull-up; 1379 }; 1380 }; 1381 1382 /* Named trackpad_int_1v8_odl on earlier revision schematics */ 1383 trackpad_int_1v8_odl: 1384 tp_int_odl: tp-int-odl { 1385 pinmux { 1386 pins = "gpio0"; 1387 function = "gpio"; 1388 }; 1389 1390 pinconf { 1391 pins = "gpio0"; 1392 1393 /* Has external pullup */ 1394 bias-disable; 1395 }; 1396 }; 1397 1398 ts_int_l: ts-int-l { 1399 pinmux { 1400 pins = "gpio9"; 1401 function = "gpio"; 1402 }; 1403 1404 pinconf { 1405 pins = "gpio9"; 1406 bias-pull-up; 1407 }; 1408 }; 1409 1410 ts_reset_l: ts-reset-l { 1411 pinmux { 1412 pins = "gpio8"; 1413 function = "gpio"; 1414 }; 1415 1416 pinconf { 1417 pins = "gpio8"; 1418 bias-disable; 1419 drive-strength = <2>; 1420 }; 1421 }; 1422 1423 sdc1_on: sdc1-on { 1424 pinconf-clk { 1425 pins = "sdc1_clk"; 1426 bias-disable; 1427 drive-strength = <16>; 1428 }; 1429 1430 pinconf-cmd { 1431 pins = "sdc1_cmd"; 1432 bias-pull-up; 1433 drive-strength = <16>; 1434 }; 1435 1436 pinconf-data { 1437 pins = "sdc1_data"; 1438 bias-pull-up; 1439 drive-strength = <16>; 1440 }; 1441 1442 pinconf-rclk { 1443 pins = "sdc1_rclk"; 1444 bias-pull-down; 1445 }; 1446 }; 1447 1448 sdc1_off: sdc1-off { 1449 pinconf-clk { 1450 pins = "sdc1_clk"; 1451 bias-disable; 1452 drive-strength = <2>; 1453 }; 1454 1455 pinconf-cmd { 1456 pins = "sdc1_cmd"; 1457 bias-pull-up; 1458 drive-strength = <2>; 1459 }; 1460 1461 pinconf-data { 1462 pins = "sdc1_data"; 1463 bias-pull-up; 1464 drive-strength = <2>; 1465 }; 1466 1467 pinconf-rclk { 1468 pins = "sdc1_rclk"; 1469 bias-pull-down; 1470 }; 1471 }; 1472 1473 sdc2_on: sdc2-on { 1474 pinconf-clk { 1475 pins = "sdc2_clk"; 1476 bias-disable; 1477 drive-strength = <16>; 1478 }; 1479 1480 pinconf-cmd { 1481 pins = "sdc2_cmd"; 1482 bias-pull-up; 1483 drive-strength = <10>; 1484 }; 1485 1486 pinconf-data { 1487 pins = "sdc2_data"; 1488 bias-pull-up; 1489 drive-strength = <10>; 1490 }; 1491 1492 pinconf-sd-cd { 1493 pins = "gpio69"; 1494 bias-pull-up; 1495 drive-strength = <2>; 1496 }; 1497 }; 1498 1499 sdc2_off: sdc2-off { 1500 pinconf-clk { 1501 pins = "sdc2_clk"; 1502 bias-disable; 1503 drive-strength = <2>; 1504 }; 1505 1506 pinconf-cmd { 1507 pins = "sdc2_cmd"; 1508 bias-pull-up; 1509 drive-strength = <2>; 1510 }; 1511 1512 pinconf-data { 1513 pins = "sdc2_data"; 1514 bias-pull-up; 1515 drive-strength = <2>; 1516 }; 1517 1518 pinconf-sd-cd { 1519 pins = "gpio69"; 1520 bias-pull-up; 1521 drive-strength = <2>; 1522 }; 1523 }; 1524}; 1525