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