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