Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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};