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 i2c18 = &i2c18; 23 spi16 = &spi16; 24 ufshc1 = &ufs_mem_hc; 25 }; 26 27 chosen { 28 stdout-path = "serial0:115200n8"; 29 }; 30}; 31 32&apps_rsc { 33 regulators-0 { 34 compatible = "qcom,pmm8654au-rpmh-regulators"; 35 qcom,pmic-id = "a"; 36 37 vreg_s4a: smps4 { 38 regulator-name = "vreg_s4a"; 39 regulator-min-microvolt = <1800000>; 40 regulator-max-microvolt = <1816000>; 41 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 42 }; 43 44 vreg_s5a: smps5 { 45 regulator-name = "vreg_s5a"; 46 regulator-min-microvolt = <1850000>; 47 regulator-max-microvolt = <1996000>; 48 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 49 }; 50 51 vreg_s9a: smps9 { 52 regulator-name = "vreg_s9a"; 53 regulator-min-microvolt = <535000>; 54 regulator-max-microvolt = <1120000>; 55 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 56 }; 57 58 vreg_l4a: ldo4 { 59 regulator-name = "vreg_l4a"; 60 regulator-min-microvolt = <788000>; 61 regulator-max-microvolt = <1050000>; 62 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 63 regulator-allow-set-load; 64 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 65 RPMH_REGULATOR_MODE_HPM>; 66 }; 67 68 vreg_l5a: ldo5 { 69 regulator-name = "vreg_l5a"; 70 regulator-min-microvolt = <870000>; 71 regulator-max-microvolt = <950000>; 72 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 73 regulator-allow-set-load; 74 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 75 RPMH_REGULATOR_MODE_HPM>; 76 }; 77 78 vreg_l6a: ldo6 { 79 regulator-name = "vreg_l6a"; 80 regulator-min-microvolt = <870000>; 81 regulator-max-microvolt = <970000>; 82 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 83 regulator-allow-set-load; 84 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 85 RPMH_REGULATOR_MODE_HPM>; 86 }; 87 88 vreg_l7a: ldo7 { 89 regulator-name = "vreg_l7a"; 90 regulator-min-microvolt = <720000>; 91 regulator-max-microvolt = <950000>; 92 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 93 regulator-allow-set-load; 94 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 95 RPMH_REGULATOR_MODE_HPM>; 96 }; 97 98 vreg_l8a: ldo8 { 99 regulator-name = "vreg_l8a"; 100 regulator-min-microvolt = <2504000>; 101 regulator-max-microvolt = <3300000>; 102 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 103 regulator-allow-set-load; 104 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 105 RPMH_REGULATOR_MODE_HPM>; 106 }; 107 108 vreg_l9a: ldo9 { 109 regulator-name = "vreg_l9a"; 110 regulator-min-microvolt = <2970000>; 111 regulator-max-microvolt = <3544000>; 112 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 113 regulator-allow-set-load; 114 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 115 RPMH_REGULATOR_MODE_HPM>; 116 }; 117 }; 118 119 regulators-1 { 120 compatible = "qcom,pmm8654au-rpmh-regulators"; 121 qcom,pmic-id = "c"; 122 123 vreg_l1c: ldo1 { 124 regulator-name = "vreg_l1c"; 125 regulator-min-microvolt = <1140000>; 126 regulator-max-microvolt = <1260000>; 127 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 128 regulator-allow-set-load; 129 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 130 RPMH_REGULATOR_MODE_HPM>; 131 }; 132 133 vreg_l2c: ldo2 { 134 regulator-name = "vreg_l2c"; 135 regulator-min-microvolt = <900000>; 136 regulator-max-microvolt = <1100000>; 137 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 138 regulator-allow-set-load; 139 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 140 RPMH_REGULATOR_MODE_HPM>; 141 }; 142 143 vreg_l3c: ldo3 { 144 regulator-name = "vreg_l3c"; 145 regulator-min-microvolt = <1100000>; 146 regulator-max-microvolt = <1300000>; 147 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 148 regulator-allow-set-load; 149 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 150 RPMH_REGULATOR_MODE_HPM>; 151 }; 152 153 vreg_l4c: ldo4 { 154 regulator-name = "vreg_l4c"; 155 regulator-min-microvolt = <1100000>; 156 regulator-max-microvolt = <1300000>; 157 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 158 /* 159 * FIXME: This should have regulator-allow-set-load but 160 * we're getting an over-current fault from the PMIC 161 * when switching to LPM. 162 */ 163 }; 164 165 vreg_l5c: ldo5 { 166 regulator-name = "vreg_l5c"; 167 regulator-min-microvolt = <1100000>; 168 regulator-max-microvolt = <1300000>; 169 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 170 regulator-allow-set-load; 171 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 172 RPMH_REGULATOR_MODE_HPM>; 173 }; 174 175 vreg_l6c: ldo6 { 176 regulator-name = "vreg_l6c"; 177 regulator-min-microvolt = <1620000>; 178 regulator-max-microvolt = <1980000>; 179 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 180 regulator-allow-set-load; 181 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 182 RPMH_REGULATOR_MODE_HPM>; 183 }; 184 185 vreg_l7c: ldo7 { 186 regulator-name = "vreg_l7c"; 187 regulator-min-microvolt = <1620000>; 188 regulator-max-microvolt = <2000000>; 189 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 190 regulator-allow-set-load; 191 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 192 RPMH_REGULATOR_MODE_HPM>; 193 }; 194 195 vreg_l8c: ldo8 { 196 regulator-name = "vreg_l8c"; 197 regulator-min-microvolt = <2400000>; 198 regulator-max-microvolt = <3300000>; 199 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 200 regulator-allow-set-load; 201 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 202 RPMH_REGULATOR_MODE_HPM>; 203 }; 204 205 vreg_l9c: ldo9 { 206 regulator-name = "vreg_l9c"; 207 regulator-min-microvolt = <1650000>; 208 regulator-max-microvolt = <2700000>; 209 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 210 regulator-allow-set-load; 211 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 212 RPMH_REGULATOR_MODE_HPM>; 213 }; 214 }; 215 216 regulators-2 { 217 compatible = "qcom,pmm8654au-rpmh-regulators"; 218 qcom,pmic-id = "e"; 219 220 vreg_s4e: smps4 { 221 regulator-name = "vreg_s4e"; 222 regulator-min-microvolt = <970000>; 223 regulator-max-microvolt = <1520000>; 224 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 225 }; 226 227 vreg_s7e: smps7 { 228 regulator-name = "vreg_s7e"; 229 regulator-min-microvolt = <1010000>; 230 regulator-max-microvolt = <1170000>; 231 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 232 }; 233 234 vreg_s9e: smps9 { 235 regulator-name = "vreg_s9e"; 236 regulator-min-microvolt = <300000>; 237 regulator-max-microvolt = <570000>; 238 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 239 }; 240 241 vreg_l6e: ldo6 { 242 regulator-name = "vreg_l6e"; 243 regulator-min-microvolt = <1280000>; 244 regulator-max-microvolt = <1450000>; 245 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 246 regulator-allow-set-load; 247 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 248 RPMH_REGULATOR_MODE_HPM>; 249 }; 250 251 vreg_l8e: ldo8 { 252 regulator-name = "vreg_l8e"; 253 regulator-min-microvolt = <1800000>; 254 regulator-max-microvolt = <1950000>; 255 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 256 regulator-allow-set-load; 257 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 258 RPMH_REGULATOR_MODE_HPM>; 259 }; 260 }; 261}; 262 263&i2c18 { 264 clock-frequency = <400000>; 265 pinctrl-0 = <&qup_i2c18_default>; 266 pinctrl-names = "default"; 267 status = "okay"; 268}; 269 270&pmm8654au_0_gpios { 271 gpio-line-names = "DS_EN", 272 "POFF_COMPLETE", 273 "UFS0_VER_ID", 274 "FAST_POFF", 275 "DBU1_PON_DONE", 276 "AOSS_SLEEP", 277 "CAM_DES0_EN", 278 "CAM_DES1_EN", 279 "CAM_DES2_EN", 280 "CAM_DES3_EN", 281 "UEFI", 282 "ANALOG_PON_OPT"; 283}; 284 285&pmm8654au_1_gpios { 286 gpio-line-names = "PMIC_C_ID0", 287 "PMIC_C_ID1", 288 "UFS1_VER_ID", 289 "IPA_PWR", 290 "", 291 "WLAN_DBU4_EN", 292 "WLAN_EN", 293 "BT_EN", 294 "USB2_PWR_EN", 295 "USB2_FAULT"; 296}; 297 298&pmm8654au_2_gpios { 299 gpio-line-names = "PMIC_E_ID0", 300 "PMIC_E_ID1", 301 "USB0_PWR_EN", 302 "USB0_FAULT", 303 "SENSOR_IRQ_1", 304 "SENSOR_IRQ_2", 305 "SENSOR_RST", 306 "SGMIIO0_RST", 307 "SGMIIO1_RST", 308 "USB1_PWR_ENABLE", 309 "USB1_FAULT", 310 "VMON_SPX8"; 311}; 312 313&pmm8654au_3_gpios { 314 gpio-line-names = "PMIC_G_ID0", 315 "PMIC_G_ID1", 316 "GNSS_RST", 317 "GNSS_EN", 318 "GNSS_BOOT_MODE"; 319}; 320 321&qupv3_id_1 { 322 status = "okay"; 323}; 324 325&qupv3_id_2 { 326 status = "okay"; 327}; 328 329&sleep_clk { 330 clock-frequency = <32764>; 331}; 332 333&spi16 { 334 pinctrl-0 = <&qup_spi16_default>; 335 pinctrl-names = "default"; 336 status = "okay"; 337}; 338 339&tlmm { 340 qup_uart10_default: qup-uart10-state { 341 pins = "gpio46", "gpio47"; 342 function = "qup1_se3"; 343 }; 344 345 qup_spi16_default: qup-spi16-state { 346 pins = "gpio86", "gpio87", "gpio88", "gpio89"; 347 function = "qup2_se2"; 348 drive-strength = <6>; 349 bias-disable; 350 }; 351 352 qup_i2c18_default: qup-i2c18-state { 353 pins = "gpio95", "gpio96"; 354 function = "qup2_se4"; 355 drive-strength = <2>; 356 bias-pull-up; 357 }; 358 359 qup_uart12_default: qup-uart12-state { 360 qup_uart12_cts: qup-uart12-cts-pins { 361 pins = "gpio52"; 362 function = "qup1_se5"; 363 bias-disable; 364 }; 365 366 qup_uart12_rts: qup-uart12-rts-pins { 367 pins = "gpio53"; 368 function = "qup1_se5"; 369 bias-pull-down; 370 }; 371 372 qup_uart12_tx: qup-uart12-tx-pins { 373 pins = "gpio54"; 374 function = "qup1_se5"; 375 bias-pull-up; 376 }; 377 378 qup_uart12_rx: qup-uart12-rx-pins { 379 pins = "gpio55"; 380 function = "qup1_se5"; 381 bias-pull-down; 382 }; 383 }; 384 385 qup_uart17_default: qup-uart17-state { 386 qup_uart17_cts: qup-uart17-cts-pins { 387 pins = "gpio91"; 388 function = "qup2_se3"; 389 bias-disable; 390 }; 391 392 qup_uart17_rts: qup0-uart17-rts-pins { 393 pins = "gpio92"; 394 function = "qup2_se3"; 395 bias-pull-down; 396 }; 397 398 qup_uart17_tx: qup0-uart17-tx-pins { 399 pins = "gpio93"; 400 function = "qup2_se3"; 401 bias-pull-up; 402 }; 403 404 qup_uart17_rx: qup0-uart17-rx-pins { 405 pins = "gpio94"; 406 function = "qup2_se3"; 407 bias-pull-down; 408 }; 409 }; 410}; 411 412&uart10 { 413 compatible = "qcom,geni-debug-uart"; 414 pinctrl-0 = <&qup_uart10_default>; 415 pinctrl-names = "default"; 416 status = "okay"; 417}; 418 419&uart12 { 420 pinctrl-0 = <&qup_uart12_default>; 421 pinctrl-names = "default"; 422 status = "okay"; 423}; 424 425&uart17 { 426 pinctrl-0 = <&qup_uart17_default>; 427 pinctrl-names = "default"; 428 status = "okay"; 429}; 430 431&ufs_mem_hc { 432 reset-gpios = <&tlmm 149 GPIO_ACTIVE_LOW>; 433 vcc-supply = <&vreg_l8a>; 434 vcc-max-microamp = <1100000>; 435 vccq-supply = <&vreg_l4c>; 436 vccq-max-microamp = <1200000>; 437 438 status = "okay"; 439}; 440 441&ufs_mem_phy { 442 vdda-phy-supply = <&vreg_l4a>; 443 vdda-pll-supply = <&vreg_l1c>; 444 445 status = "okay"; 446}; 447 448&xo_board_clk { 449 clock-frequency = <38400000>; 450}; 451