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