Merge tag 'block-5.14-2021-08-07' of git://git.kernel.dk/linux-block
[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_uart2;
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_uart2 {
85         status = "okay";
86         pinctrl-names = "default", "sleep";
87         pinctrl-0 = <&blsp2_uart2_2pins_default>;
88         pinctrl-1 = <&blsp2_uart2_2pins_sleep>;
89 };
90
91 &gpu {
92         status = "okay";
93 };
94
95 &mdss {
96         status = "okay";
97 };
98
99 &tlmm {
100         sdc2_pins_default: sdc2-pins-default {
101                 clk {
102                         pins = "sdc2_clk";
103                         bias-disable;
104                         drive-strength = <16>;
105                 };
106
107                 cmd {
108                         pins = "sdc2_cmd";
109                         bias-pull-up;
110                         drive-strength = <10>;
111                 };
112
113                 data {
114                         pins = "sdc2_data";
115                         bias-pull-up;
116                         drive-strength = <10>;
117                 };
118
119                 cd {
120                         pins = "gpio38";
121                         function = "gpio";
122
123                         bias-pull-up;
124                         drive-strength = <16>;
125                 };
126         };
127
128         sdc2_pins_sleep: sdc2-pins-sleep {
129                 clk {
130                         pins = "sdc2_clk";
131                         bias-disable;
132                         drive-strength = <2>;
133                 };
134
135                 cmd {
136                         pins = "sdc2_cmd";
137                         bias-pull-up;
138                         drive-strength = <2>;
139                 };
140
141                 data {
142                         pins = "sdc2_data";
143                         bias-pull-up;
144                         drive-strength = <2>;
145                 };
146
147                 cd {
148                         pins = "gpio38";
149                         function = "gpio";
150                         bias-pull-up;
151                         drive-strength = <2>;
152                 };
153         };
154 };
155
156 &rpm_requests {
157         pm8994-regulators {
158                 compatible = "qcom,rpm-pm8994-regulators";
159
160                 vdd_s1-supply = <&vph_pwr>;
161                 vdd_s2-supply = <&vph_pwr>;
162                 vdd_s3-supply = <&vph_pwr>;
163                 vdd_s4-supply = <&vph_pwr>;
164                 vdd_s5-supply = <&vph_pwr>;
165                 vdd_s6-supply = <&vph_pwr>;
166                 vdd_s7-supply = <&vph_pwr>;
167                 vdd_s8-supply = <&vph_pwr>;
168                 vdd_s9-supply = <&vph_pwr>;
169                 vdd_s10-supply = <&vph_pwr>;
170                 vdd_s11-supply = <&vph_pwr>;
171                 vdd_s12-supply = <&vph_pwr>;
172                 vdd_l2_l26_l28-supply = <&vreg_s3a_1p3>;
173                 vdd_l3_l11-supply = <&vreg_s3a_1p3>;
174                 vdd_l4_l27_l31-supply = <&vreg_s3a_1p3>;
175                 vdd_l5_l7-supply = <&vreg_s5a_2p15>;
176                 vdd_l6_l12_l32-supply = <&vreg_s5a_2p15>;
177                 vdd_l8_l16_l30-supply = <&vph_pwr>;
178                 vdd_l25-supply = <&vreg_s3a_1p3>;
179                 vdd_lvs1_2-supply = <&vreg_s4a_1p8>;
180
181                 vreg_s3a_1p3: s3 {
182                         regulator-name = "vreg_s3a_1p3";
183                         regulator-min-microvolt = <1300000>;
184                         regulator-max-microvolt = <1300000>;
185                 };
186
187                 vreg_s4a_1p8: s4 {
188                         regulator-name = "vreg_s4a_1p8";
189                         regulator-min-microvolt = <1800000>;
190                         regulator-max-microvolt = <1800000>;
191                         regulator-always-on;
192                 };
193                 vreg_s5a_2p15: s5 {
194                         regulator-name = "vreg_s5a_2p15";
195                         regulator-min-microvolt = <2150000>;
196                         regulator-max-microvolt = <2150000>;
197                 };
198                 vreg_s7a_1p0: s7 {
199                         regulator-name = "vreg_s7a_1p0";
200                         regulator-min-microvolt = <800000>;
201                         regulator-max-microvolt = <800000>;
202                 };
203
204                 vreg_l1a_1p0: l1 {
205                         regulator-name = "vreg_l1a_1p0";
206                         regulator-min-microvolt = <1000000>;
207                         regulator-max-microvolt = <1000000>;
208                 };
209                 vreg_l2a_1p25: l2 {
210                         regulator-name = "vreg_l2a_1p25";
211                         regulator-min-microvolt = <1250000>;
212                         regulator-max-microvolt = <1250000>;
213                 };
214                 vreg_l3a_0p875: l3 {
215                         regulator-name = "vreg_l3a_0p875";
216                         regulator-min-microvolt = <850000>;
217                         regulator-max-microvolt = <850000>;
218                 };
219                 vreg_l4a_1p225: l4 {
220                         regulator-name = "vreg_l4a_1p225";
221                         regulator-min-microvolt = <1225000>;
222                         regulator-max-microvolt = <1225000>;
223                 };
224                 vreg_l6a_1p2: l6 {
225                         regulator-name = "vreg_l6a_1p2";
226                         regulator-min-microvolt = <1200000>;
227                         regulator-max-microvolt = <1200000>;
228                 };
229                 vreg_l8a_1p8: l8 {
230                         regulator-name = "vreg_l8a_1p8";
231                         regulator-min-microvolt = <1800000>;
232                         regulator-max-microvolt = <1800000>;
233                 };
234                 vreg_l9a_1p8: l9 {
235                         regulator-name = "vreg_l9a_1p8";
236                         regulator-min-microvolt = <1800000>;
237                         regulator-max-microvolt = <1800000>;
238                 };
239                 vreg_l10a_1p8: l10 {
240                         regulator-name = "vreg_l10a_1p8";
241                         regulator-min-microvolt = <1800000>;
242                         regulator-max-microvolt = <1800000>;
243                 };
244                 vreg_l11a_1p15: l11 {
245                         regulator-name = "vreg_l11a_1p15";
246                         regulator-min-microvolt = <1150000>;
247                         regulator-max-microvolt = <1150000>;
248                 };
249                 vreg_l12a_1p8: l12 {
250                         regulator-name = "vreg_l12a_1p8";
251                         regulator-min-microvolt = <1800000>;
252                         regulator-max-microvolt = <1800000>;
253                 };
254                 vreg_l13a_2p95: l13 {
255                         regulator-name = "vreg_l13a_2p95";
256                         regulator-min-microvolt = <1800000>;
257                         regulator-max-microvolt = <2950000>;
258                 };
259                 vreg_l14a_1p8: l14 {
260                         regulator-name = "vreg_l14a_1p8";
261                         regulator-min-microvolt = <1800000>;
262                         regulator-max-microvolt = <1800000>;
263                 };
264                 vreg_l15a_1p8: l15 {
265                         regulator-name = "vreg_l15a_1p8";
266                         regulator-min-microvolt = <1800000>;
267                         regulator-max-microvolt = <1800000>;
268                 };
269                 vreg_l16a_2p7: l16 {
270                         regulator-name = "vreg_l16a_2p7";
271                         regulator-min-microvolt = <2700000>;
272                         regulator-max-microvolt = <2700000>;
273                 };
274                 vreg_l17a_2p8: l17 {
275                         regulator-name = "vreg_l17a_2p8";
276                         regulator-min-microvolt = <2500000>;
277                         regulator-max-microvolt = <2500000>;
278                 };
279                 vreg_l18a_2p85: l18 {
280                         regulator-name = "vreg_l18a_2p85";
281                         regulator-min-microvolt = <2700000>;
282                         regulator-max-microvolt = <2900000>;
283                 };
284                 vreg_l19a_2p8: l19 {
285                         regulator-name = "vreg_l19a_2p8";
286                         regulator-min-microvolt = <3000000>;
287                         regulator-max-microvolt = <3000000>;
288                 };
289                 vreg_l20a_2p95: l20 {
290                         regulator-name = "vreg_l20a_2p95";
291                         regulator-min-microvolt = <2950000>;
292                         regulator-max-microvolt = <2950000>;
293                         regulator-allow-set-load;
294                 };
295                 vreg_l21a_2p95: l21 {
296                         regulator-name = "vreg_l21a_2p95";
297                         regulator-min-microvolt = <2950000>;
298                         regulator-max-microvolt = <2950000>;
299                 };
300                 vreg_l22a_3p0: l22 {
301                         regulator-name = "vreg_l22a_3p0";
302                         regulator-min-microvolt = <3300000>;
303                         regulator-max-microvolt = <3300000>;
304                 };
305                 vreg_l23a_2p8: l23 {
306                         regulator-name = "vreg_l23a_2p8";
307                         regulator-min-microvolt = <2800000>;
308                         regulator-max-microvolt = <2800000>;
309                 };
310                 vreg_l24a_3p075: l24 {
311                         regulator-name = "vreg_l24a_3p075";
312                         regulator-min-microvolt = <3075000>;
313                         regulator-max-microvolt = <3075000>;
314                 };
315                 vreg_l25a_1p2: l25 {
316                         regulator-name = "vreg_l25a_1p2";
317                         regulator-min-microvolt = <1200000>;
318                         regulator-max-microvolt = <1200000>;
319                         regulator-allow-set-load;
320                 };
321                 vreg_l26a_0p8: l27 {
322                         regulator-name = "vreg_l26a_0p8";
323                         regulator-min-microvolt = <1000000>;
324                         regulator-max-microvolt = <1000000>;
325                 };
326                 vreg_l28a_0p925: l28 {
327                         regulator-name = "vreg_l28a_0p925";
328                         regulator-min-microvolt = <925000>;
329                         regulator-max-microvolt = <925000>;
330                         regulator-allow-set-load;
331                 };
332                 vreg_l29a_2p8: l29 {
333                         regulator-name = "vreg_l29a_2p8";
334                         regulator-min-microvolt = <2800000>;
335                         regulator-max-microvolt = <2800000>;
336                 };
337                 vreg_l30a_1p8: l30 {
338                         regulator-name = "vreg_l30a_1p8";
339                         regulator-min-microvolt = <1800000>;
340                         regulator-max-microvolt = <1800000>;
341                 };
342                 vreg_l32a_1p8: l32 {
343                         regulator-name = "vreg_l32a_1p8";
344                         regulator-min-microvolt = <1800000>;
345                         regulator-max-microvolt = <1800000>;
346                 };
347
348                 vreg_lvs1a_1p8: lvs1 {
349                         regulator-name = "vreg_lvs1a_1p8";
350                 };
351
352                 vreg_lvs2a_1p8: lvs2 {
353                         regulator-name = "vreg_lvs2a_1p8";
354                 };
355         };
356 };
357
358 &sdhc2 {
359         status = "okay";
360
361         bus-width = <4>;
362
363         cd-gpios = <&tlmm 38 0x1>;
364
365         vmmc-supply = <&vreg_l21a_2p95>;
366         vqmmc-supply = <&vreg_l13a_2p95>;
367
368         pinctrl-names = "default", "sleep";
369         pinctrl-0 = <&sdc2_pins_default>;
370         pinctrl-1 = <&sdc2_pins_sleep>;
371 };
372
373 &ufshc {
374         status = "okay";
375
376         vcc-supply = <&vreg_l20a_2p95>;
377         vccq-supply = <&vreg_l25a_1p2>;
378         vccq2-supply = <&vreg_s4a_1p8>;
379
380         vcc-max-microamp = <600000>;
381         vccq-max-microamp = <450000>;
382         vccq2-max-microamp = <450000>;
383 };
384
385 &ufsphy {
386         status = "okay";
387
388         vdda-phy-supply = <&vreg_l28a_0p925>;
389         vdda-pll-supply = <&vreg_l12a_1p8>;
390
391         vdda-phy-max-microamp = <18380>;
392         vdda-pll-max-microamp = <9440>;
393 };
394
395 &venus {
396         status = "okay";
397 };