1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. 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 "qcs8300.dtsi" 12#include "qcs8300-pmics.dtsi" 13/ { 14 model = "Qualcomm Technologies, Inc. QCS8300 Ride"; 15 compatible = "qcom,qcs8300-ride", "qcom,qcs8300"; 16 chassis-type = "embedded"; 17 18 aliases { 19 serial0 = &uart7; 20 }; 21 22 chosen { 23 stdout-path = "serial0:115200n8"; 24 }; 25 26 regulator-usb2-vbus { 27 compatible = "regulator-fixed"; 28 regulator-name = "USB2_VBUS"; 29 gpio = <&pmm8650au_1_gpios 7 GPIO_ACTIVE_HIGH>; 30 pinctrl-0 = <&usb2_en>; 31 pinctrl-names = "default"; 32 enable-active-high; 33 regulator-always-on; 34 }; 35}; 36 37&apps_rsc { 38 regulators-0 { 39 compatible = "qcom,pmm8654au-rpmh-regulators"; 40 qcom,pmic-id = "a"; 41 42 vreg_s4a: smps4 { 43 regulator-name = "vreg_s4a"; 44 regulator-min-microvolt = <1800000>; 45 regulator-max-microvolt = <1800000>; 46 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 47 }; 48 49 vreg_s9a: smps9 { 50 regulator-name = "vreg_s9a"; 51 regulator-min-microvolt = <1352000>; 52 regulator-max-microvolt = <1352000>; 53 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 54 }; 55 56 vreg_l3a: ldo3 { 57 regulator-name = "vreg_l3a"; 58 regulator-min-microvolt = <1200000>; 59 regulator-max-microvolt = <1200000>; 60 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 61 regulator-allow-set-load; 62 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 63 RPMH_REGULATOR_MODE_HPM>; 64 }; 65 66 vreg_l4a: ldo4 { 67 regulator-name = "vreg_l4a"; 68 regulator-min-microvolt = <880000>; 69 regulator-max-microvolt = <912000>; 70 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 71 regulator-allow-set-load; 72 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 73 RPMH_REGULATOR_MODE_HPM>; 74 }; 75 76 vreg_l5a: ldo5 { 77 regulator-name = "vreg_l5a"; 78 regulator-min-microvolt = <1200000>; 79 regulator-max-microvolt = <1200000>; 80 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 81 regulator-allow-set-load; 82 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 83 RPMH_REGULATOR_MODE_HPM>; 84 }; 85 86 vreg_l6a: ldo6 { 87 regulator-name = "vreg_l6a"; 88 regulator-min-microvolt = <880000>; 89 regulator-max-microvolt = <912000>; 90 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 91 regulator-allow-set-load; 92 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 93 RPMH_REGULATOR_MODE_HPM>; 94 }; 95 96 vreg_l7a: ldo7 { 97 regulator-name = "vreg_l7a"; 98 regulator-min-microvolt = <880000>; 99 regulator-max-microvolt = <912000>; 100 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 101 regulator-allow-set-load; 102 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 103 RPMH_REGULATOR_MODE_HPM>; 104 }; 105 106 vreg_l8a: ldo8 { 107 regulator-name = "vreg_l8a"; 108 regulator-min-microvolt = <2504000>; 109 regulator-max-microvolt = <2960000>; 110 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 111 regulator-allow-set-load; 112 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 113 RPMH_REGULATOR_MODE_HPM>; 114 }; 115 116 vreg_l9a: ldo9 { 117 regulator-name = "vreg_l9a"; 118 regulator-min-microvolt = <2970000>; 119 regulator-max-microvolt = <3072000>; 120 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 121 regulator-allow-set-load; 122 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 123 RPMH_REGULATOR_MODE_HPM>; 124 }; 125 }; 126 127 regulators-1 { 128 compatible = "qcom,pmm8654au-rpmh-regulators"; 129 qcom,pmic-id = "c"; 130 131 vreg_s5c: smps5 { 132 regulator-name = "vreg_s5c"; 133 regulator-min-microvolt = <1104000>; 134 regulator-max-microvolt = <1104000>; 135 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 136 }; 137 138 vreg_l1c: ldo1 { 139 regulator-name = "vreg_l1c"; 140 regulator-min-microvolt = <300000>; 141 regulator-max-microvolt = <500000>; 142 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 143 regulator-allow-set-load; 144 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 145 RPMH_REGULATOR_MODE_HPM>; 146 }; 147 148 vreg_l2c: ldo2 { 149 regulator-name = "vreg_l2c"; 150 regulator-min-microvolt = <900000>; 151 regulator-max-microvolt = <904000>; 152 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 153 regulator-allow-set-load; 154 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 155 RPMH_REGULATOR_MODE_HPM>; 156 }; 157 158 vreg_l4c: ldo4 { 159 regulator-name = "vreg_l4c"; 160 regulator-min-microvolt = <1200000>; 161 regulator-max-microvolt = <1200000>; 162 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 163 regulator-allow-set-load; 164 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 165 RPMH_REGULATOR_MODE_HPM>; 166 }; 167 168 vreg_l6c: ldo6 { 169 regulator-name = "vreg_l6c"; 170 regulator-min-microvolt = <1800000>; 171 regulator-max-microvolt = <1800000>; 172 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 173 regulator-allow-set-load; 174 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 175 RPMH_REGULATOR_MODE_HPM>; 176 }; 177 178 vreg_l7c: ldo7 { 179 regulator-name = "vreg_l7c"; 180 regulator-min-microvolt = <1800000>; 181 regulator-max-microvolt = <1800000>; 182 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 183 regulator-allow-set-load; 184 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 185 RPMH_REGULATOR_MODE_HPM>; 186 }; 187 188 vreg_l8c: ldo8 { 189 regulator-name = "vreg_l8c"; 190 regulator-min-microvolt = <1800000>; 191 regulator-max-microvolt = <1800000>; 192 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 193 regulator-allow-set-load; 194 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 195 RPMH_REGULATOR_MODE_HPM>; 196 }; 197 198 vreg_l9c: ldo9 { 199 regulator-name = "vreg_l9c"; 200 regulator-min-microvolt = <1800000>; 201 regulator-max-microvolt = <1800000>; 202 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 203 regulator-allow-set-load; 204 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 205 RPMH_REGULATOR_MODE_HPM>; 206 }; 207 }; 208}; 209 210ðernet0 { 211 phy-mode = "2500base-x"; 212 phy-handle = <&phy0>; 213 214 pinctrl-0 = <ðernet0_default>; 215 pinctrl-names = "default"; 216 217 snps,mtl-rx-config = <&mtl_rx_setup>; 218 snps,mtl-tx-config = <&mtl_tx_setup>; 219 snps,ps-speed = <1000>; 220 221 status = "okay"; 222 223 mdio { 224 compatible = "snps,dwmac-mdio"; 225 #address-cells = <1>; 226 #size-cells = <0>; 227 228 phy0: phy@8 { 229 compatible = "ethernet-phy-id31c3.1c33"; 230 reg = <0x8>; 231 device_type = "ethernet-phy"; 232 interrupts-extended = <&tlmm 4 IRQ_TYPE_EDGE_FALLING>; 233 reset-gpios = <&tlmm 31 GPIO_ACTIVE_LOW>; 234 reset-assert-us = <11000>; 235 reset-deassert-us = <70000>; 236 }; 237 }; 238 239 mtl_rx_setup: rx-queues-config { 240 snps,rx-queues-to-use = <4>; 241 snps,rx-sched-sp; 242 243 queue0 { 244 snps,dcb-algorithm; 245 snps,map-to-dma-channel = <0x0>; 246 snps,route-up; 247 snps,priority = <0x1>; 248 }; 249 250 queue1 { 251 snps,dcb-algorithm; 252 snps,map-to-dma-channel = <0x1>; 253 snps,route-ptp; 254 }; 255 256 queue2 { 257 snps,avb-algorithm; 258 snps,map-to-dma-channel = <0x2>; 259 snps,route-avcp; 260 }; 261 262 queue3 { 263 snps,avb-algorithm; 264 snps,map-to-dma-channel = <0x3>; 265 snps,priority = <0xc>; 266 }; 267 }; 268 269 mtl_tx_setup: tx-queues-config { 270 snps,tx-queues-to-use = <4>; 271 272 queue0 { 273 snps,dcb-algorithm; 274 }; 275 276 queue1 { 277 snps,dcb-algorithm; 278 }; 279 280 queue2 { 281 snps,avb-algorithm; 282 snps,send_slope = <0x1000>; 283 snps,idle_slope = <0x1000>; 284 snps,high_credit = <0x3e800>; 285 snps,low_credit = <0xffc18000>; 286 }; 287 288 queue3 { 289 snps,avb-algorithm; 290 snps,send_slope = <0x1000>; 291 snps,idle_slope = <0x1000>; 292 snps,high_credit = <0x3e800>; 293 snps,low_credit = <0xffc18000>; 294 }; 295 }; 296}; 297 298&pmm8650au_1_gpios { 299 usb2_en: usb2-en-state { 300 pins = "gpio7"; 301 function = "normal"; 302 output-enable; 303 power-source = <0>; 304 }; 305}; 306 307&iris { 308 status = "okay"; 309}; 310 311&qupv3_id_0 { 312 status = "okay"; 313}; 314 315&remoteproc_adsp { 316 firmware-name = "qcom/qcs8300/adsp.mbn"; 317 status = "okay"; 318}; 319 320&remoteproc_cdsp { 321 firmware-name = "qcom/qcs8300/cdsp0.mbn"; 322 status = "okay"; 323}; 324 325&remoteproc_gpdsp { 326 firmware-name = "qcom/qcs8300/gpdsp0.mbn"; 327 status = "okay"; 328}; 329 330&serdes0 { 331 phy-supply = <&vreg_l5a>; 332 status = "okay"; 333}; 334 335&tlmm { 336 ethernet0_default: ethernet0-default-state { 337 ethernet0_mdc: ethernet0-mdc-pins { 338 pins = "gpio5"; 339 function = "emac0_mdc"; 340 drive-strength = <16>; 341 bias-pull-up; 342 }; 343 344 ethernet0_mdio: ethernet0-mdio-pins { 345 pins = "gpio6"; 346 function = "emac0_mdio"; 347 drive-strength = <16>; 348 bias-pull-up; 349 }; 350 }; 351}; 352 353&uart7 { 354 status = "okay"; 355}; 356 357&ufs_mem_hc { 358 reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; 359 vcc-supply = <&vreg_l8a>; 360 vcc-max-microamp = <1100000>; 361 vccq-supply = <&vreg_l4c>; 362 vccq-max-microamp = <1200000>; 363 status = "okay"; 364}; 365 366&ufs_mem_phy { 367 vdda-phy-supply = <&vreg_l4a>; 368 vdda-pll-supply = <&vreg_l5a>; 369 status = "okay"; 370}; 371 372&usb_1_hsphy { 373 vdda-pll-supply = <&vreg_l7a>; 374 vdda18-supply = <&vreg_l7c>; 375 vdda33-supply = <&vreg_l9a>; 376 377 status = "okay"; 378}; 379 380&usb_2_hsphy { 381 vdda-pll-supply = <&vreg_l7a>; 382 vdda18-supply = <&vreg_l7c>; 383 vdda33-supply = <&vreg_l9a>; 384 385 status = "okay"; 386}; 387 388&usb_qmpphy { 389 vdda-phy-supply = <&vreg_l7a>; 390 vdda-pll-supply = <&vreg_l5a>; 391 392 status = "okay"; 393}; 394 395&usb_1 { 396 status = "okay"; 397}; 398 399&usb_1_dwc3 { 400 dr_mode = "peripheral"; 401}; 402 403&usb_2 { 404 status = "okay"; 405}; 406 407&usb_2_dwc3 { 408 dr_mode = "host"; 409}; 410