xref: /linux/arch/arm64/boot/dts/qcom/sdx75-idp.dts (revision c7546e2c3cb739a3c1a2f5acaf9bb629d401afe5)
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
4 */
5
6/dts-v1/;
7
8#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
9#include "sdx75.dtsi"
10#include "pm7550ba.dtsi"
11#include "pmk8550.dtsi"
12#include "pmx75.dtsi"
13
14/ {
15	model = "Qualcomm Technologies, Inc. SDX75 IDP";
16	compatible = "qcom,sdx75-idp", "qcom,sdx75";
17
18	aliases {
19		serial0 = &uart1;
20	};
21
22	vph_pwr: vph-pwr-regulator {
23		compatible = "regulator-fixed";
24		regulator-name = "vph_pwr";
25		regulator-min-microvolt = <3700000>;
26		regulator-max-microvolt = <3700000>;
27	};
28
29	vph_ext: vph-ext-regulator {
30		compatible = "regulator-fixed";
31		regulator-name = "vph_ext";
32		regulator-min-microvolt = <3700000>;
33		regulator-max-microvolt = <3700000>;
34	};
35
36	vreg_bob_3p3: pmx75-bob {
37		compatible = "regulator-fixed";
38		regulator-name = "vreg_bob_3p3";
39		regulator-min-microvolt = <3300000>;
40		regulator-max-microvolt = <3300000>;
41
42		vin-supply = <&vph_ext>;
43	};
44
45	reg_2v952_vcc: regulator-2v952-vcc {
46		compatible = "regulator-gpio";
47		regulator-name = "2v952_vcc";
48		regulator-min-microvolt = <1650000>;
49		regulator-max-microvolt = <3600000>;
50		enable-gpios = <&tlmm 102 GPIO_ACTIVE_HIGH>;
51		gpios = <&tlmm 84 GPIO_ACTIVE_HIGH>;
52		states = <1650000 0>, <3600000 1>;
53		startup-delay-us = <5000>;
54		enable-active-high;
55		regulator-boot-on;
56
57		vin-supply = <&vph_ext>;
58	};
59
60	reg_2v95_vdd: regulator-2v95-vdd {
61		compatible = "regulator-fixed";
62		regulator-name = "2v95_vdd";
63		regulator-min-microvolt = <2950000>;
64		regulator-max-microvolt = <2950000>;
65		vin-supply = <&reg_2v952_vcc>;
66	};
67};
68
69&apps_rsc {
70	regulators-0 {
71		compatible = "qcom,pmx75-rpmh-regulators";
72		qcom,pmic-id = "b";
73
74		vdd-s1-supply = <&vph_pwr>;
75		vdd-s2-supply = <&vph_pwr>;
76		vdd-s3-supply = <&vph_pwr>;
77		vdd-s4-supply = <&vph_pwr>;
78		vdd-s5-supply = <&vph_pwr>;
79		vdd-s6-supply = <&vph_pwr>;
80		vdd-s7-supply = <&vph_pwr>;
81		vdd-s8-supply = <&vph_pwr>;
82		vdd-s9-supply = <&vph_pwr>;
83		vdd-s10-supply = <&vph_pwr>;
84		vdd-l1-supply = <&vreg_s2b_1p224>;
85		vdd-l2-l18-supply = <&vreg_s2b_1p224>;
86		vdd-l3-supply = <&vreg_s7b_0p936>;
87		vdd-l4-l16-supply = <&vreg_s7b_0p936>;
88		vdd-l5-l6-supply = <&vreg_s4b_1p824>;
89		vdd-l7-supply = <&vreg_s7b_0p936>;
90		vdd-l8-l9-supply = <&vreg_s8b_0p824>;
91		vdd-l10-supply = <&vreg_bob_3p3>;
92		vdd-l11-l13-supply = <&vreg_bob_3p3>;
93		vdd-l12-supply = <&vreg_s2b_1p224>;
94		vdd-l14-supply = <&vreg_s3b_0p752>;
95		vdd-l15-supply = <&vreg_s2b_1p224>;
96		vdd-l17-supply = <&vreg_s8b_0p824>;
97		vdd-l19-supply = <&vreg_s7b_0p936>;
98		vdd-l20-l21-supply = <&vreg_s7b_0p936>;
99
100		vreg_s2b_1p224: smps2 {
101			regulator-name = "vreg_s2b_1p224";
102			regulator-min-microvolt = <1224000>;
103			regulator-max-microvolt = <1350000>;
104		};
105
106		vreg_s3b_0p752: smps3 {
107			regulator-name = "vreg_s3b_0p752";
108			regulator-min-microvolt = <684000>;
109			regulator-max-microvolt = <904000>;
110		};
111
112		vreg_s4b_1p824: smps4 {
113			regulator-name = "vreg_s4b_1p824";
114			regulator-min-microvolt = <1824000>;
115			regulator-max-microvolt = <1904000>;
116		};
117
118		vreg_s7b_0p936: smps7 {
119			regulator-name = "vreg_s7b_0p936";
120			regulator-min-microvolt = <352000>;
121			regulator-max-microvolt = <1060000>;
122		};
123
124		vreg_s8b_0p824: smps8 {
125			regulator-name = "vreg_s8b_0p824";
126			regulator-min-microvolt = <500000>;
127			regulator-max-microvolt = <1100000>;
128		};
129
130		vreg_l1b_1p2: ldo1 {
131			regulator-name = "vreg_l1b_1p2";
132			regulator-min-microvolt = <1200000>;
133			regulator-max-microvolt = <1200000>;
134			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
135		};
136
137		vreg_l2b_1p128: ldo2 {
138			regulator-name = "vreg_l2b_1p128";
139			regulator-min-microvolt = <1000000>;
140			regulator-max-microvolt = <1160000>;
141			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
142		};
143
144		vreg_l3b_0p896: ldo3 {
145			regulator-name = "vreg_l3b_0p896";
146			regulator-min-microvolt = <300000>;
147			regulator-max-microvolt = <1040000>;
148			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
149		};
150
151		vreg_l4b_0p88: ldo4 {
152			regulator-name = "vreg_l4b_0p88";
153			regulator-min-microvolt = <864000>;
154			regulator-max-microvolt = <912000>;
155			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
156		};
157
158		vreg_l5b_1p776: ldo5 {
159			regulator-name = "vreg_l5b_1p776";
160			regulator-min-microvolt = <1770000>;
161			regulator-max-microvolt = <1800000>;
162			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
163		};
164
165		vreg_l6b_1p8: ldo6 {
166			regulator-name = "vreg_l6b_1p8";
167			regulator-min-microvolt = <1800000>;
168			regulator-max-microvolt = <1800000>;
169			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
170		};
171
172		vreg_l7b_0p904: ldo7 {
173			regulator-name = "vreg_l7b_0p904";
174			regulator-min-microvolt = <300000>;
175			regulator-max-microvolt = <960000>;
176			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
177		};
178
179		vreg_l8b_0p8: ldo8 {
180			regulator-name = "vreg_l8b_0p8";
181			regulator-min-microvolt = <800000>;
182			regulator-max-microvolt = <800000>;
183			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
184		};
185
186		vreg_l9b_0p752: ldo9 {
187			regulator-name = "vreg_l9b_0p752";
188			regulator-min-microvolt = <752000>;
189			regulator-max-microvolt = <800000>;
190			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
191		};
192
193		vreg_l10b_3p08: ldo10 {
194			regulator-name = "vreg_l10b_3p08";
195			regulator-min-microvolt = <3008000>;
196			regulator-max-microvolt = <3088000>;
197			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
198		};
199
200		vreg_l11b_1p8: ldo11 {
201			regulator-name = "vreg_l11b_1p8";
202			regulator-min-microvolt = <1704000>;
203			regulator-max-microvolt = <2928000>;
204			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
205		};
206
207		vreg_l12b_1p2: ldo12 {
208			regulator-name = "vreg_l12b_1p2";
209			regulator-min-microvolt = <1200000>;
210			regulator-max-microvolt = <1200000>;
211			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
212		};
213
214		vreg_l13b_1p8: ldo13 {
215			regulator-name = "vreg_l13b_1p8";
216			regulator-min-microvolt = <1704000>;
217			regulator-max-microvolt = <2928000>;
218			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
219		};
220
221		vreg_l14b_0p624: ldo14 {
222			regulator-name = "vreg_l14b_0p624";
223			regulator-min-microvolt = <300000>;
224			regulator-max-microvolt = <800000>;
225			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
226		};
227
228		vreg_l15b_1p2: ldo15 {
229			regulator-name = "vreg_l15b_1p2";
230			regulator-min-microvolt = <1200000>;
231			regulator-max-microvolt = <1200000>;
232			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
233		};
234
235		vreg_l16b_0p912: ldo16 {
236			regulator-name = "vreg_l16b_0p912";
237			regulator-min-microvolt = <880000>;
238			regulator-max-microvolt = <920000>;
239			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
240		};
241
242		vreg_l17b_0p752: ldo17 {
243			regulator-name = "vreg_l17b_0p752";
244			regulator-min-microvolt = <684000>;
245			regulator-max-microvolt = <957600>;
246			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
247		};
248
249		vreg_l19b_0p952: ldo19 {
250			regulator-name = "vreg_l19b_0p952";
251			regulator-min-microvolt = <900000>;
252			regulator-max-microvolt = <960000>;
253			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
254		};
255
256		vreg_l20b_0p912: ldo20 {
257			regulator-name = "vreg_l20b_0p912";
258			regulator-min-microvolt = <912000>;
259			regulator-max-microvolt = <952000>;
260			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
261		};
262
263		vreg_l21b_0p856: ldo21 {
264			regulator-name = "vreg_l21b_0p856";
265			regulator-min-microvolt = <300000>;
266			regulator-max-microvolt = <1000000>;
267			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
268		};
269	};
270};
271
272&chosen {
273	stdout-path = "serial0:115200n8";
274};
275
276&pm7550ba_eusb2_repeater {
277	vdd18-supply = <&vreg_l5b_1p776>;
278	vdd3-supply = <&vreg_l10b_3p08>;
279};
280
281&qupv3_id_0 {
282	status = "okay";
283};
284
285&remoteproc_mpss {
286	firmware-name = "qcom/sdx75/modem.mbn",
287			"qcom/sdx75/modem_dtb.mbn";
288	status = "okay";
289};
290
291&sdhc {
292	cd-gpios = <&tlmm 103 GPIO_ACTIVE_LOW>;
293	vmmc-supply = <&reg_2v95_vdd>;
294	vqmmc-supply = <&reg_2v952_vcc>;
295	bus-width = <4>;
296	no-sdio;
297	no-mmc;
298
299	pinctrl-0 = <&sdc1_default &sd_cd>;
300	pinctrl-1 = <&sdc1_sleep &sd_cd>;
301	pinctrl-names = "default", "sleep";
302
303	status = "okay";
304};
305
306&tlmm {
307	gpio-reserved-ranges = <110 6>;
308
309	sd_cd: sd-cd-state {
310		pins = "gpio103";
311		function = "gpio";
312		drive-strength = <2>;
313		bias-pull-up;
314	};
315};
316
317&uart1 {
318	status = "okay";
319};
320
321&usb {
322	status = "okay";
323};
324
325&usb_dwc3 {
326	dr_mode = "peripheral";
327};
328
329&usb_hsphy {
330	vdd-supply = <&vreg_l4b_0p88>;
331	vdda12-supply = <&vreg_l1b_1p2>;
332
333	phys = <&pm7550ba_eusb2_repeater>;
334
335	status = "okay";
336};
337
338&usb_qmpphy {
339	vdda-phy-supply = <&vreg_l4b_0p88>;
340	vdda-pll-supply = <&vreg_l1b_1p2>;
341
342	status = "okay";
343};
344