xref: /linux/scripts/dtc/include-prefixes/arm64/qcom/qcs615-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/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&remoteproc_adsp {
244	firmware-name = "qcom/qcs615/adsp.mbn";
245
246	status = "okay";
247};
248
249&remoteproc_cdsp {
250	firmware-name = "qcom/qcs615/cdsp.mbn";
251
252	status = "okay";
253};
254
255&rpmhcc {
256	clocks = <&xo_board_clk>;
257};
258
259&sdhc_1 {
260	pinctrl-0 = <&sdc1_state_on>;
261	pinctrl-1 = <&sdc1_state_off>;
262	pinctrl-names = "default", "sleep";
263
264	bus-width = <8>;
265	mmc-ddr-1_8v;
266	mmc-hs200-1_8v;
267	mmc-hs400-1_8v;
268	mmc-hs400-enhanced-strobe;
269	vmmc-supply = <&vreg_l17a>;
270	vqmmc-supply = <&vreg_s4a>;
271
272	non-removable;
273	no-sd;
274	no-sdio;
275
276	status = "okay";
277};
278
279&sdhc_2 {
280	pinctrl-0 = <&sdc2_state_on>;
281	pinctrl-1 = <&sdc2_state_off>;
282	pinctrl-names = "default", "sleep";
283
284	bus-width = <4>;
285	cd-gpios = <&tlmm 99 GPIO_ACTIVE_LOW>;
286
287	vmmc-supply = <&vreg_l10a>;
288	vqmmc-supply = <&vreg_s4a>;
289
290	status = "okay";
291};
292
293&uart0 {
294	status = "okay";
295};
296
297&usb_1_hsphy {
298	vdd-supply = <&vreg_l5a>;
299	vdda-pll-supply = <&vreg_l12a>;
300	vdda-phy-dpdm-supply = <&vreg_l13a>;
301
302	status = "okay";
303};
304
305&usb_qmpphy {
306	vdda-phy-supply = <&vreg_l5a>;
307	vdda-pll-supply = <&vreg_l12a>;
308
309	status = "okay";
310};
311
312&usb_1 {
313	status = "okay";
314};
315
316&usb_1_dwc3 {
317	dr_mode = "peripheral";
318};
319
320&usb_hsphy_2 {
321	vdd-supply = <&vreg_l5a>;
322	vdda-pll-supply = <&vreg_l12a>;
323	vdda-phy-dpdm-supply = <&vreg_l13a>;
324
325	status = "okay";
326};
327
328&usb_2 {
329	status = "okay";
330};
331
332&usb_2_dwc3 {
333	dr_mode = "host";
334};
335
336&ufs_mem_hc {
337	reset-gpios = <&tlmm 123 GPIO_ACTIVE_LOW>;
338	vcc-supply = <&vreg_l17a>;
339	vcc-max-microamp = <600000>;
340	vccq2-supply = <&vreg_s4a>;
341	vccq2-max-microamp = <600000>;
342
343	status = "okay";
344};
345
346&ufs_mem_phy {
347	vdda-phy-supply = <&vreg_l5a>;
348	vdda-pll-supply = <&vreg_l12a>;
349
350	status = "okay";
351};
352
353&watchdog {
354	clocks = <&sleep_clk>;
355};
356