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