Merge tag 'tegra-for-5.7-asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra...
[linux-2.6-microblaze.git] / arch / arm64 / boot / dts / qcom / sc7180-idp.dts
1 // SPDX-License-Identifier: BSD-3-Clause
2 /*
3  * SC7180 IDP board device tree source
4  *
5  * Copyright (c) 2019, The Linux Foundation. All rights reserved.
6  */
7
8 /dts-v1/;
9
10 #include <dt-bindings/gpio/gpio.h>
11 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
12 #include "sc7180.dtsi"
13 #include "pm6150.dtsi"
14 #include "pm6150l.dtsi"
15
16 / {
17         model = "Qualcomm Technologies, Inc. SC7180 IDP";
18         compatible = "qcom,sc7180-idp", "qcom,sc7180";
19
20         aliases {
21                 bluetooth0 = &bluetooth;
22                 hsuart0 = &uart3;
23                 serial0 = &uart8;
24         };
25
26         chosen {
27                 stdout-path = "serial0:115200n8";
28         };
29 };
30
31 &apps_rsc {
32         pm6150-rpmh-regulators {
33                 compatible = "qcom,pm6150-rpmh-regulators";
34                 qcom,pmic-id = "a";
35
36                 vreg_s1a_1p1: smps1 {
37                         regulator-min-microvolt = <1128000>;
38                         regulator-max-microvolt = <1128000>;
39                 };
40
41                 vreg_s4a_1p0: smps4 {
42                         regulator-min-microvolt = <824000>;
43                         regulator-max-microvolt = <1120000>;
44                 };
45
46                 vreg_s5a_2p0: smps5 {
47                         regulator-min-microvolt = <1744000>;
48                         regulator-max-microvolt = <2040000>;
49                 };
50
51                 vreg_l1a_1p2: ldo1 {
52                         regulator-min-microvolt = <1178000>;
53                         regulator-max-microvolt = <1256000>;
54                         regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
55                 };
56
57                 vreg_l2a_1p0: ldo2 {
58                         regulator-min-microvolt = <944000>;
59                         regulator-max-microvolt = <1056000>;
60                         regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
61                 };
62
63                 vreg_l3a_1p0: ldo3 {
64                         regulator-min-microvolt = <968000>;
65                         regulator-max-microvolt = <1064000>;
66                         regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
67                 };
68
69                 vreg_l4a_0p8: ldo4 {
70                         regulator-min-microvolt = <824000>;
71                         regulator-max-microvolt = <928000>;
72                         regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
73                 };
74
75                 vreg_l5a_2p7: ldo5 {
76                         regulator-min-microvolt = <2496000>;
77                         regulator-max-microvolt = <3000000>;
78                         regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
79                 };
80
81                 vreg_l6a_0p6: ldo6 {
82                         regulator-min-microvolt = <568000>;
83                         regulator-max-microvolt = <648000>;
84                         regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
85                 };
86
87                 vreg_l9a_0p6: ldo9 {
88                         regulator-min-microvolt = <488000>;
89                         regulator-max-microvolt = <800000>;
90                         regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
91                 };
92
93                 vreg_l10a_1p8: ldo10 {
94                         regulator-min-microvolt = <1800000>;
95                         regulator-max-microvolt = <1832000>;
96                         regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
97                 };
98
99                 vreg_l11a_1p8: ldo11 {
100                         regulator-min-microvolt = <1696000>;
101                         regulator-max-microvolt = <1904000>;
102                         regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
103                 };
104
105                 vreg_l12a_1p8: ldo12 {
106                         regulator-min-microvolt = <1800000>;
107                         regulator-max-microvolt = <1800000>;
108                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
109                 };
110
111                 vreg_l13a_1p8: ldo13 {
112                         regulator-min-microvolt = <1696000>;
113                         regulator-max-microvolt = <1904000>;
114                         regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
115                 };
116
117                 vreg_l14a_1p8: ldo14 {
118                         regulator-min-microvolt = <1728000>;
119                         regulator-max-microvolt = <1832000>;
120                         regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
121                 };
122
123                 vreg_l15a_1p8: ldo15 {
124                         regulator-min-microvolt = <1696000>;
125                         regulator-max-microvolt = <1904000>;
126                         regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
127                 };
128
129                 vreg_l16a_2p7: ldo16 {
130                         regulator-min-microvolt = <2496000>;
131                         regulator-max-microvolt = <3304000>;
132                         regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
133                 };
134
135                 vreg_l17a_3p0: ldo17 {
136                         regulator-min-microvolt = <2920000>;
137                         regulator-max-microvolt = <3232000>;
138                         regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
139                 };
140
141                 vreg_l18a_2p8: ldo18 {
142                         regulator-min-microvolt = <2496000>;
143                         regulator-max-microvolt = <3304000>;
144                         regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
145                 };
146
147                 vreg_l19a_2p9: ldo19 {
148                         regulator-min-microvolt = <2960000>;
149                         regulator-max-microvolt = <2960000>;
150                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
151                 };
152         };
153
154         pm6150l-rpmh-regulators {
155                 compatible = "qcom,pm6150l-rpmh-regulators";
156                 qcom,pmic-id = "c";
157
158                 vreg_s8c_1p3: smps8 {
159                         regulator-min-microvolt = <1120000>;
160                         regulator-max-microvolt = <1408000>;
161                 };
162
163                 vreg_l1c_1p8: ldo1 {
164                         regulator-min-microvolt = <1616000>;
165                         regulator-max-microvolt = <1984000>;
166                         regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
167                 };
168
169                 vreg_l2c_1p3: ldo2 {
170                         regulator-min-microvolt = <1168000>;
171                         regulator-max-microvolt = <1304000>;
172                         regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
173                 };
174
175                 vreg_l3c_1p2: ldo3 {
176                         regulator-min-microvolt = <1144000>;
177                         regulator-max-microvolt = <1304000>;
178                         regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
179                 };
180
181                 vreg_l4c_1p8: ldo4 {
182                         regulator-min-microvolt = <1648000>;
183                         regulator-max-microvolt = <3304000>;
184                         regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
185                 };
186
187                 vreg_l5c_1p8: ldo5 {
188                         regulator-min-microvolt = <1648000>;
189                         regulator-max-microvolt = <3304000>;
190                         regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
191                 };
192
193                 vreg_l6c_2p9: ldo6 {
194                         regulator-min-microvolt = <1800000>;
195                         regulator-max-microvolt = <2950000>;
196                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
197                 };
198
199                 vreg_l7c_3p0: ldo7 {
200                         regulator-min-microvolt = <3000000>;
201                         regulator-max-microvolt = <3312000>;
202                         regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
203                 };
204
205                 vreg_l8c_1p8: ldo8 {
206                         regulator-min-microvolt = <1800000>;
207                         regulator-max-microvolt = <1904000>;
208                         regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
209                 };
210
211                 vreg_l9c_2p9: ldo9 {
212                         regulator-min-microvolt = <2960000>;
213                         regulator-max-microvolt = <2960000>;
214                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
215                 };
216
217                 vreg_l10c_3p3: ldo10 {
218                         regulator-min-microvolt = <3000000>;
219                         regulator-max-microvolt = <3400000>;
220                         regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
221                 };
222
223                 vreg_l11c_3p3: ldo11 {
224                         regulator-min-microvolt = <3000000>;
225                         regulator-max-microvolt = <3400000>;
226                         regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
227                 };
228
229                 vreg_bob: bob {
230                         regulator-min-microvolt = <3008000>;
231                         regulator-max-microvolt = <3960000>;
232                         regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
233                 };
234         };
235 };
236
237 &qspi {
238         status = "okay";
239         pinctrl-names = "default";
240         pinctrl-0 = <&qspi_clk &qspi_cs0 &qspi_data01>;
241
242         flash@0 {
243                 compatible = "jedec,spi-nor";
244                 reg = <0>;
245                 spi-max-frequency = <25000000>;
246                 spi-tx-bus-width = <2>;
247                 spi-rx-bus-width = <2>;
248         };
249 };
250
251 &qupv3_id_0 {
252         status = "okay";
253 };
254
255 &qupv3_id_1 {
256         status = "okay";
257 };
258
259 &sdhc_1 {
260         status = "okay";
261
262         pinctrl-names = "default", "sleep";
263         pinctrl-0 = <&sdc1_on>;
264         pinctrl-1 = <&sdc1_off>;
265         vmmc-supply = <&vreg_l19a_2p9>;
266         vqmmc-supply = <&vreg_l12a_1p8>;
267 };
268
269 &sdhc_2 {
270         status = "okay";
271
272         pinctrl-names = "default","sleep";
273         pinctrl-0 = <&sdc2_on>;
274         pinctrl-1 = <&sdc2_off>;
275         vmmc-supply  = <&vreg_l9c_2p9>;
276         vqmmc-supply = <&vreg_l6c_2p9>;
277
278         cd-gpios = <&tlmm 69 GPIO_ACTIVE_LOW>;
279 };
280
281 &uart3 {
282         status = "okay";
283
284         bluetooth: wcn3990-bt {
285                 compatible = "qcom,wcn3990-bt";
286                 vddio-supply = <&vreg_l10a_1p8>;
287                 vddxo-supply = <&vreg_l1c_1p8>;
288                 vddrf-supply = <&vreg_l2c_1p3>;
289                 vddch0-supply = <&vreg_l10c_3p3>;
290                 max-speed = <3200000>;
291                 clocks = <&rpmhcc RPMH_RF_CLK2>;
292         };
293 };
294
295 &uart8 {
296         status = "okay";
297 };
298
299 &usb_1 {
300         status = "okay";
301 };
302
303 &usb_1_dwc3 {
304         dr_mode = "host";
305 };
306
307 &usb_1_hsphy {
308         status = "okay";
309         vdd-supply = <&vreg_l4a_0p8>;
310         vdda-pll-supply = <&vreg_l11a_1p8>;
311         vdda-phy-dpdm-supply = <&vreg_l17a_3p0>;
312         qcom,imp-res-offset-value = <8>;
313         qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>;
314         qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>;
315         qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
316 };
317
318 &usb_1_qmpphy {
319         status = "okay";
320         vdda-phy-supply = <&vreg_l3c_1p2>;
321         vdda-pll-supply = <&vreg_l4a_0p8>;
322 };
323
324 &venus {
325         video-firmware {
326                 iommus = <&apps_smmu 0x0c42 0x0>;
327         };
328 };
329
330 /* PINCTRL - additions to nodes defined in sc7180.dtsi */
331
332 &qspi_clk {
333         pinconf {
334                 pins = "gpio63";
335                 bias-disable;
336         };
337 };
338
339 &qspi_cs0 {
340         pinconf {
341                 pins = "gpio68";
342                 bias-disable;
343         };
344 };
345
346 &qspi_data01 {
347         pinconf {
348                 pins = "gpio64", "gpio65";
349
350                 /* High-Z when no transfers; nice to park the lines */
351                 bias-pull-up;
352         };
353 };
354
355 &qup_i2c2_default {
356         pinconf {
357                 pins = "gpio15", "gpio16";
358                 drive-strength = <2>;
359
360                 /* Has external pullup */
361                 bias-disable;
362         };
363 };
364
365 &qup_i2c4_default {
366         pinconf {
367                 pins = "gpio115", "gpio116";
368                 drive-strength = <2>;
369
370                 /* Has external pullup */
371                 bias-disable;
372         };
373 };
374
375 &qup_i2c7_default {
376         pinconf {
377                 pins = "gpio6", "gpio7";
378                 drive-strength = <2>;
379
380                 /* Has external pullup */
381                 bias-disable;
382         };
383 };
384
385 &qup_i2c9_default {
386         pinconf {
387                 pins = "gpio46", "gpio47";
388                 drive-strength = <2>;
389
390                 /* Has external pullup */
391                 bias-disable;
392         };
393 };
394
395 &qup_uart3_default {
396         pinconf-cts {
397                 /*
398                  * Configure a pull-down on 38 (CTS) to match the pull of
399                  * the Bluetooth module.
400                  */
401                 pins = "gpio38";
402                 bias-pull-down;
403                 output-high;
404         };
405
406         pinconf-rts {
407                 /* We'll drive 39 (RTS), so no pull */
408                 pins = "gpio39";
409                 drive-strength = <2>;
410                 bias-disable;
411         };
412
413         pinconf-tx {
414                 /* We'll drive 40 (TX), so no pull */
415                 pins = "gpio40";
416                 drive-strength = <2>;
417                 bias-disable;
418                 output-high;
419         };
420
421         pinconf-rx {
422                 /*
423                  * Configure a pull-up on 41 (RX). This is needed to avoid
424                  * garbage data when the TX pin of the Bluetooth module is
425                  * in tri-state (module powered off or not driving the
426                  * signal yet).
427                  */
428                 pins = "gpio41";
429                 bias-pull-up;
430         };
431 };
432
433 &qup_uart8_default {
434         pinconf-tx {
435                 pins = "gpio44";
436                 drive-strength = <2>;
437                 bias-disable;
438         };
439
440         pinconf-rx {
441                 pins = "gpio45";
442                 drive-strength = <2>;
443                 bias-pull-up;
444         };
445 };
446
447 &qup_spi0_default {
448         pinconf {
449                 pins = "gpio34", "gpio35", "gpio36", "gpio37";
450                 drive-strength = <2>;
451                 bias-disable;
452         };
453 };
454
455 &qup_spi6_default {
456         pinconf {
457                 pins = "gpio59", "gpio60", "gpio61", "gpio62";
458                 drive-strength = <2>;
459                 bias-disable;
460         };
461 };
462
463 &qup_spi10_default {
464         pinconf {
465                 pins = "gpio86", "gpio87", "gpio88", "gpio89";
466                 drive-strength = <2>;
467                 bias-disable;
468         };
469 };
470