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