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 "sm8450.dtsi" 10#include "pm8350.dtsi" 11#include "pm8350b.dtsi" 12#include "pm8350c.dtsi" 13#include "pm8450.dtsi" 14#include "pmk8350.dtsi" 15#include "pmr735a.dtsi" 16#include "pmr735b.dtsi" 17 18/ { 19 model = "Qualcomm Technologies, Inc. SM8450 QRD"; 20 compatible = "qcom,sm8450-qrd", "qcom,sm8450"; 21 chassis-type = "handset"; 22 23 aliases { 24 serial0 = &uart7; 25 }; 26 27 chosen { 28 stdout-path = "serial0:115200n8"; 29 }; 30 31 pmic-glink { 32 compatible = "qcom,sm8450-pmic-glink", "qcom,pmic-glink"; 33 #address-cells = <1>; 34 #size-cells = <0>; 35 orientation-gpios = <&tlmm 91 GPIO_ACTIVE_HIGH>; 36 37 connector@0 { 38 compatible = "usb-c-connector"; 39 reg = <0>; 40 power-role = "dual"; 41 data-role = "dual"; 42 43 ports { 44 #address-cells = <1>; 45 #size-cells = <0>; 46 47 port@0 { 48 reg = <0>; 49 50 pmic_glink_hs_in: endpoint { 51 remote-endpoint = <&usb_1_dwc3_hs>; 52 }; 53 }; 54 55 port@1 { 56 reg = <1>; 57 58 pmic_glink_ss_in: endpoint { 59 remote-endpoint = <&usb_1_qmpphy_out>; 60 }; 61 }; 62 63 port@2 { 64 reg = <2>; 65 66 pmic_glink_sbu: endpoint { 67 }; 68 }; 69 70 }; 71 }; 72 }; 73 74 vph_pwr: vph-pwr-regulator { 75 compatible = "regulator-fixed"; 76 regulator-name = "vph_pwr"; 77 regulator-min-microvolt = <3700000>; 78 regulator-max-microvolt = <3700000>; 79 80 regulator-always-on; 81 regulator-boot-on; 82 }; 83}; 84 85&apps_rsc { 86 regulators-0 { 87 compatible = "qcom,pm8350-rpmh-regulators"; 88 qcom,pmic-id = "b"; 89 90 vdd-s1-supply = <&vph_pwr>; 91 vdd-s2-supply = <&vph_pwr>; 92 vdd-s3-supply = <&vph_pwr>; 93 vdd-s4-supply = <&vph_pwr>; 94 vdd-s5-supply = <&vph_pwr>; 95 vdd-s6-supply = <&vph_pwr>; 96 vdd-s7-supply = <&vph_pwr>; 97 vdd-s8-supply = <&vph_pwr>; 98 vdd-s9-supply = <&vph_pwr>; 99 vdd-s10-supply = <&vph_pwr>; 100 vdd-s11-supply = <&vph_pwr>; 101 vdd-s12-supply = <&vph_pwr>; 102 103 vdd-l1-l4-supply = <&vreg_s11b_0p95>; 104 vdd-l2-l7-supply = <&vreg_bob>; 105 vdd-l3-l5-supply = <&vreg_bob>; 106 vdd-l6-l9-l10-supply = <&vreg_s12b_1p25>; 107 vdd-l8-supply = <&vreg_s2h_0p95>; 108 109 vreg_s10b_1p8: smps10 { 110 regulator-name = "vreg_s10b_1p8"; 111 regulator-min-microvolt = <1800000>; 112 regulator-max-microvolt = <1800000>; 113 }; 114 115 vreg_s11b_0p95: smps11 { 116 regulator-name = "vreg_s11b_0p95"; 117 regulator-min-microvolt = <848000>; 118 regulator-max-microvolt = <1104000>; 119 }; 120 121 vreg_s12b_1p25: smps12 { 122 regulator-name = "vreg_s12b_1p25"; 123 regulator-min-microvolt = <1224000>; 124 regulator-max-microvolt = <1400000>; 125 }; 126 127 vreg_l1b_0p91: ldo1 { 128 regulator-name = "vreg_l1b_0p91"; 129 regulator-min-microvolt = <912000>; 130 regulator-max-microvolt = <920000>; 131 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 132 }; 133 134 vreg_l2b_3p07: ldo2 { 135 regulator-name = "vreg_l2b_3p07"; 136 regulator-min-microvolt = <3072000>; 137 regulator-max-microvolt = <3072000>; 138 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 139 }; 140 141 vreg_l3b_0p9: ldo3 { 142 regulator-name = "vreg_l3b_0p9"; 143 regulator-min-microvolt = <904000>; 144 regulator-max-microvolt = <904000>; 145 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 146 }; 147 148 vreg_l5b_0p88: ldo5 { 149 regulator-name = "vreg_l5b_0p88"; 150 regulator-min-microvolt = <880000>; 151 regulator-max-microvolt = <888000>; 152 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 153 }; 154 155 vreg_l6b_1p2: ldo6 { 156 regulator-name = "vreg_l6b_1p2"; 157 regulator-min-microvolt = <1200000>; 158 regulator-max-microvolt = <1200000>; 159 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 160 }; 161 162 vreg_l7b_2p5: ldo7 { 163 regulator-name = "vreg_l7b_2p5"; 164 regulator-min-microvolt = <2504000>; 165 regulator-max-microvolt = <2504000>; 166 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 167 }; 168 169 vreg_l9b_1p2: ldo9 { 170 regulator-name = "vreg_l9b_1p2"; 171 regulator-min-microvolt = <1200000>; 172 regulator-max-microvolt = <1200000>; 173 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 174 }; 175 }; 176 177 regulators-1 { 178 compatible = "qcom,pm8350c-rpmh-regulators"; 179 qcom,pmic-id = "c"; 180 181 vdd-s1-supply = <&vph_pwr>; 182 vdd-s2-supply = <&vph_pwr>; 183 vdd-s3-supply = <&vph_pwr>; 184 vdd-s4-supply = <&vph_pwr>; 185 vdd-s5-supply = <&vph_pwr>; 186 vdd-s6-supply = <&vph_pwr>; 187 vdd-s7-supply = <&vph_pwr>; 188 vdd-s8-supply = <&vph_pwr>; 189 vdd-s9-supply = <&vph_pwr>; 190 vdd-s10-supply = <&vph_pwr>; 191 192 vdd-l1-l12-supply = <&vreg_bob>; 193 vdd-l2-l8-supply = <&vreg_bob>; 194 vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>; 195 vdd-l6-l9-l11-supply = <&vreg_bob>; 196 197 vdd-bob-supply = <&vph_pwr>; 198 199 vreg_s1c_1p86: smps1 { 200 regulator-name = "vreg_s1c_1p86"; 201 regulator-min-microvolt = <1800000>; 202 regulator-max-microvolt = <2024000>; 203 }; 204 205 vreg_s10c_1p05: smps10 { 206 regulator-name = "vreg_s10c_1p05"; 207 regulator-min-microvolt = <1000000>; 208 regulator-max-microvolt = <1100000>; 209 }; 210 211 vreg_bob: bob { 212 regulator-name = "vreg_bob"; 213 regulator-min-microvolt = <3008000>; 214 regulator-max-microvolt = <3960000>; 215 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 216 }; 217 218 vreg_l1c_1p8: ldo1 { 219 regulator-name = "vreg_l1c_1p8"; 220 regulator-min-microvolt = <1800000>; 221 regulator-max-microvolt = <1800000>; 222 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 223 }; 224 225 vreg_l3c_3p0: ldo3 { 226 regulator-name = "vreg_l3c_3p0"; 227 regulator-min-microvolt = <3296000>; 228 regulator-max-microvolt = <3304000>; 229 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 230 }; 231 232 vreg_l4c_1p8: ldo4 { 233 regulator-name = "vreg_l4c_1p8"; 234 regulator-min-microvolt = <1704000>; 235 regulator-max-microvolt = <3000000>; 236 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 237 }; 238 239 vreg_l5c_1p8: ldo5 { 240 regulator-name = "vreg_l5c_1p8"; 241 regulator-min-microvolt = <1704000>; 242 regulator-max-microvolt = <3000000>; 243 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 244 }; 245 246 vreg_l6c_1p8: ldo6 { 247 regulator-name = "vreg_l6c_1p8"; 248 regulator-min-microvolt = <1800000>; 249 regulator-max-microvolt = <3008000>; 250 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 251 }; 252 253 vreg_l7c_3p0: ldo7 { 254 regulator-name = "vreg_l7c_3p0"; 255 regulator-min-microvolt = <3008000>; 256 regulator-max-microvolt = <3008000>; 257 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 258 }; 259 260 vreg_l8c_1p8: ldo8 { 261 regulator-name = "vreg_l8c_1p8"; 262 regulator-min-microvolt = <1800000>; 263 regulator-max-microvolt = <1800000>; 264 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 265 }; 266 267 vreg_l9c_2p96: ldo9 { 268 regulator-name = "vreg_l9c_2p96"; 269 regulator-min-microvolt = <2960000>; 270 regulator-max-microvolt = <3008000>; 271 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 272 }; 273 274 vreg_l12c_1p8: ldo12 { 275 regulator-name = "vreg_l12c_1p8"; 276 regulator-min-microvolt = <1800000>; 277 regulator-max-microvolt = <1968000>; 278 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 279 }; 280 281 vreg_l13c_3p0: ldo13 { 282 regulator-name = "vreg_l13c_3p0"; 283 regulator-min-microvolt = <3000000>; 284 regulator-max-microvolt = <3000000>; 285 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 286 }; 287 }; 288 289 regulators-2 { 290 compatible = "qcom,pm8450-rpmh-regulators"; 291 qcom,pmic-id = "h"; 292 293 vdd-s1-supply = <&vph_pwr>; 294 vdd-s2-supply = <&vph_pwr>; 295 vdd-s3-supply = <&vph_pwr>; 296 vdd-s4-supply = <&vph_pwr>; 297 vdd-s5-supply = <&vph_pwr>; 298 vdd-s6-supply = <&vph_pwr>; 299 300 vdd-l2-supply = <&vreg_bob>; 301 vdd-l3-supply = <&vreg_bob>; 302 vdd-l4-supply = <&vreg_bob>; 303 304 vreg_s2h_0p95: smps2 { 305 regulator-name = "vreg_s2h_0p95"; 306 regulator-min-microvolt = <848000>; 307 regulator-max-microvolt = <1104000>; 308 }; 309 310 vreg_s3h_0p5: smps3 { 311 regulator-name = "vreg_s3h_0p5"; 312 regulator-min-microvolt = <500000>; 313 regulator-max-microvolt = <500000>; 314 }; 315 316 vreg_l2h_0p91: ldo2 { 317 regulator-name = "vreg_l2h_0p91"; 318 regulator-min-microvolt = <880000>; 319 regulator-max-microvolt = <912000>; 320 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 321 }; 322 323 vreg_l3h_0p91: ldo3 { 324 regulator-name = "vreg_l3h_0p91"; 325 regulator-min-microvolt = <912000>; 326 regulator-max-microvolt = <912000>; 327 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 328 }; 329 }; 330 331 regulators-3 { 332 compatible = "qcom,pmr735a-rpmh-regulators"; 333 qcom,pmic-id = "e"; 334 335 vdd-s1-supply = <&vph_pwr>; 336 vdd-s2-supply = <&vph_pwr>; 337 vdd-s3-supply = <&vph_pwr>; 338 339 vdd-l1-l2-supply = <&vreg_s2e_0p85>; 340 vdd-l3-supply = <&vreg_s1e_1p25>; 341 vdd-l4-supply = <&vreg_s1c_1p86>; 342 vdd-l5-l6-supply = <&vreg_s1c_1p86>; 343 vdd-l7-bob-supply = <&vreg_bob>; 344 345 vreg_s1e_1p25: smps1 { 346 regulator-name = "vreg_s1e_1p25"; 347 regulator-min-microvolt = <1200000>; 348 regulator-max-microvolt = <1296000>; 349 }; 350 351 vreg_s2e_0p85: smps2 { 352 regulator-name = "vreg_s2e_0p85"; 353 regulator-min-microvolt = <500000>; 354 regulator-max-microvolt = <1040000>; 355 }; 356 357 vreg_l1e_0p8: ldo1 { 358 regulator-name = "vreg_l1e_0p8"; 359 regulator-min-microvolt = <800000>; 360 regulator-max-microvolt = <800000>; 361 }; 362 363 vreg_l2e_0p8: ldo2 { 364 regulator-name = "vreg_l2e_0p8"; 365 regulator-min-microvolt = <800000>; 366 regulator-max-microvolt = <800000>; 367 }; 368 369 vreg_l3e_1p2: ldo3 { 370 regulator-name = "vreg_l3e_1p2"; 371 regulator-min-microvolt = <1200000>; 372 regulator-max-microvolt = <1200000>; 373 }; 374 375 vreg_l4e_1p7: ldo4 { 376 regulator-name = "vreg_l4e_1p7"; 377 regulator-min-microvolt = <1776000>; 378 regulator-max-microvolt = <1776000>; 379 }; 380 381 vreg_l5e_0p88: ldo5 { 382 regulator-name = "vreg_l5e_0p88"; 383 regulator-min-microvolt = <880000>; 384 regulator-max-microvolt = <880000>; 385 }; 386 387 vreg_l6e_1p2: ldo6 { 388 regulator-name = "vreg_l6e_1p2"; 389 regulator-min-microvolt = <1200000>; 390 regulator-max-microvolt = <1200000>; 391 }; 392 }; 393}; 394 395&dispcc { 396 status = "disabled"; 397}; 398 399&pcie0 { 400 status = "okay"; 401}; 402 403&pcie0_phy { 404 status = "okay"; 405 vdda-phy-supply = <&vreg_l5b_0p88>; 406 vdda-pll-supply = <&vreg_l6b_1p2>; 407}; 408 409&gpi_dma0 { 410 status = "okay"; 411}; 412 413&i2c5 { 414 status = "okay"; 415}; 416 417&qupv3_id_0 { 418 status = "okay"; 419}; 420 421&qupv3_id_2 { 422 status = "okay"; 423}; 424 425&remoteproc_adsp { 426 status = "okay"; 427 firmware-name = "qcom/sm8450/adsp.mbn"; 428}; 429 430&remoteproc_cdsp { 431 status = "okay"; 432 firmware-name = "qcom/sm8450/cdsp.mbn"; 433}; 434 435&remoteproc_mpss { 436 status = "okay"; 437 firmware-name = "qcom/sm8450/modem.mbn"; 438}; 439 440&remoteproc_slpi { 441 status = "okay"; 442 firmware-name = "qcom/sm8450/slpi.mbn"; 443}; 444 445&sdhc_2 { 446 cd-gpios = <&tlmm 92 GPIO_ACTIVE_HIGH>; 447 pinctrl-names = "default", "sleep"; 448 pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>; 449 pinctrl-1 = <&sdc2_sleep_state &sdc2_card_det_n>; 450 vmmc-supply = <&vreg_l9c_2p96>; 451 vqmmc-supply = <&vreg_l6c_1p8>; 452 no-sdio; 453 no-mmc; 454 status = "okay"; 455}; 456 457&spi4 { 458 status = "okay"; 459}; 460 461&spi18 { 462 status = "okay"; 463}; 464 465&spi19 { 466 status = "okay"; 467}; 468 469&tlmm { 470 gpio-reserved-ranges = <28 4>, <36 4>; 471 472 sdc2_card_det_n: sd-card-det-n-state { 473 pins = "gpio92"; 474 function = "gpio"; 475 drive-strength = <2>; 476 bias-pull-up; 477 }; 478}; 479 480&uart7 { 481 status = "okay"; 482}; 483 484&ufs_mem_hc { 485 status = "okay"; 486 487 reset-gpios = <&tlmm 210 GPIO_ACTIVE_LOW>; 488 489 vcc-supply = <&vreg_l7b_2p5>; 490 vcc-max-microamp = <1100000>; 491 vccq-supply = <&vreg_l9b_1p2>; 492 vccq-max-microamp = <1200000>; 493 vdd-hba-supply = <&vreg_l9b_1p2>; 494}; 495 496&ufs_mem_phy { 497 status = "okay"; 498 499 vdda-phy-supply = <&vreg_l5b_0p88>; 500 vdda-pll-supply = <&vreg_l6b_1p2>; 501}; 502 503&usb_1 { 504 status = "okay"; 505}; 506 507&usb_1_dwc3_hs { 508 remote-endpoint = <&pmic_glink_hs_in>; 509}; 510 511&usb_1_hsphy { 512 status = "okay"; 513 514 vdda-pll-supply = <&vreg_l5b_0p88>; 515 vdda18-supply = <&vreg_l1c_1p8>; 516 vdda33-supply = <&vreg_l2b_3p07>; 517 qcom,squelch-detector-bp = <(-2090)>; 518 qcom,hs-disconnect-bp = <1743>; 519 qcom,pre-emphasis-amplitude-bp = <40000>; 520 qcom,pre-emphasis-duration-bp = <20000>; 521 qcom,hs-amplitude-bp = <2000>; 522 qcom,hs-output-impedance-micro-ohms = <2600000>; 523 qcom,hs-crossover-voltage-microvolt = <(-31000)>; 524 qcom,hs-rise-fall-time-bp = <(-4100)>; 525}; 526 527&usb_1_qmpphy { 528 status = "okay"; 529 530 vdda-phy-supply = <&vreg_l6b_1p2>; 531 vdda-pll-supply = <&vreg_l1b_0p91>; 532}; 533 534&usb_1_qmpphy_out { 535 remote-endpoint = <&pmic_glink_ss_in>; 536}; 537