1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. 4 */ 5 6#include <dt-bindings/gpio/gpio.h> 7#include <dt-bindings/input/gpio-keys.h> 8#include <dt-bindings/input/input.h> 9#include <dt-bindings/leds/common.h> 10#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 11 12#include "x1e80100.dtsi" 13#include "x1e80100-pmics.dtsi" 14 15/ { 16 aliases { 17 serial0 = &uart2; 18 i2c0 = &i2c0; 19 i2c3 = &i2c3; 20 i2c4 = &i2c4; 21 i2c5 = &i2c5; 22 i2c7 = &i2c7; 23 }; 24 25 wcd938x: audio-codec { 26 compatible = "qcom,wcd9385-codec"; 27 28 reset-gpios = <&tlmm 191 GPIO_ACTIVE_LOW>; 29 30 qcom,micbias1-microvolt = <1800000>; 31 qcom,micbias2-microvolt = <1800000>; 32 qcom,micbias3-microvolt = <1800000>; 33 qcom,micbias4-microvolt = <1800000>; 34 qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>; 35 qcom,mbhc-headset-vthreshold-microvolt = <1700000>; 36 qcom,mbhc-headphone-vthreshold-microvolt = <50000>; 37 qcom,rx-device = <&wcd_rx>; 38 qcom,tx-device = <&wcd_tx>; 39 40 41 vdd-buck-supply = <&vreg_l15b>; 42 vdd-rxtx-supply = <&vreg_l15b>; 43 vdd-io-supply = <&vreg_l15b>; 44 vdd-mic-bias-supply = <&vreg_bob1>; 45 46 pinctrl-0 = <&wcd_default>; 47 pinctrl-names = "default"; 48 49 #sound-dai-cells = <1>; 50 }; 51 52 backlight: backlight { 53 compatible = "pwm-backlight"; 54 pwms = <&pmk8550_pwm 0 5000000>; 55 enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>; 56 /* TODO: power-supply? */ 57 58 pinctrl-0 = <&edp_bl_en>, <&edp_bl_pwm>; 59 pinctrl-names = "default"; 60 }; 61 62 gpio-keys { 63 compatible = "gpio-keys"; 64 65 pinctrl-0 = <&hall_int_n_default>; 66 pinctrl-names = "default"; 67 68 switch-lid { 69 gpios = <&tlmm 2 GPIO_ACTIVE_LOW>; 70 linux,input-type = <EV_SW>; 71 linux,code = <SW_LID>; 72 wakeup-source; 73 wakeup-event-action = <EV_ACT_DEASSERTED>; 74 }; 75 }; 76 77 leds { 78 compatible = "gpio-leds"; 79 80 pinctrl-names = "default"; 81 pinctrl-0 = <&cam_indicator_en>; 82 83 led-camera-indicator { 84 label = "white:camera-indicator"; 85 function = LED_FUNCTION_INDICATOR; 86 color = <LED_COLOR_ID_WHITE>; 87 gpios = <&tlmm 225 GPIO_ACTIVE_HIGH>; 88 linux,default-trigger = "none"; 89 default-state = "off"; 90 /* Reuse as a panic indicator until we get a "camera on" trigger */ 91 panic-indicator; 92 }; 93 }; 94 95 pmic-glink { 96 compatible = "qcom,x1e80100-pmic-glink", 97 "qcom,sm8550-pmic-glink", 98 "qcom,pmic-glink"; 99 #address-cells = <1>; 100 #size-cells = <0>; 101 orientation-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>, 102 <&tlmm 123 GPIO_ACTIVE_HIGH>; 103 104 /* Left-side rear port */ 105 connector@0 { 106 compatible = "usb-c-connector"; 107 reg = <0>; 108 power-role = "dual"; 109 data-role = "dual"; 110 111 ports { 112 #address-cells = <1>; 113 #size-cells = <0>; 114 115 port@0 { 116 reg = <0>; 117 118 pmic_glink_ss0_hs_in: endpoint { 119 remote-endpoint = <&usb_1_ss0_dwc3_hs>; 120 }; 121 }; 122 123 port@1 { 124 reg = <1>; 125 126 pmic_glink_ss0_ss_in: endpoint { 127 remote-endpoint = <&retimer_ss0_ss_out>; 128 }; 129 }; 130 131 port@2 { 132 reg = <2>; 133 134 pmic_glink_ss0_con_sbu_in: endpoint { 135 remote-endpoint = <&retimer_ss0_con_sbu_out>; 136 }; 137 }; 138 }; 139 }; 140 141 /* Left-side front port */ 142 connector@1 { 143 compatible = "usb-c-connector"; 144 reg = <1>; 145 power-role = "dual"; 146 data-role = "dual"; 147 148 ports { 149 #address-cells = <1>; 150 #size-cells = <0>; 151 152 port@0 { 153 reg = <0>; 154 155 pmic_glink_ss1_hs_in: endpoint { 156 remote-endpoint = <&usb_1_ss1_dwc3_hs>; 157 }; 158 }; 159 160 port@1 { 161 reg = <1>; 162 163 pmic_glink_ss1_ss_in: endpoint { 164 remote-endpoint = <&retimer_ss1_ss_out>; 165 }; 166 }; 167 168 port@2 { 169 reg = <2>; 170 171 pmic_glink_ss1_con_sbu_in: endpoint { 172 remote-endpoint = <&retimer_ss1_con_sbu_out>; 173 }; 174 }; 175 }; 176 }; 177 }; 178 179 reserved-memory { 180 linux,cma { 181 compatible = "shared-dma-pool"; 182 size = <0x0 0x8000000>; 183 reusable; 184 linux,cma-default; 185 }; 186 }; 187 188 vreg_edp_3p3: regulator-edp-3p3 { 189 compatible = "regulator-fixed"; 190 191 regulator-name = "VREG_EDP_3P3"; 192 regulator-min-microvolt = <3300000>; 193 regulator-max-microvolt = <3300000>; 194 195 gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>; 196 enable-active-high; 197 198 pinctrl-0 = <&edp_reg_en>; 199 pinctrl-names = "default"; 200 201 regulator-boot-on; 202 }; 203 204 vreg_rtmr0_1p15: regulator-rtmr0-1p15 { 205 compatible = "regulator-fixed"; 206 207 regulator-name = "VREG_RTMR0_1P15"; 208 209 regulator-min-microvolt = <1150000>; 210 regulator-max-microvolt = <1150000>; 211 212 gpio = <&pmc8380_5_gpios 8 GPIO_ACTIVE_HIGH>; 213 enable-active-high; 214 215 pinctrl-0 = <&rtmr0_1p15_reg_en>; 216 pinctrl-names = "default"; 217 218 regulator-boot-on; 219 }; 220 221 vreg_rtmr0_1p8: regulator-rtmr0-1p8 { 222 compatible = "regulator-fixed"; 223 224 regulator-name = "VREG_RTMR0_1P8"; 225 226 regulator-min-microvolt = <1800000>; 227 regulator-max-microvolt = <1800000>; 228 229 gpio = <&pm8550ve_9_gpios 8 GPIO_ACTIVE_HIGH>; 230 enable-active-high; 231 232 pinctrl-0 = <&rtmr0_1p8_reg_en>; 233 pinctrl-names = "default"; 234 235 regulator-boot-on; 236 }; 237 238 vreg_rtmr0_3p3: regulator-rtmr0-3p3 { 239 compatible = "regulator-fixed"; 240 241 regulator-name = "VREG_RTMR0_3P3"; 242 243 regulator-min-microvolt = <3300000>; 244 regulator-max-microvolt = <3300000>; 245 246 gpio = <&pm8550_gpios 11 GPIO_ACTIVE_HIGH>; 247 enable-active-high; 248 249 pinctrl-0 = <&rtmr0_3p3_reg_en>; 250 pinctrl-names = "default"; 251 252 regulator-boot-on; 253 }; 254 255 vreg_rtmr1_1p15: regulator-rtmr1-1p15 { 256 compatible = "regulator-fixed"; 257 258 regulator-name = "VREG_RTMR1_1P15"; 259 260 regulator-min-microvolt = <1150000>; 261 regulator-max-microvolt = <1150000>; 262 263 gpio = <&tlmm 188 GPIO_ACTIVE_HIGH>; 264 enable-active-high; 265 266 pinctrl-0 = <&rtmr1_1p15_reg_en>; 267 pinctrl-names = "default"; 268 269 regulator-boot-on; 270 }; 271 272 vreg_rtmr1_1p8: regulator-rtmr1-1p8 { 273 compatible = "regulator-fixed"; 274 275 regulator-name = "VREG_RTMR1_1P8"; 276 277 regulator-min-microvolt = <1800000>; 278 regulator-max-microvolt = <1800000>; 279 280 gpio = <&tlmm 175 GPIO_ACTIVE_HIGH>; 281 enable-active-high; 282 283 pinctrl-0 = <&rtmr1_1p8_reg_en>; 284 pinctrl-names = "default"; 285 286 regulator-boot-on; 287 }; 288 289 vreg_rtmr1_3p3: regulator-rtmr1-3p3 { 290 compatible = "regulator-fixed"; 291 292 regulator-name = "VREG_RTMR1_3P3"; 293 294 regulator-min-microvolt = <3300000>; 295 regulator-max-microvolt = <3300000>; 296 297 gpio = <&tlmm 186 GPIO_ACTIVE_HIGH>; 298 enable-active-high; 299 300 pinctrl-0 = <&rtmr1_3p3_reg_en>; 301 pinctrl-names = "default"; 302 303 regulator-boot-on; 304 }; 305 306 307 vreg_nvme: regulator-nvme { 308 compatible = "regulator-fixed"; 309 310 regulator-name = "VREG_NVME_3P3"; 311 regulator-min-microvolt = <3300000>; 312 regulator-max-microvolt = <3300000>; 313 314 gpio = <&tlmm 18 GPIO_ACTIVE_HIGH>; 315 enable-active-high; 316 317 pinctrl-0 = <&nvme_reg_en>; 318 pinctrl-names = "default"; 319 320 regulator-boot-on; 321 }; 322 323 vph_pwr: regulator-vph-pwr { 324 compatible = "regulator-fixed"; 325 326 regulator-name = "vph_pwr"; 327 regulator-min-microvolt = <3700000>; 328 regulator-max-microvolt = <3700000>; 329 330 regulator-always-on; 331 regulator-boot-on; 332 }; 333 334 sound { 335 compatible = "qcom,x1e80100-sndcard"; 336 model = "X1E80100-Romulus"; 337 audio-routing = "SpkrLeft IN", "WSA WSA_SPK1 OUT", 338 "SpkrRight IN", "WSA WSA_SPK2 OUT", 339 "IN1_HPHL", "HPHL_OUT", 340 "IN2_HPHR", "HPHR_OUT", 341 "AMIC2", "MIC BIAS2", 342 "VA DMIC0", "MIC BIAS3", 343 "VA DMIC1", "MIC BIAS3", 344 "VA DMIC0", "VA MIC BIAS3", 345 "VA DMIC1", "VA MIC BIAS3", 346 "TX SWR_INPUT1", "ADC2_OUTPUT"; 347 348 va-dai-link { 349 link-name = "VA Capture"; 350 351 cpu { 352 sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>; 353 }; 354 355 codec { 356 sound-dai = <&lpass_vamacro 0>; 357 }; 358 359 platform { 360 sound-dai = <&q6apm>; 361 }; 362 }; 363 364 wcd-capture-dai-link { 365 link-name = "WCD Capture"; 366 367 cpu { 368 sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>; 369 }; 370 371 codec { 372 sound-dai = <&wcd938x 1>, <&swr2 1>, <&lpass_txmacro 0>; 373 }; 374 375 platform { 376 sound-dai = <&q6apm>; 377 }; 378 }; 379 380 wcd-playback-dai-link { 381 link-name = "WCD Playback"; 382 383 cpu { 384 sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>; 385 }; 386 387 codec { 388 sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>; 389 }; 390 391 platform { 392 sound-dai = <&q6apm>; 393 }; 394 }; 395 396 wsa-dai-link { 397 link-name = "WSA Playback"; 398 399 cpu { 400 sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>; 401 }; 402 403 codec { 404 sound-dai = <&left_spkr>, <&right_spkr>, 405 <&swr0 0>, <&lpass_wsamacro 0>; 406 }; 407 408 platform { 409 sound-dai = <&q6apm>; 410 }; 411 }; 412 }; 413}; 414 415&apps_rsc { 416 regulators-0 { 417 compatible = "qcom,pm8550-rpmh-regulators"; 418 qcom,pmic-id = "b"; 419 420 vdd-bob1-supply = <&vph_pwr>; 421 vdd-bob2-supply = <&vph_pwr>; 422 vdd-l1-l4-l10-supply = <&vreg_s4c>; 423 vdd-l2-l13-l14-supply = <&vreg_bob1>; 424 vdd-l5-l16-supply = <&vreg_bob1>; 425 vdd-l6-l7-supply = <&vreg_bob2>; 426 vdd-l8-l9-supply = <&vreg_bob1>; 427 vdd-l12-supply = <&vreg_s5j>; 428 vdd-l15-supply = <&vreg_s4c>; 429 vdd-l17-supply = <&vreg_bob2>; 430 431 vreg_bob1: bob1 { 432 regulator-name = "vreg_bob1"; 433 regulator-min-microvolt = <3008000>; 434 regulator-max-microvolt = <3960000>; 435 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 436 }; 437 438 vreg_bob2: bob2 { 439 regulator-name = "vreg_bob2"; 440 regulator-min-microvolt = <2504000>; 441 regulator-max-microvolt = <3008000>; 442 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 443 }; 444 445 vreg_l1b: ldo1 { 446 regulator-name = "vreg_l1b"; 447 regulator-min-microvolt = <1800000>; 448 regulator-max-microvolt = <1800000>; 449 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 450 }; 451 452 vreg_l2b: ldo2 { 453 regulator-name = "vreg_l2b"; 454 regulator-min-microvolt = <3072000>; 455 regulator-max-microvolt = <3072000>; 456 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 457 }; 458 459 vreg_l4b: ldo4 { 460 regulator-name = "vreg_l4b"; 461 regulator-min-microvolt = <1800000>; 462 regulator-max-microvolt = <1800000>; 463 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 464 }; 465 466 vreg_l5b: ldo5 { 467 regulator-name = "vreg_l5b"; 468 regulator-min-microvolt = <3000000>; 469 regulator-max-microvolt = <3000000>; 470 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 471 }; 472 473 vreg_l6b: ldo6 { 474 regulator-name = "vreg_l6b"; 475 regulator-min-microvolt = <1800000>; 476 regulator-max-microvolt = <2960000>; 477 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 478 }; 479 480 vreg_l7b: ldo7 { 481 regulator-name = "vreg_l7b"; 482 regulator-min-microvolt = <2800000>; 483 regulator-max-microvolt = <2800000>; 484 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 485 }; 486 487 vreg_l8b: ldo8 { 488 regulator-name = "vreg_l8b"; 489 regulator-min-microvolt = <3072000>; 490 regulator-max-microvolt = <3072000>; 491 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 492 }; 493 494 vreg_l9b: ldo9 { 495 regulator-name = "vreg_l9b"; 496 regulator-min-microvolt = <2960000>; 497 regulator-max-microvolt = <2960000>; 498 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 499 }; 500 501 vreg_l10b: ldo10 { 502 regulator-name = "vreg_l10b"; 503 regulator-min-microvolt = <1800000>; 504 regulator-max-microvolt = <1800000>; 505 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 506 }; 507 508 vreg_l12b: ldo12 { 509 regulator-name = "vreg_l12b"; 510 regulator-min-microvolt = <1200000>; 511 regulator-max-microvolt = <1200000>; 512 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 513 regulator-always-on; 514 }; 515 516 vreg_l13b: ldo13 { 517 regulator-name = "vreg_l13b"; 518 regulator-min-microvolt = <3072000>; 519 regulator-max-microvolt = <3072000>; 520 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 521 }; 522 523 vreg_l14b: ldo14 { 524 regulator-name = "vreg_l14b"; 525 regulator-min-microvolt = <3072000>; 526 regulator-max-microvolt = <3072000>; 527 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 528 }; 529 530 vreg_l15b: ldo15 { 531 regulator-name = "vreg_l15b"; 532 regulator-min-microvolt = <1800000>; 533 regulator-max-microvolt = <1800000>; 534 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 535 regulator-always-on; 536 }; 537 538 vreg_l16b: ldo16 { 539 regulator-name = "vreg_l16b"; 540 regulator-min-microvolt = <2912000>; 541 regulator-max-microvolt = <2912000>; 542 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 543 }; 544 545 vreg_l17b: ldo17 { 546 regulator-name = "vreg_l17b"; 547 regulator-min-microvolt = <2504000>; 548 regulator-max-microvolt = <2504000>; 549 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 550 }; 551 }; 552 553 regulators-1 { 554 compatible = "qcom,pm8550ve-rpmh-regulators"; 555 qcom,pmic-id = "c"; 556 557 vdd-l1-supply = <&vreg_s5j>; 558 vdd-l2-supply = <&vreg_s1f>; 559 vdd-l3-supply = <&vreg_s1f>; 560 vdd-s4-supply = <&vph_pwr>; 561 562 vreg_s4c: smps4 { 563 regulator-name = "vreg_s4c"; 564 regulator-min-microvolt = <1856000>; 565 regulator-max-microvolt = <2000000>; 566 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 567 }; 568 569 vreg_l1c: ldo1 { 570 regulator-name = "vreg_l1c"; 571 regulator-min-microvolt = <1200000>; 572 regulator-max-microvolt = <1200000>; 573 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 574 }; 575 576 vreg_l2c: ldo2 { 577 regulator-name = "vreg_l2c"; 578 regulator-min-microvolt = <880000>; 579 regulator-max-microvolt = <920000>; 580 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 581 }; 582 583 vreg_l3c: ldo3 { 584 regulator-name = "vreg_l3c"; 585 regulator-min-microvolt = <912000>; 586 regulator-max-microvolt = <920000>; 587 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 588 }; 589 }; 590 591 regulators-2 { 592 compatible = "qcom,pmc8380-rpmh-regulators"; 593 qcom,pmic-id = "d"; 594 595 vdd-l1-supply = <&vreg_s1f>; 596 vdd-l2-supply = <&vreg_s1f>; 597 vdd-l3-supply = <&vreg_s4c>; 598 vdd-s1-supply = <&vph_pwr>; 599 600 vreg_l1d: ldo1 { 601 regulator-name = "vreg_l1d"; 602 regulator-min-microvolt = <880000>; 603 regulator-max-microvolt = <920000>; 604 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 605 }; 606 607 vreg_l2d: ldo2 { 608 regulator-name = "vreg_l2d"; 609 regulator-min-microvolt = <912000>; 610 regulator-max-microvolt = <920000>; 611 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 612 }; 613 614 vreg_l3d: ldo3 { 615 regulator-name = "vreg_l3d"; 616 regulator-min-microvolt = <1800000>; 617 regulator-max-microvolt = <1800000>; 618 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 619 }; 620 }; 621 622 regulators-3 { 623 compatible = "qcom,pmc8380-rpmh-regulators"; 624 qcom,pmic-id = "e"; 625 626 vdd-l2-supply = <&vreg_s1f>; 627 vdd-l3-supply = <&vreg_s5j>; 628 629 vreg_l2e: ldo2 { 630 regulator-name = "vreg_l2e"; 631 regulator-min-microvolt = <880000>; 632 regulator-max-microvolt = <920000>; 633 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 634 }; 635 636 vreg_l3e: ldo3 { 637 regulator-name = "vreg_l3e"; 638 regulator-min-microvolt = <1200000>; 639 regulator-max-microvolt = <1200000>; 640 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 641 }; 642 }; 643 644 regulators-4 { 645 compatible = "qcom,pmc8380-rpmh-regulators"; 646 qcom,pmic-id = "f"; 647 648 vdd-l1-supply = <&vreg_s5j>; 649 vdd-l2-supply = <&vreg_s5j>; 650 vdd-l3-supply = <&vreg_s5j>; 651 vdd-s1-supply = <&vph_pwr>; 652 653 vreg_s1f: smps1 { 654 regulator-name = "vreg_s1f"; 655 regulator-min-microvolt = <700000>; 656 regulator-max-microvolt = <1100000>; 657 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 658 }; 659 660 vreg_l1f: ldo1 { 661 regulator-name = "vreg_l1f"; 662 regulator-min-microvolt = <1024000>; 663 regulator-max-microvolt = <1024000>; 664 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 665 }; 666 667 vreg_l2f: ldo2 { 668 regulator-name = "vreg_l2f"; 669 regulator-min-microvolt = <1024000>; 670 regulator-max-microvolt = <1024000>; 671 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 672 }; 673 674 vreg_l3f: ldo3 { 675 regulator-name = "vreg_l3f"; 676 regulator-min-microvolt = <1024000>; 677 regulator-max-microvolt = <1024000>; 678 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 679 }; 680 }; 681 682 regulators-6 { 683 compatible = "qcom,pm8550ve-rpmh-regulators"; 684 qcom,pmic-id = "i"; 685 686 vdd-l1-supply = <&vreg_s4c>; 687 vdd-l2-supply = <&vreg_s5j>; 688 vdd-l3-supply = <&vreg_s1f>; 689 vdd-s1-supply = <&vph_pwr>; 690 vdd-s2-supply = <&vph_pwr>; 691 692 vreg_s1i: smps1 { 693 regulator-name = "vreg_s1i"; 694 regulator-min-microvolt = <900000>; 695 regulator-max-microvolt = <920000>; 696 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 697 }; 698 699 vreg_s2i: smps2 { 700 regulator-name = "vreg_s2i"; 701 regulator-min-microvolt = <1000000>; 702 regulator-max-microvolt = <1100000>; 703 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 704 }; 705 706 vreg_l1i: ldo1 { 707 regulator-name = "vreg_l1i"; 708 regulator-min-microvolt = <1800000>; 709 regulator-max-microvolt = <1800000>; 710 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 711 }; 712 713 vreg_l2i: ldo2 { 714 regulator-name = "vreg_l2i"; 715 regulator-min-microvolt = <1200000>; 716 regulator-max-microvolt = <1200000>; 717 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 718 }; 719 720 vreg_l3i: ldo3 { 721 regulator-name = "vreg_l3i"; 722 regulator-min-microvolt = <880000>; 723 regulator-max-microvolt = <920000>; 724 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 725 }; 726 }; 727 728 regulators-7 { 729 compatible = "qcom,pm8550ve-rpmh-regulators"; 730 qcom,pmic-id = "j"; 731 732 vdd-l1-supply = <&vreg_s1f>; 733 vdd-l2-supply = <&vreg_s5j>; 734 vdd-l3-supply = <&vreg_s1f>; 735 vdd-s5-supply = <&vph_pwr>; 736 737 vreg_s5j: smps5 { 738 regulator-name = "vreg_s5j"; 739 regulator-min-microvolt = <1256000>; 740 regulator-max-microvolt = <1304000>; 741 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 742 }; 743 744 vreg_l1j: ldo1 { 745 regulator-name = "vreg_l1j"; 746 regulator-min-microvolt = <912000>; 747 regulator-max-microvolt = <920000>; 748 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 749 }; 750 751 vreg_l2j: ldo2 { 752 regulator-name = "vreg_l2j"; 753 regulator-min-microvolt = <1256000>; 754 regulator-max-microvolt = <1256000>; 755 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 756 }; 757 758 vreg_l3j: ldo3 { 759 regulator-name = "vreg_l3j"; 760 regulator-min-microvolt = <880000>; 761 regulator-max-microvolt = <920000>; 762 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 763 }; 764 }; 765}; 766 767&gpu { 768 status = "okay"; 769 770 zap-shader { 771 memory-region = <&gpu_microcode_mem>; 772 firmware-name = "qcom/x1e80100/microsoft/qcdxkmsuc8380.mbn"; 773 }; 774}; 775 776&i2c0 { 777 clock-frequency = <100000>; 778 779 status = "okay"; 780 781 /* Something @39, @3e, @44 */ 782}; 783 784&i2c3 { 785 clock-frequency = <400000>; 786 787 status = "okay"; 788 789 /* Left-side rear port */ 790 typec-mux@8 { 791 compatible = "parade,ps8830"; 792 reg = <0x8>; 793 794 reset-gpios = <&pm8550_gpios 10 GPIO_ACTIVE_LOW>; 795 796 clocks = <&rpmhcc RPMH_RF_CLK3>; 797 798 vdd-supply = <&vreg_rtmr0_1p15>; 799 vdd33-supply = <&vreg_rtmr0_3p3>; 800 vdd33-cap-supply = <&vreg_rtmr0_3p3>; 801 vddar-supply = <&vreg_rtmr0_1p15>; 802 vddat-supply = <&vreg_rtmr0_1p15>; 803 vddio-supply = <&vreg_rtmr0_1p8>; 804 805 pinctrl-0 = <&rtmr0_default>; 806 pinctrl-names = "default"; 807 808 retimer-switch; 809 orientation-switch; 810 811 ports { 812 #address-cells = <1>; 813 #size-cells = <0>; 814 815 port@0 { 816 reg = <0>; 817 818 retimer_ss0_ss_out: endpoint { 819 remote-endpoint = <&pmic_glink_ss0_ss_in>; 820 }; 821 }; 822 823 port@1 { 824 reg = <1>; 825 826 retimer_ss0_ss_in: endpoint { 827 remote-endpoint = <&usb_1_ss0_qmpphy_out>; 828 }; 829 }; 830 831 port@2 { 832 reg = <2>; 833 834 retimer_ss0_con_sbu_out: endpoint { 835 remote-endpoint = <&pmic_glink_ss0_con_sbu_in>; 836 }; 837 }; 838 }; 839 }; 840 841}; 842 843&i2c4 { 844 clock-frequency = <400000>; 845 846 status = "okay"; 847 848 /* Something @18, @2c, @2e */ 849}; 850 851&i2c5 { 852 clock-frequency = <400000>; 853 854 status = "okay"; 855 856 ptn3222: redriver@4f { 857 compatible = "nxp,ptn3222"; 858 reg = <0x4f>; 859 860 reset-gpios = <&tlmm 7 GPIO_ACTIVE_LOW>; 861 862 vdd3v3-supply = <&vreg_l13b>; 863 vdd1v8-supply = <&vreg_l4b>; 864 865 #phy-cells = <0>; 866 }; 867}; 868 869&i2c7 { 870 clock-frequency = <400000>; 871 872 status = "okay"; 873 874 /* Left-side front port */ 875 typec-mux@8 { 876 compatible = "parade,ps8830"; 877 reg = <0x8>; 878 879 reset-gpios = <&tlmm 176 GPIO_ACTIVE_LOW>; 880 881 clocks = <&rpmhcc RPMH_RF_CLK4>; 882 883 vdd-supply = <&vreg_rtmr1_1p15>; 884 vdd33-supply = <&vreg_rtmr1_3p3>; 885 vdd33-cap-supply = <&vreg_rtmr1_3p3>; 886 vddar-supply = <&vreg_rtmr1_1p15>; 887 vddat-supply = <&vreg_rtmr1_1p15>; 888 vddio-supply = <&vreg_rtmr1_1p8>; 889 890 retimer-switch; 891 orientation-switch; 892 893 ports { 894 #address-cells = <1>; 895 #size-cells = <0>; 896 897 port@0 { 898 reg = <0>; 899 900 retimer_ss1_ss_out: endpoint { 901 remote-endpoint = <&pmic_glink_ss1_ss_in>; 902 }; 903 }; 904 905 port@1 { 906 reg = <1>; 907 908 retimer_ss1_ss_in: endpoint { 909 remote-endpoint = <&usb_1_ss1_qmpphy_out>; 910 }; 911 }; 912 913 port@2 { 914 reg = <2>; 915 916 retimer_ss1_con_sbu_out: endpoint { 917 remote-endpoint = <&pmic_glink_ss1_con_sbu_in>; 918 }; 919 }; 920 }; 921 }; 922}; 923 924&lpass_tlmm { 925 spkr_01_sd_n_active: spkr-01-sd-n-active-state { 926 pins = "gpio12"; 927 function = "gpio"; 928 drive-strength = <16>; 929 bias-disable; 930 output-low; 931 }; 932}; 933 934&lpass_vamacro { 935 qcom,dmic-sample-rate = <4800000>; 936 937 vdd-micb-supply = <&vreg_l1b>; 938 939 pinctrl-0 = <&dmic01_default>; 940 pinctrl-names = "default"; 941}; 942 943&mdss { 944 status = "okay"; 945}; 946 947&mdss_dp0 { 948 status = "okay"; 949}; 950 951&mdss_dp0_out { 952 data-lanes = <0 1>; 953 link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>; 954}; 955 956&mdss_dp1 { 957 status = "okay"; 958}; 959 960&mdss_dp1_out { 961 data-lanes = <0 1>; 962 link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>; 963}; 964 965&mdss_dp3 { 966 /delete-property/ #sound-dai-cells; 967 968 status = "okay"; 969 970 aux-bus { 971 panel { 972 compatible = "edp-panel"; 973 974 backlight = <&backlight>; 975 power-supply = <&vreg_edp_3p3>; 976 977 port { 978 edp_panel_in: endpoint { 979 remote-endpoint = <&mdss_dp3_out>; 980 }; 981 }; 982 }; 983 }; 984 985 ports { 986 port@1 { 987 reg = <1>; 988 989 mdss_dp3_out: endpoint { 990 data-lanes = <0 1 2 3>; 991 link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>; 992 993 remote-endpoint = <&edp_panel_in>; 994 }; 995 }; 996 }; 997}; 998 999&mdss_dp3_phy { 1000 vdda-phy-supply = <&vreg_l3j>; 1001 vdda-pll-supply = <&vreg_l2j>; 1002 1003 status = "okay"; 1004}; 1005 1006&pcie3 { 1007 perst-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>; 1008 wake-gpios = <&tlmm 145 GPIO_ACTIVE_HIGH>; 1009 1010 pinctrl-0 = <&pcie3_default>; 1011 pinctrl-names = "default"; 1012 1013 /* The RTS5261 chip on the other side only does Gen1x1 anyway */ 1014 max-link-speed = <1>; 1015 status = "okay"; 1016}; 1017 1018&pcie3_phy { 1019 vdda-phy-supply = <&vreg_l3c>; 1020 vdda-pll-supply = <&vreg_l3e>; 1021 1022 status = "okay"; 1023}; 1024 1025&pcie4 { 1026 status = "okay"; 1027}; 1028 1029&pcie4_phy { 1030 vdda-phy-supply = <&vreg_l3i>; 1031 vdda-pll-supply = <&vreg_l3e>; 1032 1033 status = "okay"; 1034}; 1035 1036&pcie6a { 1037 perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>; 1038 wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>; 1039 1040 vddpe-3v3-supply = <&vreg_nvme>; 1041 1042 pinctrl-0 = <&pcie6a_default>; 1043 pinctrl-names = "default"; 1044 1045 status = "okay"; 1046}; 1047 1048&pcie6a_phy { 1049 vdda-phy-supply = <&vreg_l1d>; 1050 vdda-pll-supply = <&vreg_l2j>; 1051 1052 status = "okay"; 1053}; 1054 1055&pm8550_gpios { 1056 rtmr0_default: rtmr0-reset-n-active-state { 1057 pins = "gpio10"; 1058 function = "normal"; 1059 power-source = <1>; /* 1.8V */ 1060 }; 1061 1062 rtmr0_3p3_reg_en: rtmr0-3p3-reg-en-state { 1063 pins = "gpio11"; 1064 function = "normal"; 1065 power-source = <1>; /* 1.8V */ 1066 }; 1067}; 1068 1069&pm8550ve_9_gpios { 1070 rtmr0_1p8_reg_en: rtmr0-1p8-reg-en-state { 1071 pins = "gpio8"; 1072 function = "normal"; 1073 power-source = <1>; /* 1.8V */ 1074 }; 1075}; 1076 1077&pmc8380_3_gpios { 1078 edp_bl_en: edp-bl-en-state { 1079 pins = "gpio4"; 1080 function = "normal"; 1081 power-source = <1>; /* 1.8V */ 1082 input-disable; 1083 output-enable; 1084 }; 1085}; 1086 1087&pmc8380_5_gpios { 1088 rtmr0_1p15_reg_en: rtmr0-1p15-reg-en-state { 1089 pins = "gpio8"; 1090 function = "normal"; 1091 power-source = <1>; /* 1.8V */ 1092 }; 1093}; 1094 1095&pmk8550_pwm { 1096 status = "okay"; 1097}; 1098 1099&pmk8550_gpios { 1100 edp_bl_pwm: edp-bl-pwm-state { 1101 pins = "gpio5"; 1102 function = "func3"; 1103 }; 1104}; 1105 1106&qupv3_0 { 1107 status = "okay"; 1108}; 1109 1110&qupv3_1 { 1111 status = "okay"; 1112}; 1113 1114&qupv3_2 { 1115 status = "okay"; 1116}; 1117 1118&remoteproc_adsp { 1119 firmware-name = "qcom/x1e80100/microsoft/Romulus/qcadsp8380.mbn", 1120 "qcom/x1e80100/microsoft/Romulus/adsp_dtbs.elf"; 1121 1122 status = "okay"; 1123}; 1124 1125&remoteproc_cdsp { 1126 firmware-name = "qcom/x1e80100/microsoft/Romulus/qccdsp8380.mbn", 1127 "qcom/x1e80100/microsoft/Romulus/cdsp_dtbs.elf"; 1128 1129 status = "okay"; 1130}; 1131 1132&smb2360_0 { 1133 status = "okay"; 1134}; 1135 1136&smb2360_0_eusb2_repeater { 1137 vdd18-supply = <&vreg_l3d>; 1138 vdd3-supply = <&vreg_l2b>; 1139}; 1140 1141&smb2360_1 { 1142 status = "okay"; 1143}; 1144 1145&smb2360_1_eusb2_repeater { 1146 vdd18-supply = <&vreg_l3d>; 1147 vdd3-supply = <&vreg_l14b>; 1148}; 1149 1150&smb2360_2 { 1151 status = "okay"; 1152}; 1153 1154&smb2360_2_eusb2_repeater { 1155 vdd18-supply = <&vreg_l3d>; 1156 vdd3-supply = <&vreg_l8b>; 1157}; 1158 1159&swr0 { 1160 pinctrl-0 = <&wsa_swr_active>, <&spkr_01_sd_n_active>; 1161 pinctrl-names = "default"; 1162 1163 status = "okay"; 1164 1165 /* WSA8845, Left speaker */ 1166 left_spkr: speaker@0,0 { 1167 compatible = "sdw20217020400"; 1168 reg = <0 0>; 1169 reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>; 1170 #sound-dai-cells = <0>; 1171 sound-name-prefix = "SpkrLeft"; 1172 vdd-1p8-supply = <&vreg_l15b>; 1173 vdd-io-supply = <&vreg_l12b>; 1174 qcom,port-mapping = <1 2 3 7 10 13>; 1175 }; 1176 1177 /* WSA8845, Right speaker */ 1178 right_spkr: speaker@0,1 { 1179 compatible = "sdw20217020400"; 1180 reg = <0 1>; 1181 reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>; 1182 #sound-dai-cells = <0>; 1183 sound-name-prefix = "SpkrRight"; 1184 vdd-1p8-supply = <&vreg_l15b>; 1185 vdd-io-supply = <&vreg_l12b>; 1186 qcom,port-mapping = <4 5 6 7 11 13>; 1187 }; 1188}; 1189 1190&swr1 { 1191 status = "okay"; 1192 1193 /* WCD9385 RX */ 1194 wcd_rx: codec@0,4 { 1195 compatible = "sdw20217010d00"; 1196 reg = <0 4>; 1197 qcom,rx-port-mapping = <1 2 3 4 5>; 1198 }; 1199}; 1200 1201&swr2 { 1202 status = "okay"; 1203 1204 /* WCD9385 TX */ 1205 wcd_tx: codec@0,3 { 1206 compatible = "sdw20217010d00"; 1207 reg = <0 3>; 1208 qcom,tx-port-mapping = <2 2 3 4>; 1209 }; 1210}; 1211 1212&tlmm { 1213 gpio-reserved-ranges = <44 4>, /* SPI (TPM) */ 1214 <238 1>; /* UFS Reset */ 1215 1216 hall_int_n_default: hall-int-n-state { 1217 pins = "gpio2"; 1218 function = "gpio"; 1219 bias-disable; 1220 }; 1221 1222 nvme_reg_en: nvme-reg-en-state { 1223 pins = "gpio18"; 1224 function = "gpio"; 1225 drive-strength = <2>; 1226 bias-disable; 1227 }; 1228 1229 edp_reg_en: edp-reg-en-state { 1230 pins = "gpio70"; 1231 function = "gpio"; 1232 drive-strength = <16>; 1233 bias-disable; 1234 }; 1235 1236 ssam_state: ssam-state-state { 1237 pins = "gpio91"; 1238 function = "gpio"; 1239 bias-disable; 1240 }; 1241 1242 pcie3_default: pcie3-default-state { 1243 perst-n-pins { 1244 pins = "gpio143"; 1245 function = "gpio"; 1246 drive-strength = <2>; 1247 bias-disable; 1248 }; 1249 1250 clkreq-n-pins { 1251 pins = "gpio144"; 1252 function = "pcie3_clk"; 1253 drive-strength = <2>; 1254 bias-pull-up; 1255 }; 1256 1257 wake-n-pins { 1258 pins = "gpio145"; 1259 function = "gpio"; 1260 drive-strength = <2>; 1261 bias-pull-up; 1262 }; 1263 }; 1264 1265 pcie6a_default: pcie6a-default-state { 1266 perst-n-pins { 1267 pins = "gpio152"; 1268 function = "gpio"; 1269 drive-strength = <2>; 1270 bias-disable; 1271 }; 1272 1273 clkreq-n-pins { 1274 pins = "gpio153"; 1275 function = "pcie6a_clk"; 1276 drive-strength = <2>; 1277 bias-pull-up; 1278 }; 1279 1280 wake-n-pins { 1281 pins = "gpio154"; 1282 function = "gpio"; 1283 drive-strength = <2>; 1284 bias-pull-up; 1285 }; 1286 }; 1287 1288 rtmr1_1p8_reg_en: rtmr1-1p8-reg-en-state { 1289 pins = "gpio175"; 1290 function = "gpio"; 1291 drive-strength = <2>; 1292 bias-disable; 1293 }; 1294 1295 rtmr1_3p3_reg_en: rtmr1-3p3-reg-en-state { 1296 pins = "gpio186"; 1297 function = "gpio"; 1298 drive-strength = <2>; 1299 bias-disable; 1300 }; 1301 1302 rtmr1_1p15_reg_en: rtmr1-1p15-reg-en-state { 1303 pins = "gpio188"; 1304 function = "gpio"; 1305 drive-strength = <2>; 1306 bias-disable; 1307 }; 1308 1309 wcd_default: wcd-reset-n-active-state { 1310 pins = "gpio191"; 1311 function = "gpio"; 1312 drive-strength = <16>; 1313 bias-disable; 1314 output-low; 1315 }; 1316 1317 cam_indicator_en: cam-indicator-en-state { 1318 pins = "gpio225"; 1319 function = "gpio"; 1320 drive-strength = <2>; 1321 bias-disable; 1322 }; 1323}; 1324 1325&uart2 { 1326 status = "okay"; 1327 1328 embedded-controller { 1329 compatible = "microsoft,surface-sam"; 1330 1331 interrupts-extended = <&tlmm 91 IRQ_TYPE_EDGE_RISING>; 1332 1333 current-speed = <4000000>; 1334 1335 pinctrl-0 = <&ssam_state>; 1336 pinctrl-names = "default"; 1337 }; 1338}; 1339 1340&usb_1_ss0_hsphy { 1341 vdd-supply = <&vreg_l3j>; 1342 vdda12-supply = <&vreg_l2j>; 1343 1344 phys = <&smb2360_0_eusb2_repeater>; 1345 1346 status = "okay"; 1347}; 1348 1349&usb_1_ss0_qmpphy { 1350 vdda-phy-supply = <&vreg_l2j>; 1351 vdda-pll-supply = <&vreg_l1j>; 1352 1353 status = "okay"; 1354}; 1355 1356&usb_1_ss0 { 1357 status = "okay"; 1358}; 1359 1360&usb_1_ss0_dwc3 { 1361 dr_mode = "host"; 1362}; 1363 1364&usb_1_ss0_dwc3_hs { 1365 remote-endpoint = <&pmic_glink_ss0_hs_in>; 1366}; 1367 1368&usb_1_ss0_qmpphy_out { 1369 remote-endpoint = <&retimer_ss0_ss_in>; 1370}; 1371 1372&usb_1_ss1_hsphy { 1373 vdd-supply = <&vreg_l3j>; 1374 vdda12-supply = <&vreg_l2j>; 1375 1376 phys = <&smb2360_1_eusb2_repeater>; 1377 1378 status = "okay"; 1379}; 1380 1381&usb_1_ss1_qmpphy { 1382 vdda-phy-supply = <&vreg_l2j>; 1383 vdda-pll-supply = <&vreg_l2d>; 1384 1385 status = "okay"; 1386}; 1387 1388&usb_1_ss1 { 1389 status = "okay"; 1390}; 1391 1392&usb_1_ss1_dwc3 { 1393 dr_mode = "host"; 1394}; 1395 1396&usb_1_ss1_dwc3_hs { 1397 remote-endpoint = <&pmic_glink_ss1_hs_in>; 1398}; 1399 1400&usb_1_ss1_qmpphy_out { 1401 remote-endpoint = <&retimer_ss1_ss_in>; 1402}; 1403 1404/* MP0 goes to the Surface Connector, MP1 goes to the USB-A port */ 1405&usb_mp { 1406 status = "okay"; 1407}; 1408 1409&usb_mp_hsphy0 { 1410 vdd-supply = <&vreg_l2e>; 1411 vdda12-supply = <&vreg_l2j>; 1412 1413 phys = <&smb2360_2_eusb2_repeater>; 1414 1415 status = "okay"; 1416}; 1417 1418&usb_mp_hsphy1 { 1419 vdd-supply = <&vreg_l2e>; 1420 vdda12-supply = <&vreg_l2j>; 1421 1422 phys = <&ptn3222>; 1423 1424 status = "okay"; 1425}; 1426 1427&usb_mp_qmpphy0 { 1428 vdda-phy-supply = <&vreg_l3e>; 1429 vdda-pll-supply = <&vreg_l3c>; 1430 1431 status = "okay"; 1432}; 1433 1434&usb_mp_qmpphy1 { 1435 vdda-phy-supply = <&vreg_l3e>; 1436 vdda-pll-supply = <&vreg_l3c>; 1437 1438 status = "okay"; 1439}; 1440