blob: b896cc1ad6f7d4b3f8e70ad4460867b04519a6d9 [file] [log] [blame]
Tom Rini6b642ac2024-10-01 12:20:28 -06001// 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};