Linux 6.7-rc7
[linux-modified.git] / arch / arm64 / boot / dts / qcom / msm8953-xiaomi-tissot.dts
1 // SPDX-License-Identifier: BSD-3-Clause
2 /*
3  * Copyright (c) 2022, Danila Tikhonov <JIaxyga@protonmail.com>
4  * Copyright (c) 2022, Anton Bambura <jenneron@protonmail.com>
5  */
6 /dts-v1/;
7
8 #include "msm8953.dtsi"
9 #include "pm8953.dtsi"
10 #include "pmi8950.dtsi"
11 #include <dt-bindings/leds/common.h>
12
13 /delete-node/ &adsp_fw_mem;
14 /delete-node/ &qseecom_mem;
15 /delete-node/ &wcnss_fw_mem;
16
17 / {
18         model = "Xiaomi Mi A1";
19         compatible = "xiaomi,tissot", "qcom,msm8953";
20         chassis-type = "handset";
21         qcom,msm-id = <293 0>;
22         qcom,board-id = <0x1000b 0x00>;
23
24         gpio-keys {
25                 compatible = "gpio-keys";
26
27                 pinctrl-names = "default";
28                 pinctrl-0 = <&gpio_key_default>, <&gpio_hall_sensor_default>;
29
30                 event-hall-sensor {
31                         label = "Hall Effect Sensor";
32                         gpios = <&tlmm 44 GPIO_ACTIVE_LOW>;
33                         linux,input-type = <EV_SW>;
34                         linux,code = <SW_LID>;
35                         linux,can-disable;
36                 };
37
38                 key-volume-up {
39                         label = "Volume Up";
40                         gpios = <&tlmm 85 GPIO_ACTIVE_LOW>;
41                         linux,code = <KEY_VOLUMEUP>;
42                 };
43         };
44
45         reserved-memory {
46                 qseecom_mem: qseecom@84a00000 {
47                         reg = <0x0 0x84a00000 0x0 0x1900000>;
48                         no-map;
49                 };
50
51                 adsp_fw_mem: adsp@8d600000 {
52                         reg = <0x0 0x8d600000 0x0 0x1200000>;
53                         no-map;
54                 };
55
56                 wcnss_fw_mem: wcnss@8e800000 {
57                         reg = <0x0 0x8e800000 0x0 0x700000>;
58                         no-map;
59                 };
60
61                 ramoops@9ff00000 {
62                         compatible = "ramoops";
63                         reg = <0x0 0x9ff00000 0x0 0x00100000>;
64                         record-size = <0x1000>;
65                         console-size = <0x80000>;
66                         ftrace-size = <0x1000>;
67                         pmsg-size = <0x8000>;
68                 };
69         };
70
71         vph_pwr: vph-pwr-regulator {
72                 compatible = "regulator-fixed";
73                 regulator-name = "vph_pwr";
74                 regulator-always-on;
75                 regulator-boot-on;
76         };
77 };
78
79 &hsusb_phy {
80         vdd-supply = <&pm8953_l3>;
81         vdda-pll-supply = <&pm8953_l7>;
82         vdda-phy-dpdm-supply = <&pm8953_l13>;
83
84         status = "okay";
85 };
86
87 &i2c_2 {
88         status = "okay";
89
90         max98927_codec: audio-codec@3a {
91                 compatible = "maxim,max98927";
92                 reg = <0x3a>;
93
94                 reset-gpios = <&tlmm 86 GPIO_ACTIVE_LOW>;
95
96                 vmon-slot-no = <1>;
97                 imon-slot-no = <1>;
98
99                 #sound-dai-cells = <0>;
100         };
101
102         led-controller@45 {
103                 compatible = "awinic,aw2013";
104                 reg = <0x45>;
105
106                 vcc-supply = <&pm8953_l10>;
107
108                 #address-cells = <1>;
109                 #size-cells = <0>;
110
111                 led@0 {
112                         reg = <0>;
113                         led-max-microamp = <5000>;
114                         function = LED_FUNCTION_INDICATOR;
115                         color = <LED_COLOR_ID_WHITE>;
116                 };
117         };
118 };
119
120 &i2c_3 {
121         status = "okay";
122
123         touchscreen@38 {
124                 compatible = "edt,edt-ft5406";
125                 reg = <0x38>;
126
127                 interrupt-parent = <&tlmm>;
128                 interrupts = <65 IRQ_TYPE_EDGE_FALLING>;
129
130                 pinctrl-names = "default";
131                 pinctrl-0 = <&ts_int_default>;
132
133                 reset-gpios = <&tlmm 64 GPIO_ACTIVE_LOW>;
134
135                 vcc-supply = <&pm8953_l10>;
136
137                 touchscreen-size-x = <1080>;
138                 touchscreen-size-y = <1920>;
139         };
140 };
141
142 &pm8953_resin {
143         linux,code = <KEY_VOLUMEDOWN>;
144         status = "okay";
145 };
146
147 &pmi8950_wled {
148         qcom,num-strings = <2>;
149         qcom,external-pfet;
150         qcom,cabc;
151
152         status = "okay";
153 };
154
155 &rpm_requests {
156         regulators {
157                 compatible = "qcom,rpm-pm8953-regulators";
158
159                 vdd_s1-supply = <&vph_pwr>;
160                 vdd_s2-supply = <&vph_pwr>;
161                 vdd_s3-supply = <&vph_pwr>;
162                 vdd_s4-supply = <&vph_pwr>;
163                 vdd_s5-supply = <&vph_pwr>;
164                 vdd_s6-supply = <&vph_pwr>;
165                 vdd_s7-supply = <&vph_pwr>;
166                 vdd_l1-supply = <&pm8953_s3>;
167                 vdd_l2_l3-supply = <&pm8953_s3>;
168                 vdd_l4_l5_l6_l7_l16_l19-supply = <&pm8953_s4>;
169                 vdd_l8_l11_l12_l13_l14_l15-supply = <&vph_pwr>;
170                 vdd_l9_l10_l17_l18_l22-supply = <&vph_pwr>;
171
172                 pm8953_s1: s1 {
173                         regulator-min-microvolt = <870000>;
174                         regulator-max-microvolt = <1156000>;
175                 };
176
177                 pm8953_s3: s3 {
178                         regulator-min-microvolt = <1224000>;
179                         regulator-max-microvolt = <1224000>;
180                 };
181
182                 pm8953_s4: s4 {
183                         regulator-min-microvolt = <1900000>;
184                         regulator-max-microvolt = <2050000>;
185                 };
186
187                 pm8953_l1: l1 {
188                         regulator-min-microvolt = <1000000>;
189                         regulator-max-microvolt = <1000000>;
190                 };
191
192                 pm8953_l2: l2 {
193                         regulator-min-microvolt = <1200000>;
194                         regulator-max-microvolt = <1225000>;
195                 };
196
197                 pm8953_l3: l3 {
198                         regulator-min-microvolt = <925000>;
199                         regulator-max-microvolt = <925000>;
200                 };
201
202                 pm8953_l5: l5 {
203                         regulator-min-microvolt = <1800000>;
204                         regulator-max-microvolt = <1800000>;
205                 };
206
207                 pm8953_l6: l6 {
208                         regulator-min-microvolt = <1800000>;
209                         regulator-max-microvolt = <1800000>;
210                 };
211
212                 pm8953_l7: l7 {
213                         regulator-min-microvolt = <1800000>;
214                         regulator-max-microvolt = <1900000>;
215                 };
216
217                 pm8953_l8: l8 {
218                         regulator-min-microvolt = <2900000>;
219                         regulator-max-microvolt = <2900000>;
220                 };
221
222                 pm8953_l9: l9 {
223                         regulator-min-microvolt = <3300000>;
224                         regulator-max-microvolt = <3300000>;
225                 };
226
227                 pm8953_l10:l10 {
228                         regulator-min-microvolt = <2850000>;
229                         regulator-max-microvolt = <2850000>;
230                 };
231
232                 pm8953_l11: l11 {
233                         regulator-min-microvolt = <2950000>;
234                         regulator-max-microvolt = <2950000>;
235                 };
236
237                 pm8953_l12: l12 {
238                         regulator-min-microvolt = <1800000>;
239                         regulator-max-microvolt = <2950000>;
240                 };
241
242                 pm8953_l13: l13 {
243                         regulator-min-microvolt = <3125000>;
244                         regulator-max-microvolt = <3125000>;
245                 };
246
247                 pm8953_l16: l16 {
248                         regulator-min-microvolt = <1800000>;
249                         regulator-max-microvolt = <1800000>;
250                 };
251
252                 pm8953_l17: l17 {
253                         regulator-min-microvolt = <2750000>;
254                         regulator-max-microvolt = <2850000>;
255                 };
256
257                 pm8953_l19: l19 {
258                         regulator-min-microvolt = <1200000>;
259                         regulator-max-microvolt = <1350000>;
260                 };
261
262                 pm8953_l22: l22 {
263                         regulator-min-microvolt = <2800000>;
264                         regulator-max-microvolt = <2800000>;
265                 };
266
267                 pm8953_l23: l23 {
268                         regulator-min-microvolt = <1200000>;
269                         regulator-max-microvolt = <1225000>;
270                 };
271         };
272 };
273
274 &sdhc_1 {
275         vmmc-supply = <&pm8953_l8>;
276         vqmmc-supply = <&pm8953_l5>;
277
278         status = "okay";
279 };
280
281 &sdhc_2 {
282         vmmc-supply = <&pm8953_l11>;
283         vqmmc-supply = <&pm8953_l12>;
284
285         cd-gpios = <&tlmm 133 GPIO_ACTIVE_HIGH>;
286
287         pinctrl-names = "default", "sleep";
288         pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
289         pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
290
291         status = "okay";
292 };
293
294 &tlmm {
295         gpio-reserved-ranges = <0 4>, <16 4>, <135 4>;
296
297         gpio_hall_sensor_default: gpio-hall-sensor-state {
298                 pins = "gpio44";
299                 function = "gpio";
300                 drive-strength = <2>;
301                 bias-pull-up;
302         };
303
304         ts_int_default: ts-int-default-state {
305                 pins = "gpio65";
306                 function = "gpio";
307                 drive-strength = <2>;
308                 bias-pull-up;
309         };
310 };
311
312 &uart_0 {
313         pinctrl-names = "default";
314         pinctrl-0 = <&uart_console_active>;
315
316         status = "okay";
317 };
318
319 &usb3 {
320         status = "okay";
321 };
322
323 &usb3_dwc3 {
324         dr_mode = "peripheral";
325 };