1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. 4 */ 5/dts-v1/; 6 7#include <dt-bindings/gpio/gpio.h> 8#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 9#include <dt-bindings/gpio/gpio.h> 10#include "talos.dtsi" 11#include "pm8150.dtsi" 12/ { 13 model = "Qualcomm Technologies, Inc. QCS615 Ride (IQ-615 Beta EVK)"; 14 compatible = "qcom,qcs615-ride", "qcom,qcs615", "qcom,sm6150"; 15 chassis-type = "embedded"; 16 17 aliases { 18 mmc0 = &sdhc_1; 19 mmc1 = &sdhc_2; 20 serial0 = &uart0; 21 serial1 = &uart7; 22 }; 23 24 chosen { 25 stdout-path = "serial0:115200n8"; 26 }; 27 28 clocks { 29 sleep_clk: sleep-clk { 30 compatible = "fixed-clock"; 31 clock-frequency = <32000>; 32 #clock-cells = <0>; 33 }; 34 35 xo_board_clk: xo-board-clk { 36 compatible = "fixed-clock"; 37 clock-frequency = <38400000>; 38 #clock-cells = <0>; 39 }; 40 }; 41 42 dp0-connector { 43 compatible = "dp-connector"; 44 label = "DP0"; 45 type = "mini"; 46 47 hpd-gpios = <&io_expander 8 GPIO_ACTIVE_HIGH>; 48 49 port { 50 dp0_connector_in: endpoint { 51 remote-endpoint = <&mdss_dp0_out>; 52 }; 53 }; 54 }; 55 56 dp-dsi0-connector { 57 compatible = "dp-connector"; 58 label = "DSI0"; 59 type = "mini"; 60 61 port { 62 dp_dsi0_connector_in: endpoint { 63 remote-endpoint = <&dsi2dp_bridge_out>; 64 }; 65 }; 66 }; 67 68 vreg_conn_1p8: regulator-conn-1p8 { 69 compatible = "regulator-fixed"; 70 regulator-name = "vreg_conn_1p8"; 71 startup-delay-us = <4000>; 72 enable-active-high; 73 gpio = <&pm8150_gpios 1 GPIO_ACTIVE_HIGH>; 74 }; 75 76 vreg_conn_pa: regulator-conn-pa { 77 compatible = "regulator-fixed"; 78 regulator-name = "vreg_conn_pa"; 79 startup-delay-us = <4000>; 80 enable-active-high; 81 gpio = <&pm8150_gpios 6 GPIO_ACTIVE_HIGH>; 82 }; 83 84 regulator-usb2-vbus { 85 compatible = "regulator-fixed"; 86 regulator-name = "USB2_VBUS"; 87 gpio = <&pm8150_gpios 10 GPIO_ACTIVE_HIGH>; 88 pinctrl-0 = <&usb2_en>; 89 pinctrl-names = "default"; 90 enable-active-high; 91 regulator-always-on; 92 }; 93 94 vreg_1p0: regulator-vreg-1p0 { 95 compatible = "regulator-fixed"; 96 regulator-name = "VREG_1P0"; 97 98 regulator-always-on; 99 regulator-boot-on; 100 regulator-min-microvolt = <1000000>; 101 regulator-max-microvolt = <1000000>; 102 103 vin-supply = <&vreg_1p8>; 104 }; 105 106 vreg_1p8: regulator-vreg-1p8 { 107 compatible = "regulator-fixed"; 108 regulator-name = "VREG_1P8"; 109 110 regulator-always-on; 111 regulator-boot-on; 112 regulator-min-microvolt = <1800000>; 113 regulator-max-microvolt = <1800000>; 114 }; 115 116 vreg_3p0: regulator-vreg-3p0 { 117 compatible = "regulator-fixed"; 118 regulator-name = "VREG_3P0"; 119 120 regulator-always-on; 121 regulator-boot-on; 122 regulator-min-microvolt = <3000000>; 123 regulator-max-microvolt = <3000000>; 124 }; 125 126 wcn6855-pmu { 127 compatible = "qcom,wcn6855-pmu"; 128 129 pinctrl-0 = <&bt_en_state>, <&wlan_en_state>; 130 pinctrl-names = "default"; 131 132 bt-enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>; 133 wlan-enable-gpios = <&tlmm 98 GPIO_ACTIVE_HIGH>; 134 135 vddio-supply = <&vreg_conn_pa>; 136 vddaon-supply = <&vreg_s5a>; 137 vddpmu-supply = <&vreg_conn_1p8>; 138 vddpmumx-supply = <&vreg_conn_1p8>; 139 vddpmucx-supply = <&vreg_conn_pa>; 140 vddrfa0p95-supply = <&vreg_s5a>; 141 vddrfa1p3-supply = <&vreg_s6a>; 142 vddrfa1p9-supply = <&vreg_l15a>; 143 vddpcie1p3-supply = <&vreg_s6a>; 144 vddpcie1p9-supply = <&vreg_l15a>; 145 146 regulators { 147 vreg_pmu_rfa_cmn: ldo0 { 148 regulator-name = "vreg_pmu_rfa_cmn"; 149 }; 150 151 vreg_pmu_aon_0p59: ldo1 { 152 regulator-name = "vreg_pmu_aon_0p59"; 153 }; 154 155 vreg_pmu_wlcx_0p8: ldo2 { 156 regulator-name = "vreg_pmu_wlcx_0p8"; 157 }; 158 159 vreg_pmu_wlmx_0p85: ldo3 { 160 regulator-name = "vreg_pmu_wlmx_0p85"; 161 }; 162 163 vreg_pmu_btcmx_0p85: ldo4 { 164 regulator-name = "vreg_pmu_btcmx_0p85"; 165 }; 166 167 vreg_pmu_rfa_0p8: ldo5 { 168 regulator-name = "vreg_pmu_rfa_0p8"; 169 }; 170 171 vreg_pmu_rfa_1p2: ldo6 { 172 regulator-name = "vreg_pmu_rfa_1p2"; 173 }; 174 175 vreg_pmu_rfa_1p7: ldo7 { 176 regulator-name = "vreg_pmu_rfa_1p7"; 177 }; 178 179 vreg_pmu_pcie_0p9: ldo8 { 180 regulator-name = "vreg_pmu_pcie_0p9"; 181 }; 182 183 vreg_pmu_pcie_1p8: ldo9 { 184 regulator-name = "vreg_pmu_pcie_1p8"; 185 }; 186 }; 187 }; 188}; 189 190&apps_rsc { 191 regulators-0 { 192 compatible = "qcom,pm8150-rpmh-regulators"; 193 qcom,pmic-id = "a"; 194 195 vreg_s3a: smps3 { 196 regulator-name = "vreg_s3a"; 197 regulator-min-microvolt = <600000>; 198 regulator-max-microvolt = <650000>; 199 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 200 }; 201 202 vreg_s4a: smps4 { 203 regulator-name = "vreg_s4a"; 204 regulator-min-microvolt = <1800000>; 205 regulator-max-microvolt = <1829000>; 206 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 207 }; 208 209 vreg_s5a: smps5 { 210 regulator-name = "vreg_s5a"; 211 regulator-min-microvolt = <1896000>; 212 regulator-max-microvolt = <2040000>; 213 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 214 }; 215 216 vreg_s6a: smps6 { 217 regulator-name = "vreg_s6a"; 218 regulator-min-microvolt = <1304000>; 219 regulator-max-microvolt = <1404000>; 220 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 221 }; 222 223 vreg_l1a: ldo1 { 224 regulator-name = "vreg_l1a"; 225 regulator-min-microvolt = <488000>; 226 regulator-max-microvolt = <852000>; 227 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 228 regulator-allow-set-load; 229 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 230 RPMH_REGULATOR_MODE_HPM>; 231 }; 232 233 vreg_l2a: ldo2 { 234 regulator-name = "vreg_l2a"; 235 regulator-min-microvolt = <1650000>; 236 regulator-max-microvolt = <3100000>; 237 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 238 regulator-allow-set-load; 239 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 240 RPMH_REGULATOR_MODE_HPM>; 241 }; 242 243 vreg_l3a: ldo3 { 244 regulator-name = "vreg_l3a"; 245 regulator-min-microvolt = <1000000>; 246 regulator-max-microvolt = <1248000>; 247 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 248 regulator-allow-set-load; 249 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 250 RPMH_REGULATOR_MODE_HPM>; 251 }; 252 253 vreg_l5a: ldo5 { 254 regulator-name = "vreg_l5a"; 255 regulator-min-microvolt = <875000>; 256 regulator-max-microvolt = <975000>; 257 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 258 regulator-allow-set-load; 259 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 260 RPMH_REGULATOR_MODE_HPM>; 261 }; 262 263 vreg_l7a: ldo7 { 264 regulator-name = "vreg_l7a"; 265 regulator-min-microvolt = <1800000>; 266 regulator-max-microvolt = <1900000>; 267 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 268 regulator-allow-set-load; 269 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 270 RPMH_REGULATOR_MODE_HPM>; 271 }; 272 273 vreg_l8a: ldo8 { 274 regulator-name = "vreg_l8a"; 275 regulator-min-microvolt = <1150000>; 276 regulator-max-microvolt = <1350000>; 277 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 278 regulator-allow-set-load; 279 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 280 RPMH_REGULATOR_MODE_HPM>; 281 }; 282 283 vreg_l10a: ldo10 { 284 regulator-name = "vreg_l10a"; 285 regulator-min-microvolt = <2950000>; 286 regulator-max-microvolt = <3312000>; 287 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 288 regulator-allow-set-load; 289 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 290 RPMH_REGULATOR_MODE_HPM>; 291 }; 292 293 vreg_l11a: ldo11 { 294 regulator-name = "vreg_l11a"; 295 regulator-min-microvolt = <1232000>; 296 regulator-max-microvolt = <1260000>; 297 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 298 regulator-allow-set-load; 299 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 300 RPMH_REGULATOR_MODE_HPM>; 301 }; 302 303 vreg_l12a: ldo12 { 304 regulator-name = "vreg_l12a"; 305 regulator-min-microvolt = <1800000>; 306 regulator-max-microvolt = <1890000>; 307 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 308 }; 309 310 vreg_l13a: ldo13 { 311 regulator-name = "vreg_l13a"; 312 regulator-min-microvolt = <3000000>; 313 regulator-max-microvolt = <3230000>; 314 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 315 regulator-allow-set-load; 316 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 317 RPMH_REGULATOR_MODE_HPM>; 318 }; 319 320 vreg_l15a: ldo15 { 321 regulator-name = "vreg_l15a"; 322 regulator-min-microvolt = <1800000>; 323 regulator-max-microvolt = <1904000>; 324 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 325 regulator-allow-set-load; 326 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 327 RPMH_REGULATOR_MODE_HPM>; 328 }; 329 330 vreg_l16a: ldo16 { 331 regulator-name = "vreg_l16a"; 332 regulator-min-microvolt = <3000000>; 333 regulator-max-microvolt = <3312000>; 334 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 335 regulator-allow-set-load; 336 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 337 RPMH_REGULATOR_MODE_HPM>; 338 }; 339 340 vreg_l17a: ldo17 { 341 regulator-name = "vreg_l17a"; 342 regulator-min-microvolt = <2950000>; 343 regulator-max-microvolt = <3312000>; 344 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 345 }; 346 }; 347}; 348 349&gpu { 350 status = "okay"; 351}; 352 353&gpu_zap_shader { 354 firmware-name = "qcom/qcs615/a612_zap.mbn"; 355}; 356 357&i2c2 { 358 clock-frequency = <400000>; 359 status = "okay"; 360 361 io_expander: pinctrl@3e { 362 compatible = "semtech,sx1509q"; 363 reg = <0x3e>; 364 interrupts-extended = <&tlmm 58 IRQ_TYPE_EDGE_FALLING>; 365 gpio-controller; 366 #gpio-cells = <2>; 367 interrupt-controller; 368 #interrupt-cells = <2>; 369 semtech,probe-reset; 370 }; 371 372 i2c-mux@77 { 373 compatible = "nxp,pca9542"; 374 reg = <0x77>; 375 #address-cells = <1>; 376 #size-cells = <0>; 377 378 i2c@0 { 379 reg = <0>; 380 #address-cells = <1>; 381 #size-cells = <0>; 382 383 bridge@58 { 384 compatible = "analogix,anx7625"; 385 reg = <0x58>; 386 interrupts-extended = <&io_expander 0 IRQ_TYPE_EDGE_FALLING>; 387 enable-gpios = <&tlmm 4 GPIO_ACTIVE_HIGH>; 388 reset-gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>; 389 vdd10-supply = <&vreg_1p0>; 390 vdd18-supply = <&vreg_1p8>; 391 vdd33-supply = <&vreg_3p0>; 392 393 ports { 394 #address-cells = <1>; 395 #size-cells = <0>; 396 397 port@0 { 398 reg = <0>; 399 400 dsi2dp_bridge_in: endpoint { 401 remote-endpoint = <&mdss_dsi0_out>; 402 }; 403 }; 404 405 port@1 { 406 reg = <1>; 407 408 dsi2dp_bridge_out: endpoint { 409 remote-endpoint = <&dp_dsi0_connector_in>; 410 }; 411 }; 412 }; 413 }; 414 }; 415 }; 416}; 417 418&mdss { 419 status = "okay"; 420}; 421 422&mdss_dp0 { 423 status = "okay"; 424}; 425 426&mdss_dp0_out { 427 link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000>; 428 remote-endpoint = <&dp0_connector_in>; 429}; 430 431&mdss_dsi0 { 432 vdda-supply = <&vreg_l11a>; 433 status = "okay"; 434}; 435 436&mdss_dsi0_out { 437 remote-endpoint = <&dsi2dp_bridge_in>; 438 data-lanes = <0 1 2 3>; 439}; 440 441&mdss_dsi0_phy { 442 vcca-supply = <&vreg_l5a>; 443 status = "okay"; 444}; 445 446&pcie { 447 perst-gpios = <&tlmm 101 GPIO_ACTIVE_LOW>; 448 wake-gpios = <&tlmm 100 GPIO_ACTIVE_HIGH>; 449 450 pinctrl-0 = <&pcie_default_state>; 451 pinctrl-names = "default"; 452 453 status = "okay"; 454}; 455 456&pcie_phy { 457 vdda-phy-supply = <&vreg_l5a>; 458 vdda-pll-supply = <&vreg_l12a>; 459 460 status = "okay"; 461}; 462 463&pcie_port0 { 464 wifi@0 { 465 compatible = "pci17cb,1103"; 466 reg = <0x10000 0x0 0x0 0x0 0x0>; 467 468 qcom,calibration-variant = "QC_QCS615_Ride"; 469 470 vddrfacmn-supply = <&vreg_pmu_rfa_cmn>; 471 vddaon-supply = <&vreg_pmu_aon_0p59>; 472 vddwlcx-supply = <&vreg_pmu_wlcx_0p8>; 473 vddwlmx-supply = <&vreg_pmu_wlmx_0p85>; 474 vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>; 475 vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>; 476 vddrfa1p8-supply = <&vreg_pmu_rfa_1p7>; 477 vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>; 478 vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>; 479 }; 480}; 481 482&pm8150_gpios { 483 usb2_en: usb2-en-state { 484 pins = "gpio10"; 485 function = "normal"; 486 output-enable; 487 power-source = <0>; 488 }; 489}; 490 491&pon_pwrkey { 492 status = "okay"; 493}; 494 495&pon_resin { 496 linux,code = <KEY_VOLUMEDOWN>; 497 498 status = "okay"; 499}; 500 501&qupv3_id_0 { 502 status = "okay"; 503}; 504 505&qupv3_id_1 { 506 status = "okay"; 507}; 508 509&remoteproc_adsp { 510 firmware-name = "qcom/qcs615/adsp.mbn"; 511 512 status = "okay"; 513}; 514 515&remoteproc_cdsp { 516 firmware-name = "qcom/qcs615/cdsp.mbn"; 517 518 status = "okay"; 519}; 520 521&tlmm { 522 bt_en_state: bt-en-state { 523 pins = "gpio85"; 524 function = "gpio"; 525 bias-pull-down; 526 output-low; 527 }; 528 529 pcie_default_state: pcie-default-state { 530 clkreq-pins { 531 pins = "gpio90"; 532 function = "pcie_clk_req"; 533 drive-strength = <2>; 534 bias-pull-up; 535 }; 536 537 perst-pins { 538 pins = "gpio101"; 539 function = "gpio"; 540 drive-strength = <2>; 541 bias-pull-down; 542 }; 543 544 wake-pins { 545 pins = "gpio100"; 546 function = "gpio"; 547 drive-strength = <2>; 548 bias-pull-up; 549 }; 550 }; 551 552 wlan_en_state: wlan-en-state { 553 pins = "gpio98"; 554 function = "gpio"; 555 bias-pull-down; 556 drive-strength = <16>; 557 output-low; 558 }; 559}; 560 561&sdhc_1 { 562 pinctrl-0 = <&sdc1_state_on>; 563 pinctrl-1 = <&sdc1_state_off>; 564 pinctrl-names = "default", "sleep"; 565 566 bus-width = <8>; 567 mmc-ddr-1_8v; 568 mmc-hs200-1_8v; 569 mmc-hs400-1_8v; 570 mmc-hs400-enhanced-strobe; 571 vmmc-supply = <&vreg_l17a>; 572 vqmmc-supply = <&vreg_s4a>; 573 574 non-removable; 575 no-sd; 576 no-sdio; 577 578 status = "okay"; 579}; 580 581&sdhc_2 { 582 pinctrl-0 = <&sdc2_state_on>; 583 pinctrl-1 = <&sdc2_state_off>; 584 pinctrl-names = "default", "sleep"; 585 586 bus-width = <4>; 587 cd-gpios = <&tlmm 99 GPIO_ACTIVE_LOW>; 588 589 vmmc-supply = <&vreg_l10a>; 590 vqmmc-supply = <&vreg_s4a>; 591 592 status = "okay"; 593}; 594 595&uart0 { 596 status = "okay"; 597}; 598 599&uart7 { 600 status = "okay"; 601 602 bluetooth { 603 compatible = "qcom,wcn6855-bt"; 604 firmware-name = "QCA6698/hpnv21", "QCA6698/hpbtfw21.tlv"; 605 606 vddrfacmn-supply = <&vreg_pmu_rfa_cmn>; 607 vddaon-supply = <&vreg_pmu_aon_0p59>; 608 vddwlcx-supply = <&vreg_pmu_wlcx_0p8>; 609 vddwlmx-supply = <&vreg_pmu_wlmx_0p85>; 610 vddbtcmx-supply = <&vreg_pmu_btcmx_0p85>; 611 vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>; 612 vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>; 613 vddrfa1p8-supply = <&vreg_pmu_rfa_1p7>; 614 }; 615}; 616 617&usb_1_hsphy { 618 vdd-supply = <&vreg_l5a>; 619 vdda-pll-supply = <&vreg_l12a>; 620 vdda-phy-dpdm-supply = <&vreg_l13a>; 621 622 status = "okay"; 623}; 624 625&usb_qmpphy { 626 vdda-phy-supply = <&vreg_l5a>; 627 vdda-pll-supply = <&vreg_l12a>; 628 629 status = "okay"; 630}; 631 632&usb_qmpphy_2 { 633 vdda-phy-supply = <&vreg_l5a>; 634 vdda-pll-supply = <&vreg_l12a>; 635 636 status = "okay"; 637}; 638 639&usb_1 { 640 dr_mode = "peripheral"; 641 642 status = "okay"; 643}; 644 645&usb_2_hsphy { 646 vdd-supply = <&vreg_l5a>; 647 vdda-pll-supply = <&vreg_l12a>; 648 vdda-phy-dpdm-supply = <&vreg_l13a>; 649 650 status = "okay"; 651}; 652 653&usb_2 { 654 dr_mode = "host"; 655 656 status = "okay"; 657}; 658 659&ufs_mem_hc { 660 reset-gpios = <&tlmm 123 GPIO_ACTIVE_LOW>; 661 vcc-supply = <&vreg_l17a>; 662 vcc-max-microamp = <600000>; 663 vccq2-supply = <&vreg_s4a>; 664 vccq2-max-microamp = <600000>; 665 666 status = "okay"; 667}; 668 669&ufs_mem_phy { 670 vdda-phy-supply = <&vreg_l5a>; 671 vdda-pll-supply = <&vreg_l12a>; 672 673 status = "okay"; 674}; 675 676&venus { 677 status = "okay"; 678}; 679