1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. 4 * Copyright (c) 2024, Linaro Limited 5 * Copyright (c) 2025, Jens Glathe 6 */ 7 8/dts-v1/; 9 10#include <dt-bindings/gpio/gpio.h> 11#include <dt-bindings/input/gpio-keys.h> 12#include <dt-bindings/input/input.h> 13#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 14#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 15 16#include "purwa.dtsi" 17#include "hamoa-pmics.dtsi" 18 19/delete-node/ &pmc8380_6; 20/delete-node/ &pmc8380_6_thermal; 21 22/ { 23 model = "Lenovo ThinkBook 16 Gen 7 QOY"; 24 compatible = "lenovo,thinkbook-16", "qcom,x1p42100"; 25 chassis-type = "laptop"; 26 27 aliases { 28 serial0 = &uart21; 29 serial1 = &uart14; 30 }; 31 32 wcd938x: audio-codec { 33 compatible = "qcom,wcd9385-codec"; 34 35 pinctrl-0 = <&wcd_default>; 36 pinctrl-names = "default"; 37 38 qcom,micbias1-microvolt = <1800000>; 39 qcom,micbias2-microvolt = <1800000>; 40 qcom,micbias3-microvolt = <1800000>; 41 qcom,micbias4-microvolt = <1800000>; 42 qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>; 43 qcom,mbhc-headset-vthreshold-microvolt = <1700000>; 44 qcom,mbhc-headphone-vthreshold-microvolt = <50000>; 45 qcom,rx-device = <&wcd_rx>; 46 qcom,tx-device = <&wcd_tx>; 47 48 reset-gpios = <&tlmm 191 GPIO_ACTIVE_LOW>; 49 50 vdd-buck-supply = <&vreg_l15b_1p8>; 51 vdd-rxtx-supply = <&vreg_l15b_1p8>; 52 vdd-io-supply = <&vreg_l15b_1p8>; 53 vdd-mic-bias-supply = <&vreg_bob1>; 54 55 #sound-dai-cells = <1>; 56 }; 57 58 backlight: backlight { 59 compatible = "pwm-backlight"; 60 pwms = <&pm8550_pwm 3 500000>; 61 62 power-supply = <&vreg_edp_bl>; 63 }; 64 65 /* 66 * This is an odd one. The camera is physically behind the eusb9 repeater (confirmed) but 67 * if it is placed below the usb_2_dwc3 node, it will be switched off after ~30 seconds. 68 * The reason seems to be that the dwc3 driver does not probe for child nodes when in 69 * host-only mode. But that's the default setting for the xhci controllers due to issues 70 * when in OTG mode. https://lore.kernel.org/all/20241210111444.26240-1-johan+linaro@kernel.org/ 71 * The whole reason it is described in the dt (as an USB device) is its requirement for 72 * that additional regulator, and to get power management to switch it off when suspended. 73 * Defining it stand-alone does work. 74 */ 75 camera { 76 compatible = "usb5986,1198"; 77 78 vdd-supply = <&vreg_cam_5p0>; 79 }; 80 81 hdmi-bridge { 82 compatible = "realtek,rtd2171"; 83 84 enable-gpios = <&tlmm 120 GPIO_ACTIVE_HIGH>; 85 86 pinctrl-0 = <&hdmi_hpd_default>; 87 pinctrl-names = "default"; 88 89 ports { 90 #address-cells = <1>; 91 #size-cells = <0>; 92 93 port@0 { 94 reg = <0>; 95 96 hdmi_bridge_dp_in: endpoint { 97 remote-endpoint = <&usb_1_ss2_qmpphy_out_dp>; 98 }; 99 }; 100 101 port@1 { 102 reg = <1>; 103 104 hdmi_bridge_tmds_out: endpoint { 105 remote-endpoint = <&hdmi_con>; 106 }; 107 }; 108 }; 109 }; 110 111 hdmi-connector { 112 compatible = "hdmi-connector"; 113 type = "a"; 114 115 port { 116 hdmi_con: endpoint { 117 remote-endpoint = <&hdmi_bridge_tmds_out>; 118 }; 119 }; 120 }; 121 122 gpio-keys { 123 compatible = "gpio-keys"; 124 125 pinctrl-0 = <&hall_int_n_default>; 126 pinctrl-names = "default"; 127 128 switch-lid { 129 gpios = <&tlmm 92 GPIO_ACTIVE_LOW>; 130 linux,input-type = <EV_SW>; 131 linux,code = <SW_LID>; 132 wakeup-source; 133 wakeup-event-action = <EV_ACT_DEASSERTED>; 134 }; 135 }; 136 137 pmic-glink { 138 compatible = "qcom,x1e80100-pmic-glink", 139 "qcom,sm8550-pmic-glink", 140 "qcom,pmic-glink"; 141 #address-cells = <1>; 142 #size-cells = <0>; 143 orientation-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>, 144 <&tlmm 123 GPIO_ACTIVE_HIGH>; 145 146 /* Display-adjacent port */ 147 connector@0 { 148 compatible = "usb-c-connector"; 149 reg = <0>; 150 power-role = "dual"; 151 data-role = "host"; 152 153 ports { 154 #address-cells = <1>; 155 #size-cells = <0>; 156 157 port@0 { 158 reg = <0>; 159 160 pmic_glink_ss0_hs_in: endpoint { 161 remote-endpoint = <&usb_1_ss0_dwc3_hs>; 162 }; 163 }; 164 165 port@1 { 166 reg = <1>; 167 168 pmic_glink_ss0_ss_in: endpoint { 169 remote-endpoint = <&usb_1_ss0_qmpphy_out>; 170 }; 171 }; 172 173 port@2 { 174 reg = <2>; 175 176 pmic_glink_ss0_sbu: endpoint { 177 remote-endpoint = <&usb_1_ss0_sbu_mux>; 178 }; 179 }; 180 }; 181 }; 182 183 /* User-adjacent port */ 184 connector@1 { 185 compatible = "usb-c-connector"; 186 reg = <1>; 187 power-role = "dual"; 188 data-role = "host"; 189 190 ports { 191 #address-cells = <1>; 192 #size-cells = <0>; 193 194 port@0 { 195 reg = <0>; 196 197 pmic_glink_ss1_hs_in: endpoint { 198 remote-endpoint = <&usb_1_ss1_dwc3_hs>; 199 }; 200 }; 201 202 port@1 { 203 reg = <1>; 204 205 pmic_glink_ss1_ss_in: endpoint { 206 remote-endpoint = <&usb_1_ss1_qmpphy_out>; 207 }; 208 }; 209 210 port@2 { 211 reg = <2>; 212 213 pmic_glink_ss1_sbu: endpoint { 214 remote-endpoint = <&usb_1_ss1_sbu_mux>; 215 }; 216 }; 217 }; 218 }; 219 }; 220 221 sound { 222 compatible = "qcom,x1e80100-sndcard"; 223 model = "X1E80100-LENOVO-ThinkBook-16"; 224 audio-routing = "SpkrLeft IN", "WSA WSA_SPK1 OUT", 225 "SpkrRight IN", "WSA WSA_SPK2 OUT", 226 "IN1_HPHL", "HPHL_OUT", 227 "IN2_HPHR", "HPHR_OUT", 228 "AMIC2", "MIC BIAS2", 229 "VA DMIC0", "MIC BIAS3", 230 "VA DMIC1", "MIC BIAS3", 231 "VA DMIC2", "MIC BIAS1", 232 "VA DMIC3", "MIC BIAS1", 233 "TX SWR_INPUT1", "ADC2_OUTPUT"; 234 235 wcd-playback-dai-link { 236 link-name = "WCD Playback"; 237 238 codec { 239 sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>; 240 }; 241 242 cpu { 243 sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>; 244 }; 245 246 platform { 247 sound-dai = <&q6apm>; 248 }; 249 }; 250 251 wcd-capture-dai-link { 252 link-name = "WCD Capture"; 253 254 codec { 255 sound-dai = <&wcd938x 1>, <&swr2 1>, <&lpass_txmacro 0>; 256 }; 257 258 cpu { 259 sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>; 260 }; 261 262 platform { 263 sound-dai = <&q6apm>; 264 }; 265 }; 266 267 wsa-dai-link { 268 link-name = "WSA Playback"; 269 270 codec { 271 sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&lpass_wsamacro 0>; 272 }; 273 274 cpu { 275 sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>; 276 }; 277 278 platform { 279 sound-dai = <&q6apm>; 280 }; 281 }; 282 283 va-dai-link { 284 link-name = "VA Capture"; 285 286 codec { 287 sound-dai = <&lpass_vamacro 0>; 288 }; 289 290 cpu { 291 sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>; 292 }; 293 294 platform { 295 sound-dai = <&q6apm>; 296 }; 297 }; 298 }; 299 300 usb-1-ss0-sbu-mux { 301 compatible = "onnn,fsusb42", "gpio-sbu-mux"; 302 303 enable-gpios = <&tlmm 167 GPIO_ACTIVE_LOW>; 304 select-gpios = <&tlmm 168 GPIO_ACTIVE_HIGH>; 305 306 pinctrl-0 = <&usb_1_ss0_sbu_default>; 307 pinctrl-names = "default"; 308 309 mode-switch; 310 orientation-switch; 311 312 port { 313 usb_1_ss0_sbu_mux: endpoint { 314 remote-endpoint = <&pmic_glink_ss0_sbu>; 315 }; 316 }; 317 }; 318 319 usb-1-ss1-sbu-mux { 320 compatible = "onnn,fsusb42", "gpio-sbu-mux"; 321 322 enable-gpios = <&tlmm 178 GPIO_ACTIVE_LOW>; 323 select-gpios = <&tlmm 179 GPIO_ACTIVE_HIGH>; 324 325 pinctrl-0 = <&usb_1_ss1_sbu_default>; 326 pinctrl-names = "default"; 327 328 mode-switch; 329 orientation-switch; 330 331 port { 332 usb_1_ss1_sbu_mux: endpoint { 333 remote-endpoint = <&pmic_glink_ss1_sbu>; 334 }; 335 }; 336 }; 337 338 vreg_cam_5p0: regulator-cam-5p0 { 339 compatible = "regulator-fixed"; 340 341 regulator-name = "VREG_CAM_5P0"; 342 regulator-min-microvolt = <5000000>; 343 regulator-max-microvolt = <5000000>; 344 345 gpio = <&tlmm 44 GPIO_ACTIVE_HIGH>; 346 enable-active-high; 347 348 pinctrl-0 = <&cam_reg_en>; 349 pinctrl-names = "default"; 350 351 regulator-boot-on; 352 }; 353 354 vreg_edp_3p3: regulator-edp-3p3 { 355 compatible = "regulator-fixed"; 356 357 regulator-name = "VREG_EDP_3P3"; 358 regulator-min-microvolt = <3300000>; 359 regulator-max-microvolt = <3300000>; 360 361 gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>; 362 enable-active-high; 363 364 pinctrl-0 = <&edp_reg_en>; 365 pinctrl-names = "default"; 366 367 regulator-boot-on; 368 }; 369 370 vreg_edp_bl: regulator-edp-bl { 371 compatible = "regulator-fixed"; 372 373 regulator-name = "VBL9"; 374 regulator-min-microvolt = <3600000>; 375 regulator-max-microvolt = <3600000>; 376 377 gpio = <&pmc8380_3_gpios 10 GPIO_ACTIVE_HIGH>; 378 enable-active-high; 379 380 pinctrl-0 = <&edp_bl_reg_en>; 381 pinctrl-names = "default"; 382 383 regulator-boot-on; 384 }; 385 386 vreg_misc_3p3: regulator-misc-3p3 { 387 compatible = "regulator-fixed"; 388 389 regulator-name = "VREG_MISC_3P3"; 390 regulator-min-microvolt = <3300000>; 391 regulator-max-microvolt = <3300000>; 392 393 gpio = <&pm8550ve_8_gpios 6 GPIO_ACTIVE_HIGH>; 394 enable-active-high; 395 396 pinctrl-0 = <&misc_3p3_reg_en>; 397 pinctrl-names = "default"; 398 399 regulator-boot-on; 400 regulator-always-on; 401 }; 402 403 vreg_nvme: regulator-nvme { 404 compatible = "regulator-fixed"; 405 406 regulator-name = "VREG_NVME_3P3"; 407 regulator-min-microvolt = <3300000>; 408 regulator-max-microvolt = <3300000>; 409 410 gpio = <&tlmm 18 GPIO_ACTIVE_HIGH>; 411 enable-active-high; 412 413 pinctrl-0 = <&nvme_reg_en>; 414 pinctrl-names = "default"; 415 416 regulator-boot-on; 417 }; 418 419 vreg_wcn_0p95: regulator-wcn-0p95 { 420 compatible = "regulator-fixed"; 421 422 regulator-name = "VREG_WCN_0P95"; 423 regulator-min-microvolt = <950000>; 424 regulator-max-microvolt = <950000>; 425 426 vin-supply = <&vreg_wcn_3p3>; 427 }; 428 429 vreg_wcn_1p9: regulator-wcn-1p9 { 430 compatible = "regulator-fixed"; 431 432 regulator-name = "VREG_WCN_1P9"; 433 regulator-min-microvolt = <1900000>; 434 regulator-max-microvolt = <1900000>; 435 436 vin-supply = <&vreg_wcn_3p3>; 437 }; 438 439 vreg_wcn_3p3: regulator-wcn-3p3 { 440 compatible = "regulator-fixed"; 441 442 regulator-name = "VREG_WCN_3P3"; 443 regulator-min-microvolt = <3300000>; 444 regulator-max-microvolt = <3300000>; 445 446 gpio = <&tlmm 214 GPIO_ACTIVE_HIGH>; 447 enable-active-high; 448 449 pinctrl-0 = <&wcn_sw_en>; 450 pinctrl-names = "default"; 451 452 regulator-boot-on; 453 }; 454 455 vph_pwr: regulator-vph-pwr { 456 compatible = "regulator-fixed"; 457 458 regulator-name = "vph_pwr"; 459 regulator-min-microvolt = <3700000>; 460 regulator-max-microvolt = <3700000>; 461 462 regulator-always-on; 463 regulator-boot-on; 464 }; 465 466 wcn7850-pmu { 467 compatible = "qcom,wcn7850-pmu"; 468 469 vdd-supply = <&vreg_wcn_0p95>; 470 vddio-supply = <&vreg_l15b_1p8>; 471 vddaon-supply = <&vreg_wcn_0p95>; 472 vdddig-supply = <&vreg_wcn_0p95>; 473 vddrfa1p2-supply = <&vreg_wcn_1p9>; 474 vddrfa1p8-supply = <&vreg_wcn_1p9>; 475 476 wlan-enable-gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>; 477 bt-enable-gpios = <&tlmm 116 GPIO_ACTIVE_HIGH>; 478 479 pinctrl-0 = <&wcn_wlan_bt_en>; 480 pinctrl-names = "default"; 481 482 regulators { 483 vreg_pmu_rfa_cmn: ldo0 { 484 regulator-name = "vreg_pmu_rfa_cmn"; 485 }; 486 487 vreg_pmu_aon_0p59: ldo1 { 488 regulator-name = "vreg_pmu_aon_0p59"; 489 }; 490 491 vreg_pmu_wlcx_0p8: ldo2 { 492 regulator-name = "vreg_pmu_wlcx_0p8"; 493 }; 494 495 vreg_pmu_wlmx_0p85: ldo3 { 496 regulator-name = "vreg_pmu_wlmx_0p85"; 497 }; 498 499 vreg_pmu_btcmx_0p85: ldo4 { 500 regulator-name = "vreg_pmu_btcmx_0p85"; 501 }; 502 503 vreg_pmu_rfa_0p8: ldo5 { 504 regulator-name = "vreg_pmu_rfa_0p8"; 505 }; 506 507 vreg_pmu_rfa_1p2: ldo6 { 508 regulator-name = "vreg_pmu_rfa_1p2"; 509 }; 510 511 vreg_pmu_rfa_1p8: ldo7 { 512 regulator-name = "vreg_pmu_rfa_1p8"; 513 }; 514 515 vreg_pmu_pcie_0p9: ldo8 { 516 regulator-name = "vreg_pmu_pcie_0p9"; 517 }; 518 519 vreg_pmu_pcie_1p8: ldo9 { 520 regulator-name = "vreg_pmu_pcie_1p8"; 521 }; 522 }; 523 }; 524}; 525 526&apps_rsc { 527 regulators-0 { 528 compatible = "qcom,pm8550-rpmh-regulators"; 529 qcom,pmic-id = "b"; 530 531 vdd-bob1-supply = <&vph_pwr>; 532 vdd-bob2-supply = <&vph_pwr>; 533 vdd-l1-l4-l10-supply = <&vreg_s4c_1p8>; 534 vdd-l2-l13-l14-supply = <&vreg_bob1>; 535 vdd-l5-l16-supply = <&vreg_bob1>; 536 vdd-l6-l7-supply = <&vreg_bob2>; 537 vdd-l8-l9-supply = <&vreg_bob1>; 538 vdd-l12-supply = <&vreg_s5j_1p2>; 539 vdd-l15-supply = <&vreg_s4c_1p8>; 540 vdd-l17-supply = <&vreg_bob2>; 541 542 vreg_bob1: bob1 { 543 regulator-name = "vreg_bob1"; 544 regulator-min-microvolt = <3008000>; 545 regulator-max-microvolt = <3960000>; 546 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 547 }; 548 549 vreg_bob2: bob2 { 550 regulator-name = "vreg_bob2"; 551 regulator-min-microvolt = <2504000>; 552 regulator-max-microvolt = <3008000>; 553 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 554 }; 555 556 vreg_l1b_1p8: ldo1 { 557 regulator-name = "vreg_l1b_1p8"; 558 regulator-min-microvolt = <1800000>; 559 regulator-max-microvolt = <1800000>; 560 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 561 }; 562 563 vreg_l2b_3p0: ldo2 { 564 regulator-name = "vreg_l2b_3p0"; 565 regulator-min-microvolt = <3072000>; 566 regulator-max-microvolt = <3072000>; 567 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 568 }; 569 570 vreg_l4b_1p8: ldo4 { 571 regulator-name = "vreg_l4b_1p8"; 572 regulator-min-microvolt = <1800000>; 573 regulator-max-microvolt = <1800000>; 574 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 575 }; 576 577 vreg_l5b_3p0: ldo5 { 578 regulator-name = "vreg_l5b_3p0"; 579 regulator-min-microvolt = <3000000>; 580 regulator-max-microvolt = <3000000>; 581 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 582 }; 583 584 vreg_l6b_1p8: ldo6 { 585 regulator-name = "vreg_l6b_1p8"; 586 regulator-min-microvolt = <1800000>; 587 regulator-max-microvolt = <2960000>; 588 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 589 }; 590 591 vreg_l7b_2p8: ldo7 { 592 regulator-name = "vreg_l7b_2p8"; 593 regulator-min-microvolt = <2800000>; 594 regulator-max-microvolt = <2800000>; 595 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 596 }; 597 598 vreg_l8b_3p0: ldo8 { 599 regulator-name = "vreg_l8b_3p0"; 600 regulator-min-microvolt = <3072000>; 601 regulator-max-microvolt = <3072000>; 602 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 603 }; 604 605 vreg_l9b_2p9: ldo9 { 606 regulator-name = "vreg_l9b_2p9"; 607 regulator-min-microvolt = <2960000>; 608 regulator-max-microvolt = <2960000>; 609 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 610 }; 611 612 vreg_l10b_1p8: ldo10 { 613 regulator-name = "vreg_l10b_1p8"; 614 regulator-min-microvolt = <1800000>; 615 regulator-max-microvolt = <1800000>; 616 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 617 }; 618 619 vreg_l12b_1p2: ldo12 { 620 regulator-name = "vreg_l12b_1p2"; 621 regulator-min-microvolt = <1200000>; 622 regulator-max-microvolt = <1200000>; 623 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 624 regulator-always-on; 625 }; 626 627 vreg_l13b_3p0: ldo13 { 628 regulator-name = "vreg_l13b_3p0"; 629 regulator-min-microvolt = <3072000>; 630 regulator-max-microvolt = <3072000>; 631 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 632 }; 633 634 vreg_l14b_3p0: ldo14 { 635 regulator-name = "vreg_l14b_3p0"; 636 regulator-min-microvolt = <3072000>; 637 regulator-max-microvolt = <3072000>; 638 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 639 }; 640 641 vreg_l15b_1p8: ldo15 { 642 regulator-name = "vreg_l15b_1p8"; 643 regulator-min-microvolt = <1800000>; 644 regulator-max-microvolt = <1800000>; 645 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 646 regulator-always-on; 647 }; 648 649 vreg_l16b_2p9: ldo16 { 650 regulator-name = "vreg_l16b_2p9"; 651 regulator-min-microvolt = <2912000>; 652 regulator-max-microvolt = <2912000>; 653 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 654 }; 655 656 vreg_l17b_2p5: ldo17 { 657 regulator-name = "vreg_l17b_2p5"; 658 regulator-min-microvolt = <2504000>; 659 regulator-max-microvolt = <2504000>; 660 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 661 }; 662 }; 663 664 regulators-1 { 665 compatible = "qcom,pm8550ve-rpmh-regulators"; 666 qcom,pmic-id = "c"; 667 668 vdd-l1-supply = <&vreg_s5j_1p2>; 669 vdd-l2-supply = <&vreg_s1f_0p7>; 670 vdd-l3-supply = <&vreg_s1f_0p7>; 671 vdd-s4-supply = <&vph_pwr>; 672 673 vreg_s4c_1p8: smps4 { 674 regulator-name = "vreg_s4c_1p8"; 675 regulator-min-microvolt = <1856000>; 676 regulator-max-microvolt = <2000000>; 677 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 678 }; 679 680 vreg_l1c_1p2: ldo1 { 681 regulator-name = "vreg_l1c_1p2"; 682 regulator-min-microvolt = <1200000>; 683 regulator-max-microvolt = <1200000>; 684 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 685 }; 686 687 vreg_l2c_0p8: ldo2 { 688 regulator-name = "vreg_l2c_0p8"; 689 regulator-min-microvolt = <880000>; 690 regulator-max-microvolt = <880000>; 691 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 692 }; 693 694 vreg_l3c_0p8: ldo3 { 695 regulator-name = "vreg_l3c_0p8"; 696 regulator-min-microvolt = <912000>; 697 regulator-max-microvolt = <912000>; 698 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 699 }; 700 }; 701 702 regulators-2 { 703 compatible = "qcom,pmc8380-rpmh-regulators"; 704 qcom,pmic-id = "d"; 705 706 vdd-l1-supply = <&vreg_s1f_0p7>; 707 vdd-l2-supply = <&vreg_s1f_0p7>; 708 vdd-l3-supply = <&vreg_s4c_1p8>; 709 vdd-s1-supply = <&vph_pwr>; 710 711 vreg_l1d_0p8: ldo1 { 712 regulator-name = "vreg_l1d_0p8"; 713 regulator-min-microvolt = <880000>; 714 regulator-max-microvolt = <880000>; 715 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 716 }; 717 718 vreg_l2d_0p9: ldo2 { 719 regulator-name = "vreg_l2d_0p9"; 720 regulator-min-microvolt = <912000>; 721 regulator-max-microvolt = <912000>; 722 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 723 }; 724 725 vreg_l3d_1p8: ldo3 { 726 regulator-name = "vreg_l3d_1p8"; 727 regulator-min-microvolt = <1800000>; 728 regulator-max-microvolt = <1800000>; 729 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 730 }; 731 }; 732 733 regulators-3 { 734 compatible = "qcom,pmc8380-rpmh-regulators"; 735 qcom,pmic-id = "e"; 736 737 vdd-l2-supply = <&vreg_s1f_0p7>; 738 vdd-l3-supply = <&vreg_s5j_1p2>; 739 740 vreg_l2e_0p8: ldo2 { 741 regulator-name = "vreg_l2e_0p8"; 742 regulator-min-microvolt = <880000>; 743 regulator-max-microvolt = <880000>; 744 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 745 }; 746 747 vreg_l3e_1p2: ldo3 { 748 regulator-name = "vreg_l3e_1p2"; 749 regulator-min-microvolt = <1200000>; 750 regulator-max-microvolt = <1200000>; 751 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 752 }; 753 }; 754 755 regulators-4 { 756 compatible = "qcom,pmc8380-rpmh-regulators"; 757 qcom,pmic-id = "f"; 758 759 vdd-l1-supply = <&vreg_s5j_1p2>; 760 vdd-l2-supply = <&vreg_s5j_1p2>; 761 vdd-l3-supply = <&vreg_s5j_1p2>; 762 vdd-s1-supply = <&vph_pwr>; 763 764 vreg_s1f_0p7: smps1 { 765 regulator-name = "vreg_s1f_0p7"; 766 regulator-min-microvolt = <700000>; 767 regulator-max-microvolt = <1100000>; 768 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 769 }; 770 771 vreg_l1f_1p0: ldo1 { 772 regulator-name = "vreg_l1f_1p0"; 773 regulator-min-microvolt = <1024000>; 774 regulator-max-microvolt = <1024000>; 775 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 776 }; 777 778 vreg_l2f_1p0: ldo2 { 779 regulator-name = "vreg_l2f_1p0"; 780 regulator-min-microvolt = <1024000>; 781 regulator-max-microvolt = <1024000>; 782 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 783 }; 784 785 vreg_l3f_1p0: ldo3 { 786 regulator-name = "vreg_l3f_1p0"; 787 regulator-min-microvolt = <1024000>; 788 regulator-max-microvolt = <1024000>; 789 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 790 }; 791 }; 792 793 regulators-6 { 794 compatible = "qcom,pm8550ve-rpmh-regulators"; 795 qcom,pmic-id = "i"; 796 797 vdd-l1-supply = <&vreg_s4c_1p8>; 798 vdd-l2-supply = <&vreg_s5j_1p2>; 799 vdd-l3-supply = <&vreg_s1f_0p7>; 800 vdd-s1-supply = <&vph_pwr>; 801 vdd-s2-supply = <&vph_pwr>; 802 803 vreg_l1i_1p8: ldo1 { 804 regulator-name = "vreg_l1i_1p8"; 805 regulator-min-microvolt = <1800000>; 806 regulator-max-microvolt = <1800000>; 807 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 808 regulator-always-on; 809 }; 810 811 vreg_l2i_1p2: ldo2 { 812 regulator-name = "vreg_l2i_1p2"; 813 regulator-min-microvolt = <1200000>; 814 regulator-max-microvolt = <1200000>; 815 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 816 }; 817 818 vreg_l3i_0p8: ldo3 { 819 regulator-name = "vreg_l3i_0p8"; 820 regulator-min-microvolt = <880000>; 821 regulator-max-microvolt = <880000>; 822 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 823 }; 824 825 vreg_s1i_0p9: smps1 { 826 regulator-name = "vreg_s1i_0p9"; 827 regulator-min-microvolt = <900000>; 828 regulator-max-microvolt = <920000>; 829 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 830 }; 831 832 vreg_s2i_1p0: smps2 { 833 regulator-name = "vreg_s2i_1p0"; 834 regulator-min-microvolt = <1000000>; 835 regulator-max-microvolt = <1100000>; 836 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 837 }; 838 }; 839 840 regulators-7 { 841 compatible = "qcom,pm8550ve-rpmh-regulators"; 842 qcom,pmic-id = "j"; 843 844 vdd-l1-supply = <&vreg_s1f_0p7>; 845 vdd-l2-supply = <&vreg_s5j_1p2>; 846 vdd-l3-supply = <&vreg_s1f_0p7>; 847 vdd-s5-supply = <&vph_pwr>; 848 849 vreg_s5j_1p2: smps5 { 850 regulator-name = "vreg_s5j_1p2"; 851 regulator-min-microvolt = <1256000>; 852 regulator-max-microvolt = <1304000>; 853 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 854 }; 855 856 vreg_l1j_0p8: ldo1 { 857 regulator-name = "vreg_l1j_0p8"; 858 regulator-min-microvolt = <912000>; 859 regulator-max-microvolt = <912000>; 860 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 861 }; 862 863 vreg_l2j_1p2: ldo2 { 864 regulator-name = "vreg_l2j_1p2"; 865 regulator-min-microvolt = <1256000>; 866 regulator-max-microvolt = <1256000>; 867 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 868 }; 869 870 vreg_l3j_0p8: ldo3 { 871 regulator-name = "vreg_l3j_0p8"; 872 regulator-min-microvolt = <880000>; 873 regulator-max-microvolt = <880000>; 874 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 875 }; 876 }; 877}; 878 879&gpu { 880 status = "okay"; 881}; 882 883&gpu_zap_shader { 884 firmware-name = "qcom/x1p42100/LENOVO/21NH/qcdxkmsucpurwa.mbn"; 885}; 886 887&i2c2 { 888 clock-frequency = <400000>; 889 890 pinctrl-0 = <&qup_i2c2_data_clk>, <&tpad_default>, <&kybd_default>; 891 pinctrl-names = "default"; 892 status = "okay"; 893 894 /* ELAN06FA */ 895 touchpad@15 { 896 compatible = "hid-over-i2c"; 897 reg = <0x15>; 898 899 hid-descr-addr = <0x1>; 900 interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>; 901 902 vdd-supply = <&vreg_misc_3p3>; 903 vddl-supply = <&vreg_l12b_1p2>; 904 905 wakeup-source; 906 }; 907 908 /* CIRQ1080 or SYNA2BA6 */ 909 touchpad@2c { 910 compatible = "hid-over-i2c"; 911 reg = <0x2c>; 912 913 hid-descr-addr = <0x20>; 914 interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>; 915 916 vdd-supply = <&vreg_misc_3p3>; 917 vddl-supply = <&vreg_l12b_1p2>; 918 919 wakeup-source; 920 }; 921 922 /* FTCS0038 */ 923 touchpad@38 { 924 compatible = "hid-over-i2c"; 925 reg = <0x38>; 926 927 hid-descr-addr = <0x1>; 928 interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>; 929 930 vdd-supply = <&vreg_misc_3p3>; 931 vddl-supply = <&vreg_l12b_1p2>; 932 933 wakeup-source; 934 }; 935 936 keyboard@3a { 937 compatible = "hid-over-i2c"; 938 reg = <0x3a>; 939 940 hid-descr-addr = <0x1>; 941 interrupts-extended = <&tlmm 67 IRQ_TYPE_LEVEL_LOW>; 942 943 vdd-supply = <&vreg_misc_3p3>; 944 vddl-supply = <&vreg_l12b_1p2>; 945 946 wakeup-source; 947 }; 948 949 /* GXTP5100 */ 950 touchpad@5d { 951 compatible = "hid-over-i2c"; 952 reg = <0x5d>; 953 954 hid-descr-addr = <0x1>; 955 interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>; 956 957 vdd-supply = <&vreg_misc_3p3>; 958 vddl-supply = <&vreg_l12b_1p2>; 959 960 wakeup-source; 961 }; 962}; 963 964&i2c5 { 965 clock-frequency = <400000>; 966 967 status = "okay"; 968 969 eusb5_repeater: redriver@43 { 970 compatible = "nxp,ptn3222"; 971 reg = <0x43>; 972 #phy-cells = <0>; 973 974 vdd3v3-supply = <&vreg_l13b_3p0>; 975 vdd1v8-supply = <&vreg_l4b_1p8>; 976 }; 977 978 eusb3_repeater: redriver@47 { 979 compatible = "nxp,ptn3222"; 980 reg = <0x47>; 981 #phy-cells = <0>; 982 983 vdd3v3-supply = <&vreg_l13b_3p0>; 984 vdd1v8-supply = <&vreg_l4b_1p8>; 985 986 reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>; 987 988 pinctrl-0 = <&eusb3_reset_n>; 989 pinctrl-names = "default"; 990 }; 991 992 eusb9_repeater: redriver@4b { 993 compatible = "nxp,ptn3222"; 994 reg = <0x4b>; 995 #phy-cells = <0>; 996 997 vdd3v3-supply = <&vreg_l13b_3p0>; 998 vdd1v8-supply = <&vreg_l4b_1p8>; 999 1000 reset-gpios = <&tlmm 7 GPIO_ACTIVE_LOW>; 1001 1002 pinctrl-0 = <&eusb9_reset_n>; 1003 pinctrl-names = "default"; 1004 }; 1005 1006 eusb6_repeater: redriver@4f { 1007 compatible = "nxp,ptn3222"; 1008 reg = <0x4f>; 1009 #phy-cells = <0>; 1010 1011 vdd3v3-supply = <&vreg_l13b_3p0>; 1012 vdd1v8-supply = <&vreg_l4b_1p8>; 1013 1014 reset-gpios = <&tlmm 184 GPIO_ACTIVE_LOW>; 1015 1016 pinctrl-0 = <&eusb6_reset_n>; 1017 pinctrl-names = "default"; 1018 }; 1019}; 1020 1021&i2c8 { 1022 clock-frequency = <400000>; 1023 1024 status = "okay"; 1025 1026 /* ILIT2911 or GTCH1563 */ 1027 touchscreen@10 { 1028 compatible = "hid-over-i2c"; 1029 reg = <0x10>; 1030 1031 hid-descr-addr = <0x1>; 1032 interrupts-extended = <&tlmm 51 IRQ_TYPE_LEVEL_LOW>; 1033 1034 vdd-supply = <&vreg_misc_3p3>; 1035 vddl-supply = <&vreg_l15b_1p8>; 1036 1037 pinctrl-0 = <&ts0_default>; 1038 pinctrl-names = "default"; 1039 }; 1040}; 1041 1042&lpass_tlmm { 1043 spkr_01_sd_n_active: spkr-01-sd-n-active-state { 1044 pins = "gpio12"; 1045 function = "gpio"; 1046 drive-strength = <16>; 1047 bias-disable; 1048 output-low; 1049 }; 1050}; 1051 1052&lpass_vamacro { 1053 pinctrl-0 = <&dmic01_default>, <&dmic23_default>; 1054 pinctrl-names = "default"; 1055 1056 vdd-micb-supply = <&vreg_l1b_1p8>; 1057 qcom,dmic-sample-rate = <4800000>; 1058}; 1059 1060&mdss { 1061 status = "okay"; 1062}; 1063 1064&mdss_dp0 { 1065 status = "okay"; 1066}; 1067 1068&mdss_dp0_out { 1069 data-lanes = <0 1>; 1070 link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>; 1071}; 1072 1073&mdss_dp1 { 1074 status = "okay"; 1075}; 1076 1077&mdss_dp1_out { 1078 data-lanes = <0 1>; 1079 link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>; 1080}; 1081 1082&mdss_dp2 { 1083 status = "okay"; 1084}; 1085 1086&mdss_dp2_out { 1087 link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>; 1088}; 1089 1090&mdss_dp3 { 1091 /delete-property/ #sound-dai-cells; 1092 1093 pinctrl-0 = <&edp_hpd_default>; 1094 pinctrl-names = "default"; 1095 1096 status = "okay"; 1097 1098 aux-bus { 1099 panel { 1100 compatible = "edp-panel"; 1101 1102 backlight = <&backlight>; 1103 1104 enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>; 1105 pinctrl-0 = <&edp_bl_en>; 1106 pinctrl-names = "default"; 1107 1108 power-supply = <&vreg_edp_3p3>; 1109 1110 port { 1111 edp_panel_in: endpoint { 1112 remote-endpoint = <&mdss_dp3_out>; 1113 }; 1114 }; 1115 }; 1116 }; 1117}; 1118 1119&mdss_dp3_out { 1120 data-lanes = <0 1 2 3>; 1121 link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>; 1122 1123 remote-endpoint = <&edp_panel_in>; 1124}; 1125 1126&mdss_dp3_phy { 1127 vdda-phy-supply = <&vreg_l3j_0p8>; 1128 vdda-pll-supply = <&vreg_l2j_1p2>; 1129 1130 status = "okay"; 1131}; 1132 1133&pcie4 { 1134 pinctrl-0 = <&pcie4_default>; 1135 pinctrl-names = "default"; 1136 1137 status = "okay"; 1138}; 1139 1140&pcie4_phy { 1141 vdda-phy-supply = <&vreg_l3i_0p8>; 1142 vdda-pll-supply = <&vreg_l3e_1p2>; 1143 1144 status = "okay"; 1145}; 1146 1147&pcie4_port0 { 1148 reset-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>; 1149 wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>; 1150 1151 wifi@0 { 1152 compatible = "pci17cb,1107"; 1153 reg = <0x10000 0x0 0x0 0x0 0x0>; 1154 1155 vddaon-supply = <&vreg_pmu_aon_0p59>; 1156 vddwlcx-supply = <&vreg_pmu_wlcx_0p8>; 1157 vddwlmx-supply = <&vreg_pmu_wlmx_0p85>; 1158 vddrfacmn-supply = <&vreg_pmu_rfa_cmn>; 1159 vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>; 1160 vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>; 1161 vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>; 1162 vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>; 1163 vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>; 1164 }; 1165}; 1166 1167&pcie6a { 1168 vddpe-3v3-supply = <&vreg_nvme>; 1169 1170 pinctrl-0 = <&pcie6a_default>; 1171 pinctrl-names = "default"; 1172 1173 status = "okay"; 1174}; 1175 1176&pcie6a_phy { 1177 vdda-phy-supply = <&vreg_l1d_0p8>; 1178 vdda-pll-supply = <&vreg_l2j_1p2>; 1179 1180 status = "okay"; 1181}; 1182 1183&pcie6a_port0 { 1184 reset-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>; 1185 wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>; 1186}; 1187 1188&pm8550_pwm { 1189 status = "okay"; 1190}; 1191 1192&pm8550ve_8_gpios { 1193 misc_3p3_reg_en: misc-3p3-reg-en-state { 1194 pins = "gpio6"; 1195 function = "normal"; 1196 bias-disable; 1197 input-disable; 1198 output-enable; 1199 drive-push-pull; 1200 power-source = <1>; /* 1.8 V */ 1201 qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>; 1202 }; 1203}; 1204 1205&pmc8380_3_gpios { 1206 edp_bl_en: edp-bl-en-state { 1207 pins = "gpio4"; 1208 function = "normal"; 1209 power-source = <1>; /* 1.8V */ 1210 input-disable; 1211 output-enable; 1212 }; 1213 1214 edp_bl_reg_en: edp-bl-reg-en-state { 1215 pins = "gpio10"; 1216 function = "normal"; 1217 }; 1218}; 1219 1220&qupv3_0 { 1221 status = "okay"; 1222}; 1223 1224&qupv3_1 { 1225 status = "okay"; 1226}; 1227 1228&qupv3_2 { 1229 status = "okay"; 1230}; 1231 1232&remoteproc_adsp { 1233 firmware-name = "qcom/x1p42100/LENOVO/21NH/qcadsp8380.mbn", 1234 "qcom/x1p42100/LENOVO/21NH/adsp_dtbs.elf"; 1235 1236 status = "okay"; 1237}; 1238 1239&remoteproc_cdsp { 1240 firmware-name = "qcom/x1p42100/LENOVO/21NH/qccdsp8380.mbn", 1241 "qcom/x1p42100/LENOVO/21NH/cdsp_dtbs.elf"; 1242 1243 status = "okay"; 1244}; 1245 1246&sdhc_2 { 1247 cd-gpios = <&tlmm 71 GPIO_ACTIVE_LOW>; 1248 pinctrl-0 = <&sdc2_default &sdc2_card_det_n>; 1249 pinctrl-1 = <&sdc2_sleep &sdc2_card_det_n>; 1250 pinctrl-names = "default", "sleep"; 1251 vmmc-supply = <&vreg_l9b_2p9>; 1252 vqmmc-supply = <&vreg_l6b_1p8>; 1253 status = "okay"; 1254}; 1255 1256&smb2360_0 { 1257 status = "okay"; 1258}; 1259 1260&smb2360_0_eusb2_repeater { 1261 vdd18-supply = <&vreg_l3d_1p8>; 1262 vdd3-supply = <&vreg_l2b_3p0>; 1263}; 1264 1265&smb2360_1 { 1266 status = "okay"; 1267}; 1268 1269&smb2360_1_eusb2_repeater { 1270 vdd18-supply = <&vreg_l3d_1p8>; 1271 vdd3-supply = <&vreg_l14b_3p0>; 1272}; 1273 1274&swr0 { 1275 status = "okay"; 1276 1277 pinctrl-0 = <&wsa_swr_active>, <&spkr_01_sd_n_active>; 1278 pinctrl-names = "default"; 1279 1280 /* WSA8845, Left Speaker */ 1281 left_spkr: speaker@0,0 { 1282 compatible = "sdw20217020400"; 1283 reg = <0 0>; 1284 reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>; 1285 #sound-dai-cells = <0>; 1286 sound-name-prefix = "SpkrLeft"; 1287 vdd-1p8-supply = <&vreg_l15b_1p8>; 1288 vdd-io-supply = <&vreg_l12b_1p2>; 1289 qcom,port-mapping = <1 2 3 7 10 13>; 1290 }; 1291 1292 /* WSA8845, Right Speaker */ 1293 right_spkr: speaker@0,1 { 1294 compatible = "sdw20217020400"; 1295 reg = <0 1>; 1296 reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>; 1297 #sound-dai-cells = <0>; 1298 sound-name-prefix = "SpkrRight"; 1299 vdd-1p8-supply = <&vreg_l15b_1p8>; 1300 vdd-io-supply = <&vreg_l12b_1p2>; 1301 qcom,port-mapping = <4 5 6 7 11 13>; 1302 }; 1303}; 1304 1305&swr1 { 1306 status = "okay"; 1307 1308 /* WCD9385 RX */ 1309 wcd_rx: codec@0,4 { 1310 compatible = "sdw20217010d00"; 1311 reg = <0 4>; 1312 qcom,rx-port-mapping = <1 2 3 4 5>; 1313 }; 1314}; 1315 1316&swr2 { 1317 status = "okay"; 1318 1319 /* WCD9385 TX */ 1320 wcd_tx: codec@0,3 { 1321 compatible = "sdw20217010d00"; 1322 reg = <0 3>; 1323 qcom,tx-port-mapping = <2 2 3 4>; 1324 }; 1325}; 1326 1327&tlmm { 1328 gpio-reserved-ranges = <34 2>, /* Unused */ 1329 <72 2>; /* Secure EC I2C connection (?) */ 1330 1331 edp_hpd_default: edp-hpd-default-state { 1332 pins = "gpio119"; 1333 function = "edp0_hot"; 1334 bias-disable; 1335 }; 1336 1337 cam_reg_en: cam-reg-en-state { 1338 pins = "gpio44"; 1339 function = "gpio"; 1340 drive-strength = <16>; 1341 bias-disable; 1342 }; 1343 1344 eusb3_reset_n: eusb3-reset-n-state { 1345 pins = "gpio6"; 1346 function = "gpio"; 1347 drive-strength = <2>; 1348 bias-disable; 1349 output-low; 1350 }; 1351 1352 eusb6_reset_n: eusb6-reset-n-state { 1353 pins = "gpio184"; 1354 function = "gpio"; 1355 drive-strength = <2>; 1356 bias-disable; 1357 output-low; 1358 }; 1359 1360 eusb9_reset_n: eusb9-reset-n-state { 1361 pins = "gpio7"; 1362 function = "gpio"; 1363 drive-strength = <2>; 1364 bias-disable; 1365 output-low; 1366 }; 1367 1368 edp_reg_en: edp-reg-en-state { 1369 pins = "gpio70"; 1370 function = "gpio"; 1371 drive-strength = <16>; 1372 bias-disable; 1373 }; 1374 1375 hall_int_n_default: hall-int-n-state { 1376 pins = "gpio92"; 1377 function = "gpio"; 1378 bias-disable; 1379 }; 1380 1381 hdmi_bridge_en: hdmi-bridge-en-state { 1382 pins = "gpio120"; 1383 function = "gpio"; 1384 drive-strength = <16>; 1385 bias-pull-down; 1386 }; 1387 1388 hdmi_hpd_default: hdmi-hpd-default-state { 1389 pins = "gpio126"; 1390 function = "usb2_dp"; 1391 bias-disable; 1392 }; 1393 1394 kybd_default: kybd-default-state { 1395 pins = "gpio67"; 1396 function = "gpio"; 1397 bias-disable; 1398 }; 1399 1400 nvme_reg_en: nvme-reg-en-state { 1401 pins = "gpio18"; 1402 function = "gpio"; 1403 drive-strength = <2>; 1404 bias-disable; 1405 }; 1406 1407 pcie4_default: pcie4-default-state { 1408 clkreq-n-pins { 1409 pins = "gpio147"; 1410 function = "pcie4_clk"; 1411 drive-strength = <2>; 1412 bias-pull-up; 1413 }; 1414 1415 perst-n-pins { 1416 pins = "gpio146"; 1417 function = "gpio"; 1418 drive-strength = <2>; 1419 bias-disable; 1420 }; 1421 1422 wake-n-pins { 1423 pins = "gpio148"; 1424 function = "gpio"; 1425 drive-strength = <2>; 1426 bias-pull-up; 1427 }; 1428 }; 1429 1430 pcie6a_default: pcie6a-default-state { 1431 clkreq-n-pins { 1432 pins = "gpio153"; 1433 function = "pcie6a_clk"; 1434 drive-strength = <2>; 1435 bias-pull-up; 1436 }; 1437 1438 perst-n-pins { 1439 pins = "gpio152"; 1440 function = "gpio"; 1441 drive-strength = <2>; 1442 bias-disable; 1443 }; 1444 1445 wake-n-pins { 1446 pins = "gpio154"; 1447 function = "gpio"; 1448 drive-strength = <2>; 1449 bias-pull-up; 1450 }; 1451 }; 1452 1453 sdc2_card_det_n: sdc2-card-det-state { 1454 pins = "gpio71"; 1455 function = "gpio"; 1456 drive-strength = <2>; 1457 bias-pull-up; 1458 }; 1459 1460 tpad_default: tpad-default-state { 1461 pins = "gpio3"; 1462 function = "gpio"; 1463 bias-pull-up; 1464 }; 1465 1466 ts0_default: ts0-default-state { 1467 int-n-pins { 1468 pins = "gpio51"; 1469 function = "gpio"; 1470 bias-disable; 1471 }; 1472 1473 reset-n-pins { 1474 pins = "gpio48"; 1475 function = "gpio"; 1476 output-high; 1477 drive-strength = <16>; 1478 }; 1479 }; 1480 1481 usb_1_ss0_sbu_default: usb-1-ss0-sbu-state { 1482 oe-n-pins { 1483 pins = "gpio167"; 1484 function = "gpio"; 1485 bias-pull-up; 1486 drive-strength = <2>; 1487 }; 1488 1489 sel-pins { 1490 pins = "gpio168"; 1491 function = "gpio"; 1492 bias-pull-up; 1493 drive-strength = <2>; 1494 }; 1495 1496 }; 1497 1498 usb_1_ss1_sbu_default: usb-1-ss1-sbu-state { 1499 oe-n-pins { 1500 pins = "gpio178"; 1501 function = "gpio"; 1502 bias-pull-up; 1503 drive-strength = <2>; 1504 }; 1505 1506 sel-pins { 1507 pins = "gpio179"; 1508 function = "gpio"; 1509 bias-pull-up; 1510 drive-strength = <2>; 1511 }; 1512 }; 1513 1514 wcd_default: wcd-reset-n-active-state { 1515 pins = "gpio191"; 1516 function = "gpio"; 1517 drive-strength = <16>; 1518 bias-disable; 1519 output-low; 1520 }; 1521 1522 wcn_sw_en: wcn-sw-en-state { 1523 pins = "gpio214"; 1524 function = "gpio"; 1525 drive-strength = <2>; 1526 bias-disable; 1527 }; 1528 1529 wcn_wlan_bt_en: wcn-wlan-bt-en-state { 1530 pins = "gpio116", "gpio117"; 1531 function = "gpio"; 1532 drive-strength = <2>; 1533 bias-disable; 1534 }; 1535}; 1536 1537&uart14 { 1538 status = "okay"; 1539 1540 bluetooth { 1541 compatible = "qcom,wcn7850-bt"; 1542 max-speed = <3200000>; 1543 1544 vddaon-supply = <&vreg_pmu_aon_0p59>; 1545 vddwlcx-supply = <&vreg_pmu_wlcx_0p8>; 1546 vddwlmx-supply = <&vreg_pmu_wlmx_0p85>; 1547 vddrfacmn-supply = <&vreg_pmu_rfa_cmn>; 1548 vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>; 1549 vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>; 1550 vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>; 1551 }; 1552}; 1553 1554&usb_1_ss0_hsphy { 1555 vdd-supply = <&vreg_l3j_0p8>; 1556 vdda12-supply = <&vreg_l2j_1p2>; 1557 1558 phys = <&smb2360_0_eusb2_repeater>; 1559 1560 status = "okay"; 1561}; 1562 1563&usb_1_ss0_qmpphy { 1564 vdda-phy-supply = <&vreg_l2j_1p2>; 1565 vdda-pll-supply = <&vreg_l1j_0p8>; 1566 1567 status = "okay"; 1568}; 1569 1570&usb_1_ss0 { 1571 dr_mode = "host"; 1572 1573 status = "okay"; 1574}; 1575 1576&usb_1_ss0_dwc3_hs { 1577 remote-endpoint = <&pmic_glink_ss0_hs_in>; 1578}; 1579 1580&usb_1_ss0_qmpphy_out { 1581 remote-endpoint = <&pmic_glink_ss0_ss_in>; 1582}; 1583 1584&usb_1_ss1_hsphy { 1585 vdd-supply = <&vreg_l3j_0p8>; 1586 vdda12-supply = <&vreg_l2j_1p2>; 1587 1588 phys = <&smb2360_1_eusb2_repeater>; 1589 1590 status = "okay"; 1591}; 1592 1593&usb_1_ss1_qmpphy { 1594 vdda-phy-supply = <&vreg_l2j_1p2>; 1595 vdda-pll-supply = <&vreg_l2d_0p9>; 1596 1597 status = "okay"; 1598}; 1599 1600&usb_1_ss1 { 1601 dr_mode = "host"; 1602 1603 status = "okay"; 1604}; 1605 1606&usb_1_ss1_dwc3_hs { 1607 remote-endpoint = <&pmic_glink_ss1_hs_in>; 1608}; 1609 1610&usb_1_ss1_qmpphy_out { 1611 remote-endpoint = <&pmic_glink_ss1_ss_in>; 1612}; 1613 1614&usb_1_ss2 { 1615 dr_mode = "host"; 1616 maximum-speed = "high-speed"; 1617 phys = <&usb_1_ss2_hsphy>; 1618 phy-names = "usb2-phy"; 1619 1620 status = "okay"; 1621 /delete-property/ port@1; 1622}; 1623 1624&usb_1_ss2_hsphy { 1625 vdd-supply = <&vreg_l3j_0p8>; 1626 vdda12-supply = <&vreg_l2j_1p2>; 1627 1628 phys = <&eusb5_repeater>; 1629 1630 status = "okay"; 1631}; 1632 1633&usb_1_ss2_qmpphy { 1634 vdda-phy-supply = <&vreg_l2j_1p2>; 1635 vdda-pll-supply = <&vreg_l2d_0p9>; 1636 1637 /delete-property/ mode-switch; 1638 /delete-property/ orientation-switch; 1639 1640 status = "okay"; 1641 1642 ports { 1643 port@0 { 1644 #address-cells = <1>; 1645 #size-cells = <0>; 1646 1647 /delete-node/ endpoint; 1648 1649 usb_1_ss2_qmpphy_out_dp: endpoint@0 { 1650 reg = <0>; 1651 1652 data-lanes = <0 1 2 3>; 1653 remote-endpoint = <&hdmi_bridge_dp_in>; 1654 }; 1655 }; 1656 }; 1657}; 1658 1659&usb_2 { 1660 dr_mode = "host"; 1661 1662 status = "okay"; 1663}; 1664 1665&usb_2_hsphy { 1666 vdd-supply = <&vreg_l2e_0p8>; 1667 vdda12-supply = <&vreg_l3e_1p2>; 1668 1669 phys = <&eusb9_repeater>; 1670 1671 status = "okay"; 1672}; 1673 1674&usb_mp { 1675 status = "okay"; 1676}; 1677 1678&usb_mp_hsphy0 { 1679 vdd-supply = <&vreg_l2e_0p8>; 1680 vdda12-supply = <&vreg_l3e_1p2>; 1681 1682 phys = <&eusb6_repeater>; 1683 1684 status = "okay"; 1685}; 1686 1687&usb_mp_qmpphy0 { 1688 vdda-phy-supply = <&vreg_l3e_1p2>; 1689 vdda-pll-supply = <&vreg_l3c_0p8>; 1690 1691 status = "okay"; 1692}; 1693 1694&usb_mp_hsphy1 { 1695 vdd-supply = <&vreg_l2e_0p8>; 1696 vdda12-supply = <&vreg_l3e_1p2>; 1697 1698 phys = <&eusb3_repeater>; 1699 1700 status = "okay"; 1701}; 1702 1703&usb_mp_qmpphy1 { 1704 vdda-phy-supply = <&vreg_l3e_1p2>; 1705 vdda-pll-supply = <&vreg_l3c_0p8>; 1706 1707 status = "okay"; 1708}; 1709