1// SPDX-License-Identifier: GPL-2.0
2#include "qcom-msm8974.dtsi"
3#include "qcom-pm8841.dtsi"
4#include "qcom-pm8941.dtsi"
5
6/ {
7	model = "Qualcomm APQ8074 Dragonboard";
8	compatible = "qcom,apq8074-dragonboard", "qcom,apq8074";
9
10	aliases {
11		serial0 = &blsp1_uart2;
12		usid0 = &pm8941_0;
13		usid4 = &pm8841_0;
14	};
15
16	chosen {
17		stdout-path = "serial0:115200n8";
18	};
19};
20
21&blsp1_uart2 {
22	status = "okay";
23};
24
25&blsp2_i2c5 {
26	status = "okay";
27	clock-frequency = <200000>;
28
29	eeprom: eeprom@52 {
30		compatible = "atmel,24c128";
31		reg = <0x52>;
32		pagesize = <32>;
33		read-only;
34	};
35};
36
37&otg {
38	status = "okay";
39
40	phys = <&usb_hs2_phy>;
41	phy-select = <&tcsr 0xb000 1>;
42	extcon = <&smbb>, <&usb_id>;
43	vbus-supply = <&chg_otg>;
44	hnp-disable;
45	srp-disable;
46	adp-disable;
47
48	ulpi {
49		phy@b {
50			status = "okay";
51			v3p3-supply = <&pm8941_l24>;
52			v1p8-supply = <&pm8941_l6>;
53			extcon = <&smbb>;
54			qcom,init-seq = /bits/ 8 <0x1 0x63>;
55		};
56	};
57};
58
59&rpm_requests {
60	pm8841-regulators {
61		compatible = "qcom,rpm-pm8841-regulators";
62
63		pm8841_s1: s1 {
64			regulator-min-microvolt = <675000>;
65			regulator-max-microvolt = <1050000>;
66		};
67
68		pm8841_s2: s2 {
69			regulator-min-microvolt = <500000>;
70			regulator-max-microvolt = <1050000>;
71		};
72
73		pm8841_s3: s3 {
74			regulator-min-microvolt = <500000>;
75			regulator-max-microvolt = <1050000>;
76		};
77
78		pm8841_s4: s4 {
79			regulator-min-microvolt = <500000>;
80			regulator-max-microvolt = <1050000>;
81		};
82	};
83
84	pm8941-regulators {
85		compatible = "qcom,rpm-pm8941-regulators";
86
87		vdd_l1_l3-supply = <&pm8941_s1>;
88		vdd_l2_lvs1_2_3-supply = <&pm8941_s3>;
89		vdd_l4_l11-supply = <&pm8941_s1>;
90		vdd_l5_l7-supply = <&pm8941_s2>;
91		vdd_l6_l12_l14_l15-supply = <&pm8941_s2>;
92		vin_5vs-supply = <&pm8941_5v>;
93
94		pm8941_s1: s1 {
95			regulator-min-microvolt = <1300000>;
96			regulator-max-microvolt = <1300000>;
97			regulator-always-on;
98			regulator-boot-on;
99		};
100
101		pm8941_s2: s2 {
102			regulator-min-microvolt = <2150000>;
103			regulator-max-microvolt = <2150000>;
104			regulator-boot-on;
105		};
106
107		pm8941_s3: s3 {
108			regulator-min-microvolt = <1800000>;
109			regulator-max-microvolt = <1800000>;
110			regulator-always-on;
111			regulator-boot-on;
112		};
113
114		pm8941_l1: l1 {
115			regulator-min-microvolt = <1225000>;
116			regulator-max-microvolt = <1225000>;
117			regulator-always-on;
118			regulator-boot-on;
119		};
120
121		pm8941_l2: l2 {
122			regulator-min-microvolt = <1200000>;
123			regulator-max-microvolt = <1200000>;
124		};
125
126		pm8941_l3: l3 {
127			regulator-min-microvolt = <1225000>;
128			regulator-max-microvolt = <1225000>;
129		};
130
131		pm8941_l4: l4 {
132			regulator-min-microvolt = <1225000>;
133			regulator-max-microvolt = <1225000>;
134		};
135
136		pm8941_l5: l5 {
137			regulator-min-microvolt = <1800000>;
138			regulator-max-microvolt = <1800000>;
139		};
140
141		pm8941_l6: l6 {
142			regulator-min-microvolt = <1800000>;
143			regulator-max-microvolt = <1800000>;
144			regulator-boot-on;
145		};
146
147		pm8941_l7: l7 {
148			regulator-min-microvolt = <1800000>;
149			regulator-max-microvolt = <1800000>;
150			regulator-boot-on;
151		};
152
153		pm8941_l8: l8 {
154			regulator-min-microvolt = <1800000>;
155			regulator-max-microvolt = <1800000>;
156		};
157
158		pm8941_l9: l9 {
159			regulator-min-microvolt = <1800000>;
160			regulator-max-microvolt = <2950000>;
161		};
162
163		pm8941_l10: l10 {
164			regulator-min-microvolt = <1800000>;
165			regulator-max-microvolt = <1800000>;
166			regulator-always-on;
167		};
168
169		pm8941_l11: l11 {
170			regulator-min-microvolt = <1300000>;
171			regulator-max-microvolt = <1300000>;
172		};
173
174		pm8941_l12: l12 {
175			regulator-min-microvolt = <1800000>;
176			regulator-max-microvolt = <1800000>;
177			regulator-always-on;
178			regulator-boot-on;
179		};
180
181		pm8941_l13: l13 {
182			regulator-min-microvolt = <1800000>;
183			regulator-max-microvolt = <2950000>;
184			regulator-boot-on;
185		};
186
187		pm8941_l14: l14 {
188			regulator-min-microvolt = <1800000>;
189			regulator-max-microvolt = <1800000>;
190		};
191
192		pm8941_l15: l15 {
193			regulator-min-microvolt = <2050000>;
194			regulator-max-microvolt = <2050000>;
195		};
196
197		pm8941_l16: l16 {
198			regulator-min-microvolt = <2700000>;
199			regulator-max-microvolt = <2700000>;
200		};
201
202		pm8941_l17: l17 {
203			regulator-min-microvolt = <2700000>;
204			regulator-max-microvolt = <2700000>;
205		};
206
207		pm8941_l18: l18 {
208			regulator-min-microvolt = <2850000>;
209			regulator-max-microvolt = <2850000>;
210		};
211
212		pm8941_l19: l19 {
213			regulator-min-microvolt = <3300000>;
214			regulator-max-microvolt = <3300000>;
215			regulator-always-on;
216		};
217
218		pm8941_l20: l20 {
219			regulator-min-microvolt = <2950000>;
220			regulator-max-microvolt = <2950000>;
221			regulator-system-load = <200000>;
222			regulator-allow-set-load;
223			regulator-boot-on;
224		};
225
226		pm8941_l21: l21 {
227			regulator-min-microvolt = <2950000>;
228			regulator-max-microvolt = <2950000>;
229			regulator-boot-on;
230		};
231
232		pm8941_l22: l22 {
233			regulator-min-microvolt = <3000000>;
234			regulator-max-microvolt = <3000000>;
235		};
236
237		pm8941_l23: l23 {
238			regulator-min-microvolt = <3000000>;
239			regulator-max-microvolt = <3000000>;
240		};
241
242		pm8941_l24: l24 {
243			regulator-min-microvolt = <3075000>;
244			regulator-max-microvolt = <3075000>;
245			regulator-boot-on;
246		};
247	};
248};
249
250&sdhc_1 {
251	status = "okay";
252
253	vmmc-supply = <&pm8941_l20>;
254	vqmmc-supply = <&pm8941_s3>;
255
256	pinctrl-names = "default", "sleep";
257	pinctrl-0 = <&sdc1_on>;
258	pinctrl-1 = <&sdc1_off>;
259};
260
261&sdhc_2 {
262	status = "okay";
263
264	cd-gpios = <&tlmm 62 0x1>;
265	vmmc-supply = <&pm8941_l21>;
266	vqmmc-supply = <&pm8941_l13>;
267
268	pinctrl-names = "default", "sleep";
269	pinctrl-0 = <&sdc2_on>;
270	pinctrl-1 = <&sdc2_off>;
271};
272
273&tlmm {
274	sdc1_on: sdc1-on {
275		clk {
276			pins = "sdc1_clk";
277			drive-strength = <16>;
278			bias-disable;
279		};
280
281		cmd-data {
282			pins = "sdc1_cmd", "sdc1_data";
283			drive-strength = <10>;
284			bias-pull-up;
285		};
286	};
287
288	sdc2_on: sdc2-on {
289		clk {
290			pins = "sdc2_clk";
291			drive-strength = <10>;
292			bias-disable;
293		};
294
295		cmd-data {
296			pins = "sdc2_cmd", "sdc2_data";
297			drive-strength = <6>;
298			bias-pull-up;
299		};
300
301		cd {
302			pins = "gpio62";
303			function = "gpio";
304			drive-strength = <2>;
305			bias-disable;
306		};
307	};
308};
309