1 // SPDX-License-Identifier: GPL-2.0 2 /* 3 * Copyright (c) 2022, Alexander Martinz <amart 4 * Copyright (c) 2022, Caleb Connolly <caleb@co 5 * Copyright (c) 2022, Dylan Van Assche <me@dyl 6 */ 7 8 /dts-v1/; 9 10 #include <dt-bindings/gpio/gpio.h> 11 #include <dt-bindings/leds/common.h> 12 #include <dt-bindings/regulator/qcom,rpmh-regu 13 #include "sdm845.dtsi" 14 #include "pm8998.dtsi" 15 #include "pmi8998.dtsi" 16 17 / { 18 model = "SHIFT SHIFT6mq"; 19 compatible = "shift,axolotl", "qcom,sd 20 qcom,msm-id = <321 0x20001>; 21 qcom,board-id = <11 0>; 22 23 aliases { 24 display0 = &framebuffer0; 25 serial0 = &uart9; 26 serial1 = &uart6; 27 }; 28 29 chosen { 30 #address-cells = <2>; 31 #size-cells = <2>; 32 ranges; 33 34 stdout-path = "serial0"; 35 36 /* Use framebuffer setup by th 37 framebuffer0: framebuffer@9d40 38 compatible = "simple-f 39 reg = <0x0 0x9d400000 40 width = <1080>; 41 height = <2160>; 42 stride = <(1080 * 4)>; 43 format = "a8r8g8b8"; 44 }; 45 }; 46 47 gpio-keys { 48 compatible = "gpio-keys"; 49 autorepeat; 50 51 pinctrl-names = "default"; 52 pinctrl-0 = <&volume_up_gpio>; 53 54 key-vol-up { 55 label = "volume_up"; 56 linux,code = <KEY_VOLU 57 gpios = <&pm8998_gpios 58 debounce-interval = <1 59 }; 60 }; 61 62 reserved-memory { 63 framebuffer@9d400000 { 64 reg = <0x0 0x9d400000 65 no-map; 66 }; 67 68 ramoops: ramoops@b0000000 { 69 compatible = "ramoops" 70 reg = <0 0xb0000000 0 71 record-size = <0x40000 72 console-size = <0x4000 73 ftrace-size = <0x40000 74 pmsg-size = <0x200000> 75 ecc-size = <0x0>; 76 }; 77 }; 78 79 battery: battery { 80 compatible = "simple-battery"; 81 82 charge-full-design-microamp-ho 83 voltage-min-design-microvolt = 84 voltage-max-design-microvolt = 85 }; 86 87 vph_pwr: vph-pwr-regulator { 88 compatible = "regulator-fixed" 89 regulator-name = "vph_pwr"; 90 regulator-min-microvolt = <370 91 regulator-max-microvolt = <370 92 }; 93 94 vreg_s4a_1p8: pm8998-smps4 { 95 compatible = "regulator-fixed" 96 regulator-name = "vreg_s4a_1p8 97 98 regulator-min-microvolt = <180 99 regulator-max-microvolt = <180 100 101 regulator-always-on; 102 regulator-boot-on; 103 104 vin-supply = <&vph_pwr>; 105 }; 106 }; 107 108 &adsp_pas { 109 status = "okay"; 110 firmware-name = "qcom/sdm845/axolotl/a 111 }; 112 113 &apps_rsc { 114 regulators-0 { 115 compatible = "qcom,pm8998-rpmh 116 qcom,pmic-id = "a"; 117 118 vdd-s1-supply = <&vph_pwr>; 119 vdd-s2-supply = <&vph_pwr>; 120 vdd-s3-supply = <&vph_pwr>; 121 vdd-s4-supply = <&vph_pwr>; 122 vdd-s5-supply = <&vph_pwr>; 123 vdd-s6-supply = <&vph_pwr>; 124 vdd-s7-supply = <&vph_pwr>; 125 vdd-s8-supply = <&vph_pwr>; 126 vdd-s9-supply = <&vph_pwr>; 127 vdd-s10-supply = <&vph_pwr>; 128 vdd-s11-supply = <&vph_pwr>; 129 vdd-s12-supply = <&vph_pwr>; 130 vdd-s13-supply = <&vph_pwr>; 131 vdd-l1-l27-supply = <&vreg_s7a 132 vdd-l2-l8-l17-supply = <&vreg_ 133 vdd-l3-l11-supply = <&vreg_s7a 134 vdd-l4-l5-supply = <&vreg_s7a_ 135 vdd-l6-supply = <&vph_pwr>; 136 vdd-l7-l12-l14-l15-supply = <& 137 vdd-l9-supply = <&vreg_bob>; 138 vdd-l10-l23-l25-supply = <&vre 139 vdd-l13-l19-l21-supply = <&vre 140 vdd-l16-l28-supply = <&vreg_bo 141 vdd-l18-l22-supply = <&vreg_bo 142 vdd-l20-l24-supply = <&vreg_bo 143 vdd-l26-supply = <&vreg_s3a_1p 144 vin-lvs-1-2-supply = <&vreg_s4 145 146 vreg_s2a_1p125: smps2 { 147 regulator-min-microvol 148 regulator-max-microvol 149 }; 150 151 vreg_s3a_1p35: smps3 { 152 regulator-min-microvol 153 regulator-max-microvol 154 }; 155 156 vreg_s5a_2p04: smps5 { 157 regulator-min-microvol 158 regulator-max-microvol 159 }; 160 161 vreg_s7a_1p025: smps7 { 162 regulator-min-microvol 163 regulator-max-microvol 164 }; 165 166 vdd_qusb_hs0: 167 vdda_hp_pcie_core: 168 vdda_mipi_csi0_0p9: 169 vdda_mipi_csi1_0p9: 170 vdda_mipi_csi2_0p9: 171 vdda_mipi_dsi0_pll: 172 vdda_mipi_dsi1_pll: 173 vdda_qlink_lv: 174 vdda_qlink_lv_ck: 175 vdda_qrefs_0p875: 176 vdda_pcie_core: 177 vdda_pll_cc_ebi01: 178 vdda_pll_cc_ebi23: 179 vdda_sp_sensor: 180 vdda_ufs1_core: 181 vdda_ufs2_core: 182 vdda_usb1_ss_core: 183 vdda_usb2_ss_core: 184 vreg_l1a_0p875: ldo1 { 185 regulator-min-microvol 186 regulator-max-microvol 187 regulator-initial-mode 188 }; 189 190 vddpx_10: 191 vreg_l2a_1p2: ldo2 { 192 regulator-min-microvol 193 regulator-max-microvol 194 regulator-initial-mode 195 regulator-always-on; 196 }; 197 198 vreg_l3a_1p0: ldo3 { 199 regulator-min-microvol 200 regulator-max-microvol 201 regulator-initial-mode 202 }; 203 204 vdd_wcss_cx: 205 vdd_wcss_mx: 206 vdda_wcss_pll: 207 vreg_l5a_0p8: ldo5 { 208 regulator-min-microvol 209 regulator-max-microvol 210 regulator-initial-mode 211 }; 212 213 vddpx_13: 214 vreg_l6a_1p8: ldo6 { 215 regulator-min-microvol 216 regulator-max-microvol 217 regulator-initial-mode 218 }; 219 220 vreg_l7a_1p8: ldo7 { 221 regulator-min-microvol 222 regulator-max-microvol 223 regulator-initial-mode 224 }; 225 226 vreg_l8a_1p2: ldo8 { 227 regulator-min-microvol 228 regulator-max-microvol 229 regulator-initial-mode 230 }; 231 232 vreg_l9a_1p8: ldo9 { 233 regulator-min-microvol 234 regulator-max-microvol 235 regulator-initial-mode 236 }; 237 238 vreg_l10a_1p8: ldo10 { 239 regulator-min-microvol 240 regulator-max-microvol 241 regulator-initial-mode 242 }; 243 244 vreg_l11a_1p0: ldo11 { 245 regulator-min-microvol 246 regulator-max-microvol 247 regulator-initial-mode 248 }; 249 250 vdd_qfprom: 251 vdd_qfprom_sp: 252 vdda_apc1_cs_1p8: 253 vdda_gfx_cs_1p8: 254 vdda_qrefs_1p8: 255 vdda_qusb_hs0_1p8: 256 vddpx_11: 257 vreg_l12a_1p8: ldo12 { 258 regulator-min-microvol 259 regulator-max-microvol 260 regulator-initial-mode 261 }; 262 263 vddpx_2: 264 vreg_l13a_2p95: ldo13 { 265 regulator-min-microvol 266 regulator-max-microvol 267 regulator-initial-mode 268 }; 269 270 vreg_l14a_1p88: ldo14 { 271 regulator-min-microvol 272 regulator-max-microvol 273 regulator-initial-mode 274 }; 275 276 vreg_l15a_1p8: ldo15 { 277 regulator-min-microvol 278 regulator-max-microvol 279 regulator-initial-mode 280 }; 281 282 vreg_l16a_2p7: ldo16 { 283 regulator-min-microvol 284 regulator-max-microvol 285 regulator-initial-mode 286 }; 287 288 vreg_l17a_1p3: ldo17 { 289 regulator-min-microvol 290 regulator-max-microvol 291 regulator-initial-mode 292 }; 293 294 vreg_l18a_2p7: ldo18 { 295 regulator-min-microvol 296 regulator-max-microvol 297 regulator-initial-mode 298 }; 299 300 vreg_l19a_3p0: ldo19 { 301 regulator-min-microvol 302 regulator-max-microvol 303 regulator-initial-mode 304 }; 305 306 vreg_l20a_2p95: ldo20 { 307 regulator-min-microvol 308 regulator-max-microvol 309 regulator-initial-mode 310 }; 311 312 vreg_l21a_2p95: ldo21 { 313 regulator-min-microvol 314 regulator-max-microvol 315 regulator-initial-mode 316 }; 317 318 vreg_l22a_2p85: ldo22 { 319 regulator-min-microvol 320 regulator-max-microvol 321 regulator-initial-mode 322 }; 323 324 vreg_l23a_3p3: ldo23 { 325 regulator-min-microvol 326 regulator-max-microvol 327 regulator-initial-mode 328 }; 329 330 vdda_qusb_hs0_3p1: 331 vreg_l24a_3p075: ldo24 { 332 regulator-min-microvol 333 regulator-max-microvol 334 regulator-initial-mode 335 }; 336 337 vreg_l25a_3p3: ldo25 { 338 regulator-min-microvol 339 regulator-max-microvol 340 regulator-initial-mode 341 }; 342 343 vdda_hp_pcie_1p2: 344 vdda_hv_ebi0: 345 vdda_hv_ebi1: 346 vdda_hv_ebi2: 347 vdda_hv_ebi3: 348 vdda_mipi_csi_1p25: 349 vdda_mipi_dsi0_1p2: 350 vdda_mipi_dsi1_1p2: 351 vdda_pcie_1p2: 352 vdda_ufs1_1p2: 353 vdda_ufs2_1p2: 354 vdda_usb1_ss_1p2: 355 vdda_usb2_ss_1p2: 356 vreg_l26a_1p2: ldo26 { 357 regulator-min-microvol 358 regulator-max-microvol 359 regulator-initial-mode 360 }; 361 362 vreg_l28a_3p0: ldo28 { 363 regulator-min-microvol 364 regulator-max-microvol 365 regulator-initial-mode 366 }; 367 368 vreg_lvs1a_1p8: lvs1 { 369 regulator-min-microvol 370 regulator-max-microvol 371 }; 372 373 vreg_lvs2a_1p8: lvs2 { 374 regulator-min-microvol 375 regulator-max-microvol 376 }; 377 }; 378 379 regulators-1 { 380 compatible = "qcom,pmi8998-rpm 381 qcom,pmic-id = "b"; 382 383 vdd-bob-supply = <&vph_pwr>; 384 385 vreg_bob: bob { 386 regulator-min-microvol 387 regulator-max-microvol 388 regulator-initial-mode 389 regulator-allow-bypass 390 }; 391 }; 392 393 regulators-2 { 394 compatible = "qcom,pm8005-rpmh 395 qcom,pmic-id = "c"; 396 397 vdd-s1-supply = <&vph_pwr>; 398 vdd-s2-supply = <&vph_pwr>; 399 vdd-s3-supply = <&vph_pwr>; 400 vdd-s4-supply = <&vph_pwr>; 401 402 vreg_s3c_0p6: smps3 { 403 regulator-min-microvol 404 regulator-max-microvol 405 }; 406 }; 407 }; 408 409 &cdsp_pas { 410 status = "okay"; 411 firmware-name = "qcom/sdm845/axolotl/c 412 }; 413 414 &gcc { 415 protected-clocks = <GCC_QSPI_CORE_CLK> 416 <GCC_QSPI_CORE_CLK_ 417 <GCC_QSPI_CNOC_PERI 418 <GCC_LPASS_Q6_AXI_C 419 <GCC_LPASS_SWAY_CLK 420 }; 421 422 &gmu { 423 status = "okay"; 424 }; 425 426 &gpu { 427 status = "okay"; 428 429 zap-shader { 430 memory-region = <&gpu_mem>; 431 firmware-name = "qcom/sdm845/a 432 }; 433 }; 434 435 &i2c5 { 436 status = "okay"; 437 438 touchscreen@38 { 439 compatible = "focaltech,fts871 440 reg = <0x38>; 441 wakeup-source; 442 interrupt-parent = <&tlmm>; 443 interrupts = <125 IRQ_TYPE_EDG 444 vdd-supply = <&vreg_l28a_3p0>; 445 vcc-i2c-supply = <&vreg_l14a_1 446 447 pinctrl-names = "default", "su 448 pinctrl-0 = <&ts_int_active &t 449 pinctrl-1 = <&ts_int_suspend & 450 451 reset-gpio = <&tlmm 99 GPIO_AC 452 irq-gpio = <&tlmm 125 GPIO_TRA 453 touchscreen-size-x = <1080>; 454 touchscreen-size-y = <2160>; 455 focaltech,max-touch-number = < 456 }; 457 }; 458 459 &i2c10 { 460 /* SMB1355@0x0C */ 461 }; 462 463 &ipa { 464 qcom,gsi-loader = "self"; 465 memory-region = <&ipa_fw_mem>; 466 firmware-name = "qcom/sdm845/axolotl/i 467 status = "okay"; 468 }; 469 470 &mdss { 471 status = "okay"; 472 }; 473 474 &mdss_dsi0 { 475 status = "okay"; 476 vdda-supply = <&vdda_mipi_dsi0_1p2>; 477 478 panel@0 { 479 compatible = "visionox,rm69299 480 status = "okay"; 481 reg = <0>; 482 vdda-supply = <&vreg_l14a_1p88 483 vdd3p3-supply = <&vreg_l28a_3p 484 485 #address-cells = <1>; 486 #size-cells = <0>; 487 488 reset-gpios = <&tlmm 6 GPIO_AC 489 490 pinctrl-names = "default", "sl 491 pinctrl-0 = <&sde_dsi_active & 492 pinctrl-1 = <&sde_dsi_suspend 493 494 port { 495 panel_in_0: endpoint { 496 remote-endpoin 497 }; 498 }; 499 }; 500 }; 501 502 &mdss_dsi0_out { 503 remote-endpoint = <&panel_in_0>; 504 data-lanes = <0 1 2 3>; 505 }; 506 507 &mdss_dsi0_phy { 508 status = "okay"; 509 vdds-supply = <&vdda_mipi_dsi0_pll>; 510 }; 511 512 &mss_pil { 513 status = "okay"; 514 firmware-name = "qcom/sdm845/axolotl/m 515 }; 516 517 &pm8998_gpios { 518 volume_up_gpio: pm8998-gpio6-state { 519 pinconf { 520 pins = "gpio6"; 521 function = "normal"; 522 input-enable; 523 bias-pull-up; 524 qcom,drive-strength = 525 }; 526 }; 527 }; 528 529 &pmi8998_charger { 530 monitored-battery = <&battery>; 531 532 status = "okay"; 533 }; 534 535 &pm8998_resin { 536 linux,code = <KEY_VOLUMEDOWN>; 537 status = "okay"; 538 }; 539 540 &pmi8998_lpg { 541 status = "okay"; 542 543 multi-led { 544 color = <LED_COLOR_ID_RGB>; 545 function = LED_FUNCTION_STATUS 546 547 #address-cells = <1>; 548 #size-cells = <0>; 549 550 led@3 { 551 reg = <3>; 552 color = <LED_COLOR_ID_ 553 }; 554 555 led@4 { 556 reg = <4>; 557 color = <LED_COLOR_ID_ 558 }; 559 560 led@5 { 561 reg = <5>; 562 color = <LED_COLOR_ID_ 563 }; 564 }; 565 }; 566 567 &pmi8998_flash { 568 status = "okay"; 569 570 led-0 { 571 function = LED_FUNCTION_FLASH; 572 color = <LED_COLOR_ID_WHITE>; 573 led-sources = <1>; 574 led-max-microamp = <100000>; 575 flash-max-microamp = <1100000> 576 flash-max-timeout-us = <128000 577 }; 578 579 led-1 { 580 function = LED_FUNCTION_FLASH; 581 color = <LED_COLOR_ID_YELLOW>; 582 led-sources = <2>; 583 led-max-microamp = <100000>; 584 flash-max-microamp = <1100000> 585 flash-max-timeout-us = <128000 586 }; 587 }; 588 589 &qup_uart9_rx { 590 drive-strength = <2>; 591 bias-pull-up; 592 }; 593 594 &qup_uart9_tx { 595 drive-strength = <2>; 596 bias-disable; 597 }; 598 599 &qupv3_id_0 { 600 status = "okay"; 601 }; 602 603 &qupv3_id_1 { 604 status = "okay"; 605 }; 606 607 &slpi_pas { 608 firmware-name = "qcom/sdm845/axolotl/s 609 status = "okay"; 610 }; 611 612 &tlmm { 613 gpio-reserved-ranges = <0 4>, <81 4>; 614 615 sde_dsi_active: sde-dsi-active-state { 616 pins = "gpio6", "gpio11"; 617 function = "gpio"; 618 drive-strength = <8>; 619 bias-disable; 620 }; 621 622 sde_dsi_suspend: sde-dsi-suspend-state 623 pins = "gpio6", "gpio11"; 624 function = "gpio"; 625 drive-strength = <2>; 626 bias-pull-down; 627 }; 628 629 sde_te_active: sde-te-active-state { 630 pins = "gpio10"; 631 function = "mdp_vsync"; 632 drive-strength = <2>; 633 bias-pull-down; 634 }; 635 636 sde_te_suspend: sde-te-suspend-state { 637 pins = "gpio10"; 638 function = "mdp_vsync"; 639 drive-strength = <2>; 640 bias-pull-down; 641 }; 642 643 ts_int_active: ts-int-active-state { 644 pins = "gpio125"; 645 function = "gpio"; 646 drive-strength = <8>; 647 bias-pull-up; 648 }; 649 650 ts_int_suspend: ts-int-suspend-state { 651 pins = "gpio125"; 652 function = "gpio"; 653 drive-strength = <2>; 654 bias-pull-down; 655 }; 656 657 ts_reset_active: ts-reset-active-state 658 pins = "gpio99"; 659 function = "gpio"; 660 drive-strength = <8>; 661 bias-pull-up; 662 }; 663 664 ts_reset_suspend: ts-reset-suspend-sta 665 pins = "gpio99"; 666 function = "gpio"; 667 drive-strength = <2>; 668 bias-pull-down; 669 }; 670 }; 671 672 &uart6 { 673 status = "okay"; 674 675 pinctrl-0 = <&qup_uart6_4pin>; 676 677 bluetooth { 678 compatible = "qcom,wcn3990-bt" 679 680 /* 681 * This path is relative to th 682 * subdir under lib/firmware. 683 */ 684 firmware-name = "axolotl/crnv2 685 686 vddio-supply = <&vreg_s4a_1p8> 687 vddxo-supply = <&vreg_l7a_1p8> 688 vddrf-supply = <&vreg_l17a_1p3 689 vddch0-supply = <&vreg_l25a_3p 690 max-speed = <3200000>; 691 }; 692 }; 693 694 &uart9 { 695 status = "okay"; 696 }; 697 698 &ufs_mem_hc { 699 status = "okay"; 700 701 reset-gpios = <&tlmm 150 GPIO_ACTIVE_L 702 703 vcc-supply = <&vreg_l20a_2p95>; 704 vcc-max-microamp = <600000>; 705 }; 706 707 &ufs_mem_phy { 708 status = "okay"; 709 710 vdda-phy-supply = <&vdda_ufs1_core>; 711 vdda-pll-supply = <&vdda_ufs1_1p2>; 712 }; 713 714 &usb_1 { 715 status = "okay"; 716 }; 717 718 &usb_1_dwc3 { 719 dr_mode = "peripheral"; 720 }; 721 722 &usb_1_hsphy { 723 status = "okay"; 724 725 vdd-supply = <&vreg_l1a_0p875>; 726 vdda-phy-dpdm-supply = <&vreg_l24a_3p0 727 vdda-pll-supply = <&vreg_l12a_1p8>; 728 }; 729 730 &usb_1_qmpphy { 731 status = "okay"; 732 733 vdda-phy-supply = <&vreg_l26a_1p2>; 734 vdda-pll-supply = <&vreg_l1a_0p875>; 735 }; 736 737 &venus { 738 status = "okay"; 739 firmware-name = "qcom/sdm845/axolotl/v 740 }; 741 742 &wifi { 743 status = "okay"; 744 745 vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8> 746 vdd-1.3-rfa-supply = <&vreg_l17a_1p3>; 747 vdd-1.8-xo-supply = <&vreg_l7a_1p8>; 748 vdd-3.3-ch0-supply = <&vreg_l25a_3p3>; 749 vdd-3.3-ch1-supply = <&vreg_l23a_3p3>; 750 751 qcom,snoc-host-cap-8bit-quirk; 752 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.