blob: 61ff629c9bf3452c7e47637c4e822b0afcb3e543 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// 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};