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