Merge tag 'gvt-next-fixes-2020-03-31' of https://github.com/intel/gvt-linux into...
[linux-2.6-microblaze.git] / arch / arm64 / boot / dts / qcom / apq8096-ifc6640.dts
1 // SPDX-License-Identifier: BSD-3-Clause
2
3 /dts-v1/;
4
5 #include "msm8996.dtsi"
6 #include "pm8994.dtsi"
7 #include "pmi8994.dtsi"
8 #include <dt-bindings/gpio/gpio.h>
9 #include <dt-bindings/input/input.h>
10 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
11
12 / {
13         model = "Inforce 6640 Single Board Computer";
14         compatible = "inforce,ifc6640", "qcom,apq8096-sbc", "qcom,apq8096";
15
16         qcom,msm-id = <291 0x00030001>;
17         qcom,board-id = <0x00010018 0>;
18
19         aliases {
20                 serial0 = &blsp2_uart1;
21         };
22
23         chosen {
24                 stdout-path = "serial0:115200n8";
25         };
26
27         v1p05: v1p05-regulator {
28                 compatible = "regulator-fixed";
29                 reglator-name = "v1p05";
30                 regulator-always-on;
31                 regulator-boot-on;
32
33                 regulator-min-microvolt = <1050000>;
34                 regulator-max-microvolt = <1050000>;
35
36                 vin-supply = <&v5p0>;
37         };
38
39         v12_poe: v12-poe-regulator {
40                 compatible = "regulator-fixed";
41                 reglator-name = "v12_poe";
42                 regulator-always-on;
43                 regulator-boot-on;
44
45                 regulator-min-microvolt = <12000000>;
46                 regulator-max-microvolt = <12000000>;
47         };
48
49         v3p3: v3p3-regulator {
50                 compatible = "regulator-fixed";
51                 regulator-name = "v3p3";
52                 regulator-always-on;
53                 regulator-boot-on;
54
55                 regulator-min-microvolt = <3300000>;
56                 regulator-max-microvolt = <3300000>;
57
58                 vin-supply = <&v12_poe>;
59         };
60
61         v5p0: v5p0-regulator {
62                 compatible = "regulator-fixed";
63                 regulator-name = "v5p0";
64                 regulator-always-on;
65                 regulator-boot-on;
66
67                 regulator-min-microvolt = <5000000>;
68                 regulator-max-microvolt = <5000000>;
69
70                 vin-supply = <&v12_poe>;
71         };
72
73         vph_pwr: vph-pwr-regulator {
74                 compatible = "regulator-fixed";
75                 regulator-name = "vph_pwr";
76                 regulator-always-on;
77                 regulator-boot-on;
78
79                 regulator-min-microvolt = <3800000>;
80                 regulator-max-microvolt = <3800000>;
81         };
82 };
83
84 &blsp2_uart1 {
85         status = "okay";
86         pinctrl-names = "default", "sleep";
87         pinctrl-0 = <&blsp2_uart1_2pins_default>;
88         pinctrl-1 = <&blsp2_uart1_2pins_sleep>;
89 };
90
91 &msmgpio {
92         sdc2_pins_default: sdc2-pins-default {
93                 clk {
94                         pins = "sdc2_clk";
95                         bias-disable;
96                         drive-strength = <16>;
97                 };
98
99                 cmd {
100                         pins = "sdc2_cmd";
101                         bias-pull-up;
102                         drive-strength = <10>;
103                 };
104
105                 data {
106                         pins = "sdc2_data";
107                         bias-pull-up;
108                         drive-strength = <10>;
109                 };
110
111                 cd {
112                         pins = "gpio38";
113                         function = "gpio";
114
115                         bias-pull-up;
116                         drive-strength = <16>;
117                 };
118         };
119
120         sdc2_pins_sleep: sdc2-pins-sleep {
121                 clk {
122                         pins = "sdc2_clk";
123                         bias-disable;
124                         drive-strength = <2>;
125                 };
126
127                 cmd {
128                         pins = "sdc2_cmd";
129                         bias-pull-up;
130                         drive-strength = <2>;
131                 };
132
133                 data {
134                         pins = "sdc2_data";
135                         bias-pull-up;
136                         drive-strength = <2>;
137                 };
138
139                 cd {
140                         pins = "gpio38";
141                         function = "gpio";
142                         bias-pull-up;
143                         drive-strength = <2>;
144                 };
145         };
146 };
147
148 &rpm_requests {
149         pm8994-regulators {
150                 compatible = "qcom,rpm-pm8994-regulators";
151
152                 vdd_s1-supply = <&vph_pwr>;
153                 vdd_s2-supply = <&vph_pwr>;
154                 vdd_s3-supply = <&vph_pwr>;
155                 vdd_s4-supply = <&vph_pwr>;
156                 vdd_s5-supply = <&vph_pwr>;
157                 vdd_s6-supply = <&vph_pwr>;
158                 vdd_s7-supply = <&vph_pwr>;
159                 vdd_s8-supply = <&vph_pwr>;
160                 vdd_s9-supply = <&vph_pwr>;
161                 vdd_s10-supply = <&vph_pwr>;
162                 vdd_s11-supply = <&vph_pwr>;
163                 vdd_s12-supply = <&vph_pwr>;
164                 vdd_l2_l26_l28-supply = <&vreg_s3a_1p3>;
165                 vdd_l3_l11-supply = <&vreg_s3a_1p3>;
166                 vdd_l4_l27_l31-supply = <&vreg_s3a_1p3>;
167                 vdd_l5_l7-supply = <&vreg_s5a_2p15>;
168                 vdd_l6_l12_l32-supply = <&vreg_s5a_2p15>;
169                 vdd_l8_l16_l30-supply = <&vph_pwr>;
170                 vdd_l25-supply = <&vreg_s3a_1p3>;
171                 vdd_lvs1_2-supply = <&vreg_s4a_1p8>;
172
173                 vreg_s3a_1p3: s3 {
174                         regulator-name = "vreg_s3a_1p3";
175                         regulator-min-microvolt = <1300000>;
176                         regulator-max-microvolt = <1300000>;
177                 };
178
179                 vreg_s4a_1p8: s4 {
180                         regulator-name = "vreg_s4a_1p8";
181                         regulator-min-microvolt = <1800000>;
182                         regulator-max-microvolt = <1800000>;
183                         regulator-always-on;
184                 };
185                 vreg_s5a_2p15: s5 {
186                         regulator-name = "vreg_s5a_2p15";
187                         regulator-min-microvolt = <2150000>;
188                         regulator-max-microvolt = <2150000>;
189                 };
190                 vreg_s7a_1p0: s7 {
191                         regulator-name = "vreg_s7a_1p0";
192                         regulator-min-microvolt = <800000>;
193                         regulator-max-microvolt = <800000>;
194                 };
195
196                 vreg_l1a_1p0: l1 {
197                         regulator-name = "vreg_l1a_1p0";
198                         regulator-min-microvolt = <1000000>;
199                         regulator-max-microvolt = <1000000>;
200                 };
201                 vreg_l2a_1p25: l2 {
202                         regulator-name = "vreg_l2a_1p25";
203                         regulator-min-microvolt = <1250000>;
204                         regulator-max-microvolt = <1250000>;
205                 };
206                 vreg_l3a_0p875: l3 {
207                         regulator-name = "vreg_l3a_0p875";
208                         regulator-min-microvolt = <850000>;
209                         regulator-max-microvolt = <850000>;
210                 };
211                 vreg_l4a_1p225: l4 {
212                         regulator-name = "vreg_l4a_1p225";
213                         regulator-min-microvolt = <1225000>;
214                         regulator-max-microvolt = <1225000>;
215                 };
216                 vreg_l6a_1p2: l6 {
217                         regulator-name = "vreg_l6a_1p2";
218                         regulator-min-microvolt = <1200000>;
219                         regulator-max-microvolt = <1200000>;
220                 };
221                 vreg_l8a_1p8: l8 {
222                         regulator-name = "vreg_l8a_1p8";
223                         regulator-min-microvolt = <1800000>;
224                         regulator-max-microvolt = <1800000>;
225                 };
226                 vreg_l9a_1p8: l9 {
227                         regulator-name = "vreg_l9a_1p8";
228                         regulator-min-microvolt = <1800000>;
229                         regulator-max-microvolt = <1800000>;
230                 };
231                 vreg_l10a_1p8: l10 {
232                         regulator-name = "vreg_l10a_1p8";
233                         regulator-min-microvolt = <1800000>;
234                         regulator-max-microvolt = <1800000>;
235                 };
236                 vreg_l11a_1p15: l11 {
237                         regulator-name = "vreg_l11a_1p15";
238                         regulator-min-microvolt = <1150000>;
239                         regulator-max-microvolt = <1150000>;
240                 };
241                 vreg_l12a_1p8: l12 {
242                         regulator-name = "vreg_l12a_1p8";
243                         regulator-min-microvolt = <1800000>;
244                         regulator-max-microvolt = <1800000>;
245                 };
246                 vreg_l13a_2p95: l13 {
247                         regulator-name = "vreg_l13a_2p95";
248                         regulator-min-microvolt = <1800000>;
249                         regulator-max-microvolt = <2950000>;
250                 };
251                 vreg_l14a_1p8: l14 {
252                         regulator-name = "vreg_l14a_1p8";
253                         regulator-min-microvolt = <1800000>;
254                         regulator-max-microvolt = <1800000>;
255                 };
256                 vreg_l15a_1p8: l15 {
257                         regulator-name = "vreg_l15a_1p8";
258                         regulator-min-microvolt = <1800000>;
259                         regulator-max-microvolt = <1800000>;
260                 };
261                 vreg_l16a_2p7: l16 {
262                         regulator-name = "vreg_l16a_2p7";
263                         regulator-min-microvolt = <2700000>;
264                         regulator-max-microvolt = <2700000>;
265                 };
266                 vreg_l17a_2p8: l17 {
267                         regulator-name = "vreg_l17a_2p8";
268                         regulator-min-microvolt = <2500000>;
269                         regulator-max-microvolt = <2500000>;
270                 };
271                 vreg_l18a_2p85: l18 {
272                         regulator-name = "vreg_l18a_2p85";
273                         regulator-min-microvolt = <2700000>;
274                         regulator-max-microvolt = <2900000>;
275                 };
276                 vreg_l19a_2p8: l19 {
277                         regulator-name = "vreg_l19a_2p8";
278                         regulator-min-microvolt = <3000000>;
279                         regulator-max-microvolt = <3000000>;
280                 };
281                 vreg_l20a_2p95: l20 {
282                         regulator-name = "vreg_l20a_2p95";
283                         regulator-min-microvolt = <2950000>;
284                         regulator-max-microvolt = <2950000>;
285                         regulator-allow-set-load;
286                 };
287                 vreg_l21a_2p95: l21 {
288                         regulator-name = "vreg_l21a_2p95";
289                         regulator-min-microvolt = <2950000>;
290                         regulator-max-microvolt = <2950000>;
291                 };
292                 vreg_l22a_3p0: l22 {
293                         regulator-name = "vreg_l22a_3p0";
294                         regulator-min-microvolt = <3300000>;
295                         regulator-max-microvolt = <3300000>;
296                 };
297                 vreg_l23a_2p8: l23 {
298                         regulator-name = "vreg_l23a_2p8";
299                         regulator-min-microvolt = <2800000>;
300                         regulator-max-microvolt = <2800000>;
301                 };
302                 vreg_l24a_3p075: l24 {
303                         regulator-name = "vreg_l24a_3p075";
304                         regulator-min-microvolt = <3075000>;
305                         regulator-max-microvolt = <3075000>;
306                 };
307                 vreg_l25a_1p2: l25 {
308                         regulator-name = "vreg_l25a_1p2";
309                         regulator-min-microvolt = <1200000>;
310                         regulator-max-microvolt = <1200000>;
311                         regulator-allow-set-load;
312                 };
313                 vreg_l26a_0p8: l27 {
314                         regulator-name = "vreg_l26a_0p8";
315                         regulator-min-microvolt = <1000000>;
316                         regulator-max-microvolt = <1000000>;
317                 };
318                 vreg_l28a_0p925: l28 {
319                         regulator-name = "vreg_l28a_0p925";
320                         regulator-min-microvolt = <925000>;
321                         regulator-max-microvolt = <925000>;
322                         regulator-allow-set-load;
323                 };
324                 vreg_l29a_2p8: l29 {
325                         regulator-name = "vreg_l29a_2p8";
326                         regulator-min-microvolt = <2800000>;
327                         regulator-max-microvolt = <2800000>;
328                 };
329                 vreg_l30a_1p8: l30 {
330                         regulator-name = "vreg_l30a_1p8";
331                         regulator-min-microvolt = <1800000>;
332                         regulator-max-microvolt = <1800000>;
333                 };
334                 vreg_l32a_1p8: l32 {
335                         regulator-name = "vreg_l32a_1p8";
336                         regulator-min-microvolt = <1800000>;
337                         regulator-max-microvolt = <1800000>;
338                 };
339
340                 vreg_lvs1a_1p8: lvs1 {
341                         regulator-name = "vreg_lvs1a_1p8";
342                 };
343
344                 vreg_lvs2a_1p8: lvs2 {
345                         regulator-name = "vreg_lvs2a_1p8";
346                 };
347         };
348 };
349
350 &sdhc2 {
351         status = "okay";
352
353         bus-width = <4>;
354
355         cd-gpios = <&msmgpio 38 0x1>;
356
357         vmmc-supply = <&vreg_l21a_2p95>;
358         vqmmc-supply = <&vreg_l13a_2p95>;
359
360         pinctrl-names = "default", "sleep";
361         pinctrl-0 = <&sdc2_pins_default>;
362         pinctrl-1 = <&sdc2_pins_sleep>;
363 };
364
365 &ufshc {
366         status = "okay";
367
368         vcc-supply = <&vreg_l20a_2p95>;
369         vccq-supply = <&vreg_l25a_1p2>;
370         vccq2-supply = <&vreg_s4a_1p8>;
371
372         vcc-max-microamp = <600000>;
373         vccq-max-microamp = <450000>;
374         vccq2-max-microamp = <450000>;
375 };
376
377 &ufsphy {
378         status = "okay";
379
380         vdda-phy-supply = <&vreg_l28a_0p925>;
381         vdda-pll-supply = <&vreg_l12a_1p8>;
382
383         vdda-phy-max-microamp = <18380>;
384         vdda-pll-max-microamp = <9440>;
385 };