1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2021, Linaro Limited 4 */ 5 6/dts-v1/; 7 8#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 9#include <dt-bindings/gpio/gpio.h> 10#include "sm8150.dtsi" 11#include "pmm8155au_1.dtsi" 12#include "pmm8155au_2.dtsi" 13 14/ { 15 model = "Qualcomm Technologies, Inc. SA8155P ADP"; 16 compatible = "qcom,sa8155p-adp", "qcom,sa8155p"; 17 18 aliases { 19 serial0 = &uart2; 20 }; 21 22 chosen { 23 stdout-path = "serial0:115200n8"; 24 }; 25 26 vreg_3p3: vreg_3p3_regulator { 27 compatible = "regulator-fixed"; 28 regulator-name = "vreg_3p3"; 29 regulator-min-microvolt = <3300000>; 30 regulator-max-microvolt = <3300000>; 31 }; 32 33 /* 34 * S4A is always on and not controllable through RPMh. 35 * So model it as a fixed regulator. 36 */ 37 vreg_s4a_1p8: smps4 { 38 compatible = "regulator-fixed"; 39 regulator-name = "vreg_s4a_1p8"; 40 41 regulator-min-microvolt = <1800000>; 42 regulator-max-microvolt = <1800000>; 43 44 regulator-always-on; 45 regulator-boot-on; 46 regulator-allow-set-load; 47 48 vin-supply = <&vreg_3p3>; 49 }; 50 51 mtl_rx_setup: rx-queues-config { 52 snps,rx-queues-to-use = <1>; 53 snps,rx-sched-sp; 54 55 queue0 { 56 snps,dcb-algorithm; 57 snps,map-to-dma-channel = <0x0>; 58 snps,route-up; 59 snps,priority = <0x1>; 60 }; 61 }; 62 63 mtl_tx_setup: tx-queues-config { 64 snps,tx-queues-to-use = <1>; 65 snps,tx-sched-wrr; 66 67 queue0 { 68 snps,weight = <0x10>; 69 snps,dcb-algorithm; 70 snps,priority = <0x0>; 71 }; 72 }; 73}; 74 75&apps_rsc { 76 pmm8155au-1-rpmh-regulators { 77 compatible = "qcom,pmm8155au-rpmh-regulators"; 78 qcom,pmic-id = "a"; 79 80 vdd-s1-supply = <&vreg_3p3>; 81 vdd-s2-supply = <&vreg_3p3>; 82 vdd-s3-supply = <&vreg_3p3>; 83 vdd-s4-supply = <&vreg_3p3>; 84 vdd-s5-supply = <&vreg_3p3>; 85 vdd-s6-supply = <&vreg_3p3>; 86 vdd-s7-supply = <&vreg_3p3>; 87 vdd-s8-supply = <&vreg_3p3>; 88 vdd-s9-supply = <&vreg_3p3>; 89 vdd-s10-supply = <&vreg_3p3>; 90 91 vdd-l1-l8-l11-supply = <&vreg_s6a_0p92>; 92 vdd-l2-l10-supply = <&vreg_3p3>; 93 vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p92>; 94 vdd-l6-l9-supply = <&vreg_s6a_0p92>; 95 vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p04>; 96 vdd-l13-l16-l17-supply = <&vreg_3p3>; 97 98 vreg_s5a_2p04: smps5 { 99 regulator-name = "vreg_s5a_2p04"; 100 regulator-min-microvolt = <1904000>; 101 regulator-max-microvolt = <2000000>; 102 }; 103 104 vreg_s6a_0p92: smps6 { 105 regulator-name = "vreg_s6a_0p92"; 106 regulator-min-microvolt = <920000>; 107 regulator-max-microvolt = <1128000>; 108 }; 109 110 vreg_l1a_0p752: ldo1 { 111 regulator-name = "vreg_l1a_0p752"; 112 regulator-min-microvolt = <752000>; 113 regulator-max-microvolt = <752000>; 114 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 115 }; 116 117 vdda_usb_hs_3p1: 118 vreg_l2a_3p072: ldo2 { 119 regulator-name = "vreg_l2a_3p072"; 120 regulator-min-microvolt = <3072000>; 121 regulator-max-microvolt = <3072000>; 122 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 123 }; 124 125 vreg_l3a_0p8: ldo3 { 126 regulator-name = "vreg_l3a_0p8"; 127 regulator-min-microvolt = <800000>; 128 regulator-max-microvolt = <800000>; 129 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 130 }; 131 132 vdd_usb_hs_core: 133 vdda_usb_ss_dp_core_1: 134 vreg_l5a_0p88: ldo5 { 135 regulator-name = "vreg_l5a_0p88"; 136 regulator-min-microvolt = <880000>; 137 regulator-max-microvolt = <880000>; 138 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 139 regulator-allow-set-load; 140 }; 141 142 vreg_l7a_1p8: ldo7 { 143 regulator-name = "vreg_l7a_1p8"; 144 regulator-min-microvolt = <1800000>; 145 regulator-max-microvolt = <1800000>; 146 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 147 }; 148 149 vreg_l10a_2p96: ldo10 { 150 regulator-name = "vreg_l10a_2p96"; 151 regulator-min-microvolt = <2504000>; 152 regulator-max-microvolt = <2960000>; 153 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 154 regulator-allow-set-load; 155 }; 156 157 vreg_l11a_0p8: ldo11 { 158 regulator-name = "vreg_l11a_0p8"; 159 regulator-min-microvolt = <800000>; 160 regulator-max-microvolt = <800000>; 161 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 162 }; 163 164 vdda_usb_hs_1p8: 165 vreg_l12a_1p8: ldo12 { 166 regulator-name = "vreg_l12a_1p8"; 167 regulator-min-microvolt = <1800000>; 168 regulator-max-microvolt = <1800000>; 169 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 170 }; 171 172 vreg_l13a_2p7: ldo13 { 173 regulator-name = "vreg_l13a_2p7"; 174 regulator-min-microvolt = <2704000>; 175 regulator-max-microvolt = <2704000>; 176 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 177 }; 178 179 vreg_l15a_1p7: ldo15 { 180 regulator-name = "vreg_l15a_1p7"; 181 regulator-min-microvolt = <1704000>; 182 regulator-max-microvolt = <1704000>; 183 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 184 }; 185 186 vreg_l16a_2p7: ldo16 { 187 regulator-name = "vreg_l16a_2p7"; 188 regulator-min-microvolt = <2704000>; 189 regulator-max-microvolt = <2960000>; 190 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 191 }; 192 193 vreg_l17a_2p96: ldo17 { 194 regulator-name = "vreg_l17a_2p96"; 195 regulator-min-microvolt = <2504000>; 196 regulator-max-microvolt = <2960000>; 197 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 198 }; 199 }; 200 201 pmm8155au-2-rpmh-regulators { 202 compatible = "qcom,pmm8155au-rpmh-regulators"; 203 qcom,pmic-id = "c"; 204 205 vdd-s1-supply = <&vreg_3p3>; 206 vdd-s2-supply = <&vreg_3p3>; 207 vdd-s3-supply = <&vreg_3p3>; 208 vdd-s4-supply = <&vreg_3p3>; 209 vdd-s5-supply = <&vreg_3p3>; 210 vdd-s6-supply = <&vreg_3p3>; 211 vdd-s7-supply = <&vreg_3p3>; 212 vdd-s8-supply = <&vreg_3p3>; 213 vdd-s9-supply = <&vreg_3p3>; 214 vdd-s10-supply = <&vreg_3p3>; 215 216 vdd-l1-l8-l11-supply = <&vreg_s4c_1p352>; 217 vdd-l2-l10-supply = <&vreg_3p3>; 218 vdd-l3-l4-l5-l18-supply = <&vreg_s4c_1p352>; 219 vdd-l6-l9-supply = <&vreg_s6c_1p128>; 220 vdd-l7-l12-l14-l15-supply = <&vreg_s5c_2p04>; 221 vdd-l13-l16-l17-supply = <&vreg_3p3>; 222 223 vreg_s4c_1p352: smps4 { 224 regulator-name = "vreg_s4c_1p352"; 225 regulator-min-microvolt = <1352000>; 226 regulator-max-microvolt = <1352000>; 227 }; 228 229 vreg_s5c_2p04: smps5 { 230 regulator-name = "vreg_s5c_2p04"; 231 regulator-min-microvolt = <1904000>; 232 regulator-max-microvolt = <2000000>; 233 }; 234 235 vreg_s6c_1p128: smps6 { 236 regulator-name = "vreg_s6c_1p128"; 237 regulator-min-microvolt = <1128000>; 238 regulator-max-microvolt = <1128000>; 239 }; 240 241 vreg_l1c_1p304: ldo1 { 242 regulator-name = "vreg_l1c_1p304"; 243 regulator-min-microvolt = <1304000>; 244 regulator-max-microvolt = <1304000>; 245 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 246 }; 247 248 vreg_l2c_1p808: ldo2 { 249 regulator-name = "vreg_l2c_1p808"; 250 regulator-min-microvolt = <1704000>; 251 regulator-max-microvolt = <2928000>; 252 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 253 }; 254 255 vreg_l5c_1p2: ldo5 { 256 regulator-name = "vreg_l5c_1p2"; 257 regulator-min-microvolt = <1200000>; 258 regulator-max-microvolt = <1200000>; 259 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 260 regulator-allow-set-load; 261 }; 262 263 vreg_l7c_1p8: ldo7 { 264 regulator-name = "vreg_l7c_1p8"; 265 regulator-min-microvolt = <1800000>; 266 regulator-max-microvolt = <1800000>; 267 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 268 }; 269 270 vreg_l8c_1p2: ldo8 { 271 regulator-name = "vreg_l8c_1p2"; 272 regulator-min-microvolt = <1200000>; 273 regulator-max-microvolt = <1200000>; 274 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 275 regulator-allow-set-load; 276 }; 277 278 vreg_l10c_3p3: ldo10 { 279 regulator-name = "vreg_l10c_3p3"; 280 regulator-min-microvolt = <3000000>; 281 regulator-max-microvolt = <3312000>; 282 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 283 }; 284 285 vreg_l11c_0p8: ldo11 { 286 regulator-name = "vreg_l11c_0p8"; 287 regulator-min-microvolt = <800000>; 288 regulator-max-microvolt = <800000>; 289 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 290 }; 291 292 vreg_l12c_1p808: ldo12 { 293 regulator-name = "vreg_l12c_1p808"; 294 regulator-min-microvolt = <1704000>; 295 regulator-max-microvolt = <2928000>; 296 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 297 }; 298 299 vreg_l13c_2p96: ldo13 { 300 regulator-name = "vreg_l13c_2p96"; 301 regulator-min-microvolt = <2504000>; 302 regulator-max-microvolt = <2960000>; 303 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 304 }; 305 306 vreg_l15c_1p9: ldo15 { 307 regulator-name = "vreg_l15c_1p9"; 308 regulator-min-microvolt = <1704000>; 309 regulator-max-microvolt = <2928000>; 310 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 311 }; 312 313 vreg_l16c_3p008: ldo16 { 314 regulator-name = "vreg_l16c_3p008"; 315 regulator-min-microvolt = <3008000>; 316 regulator-max-microvolt = <3008000>; 317 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 318 }; 319 320 vreg_l18c_0p88: ldo18 { 321 regulator-name = "vreg_l18c_0p88"; 322 regulator-min-microvolt = <880000>; 323 regulator-max-microvolt = <880000>; 324 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 325 }; 326 }; 327}; 328 329ðernet { 330 status = "okay"; 331 332 snps,reset-gpio = <&tlmm 79 GPIO_ACTIVE_LOW>; 333 snps,reset-active-low; 334 snps,reset-delays-us = <0 11000 70000>; 335 336 snps,ptp-ref-clk-rate = <250000000>; 337 snps,ptp-req-clk-rate = <96000000>; 338 339 snps,mtl-rx-config = <&mtl_rx_setup>; 340 snps,mtl-tx-config = <&mtl_tx_setup>; 341 342 pinctrl-names = "default"; 343 pinctrl-0 = <ðernet_defaults>; 344 345 phy-handle = <&rgmii_phy>; 346 phy-mode = "rgmii"; 347 max-speed = <1000>; 348 349 mdio { 350 #address-cells = <0x1>; 351 #size-cells = <0x0>; 352 353 compatible = "snps,dwmac-mdio"; 354 355 /* Micrel KSZ9031RNZ PHY */ 356 rgmii_phy: phy@7 { 357 reg = <0x7>; 358 359 interrupt-parent = <&tlmm>; 360 interrupts-extended = <&tlmm 124 IRQ_TYPE_EDGE_FALLING>; /* phy intr */ 361 device_type = "ethernet-phy"; 362 compatible = "ethernet-phy-ieee802.3-c22"; 363 }; 364 }; 365}; 366 367&qupv3_id_1 { 368 status = "okay"; 369}; 370 371&remoteproc_adsp { 372 status = "okay"; 373 firmware-name = "qcom/sa8155p/adsp.mdt"; 374}; 375 376&remoteproc_cdsp { 377 status = "okay"; 378 firmware-name = "qcom/sa8155p/cdsp.mdt"; 379}; 380 381&sdhc_2 { 382 status = "okay"; 383 384 cd-gpios = <&tlmm 4 GPIO_ACTIVE_LOW>; 385 pinctrl-names = "default", "sleep"; 386 pinctrl-0 = <&sdc2_on>; 387 pinctrl-1 = <&sdc2_off>; 388 vqmmc-supply = <&vreg_l13c_2p96>; /* IO line power */ 389 vmmc-supply = <&vreg_l17a_2p96>; /* Card power line */ 390 bus-width = <4>; 391 no-sdio; 392 no-emmc; 393}; 394 395&uart2 { 396 status = "okay"; 397}; 398 399&ufs_mem_hc { 400 status = "okay"; 401 402 reset-gpios = <&tlmm 175 GPIO_ACTIVE_LOW>; 403 404 vcc-supply = <&vreg_l10a_2p96>; 405 vcc-max-microamp = <750000>; 406 vccq-supply = <&vreg_l5c_1p2>; 407 vccq-max-microamp = <700000>; 408 vccq2-supply = <&vreg_s4a_1p8>; 409 vccq2-max-microamp = <750000>; 410}; 411 412&ufs_mem_phy { 413 status = "okay"; 414 415 vdda-phy-supply = <&vreg_l8c_1p2>; 416 vdda-pll-supply = <&vreg_l5a_0p88>; 417}; 418 419&usb_1 { 420 status = "okay"; 421}; 422 423&usb_1_dwc3 { 424 dr_mode = "host"; 425 426 pinctrl-names = "default"; 427 pinctrl-0 = <&usb2phy_ac_en1_default>; 428}; 429 430&usb_1_hsphy { 431 status = "okay"; 432 vdda-pll-supply = <&vdd_usb_hs_core>; 433 vdda33-supply = <&vdda_usb_hs_3p1>; 434 vdda18-supply = <&vdda_usb_hs_1p8>; 435}; 436 437&usb_1_qmpphy { 438 status = "disabled"; 439}; 440 441&usb_2 { 442 status = "okay"; 443}; 444 445&usb_2_dwc3 { 446 dr_mode = "host"; 447 448 pinctrl-names = "default"; 449 pinctrl-0 = <&usb2phy_ac_en2_default>; 450}; 451 452&usb_2_hsphy { 453 status = "okay"; 454 vdda-pll-supply = <&vdd_usb_hs_core>; 455 vdda33-supply = <&vdda_usb_hs_3p1>; 456 vdda18-supply = <&vdda_usb_hs_1p8>; 457}; 458 459&usb_2_qmpphy { 460 status = "okay"; 461 vdda-phy-supply = <&vreg_l8c_1p2>; 462 vdda-pll-supply = <&vdda_usb_ss_dp_core_1>; 463}; 464 465&pcie0 { 466 status = "okay"; 467}; 468 469&pcie0_phy { 470 status = "okay"; 471 vdda-phy-supply = <&vreg_l18c_0p88>; 472 vdda-pll-supply = <&vreg_l8c_1p2>; 473}; 474 475&pcie1_phy { 476 vdda-phy-supply = <&vreg_l18c_0p88>; 477 vdda-pll-supply = <&vreg_l8c_1p2>; 478}; 479 480&tlmm { 481 gpio-reserved-ranges = <0 4>; 482 483 sdc2_on: sdc2_on { 484 clk { 485 pins = "sdc2_clk"; 486 bias-disable; /* No pull */ 487 drive-strength = <16>; /* 16 MA */ 488 }; 489 490 cmd { 491 pins = "sdc2_cmd"; 492 bias-pull-up; /* pull up */ 493 drive-strength = <16>; /* 16 MA */ 494 }; 495 496 data { 497 pins = "sdc2_data"; 498 bias-pull-up; /* pull up */ 499 drive-strength = <16>; /* 16 MA */ 500 }; 501 502 sd-cd { 503 pins = "gpio96"; 504 function = "gpio"; 505 bias-pull-up; /* pull up */ 506 drive-strength = <2>; /* 2 MA */ 507 }; 508 }; 509 510 sdc2_off: sdc2_off { 511 clk { 512 pins = "sdc2_clk"; 513 bias-disable; /* No pull */ 514 drive-strength = <2>; /* 2 MA */ 515 }; 516 517 cmd { 518 pins = "sdc2_cmd"; 519 bias-pull-up; /* pull up */ 520 drive-strength = <2>; /* 2 MA */ 521 }; 522 523 data { 524 pins = "sdc2_data"; 525 bias-pull-up; /* pull up */ 526 drive-strength = <2>; /* 2 MA */ 527 }; 528 529 sd-cd { 530 pins = "gpio96"; 531 function = "gpio"; 532 bias-pull-up; /* pull up */ 533 drive-strength = <2>; /* 2 MA */ 534 }; 535 }; 536 537 usb2phy_ac_en1_default: usb2phy_ac_en1_default { 538 mux { 539 pins = "gpio113"; 540 function = "usb2phy_ac"; 541 bias-disable; 542 drive-strength = <2>; 543 }; 544 }; 545 546 usb2phy_ac_en2_default: usb2phy_ac_en2_default { 547 mux { 548 pins = "gpio123"; 549 function = "usb2phy_ac"; 550 bias-disable; 551 drive-strength = <2>; 552 }; 553 }; 554 555 ethernet_defaults: ethernet-defaults { 556 mdc { 557 pins = "gpio7"; 558 function = "rgmii"; 559 bias-pull-up; 560 }; 561 562 mdio { 563 pins = "gpio59"; 564 function = "rgmii"; 565 bias-pull-up; 566 }; 567 568 rgmii-rx { 569 pins = "gpio117", "gpio118", "gpio119", "gpio120", "gpio115", "gpio116"; 570 function = "rgmii"; 571 bias-disable; 572 drive-strength = <2>; 573 }; 574 575 rgmii-tx { 576 pins = "gpio122", "gpio4", "gpio5", "gpio6", "gpio114", "gpio121"; 577 function = "rgmii"; 578 bias-pull-up; 579 drive-strength = <16>; 580 }; 581 582 phy-intr { 583 pins = "gpio124"; 584 function = "emac_phy"; 585 bias-disable; 586 drive-strength = <8>; 587 }; 588 589 pps { 590 pins = "gpio81"; 591 function = "emac_pps"; 592 bias-disable; 593 drive-strength = <8>; 594 }; 595 596 phy-reset { 597 pins = "gpio79"; 598 function = "gpio"; 599 bias-pull-up; 600 drive-strength = <16>; 601 }; 602 }; 603}; 604