1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2020-2021, Linaro Limited
4 */
5
6/dts-v1/;
7
8#include <dt-bindings/gpio/gpio.h>
9#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
10#include "sm8350.dtsi"
11
12/ {
13	model = "Qualcomm Technologies, Inc. SM8350 HDK";
14	compatible = "qcom,sm8350-hdk", "qcom,sm8350";
15
16	aliases {
17		serial0 = &uart2;
18	};
19
20	chosen {
21		stdout-path = "serial0:115200n8";
22	};
23
24	vph_pwr: vph-pwr-regulator {
25		compatible = "regulator-fixed";
26		regulator-name = "vph_pwr";
27		regulator-min-microvolt = <3700000>;
28		regulator-max-microvolt = <3700000>;
29
30		regulator-always-on;
31		regulator-boot-on;
32	};
33};
34
35&adsp {
36	status = "okay";
37	firmware-name = "qcom/sm8350/adsp.mbn";
38};
39
40&apps_rsc {
41	pm8350-rpmh-regulators {
42		compatible = "qcom,pm8350-rpmh-regulators";
43		qcom,pmic-id = "b";
44
45		vdd-s1-supply = <&vph_pwr>;
46		vdd-s2-supply = <&vph_pwr>;
47		vdd-s3-supply = <&vph_pwr>;
48		vdd-s4-supply = <&vph_pwr>;
49		vdd-s5-supply = <&vph_pwr>;
50		vdd-s6-supply = <&vph_pwr>;
51		vdd-s7-supply = <&vph_pwr>;
52		vdd-s8-supply = <&vph_pwr>;
53		vdd-s9-supply = <&vph_pwr>;
54		vdd-s10-supply = <&vph_pwr>;
55		vdd-s11-supply = <&vph_pwr>;
56		vdd-s12-supply = <&vph_pwr>;
57
58		vdd-l1-l4-supply = <&vreg_s11b_0p95>;
59		vdd-l2-l7-supply = <&vreg_bob>;
60		vdd-l3-l5-supply = <&vreg_bob>;
61		vdd-l6-l9-l10-supply = <&vreg_s11b_0p95>;
62
63		vreg_s10b_1p8: smps10 {
64			regulator-name = "vreg_s10b_1p8";
65			regulator-min-microvolt = <1800000>;
66			regulator-max-microvolt = <1800000>;
67			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
68		};
69
70		vreg_s11b_0p95: smps11 {
71			regulator-name = "vreg_s11b_0p95";
72			regulator-min-microvolt = <952000>;
73			regulator-max-microvolt = <952000>;
74			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
75		};
76
77		vreg_s12b_1p25: smps12 {
78			regulator-name = "vreg_s12b_1p25";
79			regulator-min-microvolt = <1256000>;
80			regulator-max-microvolt = <1256000>;
81			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
82		};
83
84		vreg_l1b_0p88: ldo1 {
85			regulator-name = "vreg_l1b_0p88";
86			regulator-min-microvolt = <912000>;
87			regulator-max-microvolt = <920000>;
88			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
89		};
90
91		vreg_l2b_3p07: ldo2 {
92			regulator-name = "vreg_l2b_3p07";
93			regulator-min-microvolt = <3072000>;
94			regulator-max-microvolt = <3072000>;
95			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
96		};
97
98		vreg_l3b_0p9: ldo3 {
99			regulator-name = "vreg_l3b_0p9";
100			regulator-min-microvolt = <904000>;
101			regulator-max-microvolt = <904000>;
102			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
103		};
104
105		vreg_l5b_0p88: ldo5 {
106			regulator-name = "vreg_l5b_0p88";
107			regulator-min-microvolt = <880000>;
108			regulator-max-microvolt = <888000>;
109			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
110			regulator-allow-set-load;
111		};
112
113		vreg_l6b_1p2: ldo6 {
114			regulator-name = "vreg_l6b_1p2";
115			regulator-min-microvolt = <1200000>;
116			regulator-max-microvolt = <1208000>;
117			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
118			regulator-allow-set-load;
119		};
120
121		vreg_l7b_2p96: ldo7 {
122			regulator-name = "vreg_l7b_2p96";
123			regulator-min-microvolt = <2504000>;
124			regulator-max-microvolt = <2504000>;
125			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
126			regulator-allow-set-load;
127		};
128
129		vreg_l9b_1p2: ldo9 {
130			regulator-name = "vreg_l9b_1p2";
131			regulator-min-microvolt = <1200000>;
132			regulator-max-microvolt = <1200000>;
133			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
134			regulator-allow-set-load;
135		};
136	};
137
138	pm8350c-rpmh-regulators {
139		compatible = "qcom,pm8350c-rpmh-regulators";
140		qcom,pmic-id = "c";
141
142		vdd-s1-supply = <&vph_pwr>;
143		vdd-s2-supply = <&vph_pwr>;
144		vdd-s3-supply = <&vph_pwr>;
145		vdd-s4-supply = <&vph_pwr>;
146		vdd-s5-supply = <&vph_pwr>;
147		vdd-s6-supply = <&vph_pwr>;
148		vdd-s7-supply = <&vph_pwr>;
149		vdd-s8-supply = <&vph_pwr>;
150		vdd-s9-supply = <&vph_pwr>;
151		vdd-s10-supply = <&vph_pwr>;
152
153		vdd-l1-l12-supply = <&vreg_s1c_1p86>;
154		vdd-l2-l8-supply = <&vreg_s1c_1p86>;
155		vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>;
156		vdd-l6-l9-l11-supply = <&vreg_bob>;
157		vdd-l10-supply = <&vreg_s12b_1p25>;
158
159		vdd-bob-supply = <&vph_pwr>;
160
161		vreg_s1c_1p86: smps1 {
162			regulator-name = "vreg_s1c_1p86";
163			regulator-min-microvolt = <1856000>;
164			regulator-max-microvolt = <1880000>;
165			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
166		};
167
168		vreg_bob: bob {
169			regulator-name = "vreg_bob";
170			regulator-min-microvolt = <3008000>;
171			regulator-max-microvolt = <3960000>;
172			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
173		};
174
175		vreg_l1c_1p8: ldo1 {
176			regulator-name = "vreg_l1c_1p8";
177			regulator-min-microvolt = <1800000>;
178			regulator-max-microvolt = <1800000>;
179			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
180		};
181
182		vreg_l2c_1p8: ldo2 {
183			regulator-name = "vreg_l2c_1p8";
184			regulator-min-microvolt = <1800000>;
185			regulator-max-microvolt = <1800000>;
186			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
187		};
188
189		vreg_l6c_1p8: ldo6 {
190			regulator-name = "vreg_l6c_1p8";
191			regulator-min-microvolt = <1800000>;
192			regulator-max-microvolt = <2960000>;
193			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
194		};
195
196		vreg_l9c_2p96: ldo9 {
197			regulator-name = "vreg_l9c_2p96";
198			regulator-min-microvolt = <2960000>;
199			regulator-max-microvolt = <3008000>;
200			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
201		};
202
203		vreg_l10c_1p2: ldo10 {
204			regulator-name = "vreg_l10c_1p2";
205			regulator-min-microvolt = <1200000>;
206			regulator-max-microvolt = <1200000>;
207			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
208		};
209	};
210};
211
212&cdsp {
213	status = "okay";
214	firmware-name = "qcom/sm8350/cdsp.mbn";
215};
216
217&mpss {
218	status = "okay";
219	firmware-name = "qcom/sm8350/modem.mbn";
220};
221
222&qupv3_id_0 {
223	status = "okay";
224};
225
226&slpi {
227	status = "okay";
228	firmware-name = "qcom/sm8350/slpi.mbn";
229};
230
231&tlmm {
232	gpio-reserved-ranges = <52 8>;
233};
234
235&uart2 {
236	status = "okay";
237};
238
239&ufs_mem_hc {
240	status = "okay";
241
242	reset-gpios = <&tlmm 203 GPIO_ACTIVE_LOW>;
243
244	vcc-supply = <&vreg_l7b_2p96>;
245	vcc-max-microamp = <800000>;
246	vccq-supply = <&vreg_l9b_1p2>;
247	vccq-max-microamp = <900000>;
248};
249
250&ufs_mem_phy {
251	status = "okay";
252
253	vdda-phy-supply = <&vreg_l5b_0p88>;
254	vdda-pll-supply = <&vreg_l6b_1p2>;
255};
256
257&usb_1 {
258	status = "okay";
259};
260
261&usb_1_dwc3 {
262	/* TODO: Define USB-C connector properly */
263	dr_mode = "peripheral";
264};
265
266&usb_1_hsphy {
267	status = "okay";
268
269	vdda-pll-supply = <&vreg_l5b_0p88>;
270	vdda18-supply = <&vreg_l1c_1p8>;
271	vdda33-supply = <&vreg_l2b_3p07>;
272};
273
274&usb_1_qmpphy {
275	status = "okay";
276
277	vdda-phy-supply = <&vreg_l6b_1p2>;
278	vdda-pll-supply = <&vreg_l1b_0p88>;
279};
280
281&usb_2 {
282	status = "okay";
283};
284
285&usb_2_dwc3 {
286	dr_mode = "host";
287
288	pinctrl-names = "default";
289	pinctrl-0 = <&usb_hub_enabled_state>;
290};
291
292&usb_2_hsphy {
293	status = "okay";
294
295	vdda-pll-supply = <&vreg_l5b_0p88>;
296	vdda18-supply = <&vreg_l1c_1p8>;
297	vdda33-supply = <&vreg_l2b_3p07>;
298};
299
300&usb_2_qmpphy {
301	status = "okay";
302
303	vdda-phy-supply = <&vreg_l6b_1p2>;
304	vdda-pll-supply = <&vreg_l5b_0p88>;
305};
306
307/* PINCTRL - additions to nodes defined in sm8350.dtsi */
308
309&tlmm {
310	usb_hub_enabled_state: usb-hub-enabled-state {
311		pins = "gpio42";
312		function = "gpio";
313
314		drive-strength = <2>;
315		output-low;
316	};
317};
318