xref: /linux/scripts/dtc/include-prefixes/arm64/qcom/qcs8300-ride.dts (revision 115e74a29b530d121891238e9551c4bcdf7b04b5)
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&ethernet0 {
211	phy-mode = "2500base-x";
212	phy-handle = <&phy0>;
213
214	pinctrl-0 = <&ethernet0_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