1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2023, Linaro Limited 4 */ 5 6/dts-v1/; 7 8#include <dt-bindings/gpio/gpio.h> 9#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 10 11#include "sa8775p.dtsi" 12#include "sa8775p-pmics.dtsi" 13 14/ { 15 model = "Qualcomm SA8775P Ride"; 16 compatible = "qcom,sa8775p-ride", "qcom,sa8775p"; 17 18 aliases { 19 serial0 = &uart10; 20 serial1 = &uart12; 21 serial2 = &uart17; 22 i2c11 = &i2c11; 23 i2c18 = &i2c18; 24 spi16 = &spi16; 25 ufshc1 = &ufs_mem_hc; 26 }; 27 28 chosen { 29 stdout-path = "serial0:115200n8"; 30 }; 31}; 32 33&apps_rsc { 34 regulators-0 { 35 compatible = "qcom,pmm8654au-rpmh-regulators"; 36 qcom,pmic-id = "a"; 37 38 vreg_s4a: smps4 { 39 regulator-name = "vreg_s4a"; 40 regulator-min-microvolt = <1800000>; 41 regulator-max-microvolt = <1816000>; 42 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 43 }; 44 45 vreg_s5a: smps5 { 46 regulator-name = "vreg_s5a"; 47 regulator-min-microvolt = <1850000>; 48 regulator-max-microvolt = <1996000>; 49 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 50 }; 51 52 vreg_s9a: smps9 { 53 regulator-name = "vreg_s9a"; 54 regulator-min-microvolt = <535000>; 55 regulator-max-microvolt = <1120000>; 56 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 57 }; 58 59 vreg_l4a: ldo4 { 60 regulator-name = "vreg_l4a"; 61 regulator-min-microvolt = <788000>; 62 regulator-max-microvolt = <1050000>; 63 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 64 regulator-allow-set-load; 65 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 66 RPMH_REGULATOR_MODE_HPM>; 67 }; 68 69 vreg_l5a: ldo5 { 70 regulator-name = "vreg_l5a"; 71 regulator-min-microvolt = <870000>; 72 regulator-max-microvolt = <950000>; 73 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 74 regulator-allow-set-load; 75 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 76 RPMH_REGULATOR_MODE_HPM>; 77 }; 78 79 vreg_l6a: ldo6 { 80 regulator-name = "vreg_l6a"; 81 regulator-min-microvolt = <870000>; 82 regulator-max-microvolt = <970000>; 83 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 84 regulator-allow-set-load; 85 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 86 RPMH_REGULATOR_MODE_HPM>; 87 }; 88 89 vreg_l7a: ldo7 { 90 regulator-name = "vreg_l7a"; 91 regulator-min-microvolt = <720000>; 92 regulator-max-microvolt = <950000>; 93 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 94 regulator-allow-set-load; 95 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 96 RPMH_REGULATOR_MODE_HPM>; 97 }; 98 99 vreg_l8a: ldo8 { 100 regulator-name = "vreg_l8a"; 101 regulator-min-microvolt = <2504000>; 102 regulator-max-microvolt = <3300000>; 103 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 104 regulator-allow-set-load; 105 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 106 RPMH_REGULATOR_MODE_HPM>; 107 }; 108 109 vreg_l9a: ldo9 { 110 regulator-name = "vreg_l9a"; 111 regulator-min-microvolt = <2970000>; 112 regulator-max-microvolt = <3544000>; 113 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 114 regulator-allow-set-load; 115 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 116 RPMH_REGULATOR_MODE_HPM>; 117 }; 118 }; 119 120 regulators-1 { 121 compatible = "qcom,pmm8654au-rpmh-regulators"; 122 qcom,pmic-id = "c"; 123 124 vreg_l1c: ldo1 { 125 regulator-name = "vreg_l1c"; 126 regulator-min-microvolt = <1140000>; 127 regulator-max-microvolt = <1260000>; 128 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 129 regulator-allow-set-load; 130 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 131 RPMH_REGULATOR_MODE_HPM>; 132 }; 133 134 vreg_l2c: ldo2 { 135 regulator-name = "vreg_l2c"; 136 regulator-min-microvolt = <900000>; 137 regulator-max-microvolt = <1100000>; 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_l3c: ldo3 { 145 regulator-name = "vreg_l3c"; 146 regulator-min-microvolt = <1100000>; 147 regulator-max-microvolt = <1300000>; 148 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 149 regulator-allow-set-load; 150 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 151 RPMH_REGULATOR_MODE_HPM>; 152 }; 153 154 vreg_l4c: ldo4 { 155 regulator-name = "vreg_l4c"; 156 regulator-min-microvolt = <1200000>; 157 regulator-max-microvolt = <1200000>; 158 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 159 /* 160 * FIXME: This should have regulator-allow-set-load but 161 * we're getting an over-current fault from the PMIC 162 * when switching to LPM. 163 */ 164 }; 165 166 vreg_l5c: ldo5 { 167 regulator-name = "vreg_l5c"; 168 regulator-min-microvolt = <1100000>; 169 regulator-max-microvolt = <1300000>; 170 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 171 regulator-allow-set-load; 172 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 173 RPMH_REGULATOR_MODE_HPM>; 174 }; 175 176 vreg_l6c: ldo6 { 177 regulator-name = "vreg_l6c"; 178 regulator-min-microvolt = <1620000>; 179 regulator-max-microvolt = <1980000>; 180 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 181 regulator-allow-set-load; 182 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 183 RPMH_REGULATOR_MODE_HPM>; 184 }; 185 186 vreg_l7c: ldo7 { 187 regulator-name = "vreg_l7c"; 188 regulator-min-microvolt = <1620000>; 189 regulator-max-microvolt = <2000000>; 190 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 191 regulator-allow-set-load; 192 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 193 RPMH_REGULATOR_MODE_HPM>; 194 }; 195 196 vreg_l8c: ldo8 { 197 regulator-name = "vreg_l8c"; 198 regulator-min-microvolt = <2400000>; 199 regulator-max-microvolt = <3300000>; 200 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 201 regulator-allow-set-load; 202 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 203 RPMH_REGULATOR_MODE_HPM>; 204 }; 205 206 vreg_l9c: ldo9 { 207 regulator-name = "vreg_l9c"; 208 regulator-min-microvolt = <1650000>; 209 regulator-max-microvolt = <2700000>; 210 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 211 regulator-allow-set-load; 212 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 213 RPMH_REGULATOR_MODE_HPM>; 214 }; 215 }; 216 217 regulators-2 { 218 compatible = "qcom,pmm8654au-rpmh-regulators"; 219 qcom,pmic-id = "e"; 220 221 vreg_s4e: smps4 { 222 regulator-name = "vreg_s4e"; 223 regulator-min-microvolt = <970000>; 224 regulator-max-microvolt = <1520000>; 225 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 226 }; 227 228 vreg_s7e: smps7 { 229 regulator-name = "vreg_s7e"; 230 regulator-min-microvolt = <1010000>; 231 regulator-max-microvolt = <1170000>; 232 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 233 }; 234 235 vreg_s9e: smps9 { 236 regulator-name = "vreg_s9e"; 237 regulator-min-microvolt = <300000>; 238 regulator-max-microvolt = <570000>; 239 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 240 }; 241 242 vreg_l6e: ldo6 { 243 regulator-name = "vreg_l6e"; 244 regulator-min-microvolt = <1280000>; 245 regulator-max-microvolt = <1450000>; 246 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 247 regulator-allow-set-load; 248 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 249 RPMH_REGULATOR_MODE_HPM>; 250 }; 251 252 vreg_l8e: ldo8 { 253 regulator-name = "vreg_l8e"; 254 regulator-min-microvolt = <1800000>; 255 regulator-max-microvolt = <1950000>; 256 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 257 regulator-allow-set-load; 258 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 259 RPMH_REGULATOR_MODE_HPM>; 260 }; 261 }; 262}; 263 264&i2c11 { 265 clock-frequency = <400000>; 266 pinctrl-0 = <&qup_i2c11_default>; 267 pinctrl-names = "default"; 268 status = "okay"; 269}; 270 271&i2c18 { 272 clock-frequency = <400000>; 273 pinctrl-0 = <&qup_i2c18_default>; 274 pinctrl-names = "default"; 275 status = "okay"; 276}; 277 278&pmm8654au_0_gpios { 279 gpio-line-names = "DS_EN", 280 "POFF_COMPLETE", 281 "UFS0_VER_ID", 282 "FAST_POFF", 283 "DBU1_PON_DONE", 284 "AOSS_SLEEP", 285 "CAM_DES0_EN", 286 "CAM_DES1_EN", 287 "CAM_DES2_EN", 288 "CAM_DES3_EN", 289 "UEFI", 290 "ANALOG_PON_OPT"; 291}; 292 293&pmm8654au_1_gpios { 294 gpio-line-names = "PMIC_C_ID0", 295 "PMIC_C_ID1", 296 "UFS1_VER_ID", 297 "IPA_PWR", 298 "", 299 "WLAN_DBU4_EN", 300 "WLAN_EN", 301 "BT_EN", 302 "USB2_PWR_EN", 303 "USB2_FAULT"; 304 305 usb2_en_state: usb2-en-state { 306 pins = "gpio9"; 307 function = "normal"; 308 output-high; 309 power-source = <0>; 310 }; 311}; 312 313&pmm8654au_2_gpios { 314 gpio-line-names = "PMIC_E_ID0", 315 "PMIC_E_ID1", 316 "USB0_PWR_EN", 317 "USB0_FAULT", 318 "SENSOR_IRQ_1", 319 "SENSOR_IRQ_2", 320 "SENSOR_RST", 321 "SGMIIO0_RST", 322 "SGMIIO1_RST", 323 "USB1_PWR_ENABLE", 324 "USB1_FAULT", 325 "VMON_SPX8"; 326 327 usb0_en_state: usb0-en-state { 328 pins = "gpio3"; 329 function = "normal"; 330 output-high; 331 power-source = <0>; 332 }; 333 334 usb1_en_state: usb1-en-state { 335 pins = "gpio10"; 336 function = "normal"; 337 output-high; 338 power-source = <0>; 339 }; 340}; 341 342&pmm8654au_3_gpios { 343 gpio-line-names = "PMIC_G_ID0", 344 "PMIC_G_ID1", 345 "GNSS_RST", 346 "GNSS_EN", 347 "GNSS_BOOT_MODE"; 348}; 349 350&qupv3_id_1 { 351 status = "okay"; 352}; 353 354&qupv3_id_2 { 355 status = "okay"; 356}; 357 358&sleep_clk { 359 clock-frequency = <32764>; 360}; 361 362&spi16 { 363 pinctrl-0 = <&qup_spi16_default>; 364 pinctrl-names = "default"; 365 status = "okay"; 366}; 367 368&tlmm { 369 qup_uart10_default: qup-uart10-state { 370 pins = "gpio46", "gpio47"; 371 function = "qup1_se3"; 372 }; 373 374 qup_spi16_default: qup-spi16-state { 375 pins = "gpio86", "gpio87", "gpio88", "gpio89"; 376 function = "qup2_se2"; 377 drive-strength = <6>; 378 bias-disable; 379 }; 380 381 qup_i2c11_default: qup-i2c11-state { 382 pins = "gpio48", "gpio49"; 383 function = "qup1_se4"; 384 drive-strength = <2>; 385 bias-pull-up; 386 }; 387 388 qup_i2c18_default: qup-i2c18-state { 389 pins = "gpio95", "gpio96"; 390 function = "qup2_se4"; 391 drive-strength = <2>; 392 bias-pull-up; 393 }; 394 395 qup_uart12_default: qup-uart12-state { 396 qup_uart12_cts: qup-uart12-cts-pins { 397 pins = "gpio52"; 398 function = "qup1_se5"; 399 bias-disable; 400 }; 401 402 qup_uart12_rts: qup-uart12-rts-pins { 403 pins = "gpio53"; 404 function = "qup1_se5"; 405 bias-pull-down; 406 }; 407 408 qup_uart12_tx: qup-uart12-tx-pins { 409 pins = "gpio54"; 410 function = "qup1_se5"; 411 bias-pull-up; 412 }; 413 414 qup_uart12_rx: qup-uart12-rx-pins { 415 pins = "gpio55"; 416 function = "qup1_se5"; 417 bias-pull-down; 418 }; 419 }; 420 421 qup_uart17_default: qup-uart17-state { 422 qup_uart17_cts: qup-uart17-cts-pins { 423 pins = "gpio91"; 424 function = "qup2_se3"; 425 bias-disable; 426 }; 427 428 qup_uart17_rts: qup0-uart17-rts-pins { 429 pins = "gpio92"; 430 function = "qup2_se3"; 431 bias-pull-down; 432 }; 433 434 qup_uart17_tx: qup0-uart17-tx-pins { 435 pins = "gpio93"; 436 function = "qup2_se3"; 437 bias-pull-up; 438 }; 439 440 qup_uart17_rx: qup0-uart17-rx-pins { 441 pins = "gpio94"; 442 function = "qup2_se3"; 443 bias-pull-down; 444 }; 445 }; 446}; 447 448&uart10 { 449 compatible = "qcom,geni-debug-uart"; 450 pinctrl-0 = <&qup_uart10_default>; 451 pinctrl-names = "default"; 452 status = "okay"; 453}; 454 455&uart12 { 456 pinctrl-0 = <&qup_uart12_default>; 457 pinctrl-names = "default"; 458 status = "okay"; 459}; 460 461&uart17 { 462 pinctrl-0 = <&qup_uart17_default>; 463 pinctrl-names = "default"; 464 status = "okay"; 465}; 466 467&ufs_mem_hc { 468 reset-gpios = <&tlmm 149 GPIO_ACTIVE_LOW>; 469 vcc-supply = <&vreg_l8a>; 470 vcc-max-microamp = <1100000>; 471 vccq-supply = <&vreg_l4c>; 472 vccq-max-microamp = <1200000>; 473 474 status = "okay"; 475}; 476 477&ufs_mem_phy { 478 vdda-phy-supply = <&vreg_l4a>; 479 vdda-pll-supply = <&vreg_l1c>; 480 481 status = "okay"; 482}; 483 484&usb_0 { 485 pinctrl-names = "default"; 486 pinctrl-0 = <&usb0_en_state>; 487 488 status = "okay"; 489}; 490 491&usb_0_dwc3 { 492 dr_mode = "peripheral"; 493}; 494 495&usb_0_hsphy { 496 vdda-pll-supply = <&vreg_l7a>; 497 vdda18-supply = <&vreg_l6c>; 498 vdda33-supply = <&vreg_l9a>; 499 500 status = "okay"; 501}; 502 503&usb_0_qmpphy { 504 vdda-phy-supply = <&vreg_l1c>; 505 vdda-pll-supply = <&vreg_l7a>; 506 507 status = "okay"; 508}; 509 510&usb_1 { 511 pinctrl-names = "default"; 512 pinctrl-0 = <&usb1_en_state>; 513 514 status = "okay"; 515}; 516 517&usb_1_dwc3 { 518 dr_mode = "host"; 519}; 520 521&usb_1_hsphy { 522 vdda-pll-supply = <&vreg_l7a>; 523 vdda18-supply = <&vreg_l6c>; 524 vdda33-supply = <&vreg_l9a>; 525 526 status = "okay"; 527}; 528 529&usb_1_qmpphy { 530 vdda-phy-supply = <&vreg_l1c>; 531 vdda-pll-supply = <&vreg_l7a>; 532 533 status = "okay"; 534}; 535 536&usb_2 { 537 pinctrl-names = "default"; 538 pinctrl-0 = <&usb2_en_state>; 539 540 status = "okay"; 541}; 542 543&usb_2_dwc3 { 544 dr_mode = "host"; 545}; 546 547&usb_2_hsphy { 548 vdda-pll-supply = <&vreg_l7a>; 549 vdda18-supply = <&vreg_l6c>; 550 vdda33-supply = <&vreg_l9a>; 551 552 status = "okay"; 553}; 554 555&xo_board_clk { 556 clock-frequency = <38400000>; 557}; 558