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};
361