Merge tag 'for-5.15/io_uring-2021-09-04' of git://git.kernel.dk/linux-block
[linux-2.6-microblaze.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/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-max-microamp = <91600>;
255         vdda-pll-supply = <&vreg_l6b_1p2>;
256         vdda-pll-max-microamp = <19000>;
257 };
258
259 &usb_1 {
260         status = "okay";
261 };
262
263 &usb_1_dwc3 {
264         /* TODO: Define USB-C connector properly */
265         dr_mode = "peripheral";
266 };
267
268 &usb_1_hsphy {
269         status = "okay";
270
271         vdda-pll-supply = <&vreg_l5b_0p88>;
272         vdda18-supply = <&vreg_l1c_1p8>;
273         vdda33-supply = <&vreg_l2b_3p07>;
274 };
275
276 &usb_1_qmpphy {
277         status = "okay";
278
279         vdda-phy-supply = <&vreg_l6b_1p2>;
280         vdda-pll-supply = <&vreg_l1b_0p88>;
281 };
282
283 &usb_2 {
284         status = "okay";
285 };
286
287 &usb_2_dwc3 {
288         dr_mode = "host";
289
290         pinctrl-names = "default";
291         pinctrl-0 = <&usb_hub_enabled_state>;
292 };
293
294 &usb_2_hsphy {
295         status = "okay";
296
297         vdda-pll-supply = <&vreg_l5b_0p88>;
298         vdda18-supply = <&vreg_l1c_1p8>;
299         vdda33-supply = <&vreg_l2b_3p07>;
300 };
301
302 &usb_2_qmpphy {
303         status = "okay";
304
305         vdda-phy-supply = <&vreg_l6b_1p2>;
306         vdda-pll-supply = <&vreg_l5b_0p88>;
307 };
308
309 /* PINCTRL - additions to nodes defined in sm8350.dtsi */
310
311 &tlmm {
312         usb_hub_enabled_state: usb-hub-enabled-state {
313                 pins = "gpio42";
314                 function = "gpio";
315
316                 drive-strength = <2>;
317                 output-low;
318         };
319 };