1 // SPDX-License-Identifier: BSD-3-Clause 2 /* 3 * Copyright (c) 2024 Qualcomm Innovation Cent 4 */ 5 6 #include <dt-bindings/gpio/gpio.h> 7 #include <dt-bindings/leds/common.h> 8 #include <dt-bindings/regulator/qcom,rpmh-regu 9 10 #include "x1e80100.dtsi" 11 #include "x1e80100-pmics.dtsi" 12 13 / { 14 aliases { 15 serial0 = &uart2; 16 i2c0 = &i2c0; 17 i2c3 = &i2c3; 18 i2c4 = &i2c4; 19 i2c5 = &i2c5; 20 i2c7 = &i2c7; 21 }; 22 23 backlight: backlight { 24 compatible = "pwm-backlight"; 25 pwms = <&pmk8550_pwm 0 5000000 26 enable-gpios = <&pmc8380_3_gpi 27 /* TODO: power-supply? */ 28 29 pinctrl-0 = <&edp_bl_en>, <&ed 30 pinctrl-names = "default"; 31 }; 32 33 leds { 34 compatible = "gpio-leds"; 35 36 pinctrl-names = "default"; 37 pinctrl-0 = <&cam_indicator_en 38 39 led-camera-indicator { 40 label = "white:camera- 41 function = LED_FUNCTIO 42 color = <LED_COLOR_ID_ 43 gpios = <&tlmm 225 GPI 44 linux,default-trigger 45 default-state = "off"; 46 /* Reuse as a panic in 47 panic-indicator; 48 }; 49 }; 50 51 pmic-glink { 52 compatible = "qcom,x1e80100-pm 53 "qcom,sm8550-pmic 54 "qcom,pmic-glink" 55 #address-cells = <1>; 56 #size-cells = <0>; 57 orientation-gpios = <&tlmm 121 58 <&tlmm 123 59 60 /* Left-side rear port */ 61 connector@0 { 62 compatible = "usb-c-co 63 reg = <0>; 64 power-role = "dual"; 65 data-role = "dual"; 66 67 ports { 68 #address-cells 69 #size-cells = 70 71 port@0 { 72 reg = 73 74 pmic_g 75 76 }; 77 }; 78 79 port@1 { 80 reg = 81 82 pmic_g 83 84 }; 85 }; 86 }; 87 }; 88 89 /* Left-side front port */ 90 connector@1 { 91 compatible = "usb-c-co 92 reg = <1>; 93 power-role = "dual"; 94 data-role = "dual"; 95 96 ports { 97 #address-cells 98 #size-cells = 99 100 port@0 { 101 reg = 102 103 pmic_g 104 105 }; 106 }; 107 108 port@1 { 109 reg = 110 111 pmic_g 112 113 }; 114 }; 115 }; 116 }; 117 }; 118 119 reserved-memory { 120 linux,cma { 121 compatible = "shared-d 122 size = <0x0 0x8000000> 123 reusable; 124 linux,cma-default; 125 }; 126 }; 127 128 vph_pwr: vph-pwr-regulator { 129 compatible = "regulator-fixed" 130 131 regulator-name = "vph_pwr"; 132 regulator-min-microvolt = <370 133 regulator-max-microvolt = <370 134 135 regulator-always-on; 136 regulator-boot-on; 137 }; 138 139 vreg_edp_3p3: regulator-edp-3p3 { 140 compatible = "regulator-fixed" 141 142 regulator-name = "VREG_EDP_3P3 143 regulator-min-microvolt = <330 144 regulator-max-microvolt = <330 145 146 gpio = <&tlmm 70 GPIO_ACTIVE_H 147 enable-active-high; 148 149 pinctrl-0 = <&edp_reg_en>; 150 pinctrl-names = "default"; 151 152 regulator-boot-on; 153 }; 154 155 vreg_nvme: regulator-nvme { 156 compatible = "regulator-fixed" 157 158 regulator-name = "VREG_NVME_3P 159 regulator-min-microvolt = <330 160 regulator-max-microvolt = <330 161 162 gpio = <&tlmm 18 GPIO_ACTIVE_H 163 enable-active-high; 164 165 pinctrl-0 = <&nvme_reg_en>; 166 pinctrl-names = "default"; 167 168 regulator-boot-on; 169 }; 170 }; 171 172 &apps_rsc { 173 regulators-0 { 174 compatible = "qcom,pm8550-rpmh 175 qcom,pmic-id = "b"; 176 177 vdd-bob1-supply = <&vph_pwr>; 178 vdd-bob2-supply = <&vph_pwr>; 179 vdd-l1-l4-l10-supply = <&vreg_ 180 vdd-l2-l13-l14-supply = <&vreg 181 vdd-l5-l16-supply = <&vreg_bob 182 vdd-l6-l7-supply = <&vreg_bob2 183 vdd-l8-l9-supply = <&vreg_bob1 184 vdd-l12-supply = <&vreg_s5j>; 185 vdd-l15-supply = <&vreg_s4c>; 186 vdd-l17-supply = <&vreg_bob2>; 187 188 vreg_bob1: bob1 { 189 regulator-name = "vreg 190 regulator-min-microvol 191 regulator-max-microvol 192 regulator-initial-mode 193 }; 194 195 vreg_bob2: bob2 { 196 regulator-name = "vreg 197 regulator-min-microvol 198 regulator-max-microvol 199 regulator-initial-mode 200 }; 201 202 vreg_l1b: ldo1 { 203 regulator-name = "vreg 204 regulator-min-microvol 205 regulator-max-microvol 206 regulator-initial-mode 207 }; 208 209 vreg_l2b: ldo2 { 210 regulator-name = "vreg 211 regulator-min-microvol 212 regulator-max-microvol 213 regulator-initial-mode 214 }; 215 216 vreg_l4b: ldo4 { 217 regulator-name = "vreg 218 regulator-min-microvol 219 regulator-max-microvol 220 regulator-initial-mode 221 }; 222 223 vreg_l5b: ldo5 { 224 regulator-name = "vreg 225 regulator-min-microvol 226 regulator-max-microvol 227 regulator-initial-mode 228 }; 229 230 vreg_l6b: ldo6 { 231 regulator-name = "vreg 232 regulator-min-microvol 233 regulator-max-microvol 234 regulator-initial-mode 235 }; 236 237 vreg_l7b: ldo7 { 238 regulator-name = "vreg 239 regulator-min-microvol 240 regulator-max-microvol 241 regulator-initial-mode 242 }; 243 244 vreg_l8b: ldo8 { 245 regulator-name = "vreg 246 regulator-min-microvol 247 regulator-max-microvol 248 regulator-initial-mode 249 }; 250 251 vreg_l9b: ldo9 { 252 regulator-name = "vreg 253 regulator-min-microvol 254 regulator-max-microvol 255 regulator-initial-mode 256 }; 257 258 vreg_l10b: ldo10 { 259 regulator-name = "vreg 260 regulator-min-microvol 261 regulator-max-microvol 262 regulator-initial-mode 263 }; 264 265 vreg_l12b: ldo12 { 266 regulator-name = "vreg 267 regulator-min-microvol 268 regulator-max-microvol 269 regulator-initial-mode 270 }; 271 272 vreg_l13b: ldo13 { 273 regulator-name = "vreg 274 regulator-min-microvol 275 regulator-max-microvol 276 regulator-initial-mode 277 }; 278 279 vreg_l14b: ldo14 { 280 regulator-name = "vreg 281 regulator-min-microvol 282 regulator-max-microvol 283 regulator-initial-mode 284 }; 285 286 vreg_l15b: ldo15 { 287 regulator-name = "vreg 288 regulator-min-microvol 289 regulator-max-microvol 290 regulator-initial-mode 291 }; 292 293 vreg_l16b: ldo16 { 294 regulator-name = "vreg 295 regulator-min-microvol 296 regulator-max-microvol 297 regulator-initial-mode 298 }; 299 300 vreg_l17b: ldo17 { 301 regulator-name = "vreg 302 regulator-min-microvol 303 regulator-max-microvol 304 regulator-initial-mode 305 }; 306 }; 307 308 regulators-1 { 309 compatible = "qcom,pm8550ve-rp 310 qcom,pmic-id = "c"; 311 312 vdd-l1-supply = <&vreg_s5j>; 313 vdd-l2-supply = <&vreg_s1f>; 314 vdd-l3-supply = <&vreg_s1f>; 315 vdd-s4-supply = <&vph_pwr>; 316 317 vreg_s4c: smps4 { 318 regulator-name = "vreg 319 regulator-min-microvol 320 regulator-max-microvol 321 regulator-initial-mode 322 }; 323 324 vreg_l1c: ldo1 { 325 regulator-name = "vreg 326 regulator-min-microvol 327 regulator-max-microvol 328 regulator-initial-mode 329 }; 330 331 vreg_l2c: ldo2 { 332 regulator-name = "vreg 333 regulator-min-microvol 334 regulator-max-microvol 335 regulator-initial-mode 336 }; 337 338 vreg_l3c: ldo3 { 339 regulator-name = "vreg 340 regulator-min-microvol 341 regulator-max-microvol 342 regulator-initial-mode 343 }; 344 }; 345 346 regulators-2 { 347 compatible = "qcom,pmc8380-rpm 348 qcom,pmic-id = "d"; 349 350 vdd-l1-supply = <&vreg_s1f>; 351 vdd-l2-supply = <&vreg_s1f>; 352 vdd-l3-supply = <&vreg_s4c>; 353 vdd-s1-supply = <&vph_pwr>; 354 355 vreg_l1d: ldo1 { 356 regulator-name = "vreg 357 regulator-min-microvol 358 regulator-max-microvol 359 regulator-initial-mode 360 }; 361 362 vreg_l2d: ldo2 { 363 regulator-name = "vreg 364 regulator-min-microvol 365 regulator-max-microvol 366 regulator-initial-mode 367 }; 368 369 vreg_l3d: ldo3 { 370 regulator-name = "vreg 371 regulator-min-microvol 372 regulator-max-microvol 373 regulator-initial-mode 374 }; 375 }; 376 377 regulators-3 { 378 compatible = "qcom,pmc8380-rpm 379 qcom,pmic-id = "e"; 380 381 vdd-l2-supply = <&vreg_s1f>; 382 vdd-l3-supply = <&vreg_s5j>; 383 384 vreg_l2e: ldo2 { 385 regulator-name = "vreg 386 regulator-min-microvol 387 regulator-max-microvol 388 regulator-initial-mode 389 }; 390 391 vreg_l3e: ldo3 { 392 regulator-name = "vreg 393 regulator-min-microvol 394 regulator-max-microvol 395 regulator-initial-mode 396 }; 397 }; 398 399 regulators-4 { 400 compatible = "qcom,pmc8380-rpm 401 qcom,pmic-id = "f"; 402 403 vdd-l1-supply = <&vreg_s5j>; 404 vdd-l2-supply = <&vreg_s5j>; 405 vdd-l3-supply = <&vreg_s5j>; 406 vdd-s1-supply = <&vph_pwr>; 407 408 vreg_s1f: smps1 { 409 regulator-name = "vreg 410 regulator-min-microvol 411 regulator-max-microvol 412 regulator-initial-mode 413 }; 414 415 vreg_l1f: ldo1 { 416 regulator-name = "vreg 417 regulator-min-microvol 418 regulator-max-microvol 419 regulator-initial-mode 420 }; 421 422 vreg_l2f: ldo2 { 423 regulator-name = "vreg 424 regulator-min-microvol 425 regulator-max-microvol 426 regulator-initial-mode 427 }; 428 429 vreg_l3f: ldo3 { 430 regulator-name = "vreg 431 regulator-min-microvol 432 regulator-max-microvol 433 regulator-initial-mode 434 }; 435 }; 436 437 regulators-6 { 438 compatible = "qcom,pm8550ve-rp 439 qcom,pmic-id = "i"; 440 441 vdd-l1-supply = <&vreg_s4c>; 442 vdd-l2-supply = <&vreg_s5j>; 443 vdd-l3-supply = <&vreg_s1f>; 444 vdd-s1-supply = <&vph_pwr>; 445 vdd-s2-supply = <&vph_pwr>; 446 447 vreg_s1i: smps1 { 448 regulator-name = "vreg 449 regulator-min-microvol 450 regulator-max-microvol 451 regulator-initial-mode 452 }; 453 454 vreg_s2i: smps2 { 455 regulator-name = "vreg 456 regulator-min-microvol 457 regulator-max-microvol 458 regulator-initial-mode 459 }; 460 461 vreg_l1i: ldo1 { 462 regulator-name = "vreg 463 regulator-min-microvol 464 regulator-max-microvol 465 regulator-initial-mode 466 }; 467 468 vreg_l2i: ldo2 { 469 regulator-name = "vreg 470 regulator-min-microvol 471 regulator-max-microvol 472 regulator-initial-mode 473 }; 474 475 vreg_l3i: ldo3 { 476 regulator-name = "vreg 477 regulator-min-microvol 478 regulator-max-microvol 479 regulator-initial-mode 480 }; 481 }; 482 483 regulators-7 { 484 compatible = "qcom,pm8550ve-rp 485 qcom,pmic-id = "j"; 486 487 vdd-l1-supply = <&vreg_s1f>; 488 vdd-l2-supply = <&vreg_s5j>; 489 vdd-l3-supply = <&vreg_s1f>; 490 vdd-s5-supply = <&vph_pwr>; 491 492 vreg_s5j: smps5 { 493 regulator-name = "vreg 494 regulator-min-microvol 495 regulator-max-microvol 496 regulator-initial-mode 497 }; 498 499 vreg_l1j: ldo1 { 500 regulator-name = "vreg 501 regulator-min-microvol 502 regulator-max-microvol 503 regulator-initial-mode 504 }; 505 506 vreg_l2j: ldo2 { 507 regulator-name = "vreg 508 regulator-min-microvol 509 regulator-max-microvol 510 regulator-initial-mode 511 }; 512 513 vreg_l3j: ldo3 { 514 regulator-name = "vreg 515 regulator-min-microvol 516 regulator-max-microvol 517 regulator-initial-mode 518 }; 519 }; 520 }; 521 522 &gpu { 523 status = "okay"; 524 525 zap-shader { 526 memory-region = <&gpu_microcod 527 firmware-name = "qcom/x1e80100 528 }; 529 }; 530 531 &i2c0 { 532 clock-frequency = <100000>; 533 534 status = "okay"; 535 536 /* Something @39, @3e, @44 */ 537 }; 538 539 &i2c3 { 540 clock-frequency = <400000>; 541 542 status = "okay"; 543 544 /* PS8830 USB retimer @8 */ 545 }; 546 547 &i2c4 { 548 clock-frequency = <400000>; 549 550 status = "okay"; 551 552 /* Something @18, @2c, @2e */ 553 }; 554 555 &i2c5 { 556 clock-frequency = <400000>; 557 558 status = "okay"; 559 560 /* Something @4f */ 561 }; 562 563 &i2c7 { 564 clock-frequency = <400000>; 565 566 status = "okay"; 567 568 /* PS8830 USB retimer @8 */ 569 }; 570 571 572 &mdss { 573 status = "okay"; 574 }; 575 576 &mdss_dp3 { 577 compatible = "qcom,x1e80100-dp"; 578 /delete-property/ #sound-dai-cells; 579 580 status = "okay"; 581 582 aux-bus { 583 panel { 584 compatible = "edp-pane 585 586 backlight = <&backligh 587 power-supply = <&vreg_ 588 589 port { 590 edp_panel_in: 591 remote 592 }; 593 }; 594 }; 595 }; 596 597 ports { 598 port@1 { 599 reg = <1>; 600 601 mdss_dp3_out: endpoint 602 data-lanes = < 603 link-frequenci 604 605 remote-endpoin 606 }; 607 }; 608 }; 609 }; 610 611 &mdss_dp3_phy { 612 vdda-phy-supply = <&vreg_l3j>; 613 vdda-pll-supply = <&vreg_l2j>; 614 615 status = "okay"; 616 }; 617 618 &pcie4 { 619 status = "okay"; 620 }; 621 622 &pcie4_phy { 623 vdda-phy-supply = <&vreg_l3i>; 624 vdda-pll-supply = <&vreg_l3e>; 625 626 status = "okay"; 627 }; 628 629 &pcie6a { 630 perst-gpios = <&tlmm 152 GPIO_ACTIVE_L 631 wake-gpios = <&tlmm 154 GPIO_ACTIVE_LO 632 633 vddpe-3v3-supply = <&vreg_nvme>; 634 635 pinctrl-0 = <&pcie6a_default>; 636 pinctrl-names = "default"; 637 638 status = "okay"; 639 }; 640 641 &pcie6a_phy { 642 vdda-phy-supply = <&vreg_l1d>; 643 vdda-pll-supply = <&vreg_l2j>; 644 645 status = "okay"; 646 }; 647 648 &pmc8380_3_gpios { 649 edp_bl_en: edp-bl-en-state { 650 pins = "gpio4"; 651 function = "normal"; 652 power-source = <1>; /* 1.8V */ 653 input-disable; 654 output-enable; 655 }; 656 }; 657 658 &pmk8550_pwm { 659 status = "okay"; 660 }; 661 662 &pmk8550_gpios { 663 edp_bl_pwm: edp-bl-pwm-state { 664 pins = "gpio5"; 665 function = "func3"; 666 }; 667 }; 668 669 &qupv3_0 { 670 status = "okay"; 671 }; 672 673 &qupv3_1 { 674 status = "okay"; 675 }; 676 677 &qupv3_2 { 678 status = "okay"; 679 }; 680 681 &remoteproc_adsp { 682 firmware-name = "qcom/x1e80100/microso 683 "qcom/x1e80100/microso 684 685 status = "okay"; 686 }; 687 688 &remoteproc_cdsp { 689 firmware-name = "qcom/x1e80100/microso 690 "qcom/x1e80100/microso 691 692 status = "okay"; 693 }; 694 695 &smb2360_0_eusb2_repeater { 696 vdd18-supply = <&vreg_l3d>; 697 vdd3-supply = <&vreg_l2b>; 698 }; 699 700 &smb2360_1_eusb2_repeater { 701 vdd18-supply = <&vreg_l3d>; 702 vdd3-supply = <&vreg_l14b>; 703 }; 704 705 &tlmm { 706 gpio-reserved-ranges = <44 4>, /* SPI 707 <238 1>; /* UFS 708 709 nvme_reg_en: nvme-reg-en-state { 710 pins = "gpio18"; 711 function = "gpio"; 712 drive-strength = <2>; 713 bias-disable; 714 }; 715 716 edp_reg_en: edp-reg-en-state { 717 pins = "gpio70"; 718 function = "gpio"; 719 drive-strength = <16>; 720 bias-disable; 721 }; 722 723 ssam_state: ssam-state-state { 724 pins = "gpio91"; 725 function = "gpio"; 726 bias-disable; 727 }; 728 729 pcie6a_default: pcie6a-default-state { 730 perst-n-pins { 731 pins = "gpio152"; 732 function = "gpio"; 733 drive-strength = <2>; 734 bias-disable; 735 }; 736 737 clkreq-n-pins { 738 pins = "gpio153"; 739 function = "pcie6a_clk 740 drive-strength = <2>; 741 bias-pull-up; 742 }; 743 744 wake-n-pins { 745 pins = "gpio154"; 746 function = "gpio"; 747 drive-strength = <2>; 748 bias-pull-up; 749 }; 750 }; 751 752 cam_indicator_en: cam-indicator-en-sta 753 pins = "gpio225"; 754 function = "gpio"; 755 drive-strength = <2>; 756 bias-disable; 757 }; 758 }; 759 760 &uart2 { 761 status = "okay"; 762 763 embedded-controller { 764 compatible = "microsoft,surfac 765 766 interrupts-extended = <&tlmm 9 767 768 current-speed = <4000000>; 769 770 pinctrl-0 = <&ssam_state>; 771 pinctrl-names = "default"; 772 }; 773 }; 774 775 &usb_1_ss0_hsphy { 776 vdd-supply = <&vreg_l3j>; 777 vdda12-supply = <&vreg_l2j>; 778 779 phys = <&smb2360_0_eusb2_repeater>; 780 781 status = "okay"; 782 }; 783 784 &usb_1_ss0_qmpphy { 785 vdda-phy-supply = <&vreg_l3e>; 786 vdda-pll-supply = <&vreg_l1j>; 787 788 status = "okay"; 789 }; 790 791 &usb_1_ss0 { 792 status = "okay"; 793 }; 794 795 &usb_1_ss0_dwc3 { 796 dr_mode = "host"; 797 }; 798 799 &usb_1_ss0_dwc3_hs { 800 remote-endpoint = <&pmic_glink_ss0_hs_ 801 }; 802 803 &usb_1_ss0_qmpphy_out { 804 remote-endpoint = <&pmic_glink_ss0_ss_ 805 }; 806 807 &usb_1_ss1_hsphy { 808 vdd-supply = <&vreg_l3j>; 809 vdda12-supply = <&vreg_l2j>; 810 811 phys = <&smb2360_1_eusb2_repeater>; 812 813 status = "okay"; 814 }; 815 816 &usb_1_ss1_qmpphy { 817 vdda-phy-supply = <&vreg_l3e>; 818 vdda-pll-supply = <&vreg_l2d>; 819 820 status = "okay"; 821 }; 822 823 &usb_1_ss1 { 824 status = "okay"; 825 }; 826 827 &usb_1_ss1_dwc3 { 828 dr_mode = "host"; 829 }; 830 831 &usb_1_ss1_dwc3_hs { 832 remote-endpoint = <&pmic_glink_ss1_hs_ 833 }; 834 835 &usb_1_ss1_qmpphy_out { 836 remote-endpoint = <&pmic_glink_ss1_ss_ 837 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.