xref: /linux/scripts/dtc/include-prefixes/arm/qcom/qcom-msm8974pro-htc-m8.dts (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
1// SPDX-License-Identifier: GPL-2.0-only
2#include "qcom-msm8974pro.dtsi"
3#include "pm8841.dtsi"
4#include "pm8941.dtsi"
5#include <dt-bindings/input/input.h>
6
7/ {
8	model = "HTC One (M8)";
9	compatible = "htc,m8", "qcom,msm8974pro", "qcom,msm8974";
10	chassis-type = "handset";
11
12	aliases {
13		mmc0 = &sdhc_1;
14	};
15
16	gpio-keys {
17		compatible = "gpio-keys";
18
19		pinctrl-0 = <&gpio_keys_default>;
20		pinctrl-names = "default";
21
22		key-volume-down {
23			label = "volume_down";
24			gpios = <&tlmm 27 GPIO_ACTIVE_LOW>;
25			linux,code = <KEY_VOLUMEDOWN>;
26			debounce-interval = <20>;
27			wakeup-source;
28		};
29
30		key-volume-up {
31			label = "volume_up";
32			gpios = <&tlmm 28 GPIO_ACTIVE_LOW>;
33			linux,code = <KEY_VOLUMEUP>;
34			debounce-interval = <20>;
35			wakeup-source;
36		};
37	};
38
39	vreg_boost: vreg-boost {
40		compatible = "regulator-fixed";
41
42		regulator-name = "vreg-boost";
43		regulator-min-microvolt = <3150000>;
44		regulator-max-microvolt = <3150000>;
45
46		regulator-always-on;
47		regulator-boot-on;
48
49		gpio = <&pm8941_gpios 21 GPIO_ACTIVE_HIGH>;
50		enable-active-high;
51
52		pinctrl-0 = <&boost_bypass_n_pin>;
53		pinctrl-names = "default";
54	};
55
56	vreg_vph_pwr: vreg-vph-pwr {
57		compatible = "regulator-fixed";
58		regulator-name = "vph-pwr";
59
60		regulator-min-microvolt = <3600000>;
61		regulator-max-microvolt = <3600000>;
62
63		regulator-always-on;
64	};
65};
66
67&pm8941_vib {
68	status = "okay";
69};
70
71&pronto {
72	vddmx-supply = <&pm8841_s1>;
73	vddcx-supply = <&pm8841_s2>;
74	vddpx-supply = <&pm8941_s3>;
75
76	pinctrl-0 = <&wcnss_pin_a>;
77	pinctrl-names = "default";
78
79	status = "okay";
80
81	iris {
82		vddxo-supply = <&pm8941_l6>;
83		vddrfa-supply = <&pm8941_l11>;
84		vddpa-supply = <&pm8941_l19>;
85		vdddig-supply = <&pm8941_s3>;
86	};
87
88	smd-edge {
89		qcom,remote-pid = <4>;
90		label = "pronto";
91
92		wcnss {
93			status = "okay";
94		};
95	};
96};
97
98&rpm_requests {
99	regulators-0 {
100		compatible = "qcom,rpm-pm8841-regulators";
101
102		pm8841_s1: s1 {
103			regulator-min-microvolt = <675000>;
104			regulator-max-microvolt = <1050000>;
105		};
106
107		pm8841_s2: s2 {
108			regulator-min-microvolt = <500000>;
109			regulator-max-microvolt = <1050000>;
110		};
111
112		pm8841_s3: s3 {
113			regulator-min-microvolt = <1050000>;
114			regulator-max-microvolt = <1050000>;
115		};
116
117		pm8841_s4: s4 {
118			regulator-min-microvolt = <815000>;
119			regulator-max-microvolt = <900000>;
120		};
121	};
122
123	regulators-1 {
124		compatible = "qcom,rpm-pm8941-regulators";
125
126		vdd_l1_l3-supply = <&pm8941_s1>;
127		vdd_l2_lvs1_2_3-supply = <&pm8941_s3>;
128		vdd_l4_l11-supply = <&pm8941_s1>;
129		vdd_l5_l7-supply = <&pm8941_s2>;
130		vdd_l6_l12_l14_l15-supply = <&pm8941_s2>;
131		vdd_l8_l16_l18_l19-supply = <&vreg_vph_pwr>;
132		vdd_l9_l10_l17_l22-supply = <&vreg_boost>;
133		vdd_l13_l20_l23_l24-supply = <&vreg_boost>;
134		vdd_l21-supply = <&vreg_boost>;
135
136		pm8941_s1: s1 {
137			regulator-min-microvolt = <1300000>;
138			regulator-max-microvolt = <1300000>;
139			regulator-always-on;
140			regulator-boot-on;
141		};
142
143		pm8941_s2: s2 {
144			regulator-min-microvolt = <2150000>;
145			regulator-max-microvolt = <2150000>;
146			regulator-boot-on;
147		};
148
149		pm8941_s3: s3 {
150			regulator-min-microvolt = <1800000>;
151			regulator-max-microvolt = <1800000>;
152			regulator-always-on;
153			regulator-boot-on;
154		};
155
156		pm8941_l1: l1 {
157			regulator-min-microvolt = <1225000>;
158			regulator-max-microvolt = <1225000>;
159			regulator-always-on;
160			regulator-boot-on;
161		};
162
163		pm8941_l2: l2 {
164			regulator-min-microvolt = <1200000>;
165			regulator-max-microvolt = <1200000>;
166		};
167
168		pm8941_l3: l3 {
169			regulator-min-microvolt = <1200000>;
170			regulator-max-microvolt = <1200000>;
171		};
172
173		pm8941_l4: l4 {
174			regulator-min-microvolt = <1225000>;
175			regulator-max-microvolt = <1225000>;
176		};
177
178		pm8941_l5: l5 {
179			regulator-min-microvolt = <1800000>;
180			regulator-max-microvolt = <1800000>;
181		};
182
183		pm8941_l6: l6 {
184			regulator-min-microvolt = <1800000>;
185			regulator-max-microvolt = <1800000>;
186			regulator-boot-on;
187		};
188
189		pm8941_l7: l7 {
190			regulator-min-microvolt = <1800000>;
191			regulator-max-microvolt = <1800000>;
192			regulator-boot-on;
193		};
194
195		pm8941_l8: l8 {
196			regulator-min-microvolt = <1800000>;
197			regulator-max-microvolt = <1800000>;
198		};
199
200		pm8941_l9: l9 {
201			regulator-min-microvolt = <1800000>;
202			regulator-max-microvolt = <2950000>;
203		};
204
205		pm8941_l10: l10 {
206			regulator-min-microvolt = <1800000>;
207			regulator-max-microvolt = <2950000>;
208		};
209
210		pm8941_l11: l11 {
211			regulator-min-microvolt = <1225000>;
212			regulator-max-microvolt = <1350000>;
213		};
214
215		pm8941_l12: l12 {
216			regulator-min-microvolt = <1800000>;
217			regulator-max-microvolt = <1800000>;
218			regulator-always-on;
219			regulator-boot-on;
220		};
221
222		pm8941_l13: l13 {
223			regulator-min-microvolt = <1800000>;
224			regulator-max-microvolt = <2950000>;
225			regulator-boot-on;
226		};
227
228		pm8941_l14: l14 {
229			regulator-min-microvolt = <1800000>;
230			regulator-max-microvolt = <1800000>;
231		};
232
233		pm8941_l15: l15 {
234			regulator-min-microvolt = <2050000>;
235			regulator-max-microvolt = <2050000>;
236		};
237
238		pm8941_l16: l16 {
239			regulator-min-microvolt = <2700000>;
240			regulator-max-microvolt = <2700000>;
241		};
242
243		pm8941_l17: l17 {
244			regulator-min-microvolt = <2850000>;
245			regulator-max-microvolt = <2850000>;
246		};
247
248		pm8941_l18: l18 {
249			regulator-min-microvolt = <2850000>;
250			regulator-max-microvolt = <2850000>;
251		};
252
253		pm8941_l19: l19 {
254			regulator-min-microvolt = <2900000>;
255			regulator-max-microvolt = <3350000>;
256		};
257
258		pm8941_l20: l20 {
259			regulator-min-microvolt = <2950000>;
260			regulator-max-microvolt = <2950000>;
261			regulator-system-load = <200000>;
262			regulator-allow-set-load;
263			regulator-boot-on;
264		};
265
266		pm8941_l21: l21 {
267			regulator-min-microvolt = <2950000>;
268			regulator-max-microvolt = <2950000>;
269			regulator-boot-on;
270		};
271
272		pm8941_l22: l22 {
273			regulator-min-microvolt = <3300000>;
274			regulator-max-microvolt = <3300000>;
275		};
276
277		pm8941_l23: l23 {
278			regulator-min-microvolt = <3000000>;
279			regulator-max-microvolt = <3000000>;
280		};
281
282		pm8941_l24: l24 {
283			regulator-min-microvolt = <3075000>;
284			regulator-max-microvolt = <3075000>;
285			regulator-boot-on;
286		};
287	};
288};
289
290&sdhc_1 {
291	vmmc-supply = <&pm8941_l20>;
292	vqmmc-supply = <&pm8941_s3>;
293
294	pinctrl-0 = <&sdc1_on>;
295	pinctrl-1 = <&sdc1_off>;
296	pinctrl-names = "default", "sleep";
297
298	status = "okay";
299};
300
301&smbb {
302	status = "okay";
303};
304
305&tlmm {
306	gpio_keys_default: gpio-keys-default-state {
307		pins = "gpio27", "gpio28";
308		function = "gpio";
309		bias-pull-up;
310	};
311
312	sdc1_on: sdc1-on-state {
313		clk-pins {
314			pins = "sdc1_clk";
315			drive-strength = <10>;
316			bias-disable;
317		};
318
319		cmd-data-pins {
320			pins = "sdc1_cmd", "sdc1_data";
321			drive-strength = <10>;
322			bias-pull-up;
323		};
324	};
325
326	wcnss_pin_a: wcnss-pin-active-state {
327		pins = "gpio36", "gpio37", "gpio38", "gpio39", "gpio40";
328		function = "wlan";
329		drive-strength = <6>;
330		bias-pull-down;
331	};
332};
333
334&usb {
335	phys = <&usb_hs1_phy>;
336	phy-select = <&tcsr 0xb000 0>;
337	extcon = <&smbb>, <&usb_id>;
338	vbus-supply = <&chg_otg>;
339
340	hnp-disable;
341	srp-disable;
342	adp-disable;
343
344	status = "okay";
345};
346
347&usb_hs1_phy {
348	v1p8-supply = <&pm8941_l6>;
349	v3p3-supply = <&pm8941_l24>;
350	extcon = <&smbb>;
351	qcom,init-seq = /bits/ 8 <0x1 0x63>;
352	status = "okay";
353};
354