GNU Linux-libre 5.19-rc6-gnu
[releases.git] / arch / arm / boot / dts / 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 "qcom-pm8226.dtsi"
10
11 / {
12         model = "LG G Watch R";
13         compatible = "lg,lenok", "qcom,apq8026";
14         qcom,board-id = <132 0x0a>;
15         qcom,msm-id = <199 0x20000>;
16
17         aliases {
18                 serial0 = &blsp1_uart3;
19                 serial1 = &blsp1_uart4;
20         };
21
22         chosen {
23                 stdout-path = "serial0:115200n8";
24         };
25
26         vreg_wlan: wlan-regulator {
27                 compatible = "regulator-fixed";
28
29                 regulator-name = "wl-reg";
30                 regulator-min-microvolt = <2950000>;
31                 regulator-max-microvolt = <2950000>;
32
33                 gpio = <&tlmm 46 GPIO_ACTIVE_HIGH>;
34                 enable-active-high;
35
36                 pinctrl-names = "default";
37                 pinctrl-0 = <&wlan_regulator_default_state>;
38         };
39 };
40
41 &blsp1_i2c1 {
42         status = "okay";
43
44         fuel-gauge@55 {
45                 compatible = "ti,bq27421";
46                 reg = <0x55>;
47         };
48 };
49
50 &blsp1_i2c5 {
51         status = "okay";
52         clock-frequency = <384000>;
53
54         touchscreen@20 {
55                 compatible = "syna,rmi4-i2c";
56                 reg = <0x20>;
57
58                 interrupts-extended = <&tlmm 17 IRQ_TYPE_EDGE_FALLING>;
59                 vdd-supply = <&pm8226_l15>;
60                 vio-supply = <&pm8226_l22>;
61
62                 pinctrl-names = "default";
63                 pinctrl-0 = <&touch_pins>;
64
65                 #address-cells = <1>;
66                 #size-cells = <0>;
67
68                 rmi4-f01@1 {
69                         reg = <0x1>;
70                         syna,nosleep-mode = <1>;
71                 };
72
73                 rmi4-f12@12 {
74                         reg = <0x12>;
75                         syna,sensor-type = <1>;
76                 };
77         };
78 };
79
80 &blsp1_uart3 {
81         status = "okay";
82 };
83
84 &blsp1_uart4 {
85         status = "okay";
86
87         pinctrl-names = "default";
88         pinctrl-0 = <&blsp1_uart4_default_state>;
89
90         bluetooth {
91                 compatible = "brcm,bcm43430a0-bt";
92
93                 max-speed = <3000000>;
94
95                 pinctrl-names = "default";
96                 pinctrl-0 = <&bluetooth_default_state>;
97
98                 host-wakeup-gpios = <&tlmm 48 GPIO_ACTIVE_HIGH>;
99                 device-wakeup-gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>;
100                 shutdown-gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>;
101         };
102 };
103
104 &rpm_requests {
105         pm8226-regulators {
106                 compatible = "qcom,rpm-pm8226-regulators";
107
108                 pm8226_s3: s3 {
109                         regulator-min-microvolt = <1200000>;
110                         regulator-max-microvolt = <1350000>;
111                 };
112                 pm8226_s4: s4 {
113                         regulator-min-microvolt = <1800000>;
114                         regulator-max-microvolt = <2200000>;
115                 };
116                 pm8226_s5: s5 {
117                         regulator-min-microvolt = <1150000>;
118                         regulator-max-microvolt = <1150000>;
119                 };
120
121                 pm8226_l1: l1 {
122                         regulator-min-microvolt = <1225000>;
123                         regulator-max-microvolt = <1225000>;
124                 };
125                 pm8226_l2: l2 {
126                         regulator-min-microvolt = <1200000>;
127                         regulator-max-microvolt = <1200000>;
128                 };
129                 pm8226_l3: l3 {
130                         regulator-min-microvolt = <750000>;
131                         regulator-max-microvolt = <1337500>;
132                 };
133                 pm8226_l4: l4 {
134                         regulator-min-microvolt = <1200000>;
135                         regulator-max-microvolt = <1200000>;
136                 };
137                 pm8226_l5: l5 {
138                         regulator-min-microvolt = <1200000>;
139                         regulator-max-microvolt = <1200000>;
140                 };
141                 pm8226_l6: l6 {
142                         regulator-min-microvolt = <1800000>;
143                         regulator-max-microvolt = <1800000>;
144                 };
145                 pm8226_l7: l7 {
146                         regulator-min-microvolt = <1850000>;
147                         regulator-max-microvolt = <1850000>;
148                 };
149                 pm8226_l8: l8 {
150                         regulator-min-microvolt = <1800000>;
151                         regulator-max-microvolt = <1800000>;
152                 };
153                 pm8226_l9: l9 {
154                         regulator-min-microvolt = <2050000>;
155                         regulator-max-microvolt = <2050000>;
156                 };
157                 pm8226_l10: l10 {
158                         regulator-min-microvolt = <1800000>;
159                         regulator-max-microvolt = <1800000>;
160                 };
161                 pm8226_l12: l12 {
162                         regulator-min-microvolt = <1800000>;
163                         regulator-max-microvolt = <1800000>;
164                 };
165                 pm8226_l14: l14 {
166                         regulator-min-microvolt = <2750000>;
167                         regulator-max-microvolt = <2750000>;
168                 };
169                 pm8226_l15: l15 {
170                         regulator-min-microvolt = <3300000>;
171                         regulator-max-microvolt = <3300000>;
172                 };
173                 pm8226_l16: l16 {
174                         regulator-min-microvolt = <3000000>;
175                         regulator-max-microvolt = <3350000>;
176                 };
177                 pm8226_l17: l17 {
178                         regulator-min-microvolt = <2950000>;
179                         regulator-max-microvolt = <2950000>;
180                 };
181                 pm8226_l18: l18 {
182                         regulator-min-microvolt = <3000000>;
183                         regulator-max-microvolt = <3300000>;
184                 };
185                 pm8226_l19: l19 {
186                         regulator-min-microvolt = <3000000>;
187                         regulator-max-microvolt = <3000000>;
188                 };
189                 pm8226_l20: l20 {
190                         regulator-min-microvolt = <3075000>;
191                         regulator-max-microvolt = <3075000>;
192                 };
193                 pm8226_l21: l21 {
194                         regulator-min-microvolt = <1800000>;
195                         regulator-max-microvolt = <2950000>;
196                 };
197                 pm8226_l22: l22 {
198                         regulator-min-microvolt = <1800000>;
199                         regulator-max-microvolt = <1800000>;
200                 };
201                 pm8226_l23: l23 {
202                         regulator-min-microvolt = <1800000>;
203                         regulator-max-microvolt = <2950000>;
204                 };
205                 pm8226_l24: l24 {
206                         regulator-min-microvolt = <1300000>;
207                         regulator-max-microvolt = <1350000>;
208                 };
209                 pm8226_l25: l25 {
210                         regulator-min-microvolt = <1775000>;
211                         regulator-max-microvolt = <2125000>;
212                 };
213                 pm8226_l26: l26 {
214                         regulator-min-microvolt = <1225000>;
215                         regulator-max-microvolt = <1225000>;
216                 };
217                 pm8226_l27: l27 {
218                         regulator-min-microvolt = <2050000>;
219                         regulator-max-microvolt = <2050000>;
220                 };
221                 pm8226_l28: l28 {
222                         regulator-min-microvolt = <2700000>;
223                         regulator-max-microvolt = <3000000>;
224                 };
225
226                 pm8226_lvs1: lvs1 {};
227         };
228 };
229
230 &sdhc_1 {
231         status = "okay";
232
233         vmmc-supply = <&pm8226_l17>;
234         vqmmc-supply = <&pm8226_l6>;
235
236         bus-width = <8>;
237         non-removable;
238 };
239
240 &sdhc_3 {
241         status = "okay";
242
243         max-frequency = <100000000>;
244         non-removable;
245
246         vmmc-supply = <&vreg_wlan>;
247         vqmmc-supply = <&pm8226_l6>;
248
249         #address-cells = <1>;
250         #size-cells = <0>;
251
252         wifi@1 {
253                 compatible = "brcm,bcm43430a0-fmac", "brcm,bcm4329-fmac";
254                 reg = <1>;
255
256                 interrupts-extended = <&tlmm 37 IRQ_TYPE_EDGE_FALLING>;
257                 interrupt-names = "host-wake";
258
259                 pinctrl-names = "default";
260                 pinctrl-0 = <&wlan_hostwake_default_state>;
261         };
262 };
263
264 &smbb {
265         qcom,fast-charge-safe-current = <450000>;
266         qcom,fast-charge-current-limit = <400000>;
267         qcom,fast-charge-safe-voltage = <4350000>;
268         qcom,fast-charge-high-threshold-voltage = <4350000>;
269         qcom,auto-recharge-threshold-voltage = <4240000>;
270         qcom,minimum-input-voltage = <4450000>;
271 };
272
273 &tlmm {
274         blsp1_uart4_default_state: blsp1-uart4-default-state {
275                 pins = "gpio12", "gpio13", "gpio14", "gpio15";
276                 function = "blsp_uart4";
277                 drive-strength = <8>;
278                 bias-disable;
279         };
280
281         bluetooth_default_state: bluetooth-default-state {
282                 pins = "gpio47", "gpio48";
283                 function = "gpio";
284                 drive-strength = <2>;
285                 bias-disable;
286                 input-enable;
287         };
288
289         touch_pins: touch {
290                 irq {
291                         pins = "gpio17";
292                         function = "gpio";
293
294                         drive-strength = <8>;
295                         bias-pull-down;
296                         input-enable;
297                 };
298
299                 reset {
300                         pins = "gpio16";
301                         function = "gpio";
302
303                         drive-strength = <8>;
304                         bias-disable;
305                         output-high;
306                 };
307         };
308
309         wlan_hostwake_default_state: wlan-hostwake-default-state {
310                 pins = "gpio37";
311                 function = "gpio";
312                 drive-strength = <2>;
313                 bias-disable;
314                 input-enable;
315         };
316
317         wlan_regulator_default_state: wlan-regulator-default-state {
318                 pins = "gpio46";
319                 function = "gpio";
320                 drive-strength = <2>;
321                 bias-pull-up;
322         };
323 };
324
325 &usb {
326         status = "okay";
327         extcon = <&smbb>;
328         dr_mode = "peripheral";
329 };
330
331 &usb_hs_phy {
332         extcon = <&smbb>;
333         v1p8-supply = <&pm8226_l10>;
334         v3p3-supply = <&pm8226_l20>;
335 };