1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. 4 */ 5/dts-v1/; 6 7#include <dt-bindings/gpio/gpio.h> 8#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 9#include <dt-bindings/gpio/gpio.h> 10#include "qcs615.dtsi" 11#include "pm8150.dtsi" 12/ { 13 model = "Qualcomm Technologies, Inc. QCS615 Ride"; 14 compatible = "qcom,qcs615-ride", "qcom,qcs615"; 15 chassis-type = "embedded"; 16 17 aliases { 18 mmc0 = &sdhc_1; 19 mmc1 = &sdhc_2; 20 serial0 = &uart0; 21 }; 22 23 chosen { 24 stdout-path = "serial0:115200n8"; 25 }; 26 27 clocks { 28 sleep_clk: sleep-clk { 29 compatible = "fixed-clock"; 30 clock-frequency = <32000>; 31 #clock-cells = <0>; 32 }; 33 34 xo_board_clk: xo-board-clk { 35 compatible = "fixed-clock"; 36 clock-frequency = <38400000>; 37 #clock-cells = <0>; 38 }; 39 }; 40 41 regulator-usb2-vbus { 42 compatible = "regulator-fixed"; 43 regulator-name = "USB2_VBUS"; 44 gpio = <&pm8150_gpios 10 GPIO_ACTIVE_HIGH>; 45 pinctrl-0 = <&usb2_en>; 46 pinctrl-names = "default"; 47 enable-active-high; 48 regulator-always-on; 49 }; 50}; 51 52&apps_rsc { 53 regulators-0 { 54 compatible = "qcom,pm8150-rpmh-regulators"; 55 qcom,pmic-id = "a"; 56 57 vreg_s3a: smps3 { 58 regulator-name = "vreg_s3a"; 59 regulator-min-microvolt = <600000>; 60 regulator-max-microvolt = <650000>; 61 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 62 }; 63 64 vreg_s4a: smps4 { 65 regulator-name = "vreg_s4a"; 66 regulator-min-microvolt = <1800000>; 67 regulator-max-microvolt = <1829000>; 68 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 69 }; 70 71 vreg_s5a: smps5 { 72 regulator-name = "vreg_s5a"; 73 regulator-min-microvolt = <1896000>; 74 regulator-max-microvolt = <2040000>; 75 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 76 }; 77 78 vreg_s6a: smps6 { 79 regulator-name = "vreg_s6a"; 80 regulator-min-microvolt = <1304000>; 81 regulator-max-microvolt = <1404000>; 82 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 83 }; 84 85 vreg_l1a: ldo1 { 86 regulator-name = "vreg_l1a"; 87 regulator-min-microvolt = <488000>; 88 regulator-max-microvolt = <852000>; 89 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 90 regulator-allow-set-load; 91 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 92 RPMH_REGULATOR_MODE_HPM>; 93 }; 94 95 vreg_l2a: ldo2 { 96 regulator-name = "vreg_l2a"; 97 regulator-min-microvolt = <1650000>; 98 regulator-max-microvolt = <3100000>; 99 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 100 regulator-allow-set-load; 101 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 102 RPMH_REGULATOR_MODE_HPM>; 103 }; 104 105 vreg_l3a: ldo3 { 106 regulator-name = "vreg_l3a"; 107 regulator-min-microvolt = <1000000>; 108 regulator-max-microvolt = <1248000>; 109 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 110 regulator-allow-set-load; 111 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 112 RPMH_REGULATOR_MODE_HPM>; 113 }; 114 115 vreg_l5a: ldo5 { 116 regulator-name = "vreg_l5a"; 117 regulator-min-microvolt = <875000>; 118 regulator-max-microvolt = <975000>; 119 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 120 regulator-allow-set-load; 121 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 122 RPMH_REGULATOR_MODE_HPM>; 123 }; 124 125 vreg_l7a: ldo7 { 126 regulator-name = "vreg_l7a"; 127 regulator-min-microvolt = <1800000>; 128 regulator-max-microvolt = <1900000>; 129 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 130 regulator-allow-set-load; 131 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 132 RPMH_REGULATOR_MODE_HPM>; 133 }; 134 135 vreg_l8a: ldo8 { 136 regulator-name = "vreg_l8a"; 137 regulator-min-microvolt = <1150000>; 138 regulator-max-microvolt = <1350000>; 139 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 140 regulator-allow-set-load; 141 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 142 RPMH_REGULATOR_MODE_HPM>; 143 }; 144 145 vreg_l10a: ldo10 { 146 regulator-name = "vreg_l10a"; 147 regulator-min-microvolt = <2950000>; 148 regulator-max-microvolt = <3312000>; 149 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 150 regulator-allow-set-load; 151 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 152 RPMH_REGULATOR_MODE_HPM>; 153 }; 154 155 vreg_l11a: ldo11 { 156 regulator-name = "vreg_l11a"; 157 regulator-min-microvolt = <1232000>; 158 regulator-max-microvolt = <1260000>; 159 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 160 regulator-allow-set-load; 161 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 162 RPMH_REGULATOR_MODE_HPM>; 163 }; 164 165 vreg_l12a: ldo12 { 166 regulator-name = "vreg_l12a"; 167 regulator-min-microvolt = <1800000>; 168 regulator-max-microvolt = <1890000>; 169 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 170 regulator-allow-set-load; 171 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 172 RPMH_REGULATOR_MODE_HPM>; 173 }; 174 175 vreg_l13a: ldo13 { 176 regulator-name = "vreg_l13a"; 177 regulator-min-microvolt = <3000000>; 178 regulator-max-microvolt = <3230000>; 179 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 180 regulator-allow-set-load; 181 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 182 RPMH_REGULATOR_MODE_HPM>; 183 }; 184 185 vreg_l15a: ldo15 { 186 regulator-name = "vreg_l15a"; 187 regulator-min-microvolt = <1800000>; 188 regulator-max-microvolt = <1904000>; 189 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 190 regulator-allow-set-load; 191 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 192 RPMH_REGULATOR_MODE_HPM>; 193 }; 194 195 vreg_l16a: ldo16 { 196 regulator-name = "vreg_l16a"; 197 regulator-min-microvolt = <3000000>; 198 regulator-max-microvolt = <3312000>; 199 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 200 regulator-allow-set-load; 201 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 202 RPMH_REGULATOR_MODE_HPM>; 203 }; 204 205 vreg_l17a: ldo17 { 206 regulator-name = "vreg_l17a"; 207 regulator-min-microvolt = <2950000>; 208 regulator-max-microvolt = <3312000>; 209 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 210 }; 211 }; 212}; 213 214&gcc { 215 clocks = <&rpmhcc RPMH_CXO_CLK>, 216 <&rpmhcc RPMH_CXO_CLK_A>, 217 <&sleep_clk>; 218}; 219 220&pm8150_gpios { 221 usb2_en: usb2-en-state { 222 pins = "gpio10"; 223 function = "normal"; 224 output-enable; 225 power-source = <0>; 226 }; 227}; 228 229&pon_pwrkey { 230 status = "okay"; 231}; 232 233&pon_resin { 234 linux,code = <KEY_VOLUMEDOWN>; 235 236 status = "okay"; 237}; 238 239&qupv3_id_0 { 240 status = "okay"; 241}; 242 243&rpmhcc { 244 clocks = <&xo_board_clk>; 245}; 246 247&sdhc_1 { 248 pinctrl-0 = <&sdc1_state_on>; 249 pinctrl-1 = <&sdc1_state_off>; 250 pinctrl-names = "default", "sleep"; 251 252 bus-width = <8>; 253 mmc-ddr-1_8v; 254 mmc-hs200-1_8v; 255 mmc-hs400-1_8v; 256 mmc-hs400-enhanced-strobe; 257 vmmc-supply = <&vreg_l17a>; 258 vqmmc-supply = <&vreg_s4a>; 259 260 non-removable; 261 no-sd; 262 no-sdio; 263 264 status = "okay"; 265}; 266 267&sdhc_2 { 268 pinctrl-0 = <&sdc2_state_on>; 269 pinctrl-1 = <&sdc2_state_off>; 270 pinctrl-names = "default", "sleep"; 271 272 bus-width = <4>; 273 cd-gpios = <&tlmm 99 GPIO_ACTIVE_LOW>; 274 275 vmmc-supply = <&vreg_l10a>; 276 vqmmc-supply = <&vreg_s4a>; 277 278 status = "okay"; 279}; 280 281&uart0 { 282 status = "okay"; 283}; 284 285&usb_1_hsphy { 286 vdd-supply = <&vreg_l5a>; 287 vdda-pll-supply = <&vreg_l12a>; 288 vdda-phy-dpdm-supply = <&vreg_l13a>; 289 290 status = "okay"; 291}; 292 293&usb_qmpphy { 294 vdda-phy-supply = <&vreg_l5a>; 295 vdda-pll-supply = <&vreg_l12a>; 296 297 status = "okay"; 298}; 299 300&usb_1 { 301 status = "okay"; 302}; 303 304&usb_1_dwc3 { 305 dr_mode = "peripheral"; 306}; 307 308&usb_hsphy_2 { 309 vdd-supply = <&vreg_l5a>; 310 vdda-pll-supply = <&vreg_l12a>; 311 vdda-phy-dpdm-supply = <&vreg_l13a>; 312 313 status = "okay"; 314}; 315 316&usb_2 { 317 status = "okay"; 318}; 319 320&usb_2_dwc3 { 321 dr_mode = "host"; 322}; 323 324&ufs_mem_hc { 325 reset-gpios = <&tlmm 123 GPIO_ACTIVE_LOW>; 326 vcc-supply = <&vreg_l17a>; 327 vcc-max-microamp = <600000>; 328 vccq2-supply = <&vreg_s4a>; 329 vccq2-max-microamp = <600000>; 330 331 status = "okay"; 332}; 333 334&ufs_mem_phy { 335 vdda-phy-supply = <&vreg_l5a>; 336 vdda-pll-supply = <&vreg_l12a>; 337 338 status = "okay"; 339}; 340 341&watchdog { 342 clocks = <&sleep_clk>; 343}; 344