1 // SPDX-License-Identifier: BSD-3-Clause 2 /* 3 * Copyright (c) 2021, The Linux Foundation. A 4 * Copyright (c) 2022, Linaro Limited 5 */ 6 7 /dts-v1/; 8 9 #include <dt-bindings/iio/qcom,spmi-adc7-pm835 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/leds/common.h> 14 #include <dt-bindings/regulator/qcom,rpmh-regu 15 16 #include "sc8280xp.dtsi" 17 #include "sc8280xp-pmics.dtsi" 18 19 / { 20 model = "Lenovo ThinkPad X13s"; 21 compatible = "lenovo,thinkpad-x13s", " 22 23 aliases { 24 i2c4 = &i2c4; 25 i2c21 = &i2c21; 26 serial1 = &uart2; 27 }; 28 29 wcd938x: audio-codec { 30 compatible = "qcom,wcd9380-cod 31 32 pinctrl-names = "default"; 33 pinctrl-0 = <&wcd_default>; 34 35 reset-gpios = <&tlmm 106 GPIO_ 36 37 vdd-buck-supply = <&vreg_s10b> 38 vdd-rxtx-supply = <&vreg_s10b> 39 vdd-io-supply = <&vreg_s10b>; 40 vdd-mic-bias-supply = <&vreg_b 41 42 qcom,micbias1-microvolt = <180 43 qcom,micbias2-microvolt = <180 44 qcom,micbias3-microvolt = <180 45 qcom,micbias4-microvolt = <180 46 qcom,mbhc-buttons-vthreshold-m 47 qcom,mbhc-headset-vthreshold-m 48 qcom,mbhc-headphone-vthreshold 49 qcom,rx-device = <&wcd_rx>; 50 qcom,tx-device = <&wcd_tx>; 51 52 #sound-dai-cells = <1>; 53 }; 54 55 backlight: backlight { 56 compatible = "pwm-backlight"; 57 pwms = <&pmc8280c_lpg 3 100000 58 enable-gpios = <&pmc8280_1_gpi 59 power-supply = <&vreg_edp_bl>; 60 61 pinctrl-names = "default"; 62 pinctrl-0 = <&edp_bl_en>, <&ed 63 }; 64 65 gpio-keys { 66 compatible = "gpio-keys"; 67 68 pinctrl-names = "default"; 69 pinctrl-0 = <&hall_int_n_defau 70 71 switch-lid { 72 gpios = <&tlmm 107 GPI 73 linux,input-type = <EV 74 linux,code = <SW_LID>; 75 wakeup-source; 76 wakeup-event-action = 77 }; 78 }; 79 80 leds { 81 compatible = "gpio-leds"; 82 83 pinctrl-names = "default"; 84 pinctrl-0 = <&cam_indicator_en 85 86 led-camera-indicator { 87 label = "white:camera- 88 function = LED_FUNCTIO 89 color = <LED_COLOR_ID_ 90 gpios = <&tlmm 28 GPIO 91 linux,default-trigger 92 default-state = "off"; 93 /* Reuse as a panic in 94 panic-indicator; 95 }; 96 }; 97 98 pmic-glink { 99 compatible = "qcom,sc8280xp-pm 100 101 #address-cells = <1>; 102 #size-cells = <0>; 103 orientation-gpios = <&tlmm 166 104 <&tlmm 49 105 106 connector@0 { 107 compatible = "usb-c-co 108 reg = <0>; 109 power-role = "dual"; 110 data-role = "dual"; 111 112 ports { 113 #address-cells 114 #size-cells = 115 116 port@0 { 117 reg = 118 119 pmic_g 120 121 }; 122 }; 123 124 port@1 { 125 reg = 126 127 pmic_g 128 129 }; 130 }; 131 132 port@2 { 133 reg = 134 135 pmic_g 136 137 }; 138 }; 139 }; 140 }; 141 142 connector@1 { 143 compatible = "usb-c-co 144 reg = <1>; 145 power-role = "dual"; 146 data-role = "dual"; 147 148 ports { 149 #address-cells 150 #size-cells = 151 port@0 { 152 reg = 153 154 pmic_g 155 156 }; 157 }; 158 159 port@1 { 160 reg = 161 162 pmic_g 163 164 }; 165 }; 166 167 port@2 { 168 reg = 169 170 pmic_g 171 172 }; 173 }; 174 }; 175 }; 176 }; 177 178 vreg_edp_3p3: regulator-edp-3p3 { 179 compatible = "regulator-fixed" 180 181 regulator-name = "VCC3LCD"; 182 regulator-min-microvolt = <330 183 regulator-max-microvolt = <330 184 185 gpio = <&tlmm 25 GPIO_ACTIVE_H 186 enable-active-high; 187 188 pinctrl-names = "default"; 189 pinctrl-0 = <&edp_reg_en>; 190 191 regulator-boot-on; 192 }; 193 194 vreg_edp_bl: regulator-edp-bl { 195 compatible = "regulator-fixed" 196 197 regulator-name = "VBL9"; 198 regulator-min-microvolt = <360 199 regulator-max-microvolt = <360 200 201 gpio = <&pmc8280_1_gpios 9 GPI 202 enable-active-high; 203 204 pinctrl-names = "default"; 205 pinctrl-0 = <&edp_bl_reg_en>; 206 207 regulator-boot-on; 208 }; 209 210 vreg_misc_3p3: regulator-misc-3p3 { 211 compatible = "regulator-fixed" 212 213 regulator-name = "VCC3B"; 214 regulator-min-microvolt = <330 215 regulator-max-microvolt = <330 216 217 gpio = <&pmc8280_1_gpios 1 GPI 218 enable-active-high; 219 220 pinctrl-names = "default"; 221 pinctrl-0 = <&misc_3p3_reg_en> 222 223 regulator-boot-on; 224 regulator-always-on; 225 }; 226 227 vreg_nvme: regulator-nvme { 228 compatible = "regulator-fixed" 229 230 regulator-name = "VCC3_SSD"; 231 regulator-min-microvolt = <330 232 regulator-max-microvolt = <330 233 234 gpio = <&tlmm 135 GPIO_ACTIVE_ 235 enable-active-high; 236 237 pinctrl-names = "default"; 238 pinctrl-0 = <&nvme_reg_en>; 239 240 regulator-boot-on; 241 }; 242 243 vreg_vph_pwr: regulator-vph-pwr { 244 compatible = "regulator-fixed" 245 246 regulator-name = "VPH_VCC3R9"; 247 regulator-min-microvolt = <390 248 regulator-max-microvolt = <390 249 250 regulator-always-on; 251 }; 252 253 vreg_wlan: regulator-wlan { 254 compatible = "regulator-fixed" 255 256 regulator-name = "VCC_WLAN_3R9 257 regulator-min-microvolt = <390 258 regulator-max-microvolt = <390 259 260 gpio = <&pmr735a_gpios 1 GPIO_ 261 enable-active-high; 262 263 pinctrl-names = "default"; 264 pinctrl-0 = <&hastings_reg_en> 265 266 regulator-boot-on; 267 }; 268 269 vreg_wwan: regulator-wwan { 270 compatible = "regulator-fixed" 271 272 regulator-name = "VCC3B_WAN"; 273 regulator-min-microvolt = <330 274 regulator-max-microvolt = <330 275 276 gpio = <&pmc8280_2_gpios 1 GPI 277 enable-active-high; 278 279 pinctrl-names = "default"; 280 pinctrl-0 = <&wwan_sw_en>; 281 282 regulator-boot-on; 283 }; 284 285 reserved-memory { 286 gpu_mem: gpu-mem@8bf00000 { 287 reg = <0 0x8bf00000 0 288 no-map; 289 }; 290 291 linux,cma { 292 compatible = "shared-d 293 size = <0x0 0x8000000> 294 reusable; 295 linux,cma-default; 296 }; 297 }; 298 299 thermal-zones { 300 pm8008-thermal { 301 polling-delay-passive 302 polling-delay = <0>; 303 304 thermal-sensors = <&pm 305 306 trips { 307 trip0 { 308 temper 309 hyster 310 type = 311 }; 312 313 trip1 { 314 temper 315 hyster 316 type = 317 }; 318 }; 319 }; 320 321 skin-temp-thermal { 322 polling-delay-passive 323 324 thermal-sensors = <&pm 325 326 trips { 327 skin_temp_aler 328 temper 329 hyster 330 type = 331 }; 332 333 skin_temp_aler 334 temper 335 hyster 336 type = 337 }; 338 339 skin-temp-crit 340 temper 341 hyster 342 type = 343 }; 344 }; 345 346 cooling-maps { 347 map0 { 348 trip = 349 coolin 350 351 352 353 }; 354 355 map1 { 356 trip = 357 coolin 358 359 360 361 }; 362 }; 363 }; 364 }; 365 366 usb0-sbu-mux { 367 compatible = "pericom,pi3usb10 368 369 enable-gpios = <&tlmm 101 GPIO 370 select-gpios = <&tlmm 164 GPIO 371 372 pinctrl-names = "default"; 373 pinctrl-0 = <&usb0_sbu_default 374 375 mode-switch; 376 orientation-switch; 377 378 port { 379 usb0_sbu_mux: endpoint 380 remote-endpoin 381 }; 382 }; 383 }; 384 385 usb1-sbu-mux { 386 compatible = "pericom,pi3usb10 387 388 enable-gpios = <&tlmm 48 GPIO_ 389 select-gpios = <&tlmm 47 GPIO_ 390 391 pinctrl-names = "default"; 392 pinctrl-0 = <&usb1_sbu_default 393 394 mode-switch; 395 orientation-switch; 396 397 port { 398 usb1_sbu_mux: endpoint 399 remote-endpoin 400 }; 401 }; 402 }; 403 }; 404 405 &apps_rsc { 406 regulators-0 { 407 compatible = "qcom,pm8350-rpmh 408 qcom,pmic-id = "b"; 409 410 vdd-l1-l4-supply = <&vreg_s12b 411 vdd-l2-l7-supply = <&vreg_bob> 412 vdd-l3-l5-supply = <&vreg_s11b 413 vdd-l6-l9-l10-supply = <&vreg_ 414 vdd-l8-supply = <&vreg_s12b>; 415 416 vreg_s10b: smps10 { 417 regulator-name = "vreg 418 regulator-min-microvol 419 regulator-max-microvol 420 regulator-initial-mode 421 regulator-always-on; 422 }; 423 424 vreg_s11b: smps11 { 425 regulator-name = "vreg 426 regulator-min-microvol 427 regulator-max-microvol 428 regulator-initial-mode 429 regulator-always-on; 430 }; 431 432 vreg_s12b: smps12 { 433 regulator-name = "vreg 434 regulator-min-microvol 435 regulator-max-microvol 436 regulator-initial-mode 437 regulator-always-on; 438 }; 439 440 vreg_l1b: ldo1 { 441 regulator-name = "vreg 442 regulator-min-microvol 443 regulator-max-microvol 444 regulator-initial-mode 445 }; 446 447 vreg_l3b: ldo3 { 448 regulator-name = "vreg 449 regulator-min-microvol 450 regulator-max-microvol 451 regulator-initial-mode 452 regulator-boot-on; 453 }; 454 455 vreg_l4b: ldo4 { 456 regulator-name = "vreg 457 regulator-min-microvol 458 regulator-max-microvol 459 regulator-initial-mode 460 }; 461 462 vreg_l6b: ldo6 { 463 regulator-name = "vreg 464 regulator-min-microvol 465 regulator-max-microvol 466 regulator-initial-mode 467 regulator-boot-on; 468 }; 469 }; 470 471 regulators-1 { 472 compatible = "qcom,pm8350c-rpm 473 qcom,pmic-id = "c"; 474 475 vdd-bob-supply = <&vreg_vph_pw 476 vdd-l1-l12-supply = <&vreg_s1c 477 vdd-l2-l8-supply = <&vreg_s1c> 478 vdd-l3-l4-l5-l7-l13-supply = < 479 vdd-l6-l9-l11-supply = <&vreg_ 480 vdd-l10-supply = <&vreg_s11b>; 481 482 vreg_s1c: smps1 { 483 regulator-name = "vreg 484 regulator-min-microvol 485 regulator-max-microvol 486 regulator-initial-mode 487 regulator-always-on; 488 }; 489 490 vreg_l1c: ldo1 { 491 regulator-name = "vreg 492 regulator-min-microvol 493 regulator-max-microvol 494 regulator-initial-mode 495 }; 496 497 vreg_l8c: ldo8 { 498 regulator-name = "vreg 499 regulator-min-microvol 500 regulator-max-microvol 501 regulator-initial-mode 502 }; 503 504 vreg_l12c: ldo12 { 505 regulator-name = "vreg 506 regulator-min-microvol 507 regulator-max-microvol 508 regulator-initial-mode 509 }; 510 511 vreg_l13c: ldo13 { 512 regulator-name = "vreg 513 regulator-min-microvol 514 regulator-max-microvol 515 regulator-initial-mode 516 }; 517 518 vreg_bob: bob { 519 regulator-name = "vreg 520 regulator-min-microvol 521 regulator-max-microvol 522 regulator-initial-mode 523 regulator-always-on; 524 }; 525 }; 526 527 regulators-2 { 528 compatible = "qcom,pm8350-rpmh 529 qcom,pmic-id = "d"; 530 531 vdd-l1-l4-supply = <&vreg_s11b 532 vdd-l2-l7-supply = <&vreg_bob> 533 vdd-l3-l5-supply = <&vreg_s11b 534 vdd-l6-l9-l10-supply = <&vreg_ 535 vdd-l8-supply = <&vreg_s12b>; 536 537 vreg_l2d: ldo2 { 538 regulator-name = "vreg 539 regulator-min-microvol 540 regulator-max-microvol 541 regulator-initial-mode 542 }; 543 544 vreg_l3d: ldo3 { 545 regulator-name = "vreg 546 regulator-min-microvol 547 regulator-max-microvol 548 regulator-initial-mode 549 }; 550 551 vreg_l4d: ldo4 { 552 regulator-name = "vreg 553 regulator-min-microvol 554 regulator-max-microvol 555 regulator-initial-mode 556 }; 557 558 vreg_l6d: ldo6 { 559 regulator-name = "vreg 560 regulator-min-microvol 561 regulator-max-microvol 562 regulator-initial-mode 563 }; 564 565 vreg_l7d: ldo7 { 566 regulator-name = "vreg 567 regulator-min-microvol 568 regulator-max-microvol 569 regulator-initial-mode 570 }; 571 572 vreg_l8d: ldo8 { 573 regulator-name = "vreg 574 regulator-min-microvol 575 regulator-max-microvol 576 regulator-initial-mode 577 }; 578 579 vreg_l9d: ldo9 { 580 regulator-name = "vreg 581 regulator-min-microvol 582 regulator-max-microvol 583 regulator-initial-mode 584 }; 585 586 vreg_l10d: ldo10 { 587 regulator-name = "vreg 588 regulator-min-microvol 589 regulator-max-microvol 590 regulator-initial-mode 591 }; 592 }; 593 }; 594 595 &camss { 596 vdda-phy-supply = <&vreg_l6d>; 597 vdda-pll-supply = <&vreg_l4d>; 598 599 status = "okay"; 600 601 ports { 602 port@0 { 603 csiphy0_lanes01_ep: en 604 reg = <0>; 605 clock-lanes = 606 data-lanes = < 607 remote-endpoin 608 }; 609 }; 610 }; 611 }; 612 613 &cci2 { 614 status = "okay"; 615 }; 616 617 &cci2_i2c1 { 618 camera@10 { 619 compatible = "ovti,ov5675"; 620 reg = <0x10>; 621 622 reset-gpios = <&tlmm 15 GPIO_A 623 pinctrl-names = "default"; 624 pinctrl-0 = <&cam_rgb_default> 625 626 clocks = <&camcc CAMCC_MCLK3_C 627 628 orientation = <0>; /* Fro 629 630 avdd-supply = <&vreg_l6q>; 631 dvdd-supply = <&vreg_l2q>; 632 dovdd-supply = <&vreg_l7q>; 633 634 port { 635 ov5675_ep: endpoint { 636 clock-lanes = 637 data-lanes = < 638 link-frequenci 639 remote-endpoin 640 }; 641 }; 642 643 }; 644 }; 645 646 &dispcc0 { 647 status = "okay"; 648 }; 649 650 &gpu { 651 status = "okay"; 652 653 zap-shader { 654 memory-region = <&gpu_mem>; 655 firmware-name = "qcom/sc8280xp 656 }; 657 }; 658 659 &mdss0 { 660 status = "okay"; 661 }; 662 663 &mdss0_dp0 { 664 status = "okay"; 665 }; 666 667 &mdss0_dp0_out { 668 data-lanes = <0 1>; 669 remote-endpoint = <&usb_0_qmpphy_dp_in 670 }; 671 672 &mdss0_dp1 { 673 status = "okay"; 674 }; 675 676 &mdss0_dp1_out { 677 data-lanes = <0 1>; 678 remote-endpoint = <&usb_1_qmpphy_dp_in 679 }; 680 681 &mdss0_dp3 { 682 compatible = "qcom,sc8280xp-edp"; 683 /delete-property/ #sound-dai-cells; 684 685 data-lanes = <0 1 2 3>; 686 687 status = "okay"; 688 689 aux-bus { 690 panel { 691 compatible = "edp-pane 692 693 backlight = <&backligh 694 power-supply = <&vreg_ 695 696 port { 697 edp_panel_in: 698 remote 699 }; 700 }; 701 }; 702 }; 703 704 ports { 705 port@1 { 706 reg = <1>; 707 mdss0_dp3_out: endpoin 708 remote-endpoin 709 }; 710 }; 711 }; 712 }; 713 714 &mdss0_dp3_phy { 715 compatible = "qcom,sc8280xp-edp-phy"; 716 vdda-phy-supply = <&vreg_l6b>; 717 vdda-pll-supply = <&vreg_l3b>; 718 719 status = "okay"; 720 }; 721 722 &i2c4 { 723 clock-frequency = <400000>; 724 725 pinctrl-names = "default"; 726 pinctrl-0 = <&i2c4_default>; 727 728 status = "okay"; 729 730 touchscreen@10 { 731 compatible = "elan,ekth5015m", 732 reg = <0x10>; 733 734 interrupts-extended = <&tlmm 1 735 reset-gpios = <&tlmm 99 (GPIO_ 736 no-reset-on-power-off; 737 738 vcc33-supply = <&vreg_misc_3p3 739 vccio-supply = <&vreg_misc_3p3 740 741 pinctrl-names = "default"; 742 pinctrl-0 = <&ts0_default>; 743 }; 744 }; 745 746 &i2c11 { 747 clock-frequency = <400000>; 748 749 pinctrl-names = "default"; 750 pinctrl-0 = <&i2c11_default>; 751 752 status = "okay"; 753 754 pm8008: pmic@c { 755 compatible = "qcom,pm8008"; 756 reg = <0xc>; 757 758 interrupts-extended = <&tlmm 4 759 reset-gpios = <&tlmm 42 GPIO_A 760 761 vdd-l1-l2-supply = <&vreg_s11b 762 vdd-l3-l4-supply = <&vreg_bob> 763 vdd-l5-supply = <&vreg_bob>; 764 vdd-l6-supply = <&vreg_bob>; 765 vdd-l7-supply = <&vreg_bob>; 766 767 pinctrl-names = "default"; 768 pinctrl-0 = <&pm8008_default>; 769 770 gpio-controller; 771 #gpio-cells = <2>; 772 gpio-ranges = <&pm8008 0 0 2>; 773 774 interrupt-controller; 775 #interrupt-cells = <2>; 776 777 #thermal-sensor-cells = <0>; 778 779 regulators { 780 vreg_l1q: ldo1 { 781 regulator-name 782 regulator-min- 783 regulator-max- 784 }; 785 786 vreg_l2q: ldo2 { 787 regulator-name 788 regulator-min- 789 regulator-max- 790 }; 791 792 vreg_l3q: ldo3 { 793 regulator-name 794 regulator-min- 795 regulator-max- 796 }; 797 798 vreg_l4q: ldo4 { 799 regulator-name 800 regulator-min- 801 regulator-max- 802 }; 803 804 vreg_l5q: ldo5 { 805 regulator-name 806 regulator-min- 807 regulator-max- 808 }; 809 810 vreg_l6q: ldo6 { 811 regulator-name 812 regulator-min- 813 regulator-max- 814 }; 815 816 vreg_l7q: ldo7 { 817 regulator-name 818 regulator-min- 819 regulator-max- 820 }; 821 }; 822 }; 823 }; 824 825 &i2c21 { 826 clock-frequency = <400000>; 827 828 pinctrl-names = "default"; 829 pinctrl-0 = <&i2c21_default>, <&tpad_d 830 831 status = "okay"; 832 833 touchpad@15 { 834 compatible = "hid-over-i2c"; 835 reg = <0x15>; 836 837 hid-descr-addr = <0x1>; 838 interrupts-extended = <&tlmm 1 839 vdd-supply = <&vreg_misc_3p3>; 840 vddl-supply = <&vreg_s10b>; 841 842 wakeup-source; 843 }; 844 845 touchpad@2c { 846 compatible = "hid-over-i2c"; 847 reg = <0x2c>; 848 849 hid-descr-addr = <0x20>; 850 interrupts-extended = <&tlmm 1 851 vdd-supply = <&vreg_misc_3p3>; 852 vddl-supply = <&vreg_s10b>; 853 854 wakeup-source; 855 }; 856 857 keyboard@68 { 858 compatible = "hid-over-i2c"; 859 reg = <0x68>; 860 861 hid-descr-addr = <0x1>; 862 interrupts-extended = <&tlmm 1 863 vdd-supply = <&vreg_misc_3p3>; 864 vddl-supply = <&vreg_s10b>; 865 866 pinctrl-names = "default"; 867 pinctrl-0 = <&kybd_default>; 868 869 wakeup-source; 870 }; 871 }; 872 873 &pcie2a { 874 perst-gpios = <&tlmm 143 GPIO_ACTIVE_L 875 wake-gpios = <&tlmm 145 GPIO_ACTIVE_LO 876 877 vddpe-3v3-supply = <&vreg_nvme>; 878 879 pinctrl-names = "default"; 880 pinctrl-0 = <&pcie2a_default>; 881 882 status = "okay"; 883 }; 884 885 &pcie2a_phy { 886 vdda-phy-supply = <&vreg_l6d>; 887 vdda-pll-supply = <&vreg_l4d>; 888 889 status = "okay"; 890 }; 891 892 &pcie3a { 893 perst-gpios = <&tlmm 151 GPIO_ACTIVE_L 894 wake-gpios = <&tlmm 148 GPIO_ACTIVE_LO 895 896 vddpe-3v3-supply = <&vreg_wwan>; 897 898 pinctrl-names = "default"; 899 pinctrl-0 = <&pcie3a_default>; 900 901 status = "okay"; 902 }; 903 904 &pcie3a_phy { 905 vdda-phy-supply = <&vreg_l6d>; 906 vdda-pll-supply = <&vreg_l4d>; 907 908 status = "okay"; 909 }; 910 911 &pcie4 { 912 max-link-speed = <2>; 913 914 perst-gpios = <&tlmm 141 GPIO_ACTIVE_L 915 wake-gpios = <&tlmm 139 GPIO_ACTIVE_LO 916 917 vddpe-3v3-supply = <&vreg_wlan>; 918 919 pinctrl-names = "default"; 920 pinctrl-0 = <&pcie4_default>; 921 922 status = "okay"; 923 }; 924 925 &pcie4_port0 { 926 wifi@0 { 927 compatible = "pci17cb,1103"; 928 reg = <0x10000 0x0 0x0 0x0 0x0 929 930 qcom,ath11k-calibration-varian 931 }; 932 }; 933 934 &pcie4_phy { 935 vdda-phy-supply = <&vreg_l6d>; 936 vdda-pll-supply = <&vreg_l4d>; 937 938 status = "okay"; 939 }; 940 941 &pmc8280c_lpg { 942 status = "okay"; 943 }; 944 945 &pmk8280_adc_tm { 946 status = "okay"; 947 948 sys-therm@0 { 949 reg = <0>; 950 io-channels = <&pmk8280_vadc P 951 qcom,hw-settle-time-us = <200> 952 qcom,avg-samples = <2>; 953 qcom,ratiometric; 954 }; 955 956 sys-therm@1 { 957 reg = <1>; 958 io-channels = <&pmk8280_vadc P 959 qcom,hw-settle-time-us = <200> 960 qcom,avg-samples = <2>; 961 qcom,ratiometric; 962 }; 963 964 sys-therm@2 { 965 reg = <2>; 966 io-channels = <&pmk8280_vadc P 967 qcom,hw-settle-time-us = <200> 968 qcom,avg-samples = <2>; 969 qcom,ratiometric; 970 }; 971 972 sys-therm@3 { 973 reg = <3>; 974 io-channels = <&pmk8280_vadc P 975 qcom,hw-settle-time-us = <200> 976 qcom,avg-samples = <2>; 977 qcom,ratiometric; 978 }; 979 980 sys-therm@4 { 981 reg = <4>; 982 io-channels = <&pmk8280_vadc P 983 qcom,hw-settle-time-us = <200> 984 qcom,avg-samples = <2>; 985 qcom,ratiometric; 986 }; 987 988 sys-therm@5 { 989 reg = <5>; 990 io-channels = <&pmk8280_vadc P 991 qcom,hw-settle-time-us = <200> 992 qcom,avg-samples = <2>; 993 qcom,ratiometric; 994 }; 995 996 sys-therm@6 { 997 reg = <6>; 998 io-channels = <&pmk8280_vadc P 999 qcom,hw-settle-time-us = <200> 1000 qcom,avg-samples = <2>; 1001 qcom,ratiometric; 1002 }; 1003 1004 sys-therm@7 { 1005 reg = <7>; 1006 io-channels = <&pmk8280_vadc 1007 qcom,hw-settle-time-us = <200 1008 qcom,avg-samples = <2>; 1009 qcom,ratiometric; 1010 }; 1011 }; 1012 1013 &pmk8280_pon_pwrkey { 1014 status = "okay"; 1015 }; 1016 1017 &pmk8280_pon_resin { 1018 status = "okay"; 1019 }; 1020 1021 &pmk8280_rtc { 1022 nvmem-cells = <&rtc_offset>; 1023 nvmem-cell-names = "offset"; 1024 1025 status = "okay"; 1026 }; 1027 1028 &pmk8280_sdam_6 { 1029 status = "okay"; 1030 1031 rtc_offset: rtc-offset@bc { 1032 reg = <0xbc 0x4>; 1033 }; 1034 }; 1035 1036 &pmk8280_vadc { 1037 channel@144 { 1038 reg = <PM8350_ADC7_AMUX_THM1_ 1039 qcom,hw-settle-time = <200>; 1040 qcom,ratiometric; 1041 label = "sys_therm1"; 1042 }; 1043 1044 channel@145 { 1045 reg = <PM8350_ADC7_AMUX_THM2_ 1046 qcom,hw-settle-time = <200>; 1047 qcom,ratiometric; 1048 label = "sys_therm2"; 1049 }; 1050 1051 channel@146 { 1052 reg = <PM8350_ADC7_AMUX_THM3_ 1053 qcom,hw-settle-time = <200>; 1054 qcom,ratiometric; 1055 label = "sys_therm3"; 1056 }; 1057 1058 channel@147 { 1059 reg = <PM8350_ADC7_AMUX_THM4_ 1060 qcom,hw-settle-time = <200>; 1061 qcom,ratiometric; 1062 label = "sys_therm4"; 1063 }; 1064 1065 channel@344 { 1066 reg = <PM8350_ADC7_AMUX_THM1_ 1067 qcom,hw-settle-time = <200>; 1068 qcom,ratiometric; 1069 label = "sys_therm5"; 1070 }; 1071 1072 channel@345 { 1073 reg = <PM8350_ADC7_AMUX_THM2_ 1074 qcom,hw-settle-time = <200>; 1075 qcom,ratiometric; 1076 label = "sys_therm6"; 1077 }; 1078 1079 channel@346 { 1080 reg = <PM8350_ADC7_AMUX_THM3_ 1081 qcom,hw-settle-time = <200>; 1082 qcom,ratiometric; 1083 label = "sys_therm7"; 1084 }; 1085 1086 channel@347 { 1087 reg = <PM8350_ADC7_AMUX_THM4_ 1088 qcom,hw-settle-time = <200>; 1089 qcom,ratiometric; 1090 label = "sys_therm8"; 1091 }; 1092 }; 1093 1094 &qup0 { 1095 status = "okay"; 1096 }; 1097 1098 &qup1 { 1099 status = "okay"; 1100 }; 1101 1102 &qup2 { 1103 status = "okay"; 1104 }; 1105 1106 &remoteproc_adsp { 1107 firmware-name = "qcom/sc8280xp/LENOVO 1108 1109 status = "okay"; 1110 }; 1111 1112 &remoteproc_nsp0 { 1113 firmware-name = "qcom/sc8280xp/LENOVO 1114 1115 status = "okay"; 1116 }; 1117 1118 &rxmacro { 1119 status = "okay"; 1120 }; 1121 1122 &sound { 1123 compatible = "qcom,sc8280xp-sndcard"; 1124 model = "SC8280XP-LENOVO-X13S"; 1125 audio-routing = 1126 "SpkrLeft IN", "WSA_SPK1 OUT" 1127 "SpkrRight IN", "WSA_SPK2 OUT 1128 "IN1_HPHL", "HPHL_OUT", 1129 "IN2_HPHR", "HPHR_OUT", 1130 "AMIC2", "MIC BIAS2", 1131 "VA DMIC0", "MIC BIAS1", 1132 "VA DMIC1", "MIC BIAS1", 1133 "VA DMIC2", "MIC BIAS3", 1134 "VA DMIC0", "VA MIC BIAS1", 1135 "VA DMIC1", "VA MIC BIAS1", 1136 "VA DMIC2", "VA MIC BIAS3", 1137 "TX SWR_ADC1", "ADC2_OUTPUT"; 1138 1139 wcd-playback-dai-link { 1140 link-name = "WCD Playback"; 1141 cpu { 1142 sound-dai = <&q6apmbe 1143 }; 1144 1145 codec { 1146 sound-dai = <&wcd938x 1147 }; 1148 1149 platform { 1150 sound-dai = <&q6apm>; 1151 }; 1152 }; 1153 1154 wcd-capture-dai-link { 1155 link-name = "WCD Capture"; 1156 cpu { 1157 sound-dai = <&q6apmbe 1158 }; 1159 1160 codec { 1161 sound-dai = <&wcd938x 1162 }; 1163 1164 platform { 1165 sound-dai = <&q6apm>; 1166 }; 1167 }; 1168 1169 wsa-dai-link { 1170 link-name = "WSA Playback"; 1171 cpu { 1172 sound-dai = <&q6apmbe 1173 }; 1174 1175 codec { 1176 sound-dai = <&left_sp 1177 }; 1178 1179 platform { 1180 sound-dai = <&q6apm>; 1181 }; 1182 }; 1183 1184 va-dai-link { 1185 link-name = "VA Capture"; 1186 cpu { 1187 sound-dai = <&q6apmbe 1188 }; 1189 1190 platform { 1191 sound-dai = <&q6apm>; 1192 }; 1193 1194 codec { 1195 sound-dai = <&vamacro 1196 }; 1197 }; 1198 }; 1199 1200 &swr0 { 1201 status = "okay"; 1202 1203 left_spkr: wsa8830-left@0,1 { 1204 compatible = "sdw10217020200" 1205 reg = <0 1>; 1206 pinctrl-names = "default"; 1207 pinctrl-0 = <&spkr_1_sd_n_def 1208 powerdown-gpios = <&tlmm 178 1209 #thermal-sensor-cells = <0>; 1210 sound-name-prefix = "SpkrLeft 1211 #sound-dai-cells = <0>; 1212 vdd-supply = <&vreg_s10b>; 1213 }; 1214 1215 right_spkr: wsa8830-right@0,2 { 1216 compatible = "sdw10217020200" 1217 reg = <0 2>; 1218 pinctrl-names = "default"; 1219 pinctrl-0 = <&spkr_2_sd_n_def 1220 powerdown-gpios = <&tlmm 179 1221 #thermal-sensor-cells = <0>; 1222 sound-name-prefix = "SpkrRigh 1223 #sound-dai-cells = <0>; 1224 vdd-supply = <&vreg_s10b>; 1225 }; 1226 }; 1227 1228 &swr1 { 1229 status = "okay"; 1230 1231 wcd_rx: wcd9380-rx@0,4 { 1232 compatible = "sdw20217010d00" 1233 reg = <0 4>; 1234 qcom,rx-port-mapping = <1 2 3 1235 }; 1236 }; 1237 1238 &swr2 { 1239 status = "okay"; 1240 1241 wcd_tx: wcd9380-tx@0,3 { 1242 compatible = "sdw20217010d00" 1243 reg = <0 3>; 1244 qcom,tx-port-mapping = <1 1 2 1245 }; 1246 }; 1247 1248 &txmacro { 1249 status = "okay"; 1250 }; 1251 1252 &uart2 { 1253 pinctrl-0 = <&uart2_default>; 1254 pinctrl-names = "default"; 1255 1256 status = "okay"; 1257 1258 bluetooth { 1259 compatible = "qcom,wcn6855-bt 1260 1261 vddio-supply = <&vreg_s10b>; 1262 vddbtcxmx-supply = <&vreg_s12 1263 vddrfacmn-supply = <&vreg_s12 1264 vddrfa0p8-supply = <&vreg_s12 1265 vddrfa1p2-supply = <&vreg_s11 1266 vddrfa1p7-supply = <&vreg_s1c 1267 1268 max-speed = <3200000>; 1269 1270 enable-gpios = <&tlmm 133 GPI 1271 swctrl-gpios = <&tlmm 132 GPI 1272 1273 pinctrl-0 = <&bt_default>; 1274 pinctrl-names = "default"; 1275 }; 1276 }; 1277 1278 &usb_0 { 1279 status = "okay"; 1280 }; 1281 1282 &usb_0_dwc3 { 1283 dr_mode = "host"; 1284 }; 1285 1286 &usb_0_dwc3_hs { 1287 remote-endpoint = <&pmic_glink_con0_h 1288 }; 1289 1290 &usb_0_hsphy { 1291 vdda-pll-supply = <&vreg_l9d>; 1292 vdda18-supply = <&vreg_l1c>; 1293 vdda33-supply = <&vreg_l7d>; 1294 1295 status = "okay"; 1296 }; 1297 1298 &usb_0_qmpphy { 1299 vdda-phy-supply = <&vreg_l9d>; 1300 vdda-pll-supply = <&vreg_l4d>; 1301 1302 orientation-switch; 1303 1304 status = "okay"; 1305 }; 1306 1307 &usb_0_qmpphy_dp_in { 1308 remote-endpoint = <&mdss0_dp0_out>; 1309 }; 1310 1311 &usb_0_qmpphy_out { 1312 remote-endpoint = <&pmic_glink_con0_s 1313 }; 1314 1315 &usb_1 { 1316 status = "okay"; 1317 }; 1318 1319 &usb_1_dwc3 { 1320 dr_mode = "host"; 1321 }; 1322 1323 &usb_1_dwc3_hs { 1324 remote-endpoint = <&pmic_glink_con1_h 1325 }; 1326 1327 &usb_1_hsphy { 1328 vdda-pll-supply = <&vreg_l4b>; 1329 vdda18-supply = <&vreg_l1c>; 1330 vdda33-supply = <&vreg_l13c>; 1331 1332 status = "okay"; 1333 }; 1334 1335 &usb_1_qmpphy { 1336 vdda-phy-supply = <&vreg_l4b>; 1337 vdda-pll-supply = <&vreg_l3b>; 1338 1339 orientation-switch; 1340 1341 status = "okay"; 1342 }; 1343 1344 &usb_1_qmpphy_dp_in { 1345 remote-endpoint = <&mdss0_dp1_out>; 1346 }; 1347 1348 &usb_1_qmpphy_out { 1349 remote-endpoint = <&pmic_glink_con1_s 1350 }; 1351 1352 &usb_2 { 1353 status = "okay"; 1354 }; 1355 1356 &usb_2_hsphy0 { 1357 vdda-pll-supply = <&vreg_l1b>; 1358 vdda18-supply = <&vreg_l1c>; 1359 vdda33-supply = <&vreg_l7d>; 1360 1361 status = "okay"; 1362 }; 1363 1364 &usb_2_hsphy1 { 1365 vdda-pll-supply = <&vreg_l8d>; 1366 vdda18-supply = <&vreg_l1c>; 1367 vdda33-supply = <&vreg_l7d>; 1368 1369 status = "okay"; 1370 }; 1371 1372 &usb_2_hsphy2 { 1373 vdda-pll-supply = <&vreg_l10d>; 1374 vdda18-supply = <&vreg_l8c>; 1375 vdda33-supply = <&vreg_l2d>; 1376 1377 status = "okay"; 1378 }; 1379 1380 &usb_2_hsphy3 { 1381 vdda-pll-supply = <&vreg_l10d>; 1382 vdda18-supply = <&vreg_l8c>; 1383 vdda33-supply = <&vreg_l2d>; 1384 1385 status = "okay"; 1386 }; 1387 1388 &usb_2_qmpphy0 { 1389 vdda-phy-supply = <&vreg_l1b>; 1390 vdda-pll-supply = <&vreg_l4d>; 1391 1392 status = "okay"; 1393 }; 1394 1395 &usb_2_qmpphy1 { 1396 vdda-phy-supply = <&vreg_l8d>; 1397 vdda-pll-supply = <&vreg_l4d>; 1398 1399 status = "okay"; 1400 }; 1401 1402 &vamacro { 1403 pinctrl-0 = <&dmic01_default>, <&dmic 1404 pinctrl-names = "default"; 1405 1406 vdd-micb-supply = <&vreg_s10b>; 1407 1408 qcom,dmic-sample-rate = <4800000>; 1409 1410 status = "okay"; 1411 }; 1412 1413 &wsamacro { 1414 status = "okay"; 1415 }; 1416 1417 &xo_board_clk { 1418 clock-frequency = <38400000>; 1419 }; 1420 1421 /* PINCTRL */ 1422 1423 &lpass_tlmm { 1424 status = "okay"; 1425 }; 1426 1427 &pmc8280_1_gpios { 1428 edp_bl_en: edp-bl-en-state { 1429 pins = "gpio8"; 1430 function = "normal"; 1431 }; 1432 1433 edp_bl_reg_en: edp-bl-reg-en-state { 1434 pins = "gpio9"; 1435 function = "normal"; 1436 }; 1437 1438 misc_3p3_reg_en: misc-3p3-reg-en-stat 1439 pins = "gpio1"; 1440 function = "normal"; 1441 }; 1442 }; 1443 1444 &pmc8280_2_gpios { 1445 wwan_sw_en: wwan-sw-en-state { 1446 pins = "gpio1"; 1447 function = "normal"; 1448 }; 1449 }; 1450 1451 &pmc8280c_gpios { 1452 edp_bl_pwm: edp-bl-pwm-state { 1453 pins = "gpio8"; 1454 function = "func1"; 1455 }; 1456 }; 1457 1458 &pmr735a_gpios { 1459 hastings_reg_en: hastings-reg-en-stat 1460 pins = "gpio1"; 1461 function = "normal"; 1462 }; 1463 }; 1464 1465 &tlmm { 1466 gpio-reserved-ranges = <70 2>, <74 6> 1467 1468 bt_default: bt-default-state { 1469 hstp-bt-en-pins { 1470 pins = "gpio133"; 1471 function = "gpio"; 1472 drive-strength = <16> 1473 bias-disable; 1474 }; 1475 1476 hstp-sw-ctrl-pins { 1477 pins = "gpio132"; 1478 function = "gpio"; 1479 bias-pull-down; 1480 }; 1481 }; 1482 1483 cam_indicator_en: cam-indicator-en-st 1484 pins = "gpio28"; 1485 function = "gpio"; 1486 drive-strength = <2>; 1487 bias-disable; 1488 }; 1489 1490 cam_rgb_default: cam-rgb-default-stat 1491 mclk-pins { 1492 pins = "gpio17"; 1493 function = "cam_mclk" 1494 drive-strength = <16> 1495 bias-disable; 1496 }; 1497 1498 sc-rgb-xshut-n-pins { 1499 pins = "gpio15"; 1500 function = "gpio"; 1501 drive-strength = <2>; 1502 bias-disable; 1503 }; 1504 }; 1505 1506 edp_reg_en: edp-reg-en-state { 1507 pins = "gpio25"; 1508 function = "gpio"; 1509 drive-strength = <16>; 1510 bias-disable; 1511 }; 1512 1513 hall_int_n_default: hall-int-n-state 1514 pins = "gpio107"; 1515 function = "gpio"; 1516 bias-disable; 1517 }; 1518 1519 i2c4_default: i2c4-default-state { 1520 pins = "gpio171", "gpio172"; 1521 function = "qup4"; 1522 drive-strength = <16>; 1523 bias-disable; 1524 }; 1525 1526 i2c11_default: i2c11-default-state { 1527 pins = "gpio18", "gpio19"; 1528 function = "qup11"; 1529 drive-strength = <16>; 1530 bias-disable; 1531 }; 1532 1533 i2c21_default: i2c21-default-state { 1534 pins = "gpio81", "gpio82"; 1535 function = "qup21"; 1536 drive-strength = <16>; 1537 bias-disable; 1538 }; 1539 1540 kybd_default: kybd-default-state { 1541 disable-pins { 1542 pins = "gpio102"; 1543 function = "gpio"; 1544 output-low; 1545 }; 1546 1547 int-n-pins { 1548 pins = "gpio104"; 1549 function = "gpio"; 1550 bias-disable; 1551 }; 1552 1553 reset-pins { 1554 pins = "gpio105"; 1555 function = "gpio"; 1556 bias-disable; 1557 }; 1558 }; 1559 1560 nvme_reg_en: nvme-reg-en-state { 1561 pins = "gpio135"; 1562 function = "gpio"; 1563 drive-strength = <2>; 1564 bias-disable; 1565 }; 1566 1567 pcie2a_default: pcie2a-default-state 1568 clkreq-n-pins { 1569 pins = "gpio142"; 1570 function = "pcie2a_cl 1571 drive-strength = <2>; 1572 bias-pull-up; 1573 }; 1574 1575 perst-n-pins { 1576 pins = "gpio143"; 1577 function = "gpio"; 1578 drive-strength = <2>; 1579 bias-disable; 1580 }; 1581 1582 wake-n-pins { 1583 pins = "gpio145"; 1584 function = "gpio"; 1585 drive-strength = <2>; 1586 bias-pull-up; 1587 }; 1588 }; 1589 1590 pcie3a_default: pcie3a-default-state 1591 clkreq-n-pins { 1592 pins = "gpio150"; 1593 function = "pcie3a_cl 1594 drive-strength = <2>; 1595 bias-pull-up; 1596 }; 1597 1598 perst-n-pins { 1599 pins = "gpio151"; 1600 function = "gpio"; 1601 drive-strength = <2>; 1602 bias-disable; 1603 }; 1604 1605 wake-n-pins { 1606 pins = "gpio148"; 1607 function = "gpio"; 1608 drive-strength = <2>; 1609 bias-pull-up; 1610 }; 1611 }; 1612 1613 pcie4_default: pcie4-default-state { 1614 clkreq-n-pins { 1615 pins = "gpio140"; 1616 function = "pcie4_clk 1617 drive-strength = <2>; 1618 bias-pull-up; 1619 }; 1620 1621 perst-n-pins { 1622 pins = "gpio141"; 1623 function = "gpio"; 1624 drive-strength = <2>; 1625 bias-disable; 1626 }; 1627 1628 wake-n-pins { 1629 pins = "gpio139"; 1630 function = "gpio"; 1631 drive-strength = <2>; 1632 bias-pull-up; 1633 }; 1634 }; 1635 1636 pm8008_default: pm8008-default-state 1637 int-pins { 1638 pins = "gpio41"; 1639 function = "gpio"; 1640 drive-strength = <2>; 1641 bias-pull-down; 1642 }; 1643 1644 reset-n-pins { 1645 pins = "gpio42"; 1646 function = "gpio"; 1647 drive-strength = <2>; 1648 bias-disable; 1649 }; 1650 }; 1651 1652 spkr_1_sd_n_default: spkr-1-sd-n-defa 1653 perst-n-pins { 1654 pins = "gpio178"; 1655 function = "gpio"; 1656 drive-strength = <16> 1657 bias-disable; 1658 output-high; 1659 }; 1660 }; 1661 1662 spkr_2_sd_n_default: spkr-2-sd-n-defa 1663 perst-n-pins { 1664 pins = "gpio179"; 1665 function = "gpio"; 1666 drive-strength = <16> 1667 bias-disable; 1668 output-high; 1669 }; 1670 }; 1671 1672 tpad_default: tpad-default-state { 1673 int-n-pins { 1674 pins = "gpio182"; 1675 function = "gpio"; 1676 bias-disable; 1677 }; 1678 }; 1679 1680 ts0_default: ts0-default-state { 1681 int-n-pins { 1682 pins = "gpio175"; 1683 function = "gpio"; 1684 bias-disable; 1685 }; 1686 1687 reset-n-pins { 1688 pins = "gpio99"; 1689 function = "gpio"; 1690 drive-strength = <2>; 1691 bias-disable; 1692 }; 1693 }; 1694 1695 uart2_default: uart2-default-state { 1696 cts-pins { 1697 pins = "gpio121"; 1698 function = "qup2"; 1699 bias-bus-hold; 1700 }; 1701 1702 rts-pins { 1703 pins = "gpio122"; 1704 function = "qup2"; 1705 drive-strength = <2>; 1706 bias-disable; 1707 }; 1708 1709 rx-pins { 1710 pins = "gpio124"; 1711 function = "qup2"; 1712 bias-pull-up; 1713 }; 1714 1715 tx-pins { 1716 pins = "gpio123"; 1717 function = "qup2"; 1718 drive-strength = <2>; 1719 bias-disable; 1720 }; 1721 }; 1722 1723 usb0_sbu_default: usb0-sbu-state { 1724 oe-n-pins { 1725 pins = "gpio101"; 1726 function = "gpio"; 1727 bias-disable; 1728 drive-strength = <16> 1729 output-high; 1730 }; 1731 1732 sel-pins { 1733 pins = "gpio164"; 1734 function = "gpio"; 1735 bias-disable; 1736 drive-strength = <16> 1737 }; 1738 }; 1739 1740 usb1_sbu_default: usb1-sbu-state { 1741 oe-n-pins { 1742 pins = "gpio48"; 1743 function = "gpio"; 1744 bias-disable; 1745 drive-strength = <16> 1746 output-high; 1747 }; 1748 1749 sel-pins { 1750 pins = "gpio47"; 1751 function = "gpio"; 1752 bias-disable; 1753 drive-strength = <16> 1754 }; 1755 }; 1756 1757 wcd_default: wcd-default-state { 1758 reset-pins { 1759 pins = "gpio106"; 1760 function = "gpio"; 1761 bias-disable; 1762 }; 1763 }; 1764 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.