]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - src/arm/qcom-apq8026-huawei-sturgeon.dts
Import device-tree files from Linux 6.4
[FreeBSD/FreeBSD.git] / src / arm / qcom-apq8026-huawei-sturgeon.dts
1 // SPDX-License-Identifier: BSD-3-Clause
2 /*
3  * Copyright (c) 2022, Luca Weiss <luca@z3ntu.xyz>
4  */
5
6 /dts-v1/;
7
8 #include "qcom-msm8226.dtsi"
9 #include "qcom-pm8226.dtsi"
10
11 /delete-node/ &adsp_region;
12
13 / {
14         model = "Huawei Watch";
15         compatible = "huawei,sturgeon", "qcom,apq8026";
16         chassis-type = "watch";
17         qcom,msm-id = <199 0x20000>;
18         qcom,board-id = <8 4>;
19
20         reserved-memory {
21                 sbl_region: sbl@2f00000 {
22                         reg = <0x02f00000 0x100000>;
23                         no-map;
24                 };
25
26                 external_image_region: external-image@3100000 {
27                         reg = <0x3100000 0x200000>;
28                         no-map;
29                 };
30
31                 peripheral_region: peripheral@3300000 {
32                         reg = <0x3300000 0x600000>;
33                         no-map;
34                 };
35
36                 adsp_region: adsp@3900000 {
37                         reg = <0x3900000 0x1400000>;
38                         no-map;
39                 };
40
41                 modem_region: modem@4d00000 {
42                         reg = <0x4d00000 0x1b00000>;
43                         no-map;
44                 };
45
46                 modem_efs_region: modem-efs@7f00000 {
47                         reg = <0x7f00000 0x100000>;
48                         no-map;
49                 };
50         };
51
52         vreg_wlan: wlan-regulator {
53                 compatible = "regulator-fixed";
54
55                 regulator-name = "wl-reg";
56                 regulator-min-microvolt = <2950000>;
57                 regulator-max-microvolt = <2950000>;
58
59                 gpio = <&tlmm 110 GPIO_ACTIVE_HIGH>;
60                 enable-active-high;
61
62                 pinctrl-names = "default";
63                 pinctrl-0 = <&wlan_regulator_default_state>;
64         };
65 };
66
67 &adsp {
68         status = "okay";
69 };
70
71 &blsp1_i2c5 {
72         clock-frequency = <384000>;
73
74         status = "okay";
75
76         touchscreen@20 {
77                 compatible = "syna,rmi4-i2c";
78                 reg = <0x20>;
79
80                 interrupts-extended = <&tlmm 17 IRQ_TYPE_EDGE_FALLING>;
81                 vdd-supply = <&pm8226_l19>;
82                 vio-supply = <&pm8226_lvs1>;
83
84                 pinctrl-names = "default";
85                 pinctrl-0 = <&touch_default_state>;
86
87                 syna,startup-delay-ms = <160>;
88
89                 #address-cells = <1>;
90                 #size-cells = <0>;
91
92                 rmi4-f01@1 {
93                         reg = <0x1>;
94                         syna,nosleep-mode = <1>;
95                 };
96
97                 rmi4-f12@12 {
98                         reg = <0x12>;
99                         syna,sensor-type = <1>;
100                 };
101         };
102 };
103
104 &blsp1_uart4 {
105         pinctrl-names = "default";
106         pinctrl-0 = <&blsp1_uart4_default_state>;
107
108         status = "okay";
109
110         bluetooth {
111                 compatible = "brcm,bcm43430a0-bt";
112                 max-speed = <3000000>;
113
114                 pinctrl-names = "default";
115                 pinctrl-0 = <&bluetooth_default_state>;
116
117                 host-wakeup-gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>;
118                 device-wakeup-gpios = <&tlmm 63 GPIO_ACTIVE_HIGH>;
119                 shutdown-gpios = <&tlmm 67 GPIO_ACTIVE_HIGH>;
120         };
121 };
122
123 &rpm_requests {
124         regulators {
125                 compatible = "qcom,rpm-pm8226-regulators";
126
127                 pm8226_s3: s3 {
128                         regulator-min-microvolt = <1200000>;
129                         regulator-max-microvolt = <1300000>;
130                 };
131
132                 pm8226_s4: s4 {
133                         regulator-min-microvolt = <1800000>;
134                         regulator-max-microvolt = <2200000>;
135                 };
136
137                 pm8226_s5: s5 {
138                         regulator-min-microvolt = <1150000>;
139                         regulator-max-microvolt = <1150000>;
140                 };
141
142                 pm8226_l1: l1 {
143                         regulator-min-microvolt = <1225000>;
144                         regulator-max-microvolt = <1225000>;
145                 };
146
147                 pm8226_l2: l2 {
148                         regulator-min-microvolt = <1200000>;
149                         regulator-max-microvolt = <1200000>;
150                 };
151
152                 pm8226_l3: l3 {
153                         regulator-min-microvolt = <750000>;
154                         regulator-max-microvolt = <1337500>;
155                 };
156
157                 pm8226_l4: l4 {
158                         regulator-min-microvolt = <1200000>;
159                         regulator-max-microvolt = <1200000>;
160                 };
161
162                 pm8226_l5: l5 {
163                         regulator-min-microvolt = <1200000>;
164                         regulator-max-microvolt = <1200000>;
165                 };
166
167                 pm8226_l6: l6 {
168                         regulator-min-microvolt = <1800000>;
169                         regulator-max-microvolt = <1800000>;
170                 };
171
172                 pm8226_l7: l7 {
173                         regulator-min-microvolt = <1850000>;
174                         regulator-max-microvolt = <1850000>;
175                 };
176
177                 pm8226_l8: l8 {
178                         regulator-min-microvolt = <1800000>;
179                         regulator-max-microvolt = <1800000>;
180                 };
181
182                 pm8226_l9: l9 {
183                         regulator-min-microvolt = <2050000>;
184                         regulator-max-microvolt = <2050000>;
185                 };
186
187                 pm8226_l10: l10 {
188                         regulator-min-microvolt = <1800000>;
189                         regulator-max-microvolt = <1800000>;
190                 };
191
192                 pm8226_l12: l12 {
193                         regulator-min-microvolt = <1800000>;
194                         regulator-max-microvolt = <1800000>;
195                 };
196
197                 pm8226_l14: l14 {
198                         regulator-min-microvolt = <2750000>;
199                         regulator-max-microvolt = <2750000>;
200                 };
201
202                 pm8226_l15: l15 {
203                         regulator-min-microvolt = <2800000>;
204                         regulator-max-microvolt = <2800000>;
205                 };
206
207                 pm8226_l16: l16 {
208                         regulator-min-microvolt = <3000000>;
209                         regulator-max-microvolt = <3350000>;
210                 };
211
212                 pm8226_l17: l17 {
213                         regulator-min-microvolt = <2950000>;
214                         regulator-max-microvolt = <2950000>;
215                 };
216
217                 pm8226_l18: l18 {
218                         regulator-min-microvolt = <2950000>;
219                         regulator-max-microvolt = <2950000>;
220                 };
221
222                 pm8226_l19: l19 {
223                         regulator-min-microvolt = <2850000>;
224                         regulator-max-microvolt = <2850000>;
225                 };
226
227                 pm8226_l20: l20 {
228                         regulator-min-microvolt = <3075000>;
229                         regulator-max-microvolt = <3075000>;
230                 };
231
232                 pm8226_l21: l21 {
233                         regulator-min-microvolt = <1800000>;
234                         regulator-max-microvolt = <2950000>;
235                 };
236
237                 pm8226_l22: l22 {
238                         regulator-min-microvolt = <1800000>;
239                         regulator-max-microvolt = <2950000>;
240                 };
241
242                 pm8226_l23: l23 {
243                         regulator-min-microvolt = <1800000>;
244                         regulator-max-microvolt = <2950000>;
245                 };
246
247                 pm8226_l24: l24 {
248                         regulator-min-microvolt = <1300000>;
249                         regulator-max-microvolt = <1350000>;
250                 };
251
252                 pm8226_l25: l25 {
253                         regulator-min-microvolt = <1775000>;
254                         regulator-max-microvolt = <2125000>;
255                 };
256
257                 pm8226_l26: l26 {
258                         regulator-min-microvolt = <1225000>;
259                         regulator-max-microvolt = <1225000>;
260                 };
261
262                 pm8226_l27: l27 {
263                         regulator-min-microvolt = <2050000>;
264                         regulator-max-microvolt = <2050000>;
265                 };
266
267                 pm8226_l28: l28 {
268                         regulator-min-microvolt = <1800000>;
269                         regulator-max-microvolt = <2950000>;
270                 };
271
272                 pm8226_lvs1: lvs1 {};
273         };
274 };
275
276 &sdhc_1 {
277         vmmc-supply = <&pm8226_l17>;
278         vqmmc-supply = <&pm8226_l6>;
279
280         bus-width = <8>;
281         non-removable;
282
283         status = "okay";
284 };
285
286 &sdhc_3 {
287         max-frequency = <100000000>;
288         non-removable;
289
290         vmmc-supply = <&vreg_wlan>;
291         vqmmc-supply = <&pm8226_l6>;
292
293         #address-cells = <1>;
294         #size-cells = <0>;
295
296         status = "okay";
297
298         wifi@1 {
299                 compatible = "brcm,bcm43430a0-fmac", "brcm,bcm4329-fmac";
300                 reg = <1>;
301
302                 interrupts-extended = <&tlmm 66 IRQ_TYPE_EDGE_FALLING>;
303                 interrupt-names = "host-wake";
304
305                 pinctrl-names = "default";
306                 pinctrl-0 = <&wlan_hostwake_default_state>;
307         };
308 };
309
310 &smbb {
311         qcom,fast-charge-safe-voltage = <4370000>;
312         qcom,fast-charge-high-threshold-voltage = <4350000>;
313         qcom,minimum-input-voltage = <4350000>;
314         qcom,fast-charge-current-limit = <300000>;
315         qcom,fast-charge-safe-current = <600000>;
316         qcom,auto-recharge-threshold-voltage = <4240000>;
317 };
318
319 &tlmm {
320         blsp1_uart4_default_state: blsp1-uart4-default-state {
321                 pins = "gpio12", "gpio13", "gpio14", "gpio15";
322                 function = "blsp_uart4";
323                 drive-strength = <8>;
324                 bias-disable;
325         };
326
327         bluetooth_default_state: bluetooth-default-state {
328                 pins = "gpio63", "gpio64";
329                 function = "gpio";
330                 drive-strength = <2>;
331                 bias-pull-down;
332         };
333
334         touch_default_state: touch-default-state {
335                 irq-pins {
336                         pins = "gpio17";
337                         function = "gpio";
338                         drive-strength = <8>;
339                         bias-pull-up;
340                 };
341
342                 reset-pins {
343                         pins = "gpio16";
344                         function = "gpio";
345                         drive-strength = <6>;
346                         bias-pull-up;
347                 };
348         };
349
350         wlan_hostwake_default_state: wlan-hostwake-default-state {
351                 pins = "gpio66";
352                 function = "gpio";
353                 drive-strength = <2>;
354                 bias-disable;
355         };
356
357         wlan_regulator_default_state: wlan-regulator-default-state {
358                 pins = "gpio110";
359                 function = "gpio";
360                 drive-strength = <2>;
361                 bias-pull-down;
362         };
363 };
364
365 &usb {
366         extcon = <&smbb>;
367         dr_mode = "peripheral";
368         status = "okay";
369 };
370
371 &usb_hs_phy {
372         extcon = <&smbb>;
373         v1p8-supply = <&pm8226_l10>;
374         v3p3-supply = <&pm8226_l20>;
375 };