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