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 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 regulators-0 { 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 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 141 RPMH_REGULATOR_MODE_HPM>; 142 }; 143 144 vreg_l7a_1p8: ldo7 { 145 regulator-name = "vreg_l7a_1p8"; 146 regulator-min-microvolt = <1800000>; 147 regulator-max-microvolt = <1800000>; 148 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 149 }; 150 151 vreg_l10a_2p96: ldo10 { 152 regulator-name = "vreg_l10a_2p96"; 153 regulator-min-microvolt = <2504000>; 154 regulator-max-microvolt = <2960000>; 155 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 156 regulator-allow-set-load; 157 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 158 RPMH_REGULATOR_MODE_HPM>; 159 }; 160 161 vreg_l11a_0p8: ldo11 { 162 regulator-name = "vreg_l11a_0p8"; 163 regulator-min-microvolt = <800000>; 164 regulator-max-microvolt = <800000>; 165 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 166 }; 167 168 vdda_usb_hs_1p8: 169 vreg_l12a_1p8: ldo12 { 170 regulator-name = "vreg_l12a_1p8"; 171 regulator-min-microvolt = <1800000>; 172 regulator-max-microvolt = <1800000>; 173 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 174 }; 175 176 vreg_l13a_2p7: ldo13 { 177 regulator-name = "vreg_l13a_2p7"; 178 regulator-min-microvolt = <2704000>; 179 regulator-max-microvolt = <2704000>; 180 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 181 }; 182 183 vreg_l15a_1p7: ldo15 { 184 regulator-name = "vreg_l15a_1p7"; 185 regulator-min-microvolt = <1704000>; 186 regulator-max-microvolt = <1704000>; 187 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 188 }; 189 190 vreg_l16a_2p7: ldo16 { 191 regulator-name = "vreg_l16a_2p7"; 192 regulator-min-microvolt = <2704000>; 193 regulator-max-microvolt = <2960000>; 194 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 195 }; 196 197 vreg_l17a_2p96: ldo17 { 198 regulator-name = "vreg_l17a_2p96"; 199 regulator-min-microvolt = <2504000>; 200 regulator-max-microvolt = <2960000>; 201 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 202 }; 203 }; 204 205 regulators-1 { 206 compatible = "qcom,pmm8155au-rpmh-regulators"; 207 qcom,pmic-id = "c"; 208 209 vdd-s1-supply = <&vreg_3p3>; 210 vdd-s2-supply = <&vreg_3p3>; 211 vdd-s3-supply = <&vreg_3p3>; 212 vdd-s4-supply = <&vreg_3p3>; 213 vdd-s5-supply = <&vreg_3p3>; 214 vdd-s6-supply = <&vreg_3p3>; 215 vdd-s7-supply = <&vreg_3p3>; 216 vdd-s8-supply = <&vreg_3p3>; 217 vdd-s9-supply = <&vreg_3p3>; 218 vdd-s10-supply = <&vreg_3p3>; 219 220 vdd-l1-l8-l11-supply = <&vreg_s4c_1p352>; 221 vdd-l2-l10-supply = <&vreg_3p3>; 222 vdd-l3-l4-l5-l18-supply = <&vreg_s4c_1p352>; 223 vdd-l6-l9-supply = <&vreg_s6c_1p128>; 224 vdd-l7-l12-l14-l15-supply = <&vreg_s5c_2p04>; 225 vdd-l13-l16-l17-supply = <&vreg_3p3>; 226 227 vreg_s4c_1p352: smps4 { 228 regulator-name = "vreg_s4c_1p352"; 229 regulator-min-microvolt = <1352000>; 230 regulator-max-microvolt = <1352000>; 231 }; 232 233 vreg_s5c_2p04: smps5 { 234 regulator-name = "vreg_s5c_2p04"; 235 regulator-min-microvolt = <1904000>; 236 regulator-max-microvolt = <2000000>; 237 }; 238 239 vreg_s6c_1p128: smps6 { 240 regulator-name = "vreg_s6c_1p128"; 241 regulator-min-microvolt = <1128000>; 242 regulator-max-microvolt = <1128000>; 243 }; 244 245 vreg_l1c_1p304: ldo1 { 246 regulator-name = "vreg_l1c_1p304"; 247 regulator-min-microvolt = <1304000>; 248 regulator-max-microvolt = <1304000>; 249 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 250 }; 251 252 vreg_l2c_1p808: ldo2 { 253 regulator-name = "vreg_l2c_1p808"; 254 regulator-min-microvolt = <1704000>; 255 regulator-max-microvolt = <2928000>; 256 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 257 }; 258 259 vreg_l5c_1p2: ldo5 { 260 regulator-name = "vreg_l5c_1p2"; 261 regulator-min-microvolt = <1200000>; 262 regulator-max-microvolt = <1200000>; 263 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 264 regulator-allow-set-load; 265 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 266 RPMH_REGULATOR_MODE_HPM>; 267 }; 268 269 vreg_l7c_1p8: ldo7 { 270 regulator-name = "vreg_l7c_1p8"; 271 regulator-min-microvolt = <1800000>; 272 regulator-max-microvolt = <1800000>; 273 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 274 }; 275 276 vreg_l8c_1p2: ldo8 { 277 regulator-name = "vreg_l8c_1p2"; 278 regulator-min-microvolt = <1200000>; 279 regulator-max-microvolt = <1200000>; 280 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 281 regulator-allow-set-load; 282 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 283 RPMH_REGULATOR_MODE_HPM>; 284 }; 285 286 vreg_l10c_3p3: ldo10 { 287 regulator-name = "vreg_l10c_3p3"; 288 regulator-min-microvolt = <3000000>; 289 regulator-max-microvolt = <3312000>; 290 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 291 }; 292 293 vreg_l11c_0p8: ldo11 { 294 regulator-name = "vreg_l11c_0p8"; 295 regulator-min-microvolt = <800000>; 296 regulator-max-microvolt = <800000>; 297 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 298 }; 299 300 vreg_l12c_1p808: ldo12 { 301 regulator-name = "vreg_l12c_1p808"; 302 regulator-min-microvolt = <1704000>; 303 regulator-max-microvolt = <2928000>; 304 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 305 }; 306 307 vreg_l13c_2p96: ldo13 { 308 regulator-name = "vreg_l13c_2p96"; 309 regulator-min-microvolt = <2504000>; 310 regulator-max-microvolt = <2960000>; 311 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 312 }; 313 314 vreg_l15c_1p9: ldo15 { 315 regulator-name = "vreg_l15c_1p9"; 316 regulator-min-microvolt = <1704000>; 317 regulator-max-microvolt = <2928000>; 318 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 319 }; 320 321 vreg_l16c_3p008: ldo16 { 322 regulator-name = "vreg_l16c_3p008"; 323 regulator-min-microvolt = <3008000>; 324 regulator-max-microvolt = <3008000>; 325 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 326 }; 327 328 vreg_l18c_0p88: ldo18 { 329 regulator-name = "vreg_l18c_0p88"; 330 regulator-min-microvolt = <880000>; 331 regulator-max-microvolt = <880000>; 332 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 333 }; 334 }; 335}; 336 337ðernet { 338 status = "okay"; 339 340 snps,reset-gpio = <&tlmm 79 GPIO_ACTIVE_LOW>; 341 snps,reset-active-low; 342 snps,reset-delays-us = <0 11000 70000>; 343 344 snps,mtl-rx-config = <&mtl_rx_setup>; 345 snps,mtl-tx-config = <&mtl_tx_setup>; 346 347 pinctrl-names = "default"; 348 pinctrl-0 = <ðernet_defaults>; 349 350 phy-handle = <&rgmii_phy>; 351 phy-mode = "rgmii"; 352 max-speed = <1000>; 353 354 mdio { 355 #address-cells = <0x1>; 356 #size-cells = <0x0>; 357 358 compatible = "snps,dwmac-mdio"; 359 360 /* Micrel KSZ9031RNZ PHY */ 361 rgmii_phy: phy@7 { 362 reg = <0x7>; 363 364 interrupt-parent = <&tlmm>; 365 interrupts-extended = <&tlmm 124 IRQ_TYPE_EDGE_FALLING>; /* phy intr */ 366 device_type = "ethernet-phy"; 367 compatible = "ethernet-phy-ieee802.3-c22"; 368 }; 369 }; 370}; 371 372&qupv3_id_1 { 373 status = "okay"; 374}; 375 376&remoteproc_adsp { 377 status = "okay"; 378 firmware-name = "qcom/sa8155p/adsp.mdt"; 379}; 380 381&remoteproc_cdsp { 382 status = "okay"; 383 firmware-name = "qcom/sa8155p/cdsp.mdt"; 384}; 385 386&sdhc_2 { 387 status = "okay"; 388 389 cd-gpios = <&tlmm 4 GPIO_ACTIVE_LOW>; 390 pinctrl-names = "default", "sleep"; 391 pinctrl-0 = <&sdc2_on>; 392 pinctrl-1 = <&sdc2_off>; 393 vqmmc-supply = <&vreg_l13c_2p96>; /* IO line power */ 394 vmmc-supply = <&vreg_l17a_2p96>; /* Card power line */ 395 bus-width = <4>; 396 no-sdio; 397 no-mmc; 398}; 399 400&uart2 { 401 status = "okay"; 402}; 403 404&uart9 { 405 status = "okay"; 406}; 407 408&ufs_mem_hc { 409 status = "okay"; 410 411 reset-gpios = <&tlmm 175 GPIO_ACTIVE_LOW>; 412 413 vcc-supply = <&vreg_l10a_2p96>; 414 vcc-max-microamp = <750000>; 415 vccq-supply = <&vreg_l5c_1p2>; 416 vccq-max-microamp = <700000>; 417 vccq2-supply = <&vreg_s4a_1p8>; 418 vccq2-max-microamp = <750000>; 419}; 420 421&ufs_mem_phy { 422 status = "okay"; 423 424 vdda-phy-supply = <&vreg_l8c_1p2>; 425 vdda-pll-supply = <&vreg_l5a_0p88>; 426}; 427 428&usb_1 { 429 status = "okay"; 430}; 431 432&usb_1_dwc3 { 433 dr_mode = "host"; 434 435 pinctrl-names = "default"; 436 pinctrl-0 = <&usb2phy_ac_en1_default>; 437}; 438 439&usb_1_hsphy { 440 status = "okay"; 441 vdda-pll-supply = <&vdd_usb_hs_core>; 442 vdda33-supply = <&vdda_usb_hs_3p1>; 443 vdda18-supply = <&vdda_usb_hs_1p8>; 444}; 445 446&usb_1_qmpphy { 447 status = "disabled"; 448}; 449 450&usb_2 { 451 status = "okay"; 452}; 453 454&usb_2_dwc3 { 455 dr_mode = "host"; 456 457 pinctrl-names = "default"; 458 pinctrl-0 = <&usb2phy_ac_en2_default>; 459}; 460 461&usb_2_hsphy { 462 status = "okay"; 463 vdda-pll-supply = <&vdd_usb_hs_core>; 464 vdda33-supply = <&vdda_usb_hs_3p1>; 465 vdda18-supply = <&vdda_usb_hs_1p8>; 466}; 467 468&usb_2_qmpphy { 469 status = "okay"; 470 vdda-phy-supply = <&vreg_l8c_1p2>; 471 vdda-pll-supply = <&vdda_usb_ss_dp_core_1>; 472}; 473 474&pcie0 { 475 status = "okay"; 476}; 477 478&pcie0_phy { 479 status = "okay"; 480 vdda-phy-supply = <&vreg_l18c_0p88>; 481 vdda-pll-supply = <&vreg_l8c_1p2>; 482}; 483 484&pcie1_phy { 485 vdda-phy-supply = <&vreg_l18c_0p88>; 486 vdda-pll-supply = <&vreg_l8c_1p2>; 487}; 488 489&tlmm { 490 gpio-reserved-ranges = <0 4>; 491 492 sdc2_on: sdc2-on-state { 493 clk-pins { 494 pins = "sdc2_clk"; 495 bias-disable; /* No pull */ 496 drive-strength = <16>; /* 16 MA */ 497 }; 498 499 cmd-pins { 500 pins = "sdc2_cmd"; 501 bias-pull-up; /* pull up */ 502 drive-strength = <16>; /* 16 MA */ 503 }; 504 505 data-pins { 506 pins = "sdc2_data"; 507 bias-pull-up; /* pull up */ 508 drive-strength = <16>; /* 16 MA */ 509 }; 510 511 sd-cd-pins { 512 pins = "gpio96"; 513 function = "gpio"; 514 bias-pull-up; /* pull up */ 515 drive-strength = <2>; /* 2 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 sd-cd-pins { 539 pins = "gpio96"; 540 function = "gpio"; 541 bias-pull-up; /* pull up */ 542 drive-strength = <2>; /* 2 MA */ 543 }; 544 }; 545 546 usb2phy_ac_en1_default: usb2phy-ac-en1-default-state { 547 pins = "gpio113"; 548 function = "usb2phy_ac"; 549 bias-disable; 550 drive-strength = <2>; 551 }; 552 553 usb2phy_ac_en2_default: usb2phy-ac-en2-default-state { 554 pins = "gpio123"; 555 function = "usb2phy_ac"; 556 bias-disable; 557 drive-strength = <2>; 558 }; 559 560 ethernet_defaults: ethernet-defaults-state { 561 mdc-pins { 562 pins = "gpio7"; 563 function = "rgmii"; 564 bias-pull-up; 565 }; 566 567 mdio-pins { 568 pins = "gpio59"; 569 function = "rgmii"; 570 bias-pull-up; 571 }; 572 573 rgmii-rx-pins { 574 pins = "gpio117", "gpio118", "gpio119", "gpio120", "gpio115", "gpio116"; 575 function = "rgmii"; 576 bias-disable; 577 drive-strength = <2>; 578 }; 579 580 rgmii-tx-pins { 581 pins = "gpio122", "gpio4", "gpio5", "gpio6", "gpio114", "gpio121"; 582 function = "rgmii"; 583 bias-pull-up; 584 drive-strength = <16>; 585 }; 586 587 phy-intr-pins { 588 pins = "gpio124"; 589 function = "emac_phy"; 590 bias-disable; 591 drive-strength = <8>; 592 }; 593 594 pps-pins { 595 pins = "gpio81"; 596 function = "emac_pps"; 597 bias-disable; 598 drive-strength = <8>; 599 }; 600 601 phy-reset-pins { 602 pins = "gpio79"; 603 function = "gpio"; 604 bias-pull-up; 605 drive-strength = <16>; 606 }; 607 }; 608}; 609