1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2020, The Linux Foundation. All rights reserved.
4 */
5
6/dts-v1/;
7
8#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
9#include <dt-bindings/gpio/gpio.h>
10#include "sm8150.dtsi"
11#include "pm8150.dtsi"
12#include "pm8150b.dtsi"
13#include "pm8150l.dtsi"
14
15/ {
16	model = "Qualcomm Technologies, Inc. SM8150 HDK";
17	compatible = "qcom,sm8150-hdk", "qcom,sm8150";
18
19	aliases {
20		serial0 = &uart2;
21	};
22
23	chosen {
24		stdout-path = "serial0:115200n8";
25	};
26
27	vph_pwr: vph-pwr-regulator {
28		compatible = "regulator-fixed";
29		regulator-name = "vph_pwr";
30		regulator-min-microvolt = <3700000>;
31		regulator-max-microvolt = <3700000>;
32	};
33
34	vreg_s4a_1p8: pm8150-s4 {
35		compatible = "regulator-fixed";
36		regulator-name = "vreg_s4a_1p8";
37
38		regulator-min-microvolt = <1800000>;
39		regulator-max-microvolt = <1800000>;
40
41		regulator-always-on;
42		regulator-boot-on;
43
44		vin-supply = <&vph_pwr>;
45	};
46
47	gpio-keys {
48		compatible = "gpio-keys";
49
50		key-vol-up {
51			label = "Volume Up";
52			linux,code = <KEY_VOLUMEUP>;
53			gpios = <&pm8150_gpios 6 GPIO_ACTIVE_LOW>;
54		};
55	};
56};
57
58&apps_rsc {
59	regulators-0 {
60		compatible = "qcom,pm8150-rpmh-regulators";
61		qcom,pmic-id = "a";
62
63		vdd-s1-supply = <&vph_pwr>;
64		vdd-s2-supply = <&vph_pwr>;
65		vdd-s3-supply = <&vph_pwr>;
66		vdd-s4-supply = <&vph_pwr>;
67		vdd-s5-supply = <&vph_pwr>;
68		vdd-s6-supply = <&vph_pwr>;
69		vdd-s7-supply = <&vph_pwr>;
70		vdd-s8-supply = <&vph_pwr>;
71		vdd-s9-supply = <&vph_pwr>;
72		vdd-s10-supply = <&vph_pwr>;
73
74		vdd-l1-l8-l11-supply = <&vreg_s6a_0p9>;
75		vdd-l2-l10-supply = <&vreg_bob>;
76		vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p9>;
77		vdd-l6-l9-supply = <&vreg_s8c_1p3>;
78		vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p0>;
79		vdd-l13-l16-l17-supply = <&vreg_bob>;
80
81		vreg_s5a_2p0: smps5 {
82			regulator-min-microvolt = <1904000>;
83			regulator-max-microvolt = <2000000>;
84		};
85
86		vreg_s6a_0p9: smps6 {
87			regulator-min-microvolt = <920000>;
88			regulator-max-microvolt = <1128000>;
89		};
90
91		vdda_wcss_pll:
92		vreg_l1a_0p75: ldo1 {
93			regulator-min-microvolt = <752000>;
94			regulator-max-microvolt = <752000>;
95			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
96		};
97
98		vdd_pdphy:
99		vdda_usb_hs_3p1:
100		vreg_l2a_3p1: ldo2 {
101			regulator-min-microvolt = <3072000>;
102			regulator-max-microvolt = <3072000>;
103			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
104		};
105
106		vreg_l3a_0p8: ldo3 {
107			regulator-min-microvolt = <480000>;
108			regulator-max-microvolt = <932000>;
109			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
110		};
111
112		vdd_usb_hs_core:
113		vdda_csi_0_0p9:
114		vdda_csi_1_0p9:
115		vdda_csi_2_0p9:
116		vdda_csi_3_0p9:
117		vdda_dsi_0_0p9:
118		vdda_dsi_1_0p9:
119		vdda_dsi_0_pll_0p9:
120		vdda_dsi_1_pll_0p9:
121		vdda_pcie_1ln_core:
122		vdda_pcie_2ln_core:
123		vdda_pll_hv_cc_ebi01:
124		vdda_pll_hv_cc_ebi23:
125		vdda_qrefs_0p875_5:
126		vdda_sp_sensor:
127		vdda_ufs_2ln_core_1:
128		vdda_ufs_2ln_core_2:
129		vdda_usb_ss_dp_core_1:
130		vdda_usb_ss_dp_core_2:
131		vdda_qlink_lv:
132		vdda_qlink_lv_ck:
133		vreg_l5a_0p875: ldo5 {
134			regulator-min-microvolt = <880000>;
135			regulator-max-microvolt = <880000>;
136			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
137		};
138
139		vreg_l6a_1p2: ldo6 {
140			regulator-min-microvolt = <1200000>;
141			regulator-max-microvolt = <1200000>;
142			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
143		};
144
145		vreg_l7a_1p8: ldo7 {
146			regulator-min-microvolt = <1800000>;
147			regulator-max-microvolt = <1800000>;
148			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
149		};
150
151		vddpx_10:
152		vreg_l9a_1p2: ldo9 {
153			regulator-min-microvolt = <1200000>;
154			regulator-max-microvolt = <1200000>;
155			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
156		};
157
158		vreg_l10a_2p5: ldo10 {
159			regulator-min-microvolt = <2504000>;
160			regulator-max-microvolt = <2960000>;
161			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
162		};
163
164		vreg_l11a_0p8: ldo11 {
165			regulator-min-microvolt = <800000>;
166			regulator-max-microvolt = <800000>;
167			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
168		};
169
170		vdd_qfprom:
171		vdd_qfprom_sp:
172		vdda_apc_cs_1p8:
173		vdda_gfx_cs_1p8:
174		vdda_usb_hs_1p8:
175		vdda_qrefs_vref_1p8:
176		vddpx_10_a:
177		vreg_l12a_1p8: ldo12 {
178			regulator-min-microvolt = <1800000>;
179			regulator-max-microvolt = <1800000>;
180			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
181		};
182
183		vreg_l13a_2p7: ldo13 {
184			regulator-min-microvolt = <2704000>;
185			regulator-max-microvolt = <2704000>;
186			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
187		};
188
189		vreg_l14a_1p8: ldo14 {
190			regulator-min-microvolt = <1800000>;
191			regulator-max-microvolt = <1880000>;
192			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
193		};
194
195		vreg_l15a_1p7: ldo15 {
196			regulator-min-microvolt = <1704000>;
197			regulator-max-microvolt = <1704000>;
198			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
199		};
200
201		vreg_l16a_2p7: ldo16 {
202			regulator-min-microvolt = <2704000>;
203			regulator-max-microvolt = <2960000>;
204			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
205		};
206
207		vreg_l17a_3p0: ldo17 {
208			regulator-min-microvolt = <2856000>;
209			regulator-max-microvolt = <3008000>;
210			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
211		};
212	};
213
214	regulators-1 {
215		compatible = "qcom,pm8150l-rpmh-regulators";
216		qcom,pmic-id = "c";
217
218		vdd-s1-supply = <&vph_pwr>;
219		vdd-s2-supply = <&vph_pwr>;
220		vdd-s3-supply = <&vph_pwr>;
221		vdd-s4-supply = <&vph_pwr>;
222		vdd-s5-supply = <&vph_pwr>;
223		vdd-s6-supply = <&vph_pwr>;
224		vdd-s7-supply = <&vph_pwr>;
225		vdd-s8-supply = <&vph_pwr>;
226
227		vdd-l1-l8-supply = <&vreg_s4a_1p8>;
228		vdd-l2-l3-supply = <&vreg_s8c_1p3>;
229		vdd-l4-l5-l6-supply = <&vreg_bob>;
230		vdd-l7-l11-supply = <&vreg_bob>;
231		vdd-l9-l10-supply = <&vreg_bob>;
232
233		vdd-bob-supply = <&vph_pwr>;
234		vdd-flash-supply = <&vreg_bob>;
235		vdd-rgb-supply = <&vreg_bob>;
236
237		vreg_bob: bob {
238			regulator-min-microvolt = <3008000>;
239			regulator-max-microvolt = <4000000>;
240			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
241			regulator-allow-bypass;
242		};
243
244		vreg_s8c_1p3: smps8 {
245			regulator-min-microvolt = <1352000>;
246			regulator-max-microvolt = <1352000>;
247		};
248
249		vreg_l1c_1p8: ldo1 {
250			regulator-min-microvolt = <1800000>;
251			regulator-max-microvolt = <1800000>;
252			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
253		};
254
255		vdda_wcss_adcdac_1:
256		vdda_wcss_adcdac_22:
257		vreg_l2c_1p3: ldo2 {
258			regulator-min-microvolt = <1304000>;
259			regulator-max-microvolt = <1304000>;
260			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
261		};
262
263		vdda_hv_ebi0:
264		vdda_hv_ebi1:
265		vdda_hv_ebi2:
266		vdda_hv_ebi3:
267		vdda_hv_refgen0:
268		vdda_qlink_hv_ck:
269		vreg_l3c_1p2: ldo3 {
270			regulator-min-microvolt = <1200000>;
271			regulator-max-microvolt = <1200000>;
272			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
273		};
274
275		vddpx_5:
276		vreg_l4c_1p8: ldo4 {
277			regulator-min-microvolt = <1704000>;
278			regulator-max-microvolt = <2928000>;
279			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
280		};
281
282		vddpx_6:
283		vreg_l5c_1p8: ldo5 {
284			regulator-min-microvolt = <1704000>;
285			regulator-max-microvolt = <2928000>;
286			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
287		};
288
289		vddpx_2:
290		vreg_l6c_2p9: ldo6 {
291			regulator-min-microvolt = <1800000>;
292			regulator-max-microvolt = <2960000>;
293			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
294		};
295
296		vreg_l7c_3p0: ldo7 {
297			regulator-min-microvolt = <2856000>;
298			regulator-max-microvolt = <3104000>;
299			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
300		};
301
302		vreg_l8c_1p8: ldo8 {
303			regulator-min-microvolt = <1800000>;
304			regulator-max-microvolt = <1800000>;
305			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
306		};
307
308		vreg_l9c_2p9: ldo9 {
309			regulator-min-microvolt = <2704000>;
310			regulator-max-microvolt = <2960000>;
311			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
312		};
313
314		vreg_l10c_3p3: ldo10 {
315			regulator-min-microvolt = <3000000>;
316			regulator-max-microvolt = <3312000>;
317			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
318		};
319
320		vreg_l11c_3p3: ldo11 {
321			regulator-min-microvolt = <3000000>;
322			regulator-max-microvolt = <3312000>;
323			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
324		};
325	};
326
327	regulators-2 {
328		compatible = "qcom,pm8009-rpmh-regulators";
329		qcom,pmic-id = "f";
330
331		vdd-s1-supply = <&vph_pwr>;
332		vdd-s2-supply = <&vreg_bob>;
333
334		vdd-l2-supply = <&vreg_s8c_1p3>;
335		vdd-l5-l6-supply = <&vreg_bob>;
336
337		vreg_l2f_1p2: ldo2 {
338			regulator-min-microvolt = <1200000>;
339			regulator-max-microvolt = <1200000>;
340			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
341		};
342
343		vreg_l5f_2p85: ldo5 {
344			regulator-min-microvolt = <2800000>;
345			regulator-max-microvolt = <2800000>;
346			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
347		};
348
349		vreg_l6f_2p85: ldo6 {
350			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
351			regulator-min-microvolt = <2856000>;
352			regulator-max-microvolt = <2856000>;
353		};
354	};
355};
356
357&gmu {
358	status = "okay";
359};
360
361&gpu {
362	/*
363	 * NOTE: "amd,imageon" makes Adreno start in headless mode, remove it
364	 * after display support is added on this board.
365	 */
366	compatible = "qcom,adreno-640.1", "qcom,adreno", "amd,imageon";
367	status = "okay";
368};
369
370&pon_pwrkey {
371	status = "okay";
372};
373
374&pon_resin {
375	status = "okay";
376
377	linux,code = <KEY_VOLUMEDOWN>;
378};
379
380&qupv3_id_1 {
381	status = "okay";
382};
383
384&remoteproc_adsp {
385	status = "okay";
386
387	firmware-name = "qcom/sm8150/adsp.mbn";
388};
389
390&remoteproc_cdsp {
391	status = "okay";
392
393	firmware-name = "qcom/sm8150/cdsp.mbn";
394};
395
396&remoteproc_slpi {
397	status = "okay";
398
399	firmware-name = "qcom/sm8150/slpi.mbn";
400};
401
402&tlmm {
403	gpio-reserved-ranges = <0 4>, <126 4>;
404};
405
406&uart2 {
407	status = "okay";
408};
409
410&ufs_mem_hc {
411	status = "okay";
412
413	reset-gpios = <&tlmm 175 GPIO_ACTIVE_LOW>;
414
415	vcc-supply = <&vreg_l10a_2p5>;
416	vcc-max-microamp = <750000>;
417	vccq-supply = <&vreg_l9a_1p2>;
418	vccq-max-microamp = <700000>;
419	vccq2-supply = <&vreg_s4a_1p8>;
420	vccq2-max-microamp = <750000>;
421};
422
423&ufs_mem_phy {
424	status = "okay";
425
426	vdda-phy-supply = <&vdda_ufs_2ln_core_1>;
427	vdda-pll-supply = <&vreg_l3c_1p2>;
428};
429
430&usb_1_hsphy {
431	status = "okay";
432	vdda-pll-supply = <&vdd_usb_hs_core>;
433	vdda33-supply = <&vdda_usb_hs_3p1>;
434	vdda18-supply = <&vdda_usb_hs_1p8>;
435};
436
437&usb_2_hsphy {
438	status = "okay";
439	vdda-pll-supply = <&vdd_usb_hs_core>;
440	vdda33-supply = <&vdda_usb_hs_3p1>;
441	vdda18-supply = <&vdda_usb_hs_1p8>;
442};
443
444&usb_1_qmpphy {
445	status = "okay";
446	vdda-phy-supply = <&vreg_l3c_1p2>;
447	vdda-pll-supply = <&vdda_usb_ss_dp_core_1>;
448};
449
450&usb_2_qmpphy {
451	status = "okay";
452	vdda-phy-supply = <&vreg_l3c_1p2>;
453	vdda-pll-supply = <&vdda_usb_ss_dp_core_1>;
454};
455
456&usb_1 {
457	status = "okay";
458};
459
460&usb_2 {
461	status = "okay";
462};
463
464&usb_1_dwc3 {
465	dr_mode = "peripheral";
466};
467
468&usb_2_dwc3 {
469	dr_mode = "host";
470};
471