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 */ 6 7/dts-v1/; 8 9#include <dt-bindings/gpio/gpio.h> 10#include <dt-bindings/input/gpio-keys.h> 11#include <dt-bindings/input/input.h> 12#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 13 14#include "x1e80100.dtsi" 15#include "x1e80100-pmics.dtsi" 16 17/ { 18 model = "Lenovo ThinkPad T14s Gen 6"; 19 compatible = "lenovo,thinkpad-t14s", "qcom,x1e78100", "qcom,x1e80100"; 20 chassis-type = "laptop"; 21 22 wcd938x: audio-codec { 23 compatible = "qcom,wcd9385-codec"; 24 25 pinctrl-0 = <&wcd_default>; 26 pinctrl-names = "default"; 27 28 qcom,micbias1-microvolt = <1800000>; 29 qcom,micbias2-microvolt = <1800000>; 30 qcom,micbias3-microvolt = <1800000>; 31 qcom,micbias4-microvolt = <1800000>; 32 qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>; 33 qcom,mbhc-headset-vthreshold-microvolt = <1700000>; 34 qcom,mbhc-headphone-vthreshold-microvolt = <50000>; 35 qcom,rx-device = <&wcd_rx>; 36 qcom,tx-device = <&wcd_tx>; 37 38 reset-gpios = <&tlmm 191 GPIO_ACTIVE_LOW>; 39 40 vdd-buck-supply = <&vreg_l15b_1p8>; 41 vdd-rxtx-supply = <&vreg_l15b_1p8>; 42 vdd-io-supply = <&vreg_l15b_1p8>; 43 vdd-mic-bias-supply = <&vreg_bob1>; 44 45 #sound-dai-cells = <1>; 46 }; 47 48 gpio-keys { 49 compatible = "gpio-keys"; 50 51 pinctrl-0 = <&hall_int_n_default>; 52 pinctrl-names = "default"; 53 54 switch-lid { 55 gpios = <&tlmm 92 GPIO_ACTIVE_LOW>; 56 linux,input-type = <EV_SW>; 57 linux,code = <SW_LID>; 58 wakeup-source; 59 wakeup-event-action = <EV_ACT_DEASSERTED>; 60 }; 61 }; 62 63 pmic-glink { 64 compatible = "qcom,x1e80100-pmic-glink", 65 "qcom,sm8550-pmic-glink", 66 "qcom,pmic-glink"; 67 orientation-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>, 68 <&tlmm 123 GPIO_ACTIVE_HIGH>; 69 #address-cells = <1>; 70 #size-cells = <0>; 71 72 /* Display-adjacent port */ 73 connector@0 { 74 compatible = "usb-c-connector"; 75 reg = <0>; 76 power-role = "dual"; 77 data-role = "dual"; 78 79 ports { 80 #address-cells = <1>; 81 #size-cells = <0>; 82 83 port@0 { 84 reg = <0>; 85 86 pmic_glink_ss0_hs_in: endpoint { 87 remote-endpoint = <&usb_1_ss0_dwc3_hs>; 88 }; 89 }; 90 91 port@1 { 92 reg = <1>; 93 94 pmic_glink_ss0_ss_in: endpoint { 95 remote-endpoint = <&usb_1_ss0_qmpphy_out>; 96 }; 97 }; 98 }; 99 }; 100 101 /* User-adjacent port */ 102 connector@1 { 103 compatible = "usb-c-connector"; 104 reg = <1>; 105 power-role = "dual"; 106 data-role = "dual"; 107 108 ports { 109 #address-cells = <1>; 110 #size-cells = <0>; 111 112 port@0 { 113 reg = <0>; 114 115 pmic_glink_ss1_hs_in: endpoint { 116 remote-endpoint = <&usb_1_ss1_dwc3_hs>; 117 }; 118 }; 119 120 port@1 { 121 reg = <1>; 122 123 pmic_glink_ss1_ss_in: endpoint { 124 remote-endpoint = <&usb_1_ss1_qmpphy_out>; 125 }; 126 }; 127 }; 128 }; 129 }; 130 131 reserved-memory { 132 linux,cma { 133 compatible = "shared-dma-pool"; 134 size = <0x0 0x8000000>; 135 reusable; 136 linux,cma-default; 137 }; 138 }; 139 140 vreg_edp_3p3: regulator-edp-3p3 { 141 compatible = "regulator-fixed"; 142 143 regulator-name = "VREG_EDP_3P3"; 144 regulator-min-microvolt = <3300000>; 145 regulator-max-microvolt = <3300000>; 146 147 gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>; 148 enable-active-high; 149 150 pinctrl-0 = <&edp_reg_en>; 151 pinctrl-names = "default"; 152 153 regulator-boot-on; 154 }; 155 156 vreg_nvme: regulator-nvme { 157 compatible = "regulator-fixed"; 158 159 regulator-name = "VREG_NVME_3P3"; 160 regulator-min-microvolt = <3300000>; 161 regulator-max-microvolt = <3300000>; 162 163 gpio = <&tlmm 18 GPIO_ACTIVE_HIGH>; 164 enable-active-high; 165 166 pinctrl-0 = <&nvme_reg_en>; 167 pinctrl-names = "default"; 168 169 regulator-boot-on; 170 }; 171 172 vph_pwr: regulator-vph-pwr { 173 compatible = "regulator-fixed"; 174 175 regulator-name = "vph_pwr"; 176 regulator-min-microvolt = <3700000>; 177 regulator-max-microvolt = <3700000>; 178 179 regulator-always-on; 180 regulator-boot-on; 181 }; 182 183 sound { 184 compatible = "qcom,x1e80100-sndcard"; 185 model = "X1E80100-LENOVO-Thinkpad-T14s"; 186 audio-routing = "SpkrLeft IN", "WSA WSA_SPK1 OUT", 187 "SpkrRight IN", "WSA WSA_SPK2 OUT", 188 "IN1_HPHL", "HPHL_OUT", 189 "IN2_HPHR", "HPHR_OUT", 190 "AMIC2", "MIC BIAS2", 191 "VA DMIC0", "MIC BIAS1", 192 "VA DMIC1", "MIC BIAS1", 193 "VA DMIC0", "VA MIC BIAS1", 194 "VA DMIC1", "VA MIC BIAS1", 195 "TX SWR_INPUT1", "ADC2_OUTPUT"; 196 197 wcd-playback-dai-link { 198 link-name = "WCD Playback"; 199 200 cpu { 201 sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>; 202 }; 203 204 codec { 205 sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>; 206 }; 207 208 platform { 209 sound-dai = <&q6apm>; 210 }; 211 }; 212 213 wcd-capture-dai-link { 214 link-name = "WCD Capture"; 215 216 cpu { 217 sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>; 218 }; 219 220 codec { 221 sound-dai = <&wcd938x 1>, <&swr2 1>, <&lpass_txmacro 0>; 222 }; 223 224 platform { 225 sound-dai = <&q6apm>; 226 }; 227 }; 228 229 wsa-dai-link { 230 link-name = "WSA Playback"; 231 232 cpu { 233 sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>; 234 }; 235 236 codec { 237 sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&lpass_wsamacro 0>; 238 }; 239 240 platform { 241 sound-dai = <&q6apm>; 242 }; 243 }; 244 245 va-dai-link { 246 link-name = "VA Capture"; 247 248 cpu { 249 sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>; 250 }; 251 252 codec { 253 sound-dai = <&lpass_vamacro 0>; 254 }; 255 256 platform { 257 sound-dai = <&q6apm>; 258 }; 259 }; 260 }; 261}; 262 263&apps_rsc { 264 regulators-0 { 265 compatible = "qcom,pm8550-rpmh-regulators"; 266 qcom,pmic-id = "b"; 267 268 vdd-bob1-supply = <&vph_pwr>; 269 vdd-bob2-supply = <&vph_pwr>; 270 vdd-l1-l4-l10-supply = <&vreg_s4c_1p8>; 271 vdd-l2-l13-l14-supply = <&vreg_bob1>; 272 vdd-l5-l16-supply = <&vreg_bob1>; 273 vdd-l6-l7-supply = <&vreg_bob2>; 274 vdd-l8-l9-supply = <&vreg_bob1>; 275 vdd-l12-supply = <&vreg_s5j_1p2>; 276 vdd-l15-supply = <&vreg_s4c_1p8>; 277 vdd-l17-supply = <&vreg_bob2>; 278 279 vreg_bob1: bob1 { 280 regulator-name = "vreg_bob1"; 281 regulator-min-microvolt = <3008000>; 282 regulator-max-microvolt = <3960000>; 283 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 284 }; 285 286 vreg_bob2: bob2 { 287 regulator-name = "vreg_bob2"; 288 regulator-min-microvolt = <2504000>; 289 regulator-max-microvolt = <3008000>; 290 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 291 }; 292 293 vreg_l1b_1p8: ldo1 { 294 regulator-name = "vreg_l1b_1p8"; 295 regulator-min-microvolt = <1800000>; 296 regulator-max-microvolt = <1800000>; 297 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 298 }; 299 300 vreg_l2b_3p0: ldo2 { 301 regulator-name = "vreg_l2b_3p0"; 302 regulator-min-microvolt = <3072000>; 303 regulator-max-microvolt = <3072000>; 304 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 305 }; 306 307 vreg_l4b_1p8: ldo4 { 308 regulator-name = "vreg_l4b_1p8"; 309 regulator-min-microvolt = <1800000>; 310 regulator-max-microvolt = <1800000>; 311 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 312 }; 313 314 vreg_l6b_1p8: ldo6 { 315 regulator-name = "vreg_l6b_1p8"; 316 regulator-min-microvolt = <1800000>; 317 regulator-max-microvolt = <2960000>; 318 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 319 }; 320 321 vreg_l8b_3p0: ldo8 { 322 regulator-name = "vreg_l8b_3p0"; 323 regulator-min-microvolt = <3072000>; 324 regulator-max-microvolt = <3072000>; 325 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 326 }; 327 328 vreg_l9b_2p9: ldo9 { 329 regulator-name = "vreg_l9b_2p9"; 330 regulator-min-microvolt = <2960000>; 331 regulator-max-microvolt = <2960000>; 332 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 333 }; 334 335 vreg_l10b_1p8: ldo10 { 336 regulator-name = "vreg_l10b_1p8"; 337 regulator-min-microvolt = <1800000>; 338 regulator-max-microvolt = <1800000>; 339 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 340 }; 341 342 vreg_l12b_1p2: ldo12 { 343 regulator-name = "vreg_l12b_1p2"; 344 regulator-min-microvolt = <1200000>; 345 regulator-max-microvolt = <1200000>; 346 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 347 }; 348 349 vreg_l13b_3p0: ldo13 { 350 regulator-name = "vreg_l13b_3p0"; 351 regulator-min-microvolt = <3072000>; 352 regulator-max-microvolt = <3072000>; 353 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 354 }; 355 356 vreg_l14b_3p0: ldo14 { 357 regulator-name = "vreg_l14b_3p0"; 358 regulator-min-microvolt = <3072000>; 359 regulator-max-microvolt = <3072000>; 360 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 361 }; 362 363 vreg_l15b_1p8: ldo15 { 364 regulator-name = "vreg_l15b_1p8"; 365 regulator-min-microvolt = <1800000>; 366 regulator-max-microvolt = <1800000>; 367 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 368 }; 369 370 vreg_l17b_2p5: ldo17 { 371 regulator-name = "vreg_l17b_2p5"; 372 regulator-min-microvolt = <2504000>; 373 regulator-max-microvolt = <2504000>; 374 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 375 }; 376 }; 377 378 regulators-1 { 379 compatible = "qcom,pm8550ve-rpmh-regulators"; 380 qcom,pmic-id = "c"; 381 382 vdd-l1-supply = <&vreg_s5j_1p2>; 383 vdd-l2-supply = <&vreg_s1f_0p7>; 384 vdd-l3-supply = <&vreg_s1f_0p7>; 385 vdd-s4-supply = <&vph_pwr>; 386 387 vreg_s4c_1p8: smps4 { 388 regulator-name = "vreg_s4c_1p8"; 389 regulator-min-microvolt = <1856000>; 390 regulator-max-microvolt = <2000000>; 391 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 392 }; 393 394 vreg_l1c_1p2: ldo1 { 395 regulator-name = "vreg_l1c_1p2"; 396 regulator-min-microvolt = <1200000>; 397 regulator-max-microvolt = <1200000>; 398 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 399 }; 400 401 vreg_l2c_0p8: ldo2 { 402 regulator-name = "vreg_l2c_0p8"; 403 regulator-min-microvolt = <880000>; 404 regulator-max-microvolt = <880000>; 405 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 406 }; 407 408 vreg_l3c_0p8: ldo3 { 409 regulator-name = "vreg_l3c_0p8"; 410 regulator-min-microvolt = <912000>; 411 regulator-max-microvolt = <912000>; 412 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 413 }; 414 }; 415 416 regulators-2 { 417 compatible = "qcom,pmc8380-rpmh-regulators"; 418 qcom,pmic-id = "d"; 419 420 vdd-l1-supply = <&vreg_s1f_0p7>; 421 vdd-l2-supply = <&vreg_s1f_0p7>; 422 vdd-l3-supply = <&vreg_s4c_1p8>; 423 vdd-s1-supply = <&vph_pwr>; 424 425 vreg_l1d_0p8: ldo1 { 426 regulator-name = "vreg_l1d_0p8"; 427 regulator-min-microvolt = <880000>; 428 regulator-max-microvolt = <880000>; 429 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 430 }; 431 432 vreg_l2d_0p9: ldo2 { 433 regulator-name = "vreg_l2d_0p9"; 434 regulator-min-microvolt = <912000>; 435 regulator-max-microvolt = <912000>; 436 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 437 }; 438 439 vreg_l3d_1p8: ldo3 { 440 regulator-name = "vreg_l3d_1p8"; 441 regulator-min-microvolt = <1800000>; 442 regulator-max-microvolt = <1800000>; 443 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 444 }; 445 }; 446 447 regulators-3 { 448 compatible = "qcom,pmc8380-rpmh-regulators"; 449 qcom,pmic-id = "e"; 450 451 vdd-l2-supply = <&vreg_s1f_0p7>; 452 vdd-l3-supply = <&vreg_s5j_1p2>; 453 454 vreg_l2e_0p8: ldo2 { 455 regulator-name = "vreg_l2e_0p8"; 456 regulator-min-microvolt = <880000>; 457 regulator-max-microvolt = <880000>; 458 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 459 }; 460 461 vreg_l3e_1p2: ldo3 { 462 regulator-name = "vreg_l3e_1p2"; 463 regulator-min-microvolt = <1200000>; 464 regulator-max-microvolt = <1200000>; 465 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 466 }; 467 }; 468 469 regulators-4 { 470 compatible = "qcom,pmc8380-rpmh-regulators"; 471 qcom,pmic-id = "f"; 472 473 vdd-l1-supply = <&vreg_s5j_1p2>; 474 vdd-l2-supply = <&vreg_s5j_1p2>; 475 vdd-l3-supply = <&vreg_s5j_1p2>; 476 vdd-s1-supply = <&vph_pwr>; 477 478 vreg_s1f_0p7: smps1 { 479 regulator-name = "vreg_s1f_0p7"; 480 regulator-min-microvolt = <700000>; 481 regulator-max-microvolt = <1100000>; 482 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 483 }; 484 }; 485 486 regulators-6 { 487 compatible = "qcom,pm8550ve-rpmh-regulators"; 488 qcom,pmic-id = "i"; 489 490 vdd-l1-supply = <&vreg_s4c_1p8>; 491 vdd-l2-supply = <&vreg_s5j_1p2>; 492 vdd-l3-supply = <&vreg_s1f_0p7>; 493 vdd-s1-supply = <&vph_pwr>; 494 vdd-s2-supply = <&vph_pwr>; 495 496 vreg_l1i_1p8: ldo1 { 497 regulator-name = "vreg_l1i_1p8"; 498 regulator-min-microvolt = <1800000>; 499 regulator-max-microvolt = <1800000>; 500 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 501 }; 502 503 vreg_l2i_1p2: ldo2 { 504 regulator-name = "vreg_l2i_1p2"; 505 regulator-min-microvolt = <1200000>; 506 regulator-max-microvolt = <1200000>; 507 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 508 }; 509 510 vreg_l3i_0p8: ldo3 { 511 regulator-name = "vreg_l3i_0p8"; 512 regulator-min-microvolt = <880000>; 513 regulator-max-microvolt = <880000>; 514 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 515 }; 516 }; 517 518 regulators-7 { 519 compatible = "qcom,pm8550ve-rpmh-regulators"; 520 qcom,pmic-id = "j"; 521 522 vdd-l1-supply = <&vreg_s1f_0p7>; 523 vdd-l2-supply = <&vreg_s5j_1p2>; 524 vdd-l3-supply = <&vreg_s1f_0p7>; 525 vdd-s5-supply = <&vph_pwr>; 526 527 vreg_s5j_1p2: smps5 { 528 regulator-name = "vreg_s5j_1p2"; 529 regulator-min-microvolt = <1256000>; 530 regulator-max-microvolt = <1304000>; 531 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 532 }; 533 534 vreg_l1j_0p8: ldo1 { 535 regulator-name = "vreg_l1j_0p8"; 536 regulator-min-microvolt = <912000>; 537 regulator-max-microvolt = <912000>; 538 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 539 }; 540 541 vreg_l2j_1p2: ldo2 { 542 regulator-name = "vreg_l2j_1p2"; 543 regulator-min-microvolt = <1256000>; 544 regulator-max-microvolt = <1256000>; 545 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 546 }; 547 548 vreg_l3j_0p8: ldo3 { 549 regulator-name = "vreg_l3j_0p8"; 550 regulator-min-microvolt = <880000>; 551 regulator-max-microvolt = <880000>; 552 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 553 }; 554 }; 555}; 556 557&gpu { 558 status = "okay"; 559 560 zap-shader { 561 firmware-name = "qcom/x1e80100/LENOVO/21N1/qcdxkmsuc8380.mbn"; 562 }; 563}; 564 565&i2c0 { 566 clock-frequency = <400000>; 567 568 pinctrl-0 = <&qup_i2c0_data_clk>, <&tpad_default>; 569 pinctrl-names = "default"; 570 571 status = "okay"; 572 573 /* ELAN06E2 or ELAN06E3 */ 574 touchpad@15 { 575 compatible = "hid-over-i2c"; 576 reg = <0x15>; 577 578 hid-descr-addr = <0x1>; 579 interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>; 580 581 wakeup-source; 582 }; 583 584 /* SYNA8022 or SYNA8024 */ 585 touchpad@2c { 586 compatible = "hid-over-i2c"; 587 reg = <0x2c>; 588 589 hid-descr-addr = <0x20>; 590 interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>; 591 592 wakeup-source; 593 }; 594 595 /* ELAN06F1 or SYNA06F2 */ 596 keyboard@3a { 597 compatible = "hid-over-i2c"; 598 reg = <0x3a>; 599 600 hid-descr-addr = <0x1>; 601 interrupts-extended = <&tlmm 67 IRQ_TYPE_LEVEL_LOW>; 602 603 pinctrl-0 = <&kybd_default>; 604 pinctrl-names = "default"; 605 606 wakeup-source; 607 }; 608}; 609 610&i2c5 { 611 clock-frequency = <400000>; 612 613 status = "okay"; 614 615 eusb5_repeater: redriver@43 { 616 compatible = "nxp,ptn3222"; 617 reg = <0x43>; 618 #phy-cells = <0>; 619 620 vdd3v3-supply = <&vreg_l13b_3p0>; 621 vdd1v8-supply = <&vreg_l4b_1p8>; 622 623 reset-gpios = <&tlmm 7 GPIO_ACTIVE_LOW>; 624 625 pinctrl-0 = <&eusb5_reset_n>; 626 pinctrl-names = "default"; 627 }; 628 629 eusb3_repeater: redriver@47 { 630 compatible = "nxp,ptn3222"; 631 reg = <0x47>; 632 #phy-cells = <0>; 633 634 vdd3v3-supply = <&vreg_l13b_3p0>; 635 vdd1v8-supply = <&vreg_l4b_1p8>; 636 637 reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>; 638 639 pinctrl-0 = <&eusb3_reset_n>; 640 pinctrl-names = "default"; 641 }; 642 643 eusb6_repeater: redriver@4f { 644 compatible = "nxp,ptn3222"; 645 reg = <0x4f>; 646 #phy-cells = <0>; 647 648 vdd3v3-supply = <&vreg_l13b_3p0>; 649 vdd1v8-supply = <&vreg_l4b_1p8>; 650 651 reset-gpios = <&tlmm 184 GPIO_ACTIVE_LOW>; 652 653 pinctrl-0 = <&eusb6_reset_n>; 654 pinctrl-names = "default"; 655 }; 656}; 657 658&i2c8 { 659 clock-frequency = <400000>; 660 661 status = "okay"; 662 663 /* ILIT2911 or GTCH1563 */ 664 touchscreen@10 { 665 compatible = "hid-over-i2c"; 666 reg = <0x10>; 667 668 hid-descr-addr = <0x1>; 669 interrupts-extended = <&tlmm 51 IRQ_TYPE_LEVEL_LOW>; 670 671 pinctrl-0 = <&ts0_default>; 672 pinctrl-names = "default"; 673 }; 674 675 /* TODO: second-sourced touchscreen @ 0x41 */ 676}; 677 678&lpass_tlmm { 679 spkr_01_sd_n_active: spkr-01-sd-n-active-state { 680 pins = "gpio12"; 681 function = "gpio"; 682 drive-strength = <16>; 683 bias-disable; 684 output-low; 685 }; 686}; 687 688&lpass_vamacro { 689 pinctrl-0 = <&dmic01_default>; 690 pinctrl-names = "default"; 691 692 vdd-micb-supply = <&vreg_l1b_1p8>; 693 qcom,dmic-sample-rate = <4800000>; 694}; 695 696&mdss { 697 status = "okay"; 698}; 699 700&mdss_dp3 { 701 compatible = "qcom,x1e80100-dp"; 702 /delete-property/ #sound-dai-cells; 703 704 status = "okay"; 705 706 aux-bus { 707 panel { 708 compatible = "edp-panel"; 709 enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>; 710 power-supply = <&vreg_edp_3p3>; 711 712 pinctrl-0 = <&edp_bl_en>; 713 pinctrl-names = "default"; 714 715 port { 716 edp_panel_in: endpoint { 717 remote-endpoint = <&mdss_dp3_out>; 718 }; 719 }; 720 }; 721 }; 722 723 ports { 724 port@1 { 725 reg = <1>; 726 727 mdss_dp3_out: endpoint { 728 data-lanes = <0 1 2 3>; 729 link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>; 730 731 remote-endpoint = <&edp_panel_in>; 732 }; 733 }; 734 }; 735}; 736 737&mdss_dp3_phy { 738 vdda-phy-supply = <&vreg_l3j_0p8>; 739 vdda-pll-supply = <&vreg_l2j_1p2>; 740 741 status = "okay"; 742}; 743 744&pcie4 { 745 perst-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>; 746 wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>; 747 748 pinctrl-0 = <&pcie4_default>; 749 pinctrl-names = "default"; 750 751 status = "okay"; 752}; 753 754&pcie4_phy { 755 vdda-phy-supply = <&vreg_l3i_0p8>; 756 vdda-pll-supply = <&vreg_l3e_1p2>; 757 758 status = "okay"; 759}; 760 761&pcie6a { 762 perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>; 763 wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>; 764 765 vddpe-3v3-supply = <&vreg_nvme>; 766 767 pinctrl-0 = <&pcie6a_default>; 768 pinctrl-names = "default"; 769 770 status = "okay"; 771}; 772 773&pcie6a_phy { 774 vdda-phy-supply = <&vreg_l1d_0p8>; 775 vdda-pll-supply = <&vreg_l2j_1p2>; 776 777 status = "okay"; 778}; 779 780&pmc8380_3_gpios { 781 edp_bl_en: edp-bl-en-state { 782 pins = "gpio4"; 783 function = "normal"; 784 power-source = <1>; 785 input-disable; 786 output-enable; 787 }; 788}; 789 790&qupv3_0 { 791 status = "okay"; 792}; 793 794&qupv3_1 { 795 status = "okay"; 796}; 797 798&qupv3_2 { 799 status = "okay"; 800}; 801 802&remoteproc_adsp { 803 firmware-name = "qcom/x1e80100/LENOVO/21N1/qcadsp8380.mbn", 804 "qcom/x1e80100/LENOVO/21N1/adsp_dtbs.elf"; 805 806 status = "okay"; 807}; 808 809&remoteproc_cdsp { 810 firmware-name = "qcom/x1e80100/LENOVO/21N1/qccdsp8380.mbn", 811 "qcom/x1e80100/LENOVO/21N1/cdsp_dtbs.elf"; 812 813 status = "okay"; 814}; 815 816&smb2360_0 { 817 status = "okay"; 818}; 819 820&smb2360_0_eusb2_repeater { 821 vdd18-supply = <&vreg_l3d_1p8>; 822 vdd3-supply = <&vreg_l2b_3p0>; 823}; 824 825&smb2360_1 { 826 status = "okay"; 827}; 828 829&smb2360_1_eusb2_repeater { 830 vdd18-supply = <&vreg_l3d_1p8>; 831 vdd3-supply = <&vreg_l14b_3p0>; 832}; 833 834&swr0 { 835 status = "okay"; 836 837 pinctrl-0 = <&wsa_swr_active>, <&spkr_01_sd_n_active>; 838 pinctrl-names = "default"; 839 840 /* WSA8845, Left Speaker */ 841 left_spkr: speaker@0,0 { 842 compatible = "sdw20217020400"; 843 reg = <0 0>; 844 reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>; 845 #sound-dai-cells = <0>; 846 sound-name-prefix = "SpkrLeft"; 847 vdd-1p8-supply = <&vreg_l15b_1p8>; 848 vdd-io-supply = <&vreg_l12b_1p2>; 849 qcom,port-mapping = <1 2 3 7 10 13>; 850 }; 851 852 /* WSA8845, Right Speaker */ 853 right_spkr: speaker@0,1 { 854 compatible = "sdw20217020400"; 855 reg = <0 1>; 856 reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>; 857 #sound-dai-cells = <0>; 858 sound-name-prefix = "SpkrRight"; 859 vdd-1p8-supply = <&vreg_l15b_1p8>; 860 vdd-io-supply = <&vreg_l12b_1p2>; 861 qcom,port-mapping = <4 5 6 7 11 13>; 862 }; 863}; 864 865&swr1 { 866 status = "okay"; 867 868 /* WCD9385 RX */ 869 wcd_rx: codec@0,4 { 870 compatible = "sdw20217010d00"; 871 reg = <0 4>; 872 qcom,rx-port-mapping = <1 2 3 4 5>; 873 }; 874}; 875 876&swr2 { 877 status = "okay"; 878 879 /* WCD9385 TX */ 880 wcd_tx: codec@0,3 { 881 compatible = "sdw20217010d00"; 882 reg = <0 3>; 883 qcom,tx-port-mapping = <2 2 3 4>; 884 }; 885}; 886 887&tlmm { 888 gpio-reserved-ranges = <34 2>, /* Unused */ 889 <44 4>, /* SPI (TPM) */ 890 <72 2>, /* Secure EC I2C connection (?) */ 891 <238 1>; /* UFS Reset */ 892 893 eusb3_reset_n: eusb3-reset-n-state { 894 pins = "gpio6"; 895 function = "gpio"; 896 drive-strength = <2>; 897 bias-disable; 898 output-low; 899 }; 900 901 eusb5_reset_n: eusb5-reset-n-state { 902 pins = "gpio7"; 903 function = "gpio"; 904 drive-strength = <2>; 905 bias-disable; 906 output-low; 907 }; 908 909 eusb6_reset_n: eusb6-reset-n-state { 910 pins = "gpio184"; 911 function = "gpio"; 912 drive-strength = <2>; 913 bias-disable; 914 output-low; 915 }; 916 917 tpad_default: tpad-default-state { 918 pins = "gpio3"; 919 function = "gpio"; 920 bias-pull-up; 921 }; 922 923 nvme_reg_en: nvme-reg-en-state { 924 pins = "gpio18"; 925 function = "gpio"; 926 drive-strength = <2>; 927 bias-disable; 928 }; 929 930 ts0_default: ts0-default-state { 931 reset-n-pins { 932 pins = "gpio48"; 933 function = "gpio"; 934 output-high; 935 drive-strength = <16>; 936 }; 937 938 int-n-pins { 939 pins = "gpio51"; 940 function = "gpio"; 941 bias-disable; 942 }; 943 }; 944 945 kybd_default: kybd-default-state { 946 pins = "gpio67"; 947 function = "gpio"; 948 bias-disable; 949 }; 950 951 edp_reg_en: edp-reg-en-state { 952 pins = "gpio70"; 953 function = "gpio"; 954 drive-strength = <16>; 955 bias-disable; 956 }; 957 958 hall_int_n_default: hall-int-n-state { 959 pins = "gpio92"; 960 function = "gpio"; 961 bias-disable; 962 }; 963 964 pcie4_default: pcie4-default-state { 965 clkreq-n-pins { 966 pins = "gpio147"; 967 function = "pcie4_clk"; 968 drive-strength = <2>; 969 bias-pull-up; 970 }; 971 972 perst-n-pins { 973 pins = "gpio146"; 974 function = "gpio"; 975 drive-strength = <2>; 976 bias-disable; 977 }; 978 979 wake-n-pins { 980 pins = "gpio148"; 981 function = "gpio"; 982 drive-strength = <2>; 983 bias-pull-up; 984 }; 985 }; 986 987 pcie6a_default: pcie6a-default-state { 988 clkreq-n-pins { 989 pins = "gpio153"; 990 function = "pcie6a_clk"; 991 drive-strength = <2>; 992 bias-pull-up; 993 }; 994 995 perst-n-pins { 996 pins = "gpio152"; 997 function = "gpio"; 998 drive-strength = <2>; 999 bias-disable; 1000 }; 1001 1002 wake-n-pins { 1003 pins = "gpio154"; 1004 function = "gpio"; 1005 drive-strength = <2>; 1006 bias-pull-up; 1007 }; 1008 }; 1009 1010 wcd_default: wcd-reset-n-active-state { 1011 pins = "gpio191"; 1012 function = "gpio"; 1013 drive-strength = <16>; 1014 bias-disable; 1015 output-low; 1016 }; 1017}; 1018 1019&usb_1_ss0_hsphy { 1020 vdd-supply = <&vreg_l3j_0p8>; 1021 vdda12-supply = <&vreg_l2j_1p2>; 1022 1023 phys = <&smb2360_0_eusb2_repeater>; 1024 1025 status = "okay"; 1026}; 1027 1028&usb_1_ss0_qmpphy { 1029 vdda-phy-supply = <&vreg_l2j_1p2>; 1030 vdda-pll-supply = <&vreg_l1j_0p8>; 1031 1032 status = "okay"; 1033}; 1034 1035&usb_1_ss0 { 1036 status = "okay"; 1037}; 1038 1039&usb_1_ss0_dwc3 { 1040 dr_mode = "host"; 1041}; 1042 1043&usb_1_ss0_dwc3_hs { 1044 remote-endpoint = <&pmic_glink_ss0_hs_in>; 1045}; 1046 1047&usb_1_ss0_qmpphy_out { 1048 remote-endpoint = <&pmic_glink_ss0_ss_in>; 1049}; 1050 1051&usb_1_ss1_hsphy { 1052 vdd-supply = <&vreg_l3j_0p8>; 1053 vdda12-supply = <&vreg_l2j_1p2>; 1054 1055 phys = <&smb2360_1_eusb2_repeater>; 1056 1057 status = "okay"; 1058}; 1059 1060&usb_1_ss1_qmpphy { 1061 vdda-phy-supply = <&vreg_l2j_1p2>; 1062 vdda-pll-supply = <&vreg_l2d_0p9>; 1063 1064 status = "okay"; 1065}; 1066 1067&usb_1_ss1 { 1068 status = "okay"; 1069}; 1070 1071&usb_1_ss1_dwc3 { 1072 dr_mode = "host"; 1073}; 1074 1075&usb_1_ss1_dwc3_hs { 1076 remote-endpoint = <&pmic_glink_ss1_hs_in>; 1077}; 1078 1079&usb_1_ss1_qmpphy_out { 1080 remote-endpoint = <&pmic_glink_ss1_ss_in>; 1081}; 1082 1083&usb_2 { 1084 status = "okay"; 1085}; 1086 1087&usb_2_dwc3 { 1088 dr_mode = "host"; 1089}; 1090 1091&usb_2_hsphy { 1092 vdd-supply = <&vreg_l2e_0p8>; 1093 vdda12-supply = <&vreg_l3e_1p2>; 1094 1095 phys = <&eusb5_repeater>; 1096 1097 status = "okay"; 1098}; 1099 1100&usb_mp { 1101 status = "okay"; 1102}; 1103 1104&usb_mp_hsphy0 { 1105 vdd-supply = <&vreg_l2e_0p8>; 1106 vdda12-supply = <&vreg_l3e_1p2>; 1107 1108 phys = <&eusb6_repeater>; 1109 1110 status = "okay"; 1111}; 1112 1113&usb_mp_hsphy1 { 1114 vdd-supply = <&vreg_l2e_0p8>; 1115 vdda12-supply = <&vreg_l3e_1p2>; 1116 1117 phys = <&eusb3_repeater>; 1118 1119 status = "okay"; 1120}; 1121 1122&usb_mp_qmpphy0 { 1123 vdda-phy-supply = <&vreg_l3e_1p2>; 1124 vdda-pll-supply = <&vreg_l3c_0p8>; 1125 1126 status = "okay"; 1127}; 1128 1129&usb_mp_qmpphy1 { 1130 vdda-phy-supply = <&vreg_l3e_1p2>; 1131 vdda-pll-supply = <&vreg_l3c_0p8>; 1132 1133 status = "okay"; 1134}; 1135