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