GNU Linux-libre 6.1.90-gnu
[releases.git] / arch / arm64 / boot / dts / qcom / sa8295p-adp.dts
1 // SPDX-License-Identifier: BSD-3-Clause
2 /*
3  * Copyright (c) 2021, The Linux Foundation. All rights reserved.
4  * Copyright (c) 2022, Linaro Limited
5  */
6
7 /dts-v1/;
8
9 #include <dt-bindings/gpio/gpio.h>
10 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
11 #include <dt-bindings/spmi/spmi.h>
12
13 #include "sa8540p.dtsi"
14
15 / {
16         model = "Qualcomm SA8295P ADP";
17         compatible = "qcom,sa8295p-adp", "qcom,sa8540p";
18
19         aliases {
20                 serial0 = &qup2_uart17;
21         };
22
23         chosen {
24                 stdout-path = "serial0:115200n8";
25         };
26 };
27
28 &apps_rsc {
29         pmm8540-a-regulators {
30                 compatible = "qcom,pm8150-rpmh-regulators";
31                 qcom,pmic-id = "a";
32
33                 vreg_l3a: ldo3 {
34                         regulator-name = "vreg_l3a";
35                         regulator-min-microvolt = <1200000>;
36                         regulator-max-microvolt = <1208000>;
37                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
38                 };
39
40                 vreg_l5a: ldo5 {
41                         regulator-name = "vreg_l5a";
42                         regulator-min-microvolt = <912000>;
43                         regulator-max-microvolt = <912000>;
44                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
45                 };
46
47                 vreg_l7a: ldo7 {
48                         regulator-name = "vreg_l7a";
49                         regulator-min-microvolt = <1800000>;
50                         regulator-max-microvolt = <1800000>;
51                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
52                 };
53
54                 vreg_l13a: ldo13 {
55                         regulator-name = "vreg_l13a";
56                         regulator-min-microvolt = <3072000>;
57                         regulator-max-microvolt = <3072000>;
58                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
59                 };
60         };
61
62         pmm8540-c-regulators {
63                 compatible = "qcom,pm8150-rpmh-regulators";
64                 qcom,pmic-id = "c";
65
66                 vreg_l1c: ldo1 {
67                         regulator-name = "vreg_l1c";
68                         regulator-min-microvolt = <912000>;
69                         regulator-max-microvolt = <912000>;
70                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
71                 };
72
73                 vreg_l2c: ldo2 {
74                         regulator-name = "vreg_l2c";
75                         regulator-min-microvolt = <3072000>;
76                         regulator-max-microvolt = <3072000>;
77                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
78                 };
79
80                 vreg_l3c: ldo3 {
81                         regulator-name = "vreg_l3c";
82                         regulator-min-microvolt = <1200000>;
83                         regulator-max-microvolt = <1200000>;
84                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
85                         regulator-allow-set-load;
86                         regulator-allowed-modes =
87                             <RPMH_REGULATOR_MODE_LPM
88                              RPMH_REGULATOR_MODE_HPM>;
89                 };
90
91                 vreg_l4c: ldo4 {
92                         regulator-name = "vreg_l4c";
93                         regulator-min-microvolt = <1200000>;
94                         regulator-max-microvolt = <1208000>;
95                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
96                 };
97
98                 vreg_l6c: ldo6 {
99                         regulator-name = "vreg_l6c";
100                         regulator-min-microvolt = <1200000>;
101                         regulator-max-microvolt = <1200000>;
102                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
103                         regulator-allow-set-load;
104                         regulator-allowed-modes =
105                             <RPMH_REGULATOR_MODE_LPM
106                              RPMH_REGULATOR_MODE_HPM>;
107                 };
108
109                 vreg_l7c: ldo7 {
110                         regulator-name = "vreg_l7c";
111                         regulator-min-microvolt = <1800000>;
112                         regulator-max-microvolt = <1800000>;
113                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
114                 };
115
116                 vreg_l10c: ldo10 {
117                         regulator-name = "vreg_l10c";
118                         regulator-min-microvolt = <2504000>;
119                         regulator-max-microvolt = <2504000>;
120                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
121                         regulator-allow-set-load;
122                         regulator-allowed-modes =
123                             <RPMH_REGULATOR_MODE_LPM
124                              RPMH_REGULATOR_MODE_HPM>;
125                 };
126
127                 vreg_l17c: ldo17 {
128                         regulator-name = "vreg_l17c";
129                         regulator-min-microvolt = <2504000>;
130                         regulator-max-microvolt = <2504000>;
131                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
132                         regulator-allow-set-load;
133                         regulator-allowed-modes =
134                             <RPMH_REGULATOR_MODE_LPM
135                              RPMH_REGULATOR_MODE_HPM>;
136                 };
137         };
138
139         pmm8540-g-regulators {
140                 compatible = "qcom,pm8150-rpmh-regulators";
141                 qcom,pmic-id = "g";
142
143                 vreg_l3g: ldo3 {
144                         regulator-name = "vreg_l3g";
145                         regulator-min-microvolt = <1200000>;
146                         regulator-max-microvolt = <1200000>;
147                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
148                 };
149
150                 vreg_l7g: ldo7 {
151                         regulator-name = "vreg_l7g";
152                         regulator-min-microvolt = <1800000>;
153                         regulator-max-microvolt = <1800000>;
154                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
155                 };
156
157                 vreg_l8g: ldo8 {
158                         regulator-name = "vreg_l8g";
159                         regulator-min-microvolt = <880000>;
160                         regulator-max-microvolt = <880000>;
161                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
162                 };
163         };
164 };
165
166 &qup2 {
167         status = "okay";
168 };
169
170 &qup2_uart17 {
171         compatible = "qcom,geni-debug-uart";
172         status = "okay";
173 };
174
175 &remoteproc_adsp {
176         firmware-name = "/*(DEBLOBBED)*/";
177         status = "okay";
178 };
179
180 &remoteproc_nsp0 {
181         firmware-name = "/*(DEBLOBBED)*/";
182         status = "okay";
183 };
184
185 &remoteproc_nsp1 {
186         firmware-name = "/*(DEBLOBBED)*/";
187         status = "okay";
188 };
189
190 &spmi_bus {
191         pm8450a: pmic@0 {
192                 compatible = "qcom,pm8150", "qcom,spmi-pmic";
193                 reg = <0x0 SPMI_USID>;
194                 #address-cells = <1>;
195                 #size-cells = <0>;
196
197                 pm8450a_gpios: gpio@c000 {
198                         compatible = "qcom,pm8150-gpio", "qcom,spmi-gpio";
199                         reg = <0xc000>;
200                         gpio-controller;
201                         gpio-ranges = <&pm8450a_gpios 0 0 10>;
202                         #gpio-cells = <2>;
203                         interrupt-controller;
204                         #interrupt-cells = <2>;
205                 };
206         };
207
208         pm8450c: pmic@4 {
209                 compatible = "qcom,pm8150", "qcom,spmi-pmic";
210                 reg = <0x4 SPMI_USID>;
211                 #address-cells = <1>;
212                 #size-cells = <0>;
213
214                 pm8450c_gpios: gpio@c000 {
215                         compatible = "qcom,pm8150-gpio", "qcom,spmi-gpio";
216                         reg = <0xc000>;
217                         gpio-controller;
218                         gpio-ranges = <&pm8450c_gpios 0 0 10>;
219                         #gpio-cells = <2>;
220                         interrupt-controller;
221                         #interrupt-cells = <2>;
222                 };
223         };
224
225         pm8450e: pmic@8 {
226                 compatible = "qcom,pm8150", "qcom,spmi-pmic";
227                 reg = <0x8 SPMI_USID>;
228                 #address-cells = <1>;
229                 #size-cells = <0>;
230
231                 pm8450e_gpios: gpio@c000 {
232                         compatible = "qcom,pm8150-gpio", "qcom,spmi-gpio";
233                         reg = <0xc000>;
234                         gpio-controller;
235                         gpio-ranges = <&pm8450e_gpios 0 0 10>;
236                         #gpio-cells = <2>;
237                         interrupt-controller;
238                         #interrupt-cells = <2>;
239                 };
240         };
241
242         pm8450g: pmic@c {
243                 compatible = "qcom,pm8150", "qcom,spmi-pmic";
244                 reg = <0xc SPMI_USID>;
245                 #address-cells = <1>;
246                 #size-cells = <0>;
247
248                 pm8450g_gpios: gpio@c000 {
249                         compatible = "qcom,pm8150-gpio", "qcom,spmi-gpio";
250                         reg = <0xc000>;
251                         gpio-controller;
252                         gpio-ranges = <&pm8450g_gpios 0 0 10>;
253                         #gpio-cells = <2>;
254                         interrupt-controller;
255                         #interrupt-cells = <2>;
256                 };
257         };
258 };
259
260 &ufs_mem_hc {
261         reset-gpios = <&tlmm 228 GPIO_ACTIVE_LOW>;
262
263         vcc-supply = <&vreg_l17c>;
264         vcc-max-microamp = <800000>;
265         vccq-supply = <&vreg_l6c>;
266         vccq-max-microamp = <900000>;
267
268         status = "okay";
269 };
270
271 &ufs_mem_phy {
272         vdda-phy-supply = <&vreg_l8g>;
273         vdda-pll-supply = <&vreg_l3g>;
274
275         status = "okay";
276 };
277
278 &ufs_card_hc {
279         reset-gpios = <&tlmm 229 GPIO_ACTIVE_LOW>;
280
281         vcc-supply = <&vreg_l10c>;
282         vcc-max-microamp = <800000>;
283         vccq-supply = <&vreg_l3c>;
284         vccq-max-microamp = <900000>;
285
286         status = "okay";
287 };
288
289 &ufs_card_phy {
290         vdda-phy-supply = <&vreg_l8g>;
291         vdda-pll-supply = <&vreg_l3g>;
292
293         status = "okay";
294 };
295
296 &usb_0 {
297         status = "okay";
298 };
299
300 &usb_0_dwc3 {
301         /* TODO: Define USB-C connector properly */
302         dr_mode = "peripheral";
303 };
304
305 &usb_0_hsphy {
306         vdda-pll-supply = <&vreg_l5a>;
307         vdda18-supply = <&vreg_l7a>;
308         vdda33-supply = <&vreg_l13a>;
309
310         status = "okay";
311 };
312
313 &usb_0_qmpphy {
314         vdda-phy-supply = <&vreg_l3a>;
315         vdda-pll-supply = <&vreg_l5a>;
316
317         status = "okay";
318 };
319
320 &usb_1 {
321         status = "okay";
322 };
323
324 &usb_1_dwc3 {
325         /* TODO: Define USB-C connector properly */
326         dr_mode = "host";
327 };
328
329 &usb_1_hsphy {
330         vdda-pll-supply = <&vreg_l1c>;
331         vdda18-supply = <&vreg_l7c>;
332         vdda33-supply = <&vreg_l2c>;
333
334         status = "okay";
335 };
336
337 &usb_1_qmpphy {
338         vdda-phy-supply = <&vreg_l4c>;
339         vdda-pll-supply = <&vreg_l1c>;
340
341         status = "okay";
342 };
343
344 &usb_2_hsphy0 {
345         vdda-pll-supply = <&vreg_l5a>;
346         vdda18-supply = <&vreg_l7g>;
347         vdda33-supply = <&vreg_l13a>;
348
349         status = "okay";
350 };
351
352 &usb_2_hsphy1 {
353         vdda-pll-supply = <&vreg_l5a>;
354         vdda18-supply = <&vreg_l7g>;
355         vdda33-supply = <&vreg_l13a>;
356
357         status = "okay";
358 };
359
360 &usb_2_hsphy2 {
361         vdda-pll-supply = <&vreg_l5a>;
362         vdda18-supply = <&vreg_l7g>;
363         vdda33-supply = <&vreg_l13a>;
364
365         status = "okay";
366 };
367
368 &usb_2_hsphy3 {
369         vdda-pll-supply = <&vreg_l5a>;
370         vdda18-supply = <&vreg_l7g>;
371         vdda33-supply = <&vreg_l13a>;
372
373         status = "okay";
374 };
375
376 &usb_2_qmpphy0 {
377         vdda-phy-supply = <&vreg_l3a>;
378         vdda-pll-supply = <&vreg_l5a>;
379
380         status = "okay";
381 };
382
383 &usb_2_qmpphy1 {
384         vdda-phy-supply = <&vreg_l3a>;
385         vdda-pll-supply = <&vreg_l5a>;
386
387         status = "okay";
388 };
389
390 &xo_board_clk {
391         clock-frequency = <38400000>;
392 };
393
394 /* PINCTRL */