blob: 9ac4f507e321a6c0f48a2708ff3a7ec21844f6f1 [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>;
Tom Rini93743d22024-04-01 09:08:13 -0400107 vio-supply = <&pm8953_l5>;
Tom Rini53633a82024-02-29 12:33:36 -0500108
109 #address-cells = <1>;
110 #size-cells = <0>;
111
112 led@0 {
113 reg = <0>;
114 led-max-microamp = <5000>;
115 function = LED_FUNCTION_INDICATOR;
116 color = <LED_COLOR_ID_WHITE>;
117 };
118 };
119};
120
121&i2c_3 {
122 status = "okay";
123
124 touchscreen@38 {
125 compatible = "edt,edt-ft5406";
126 reg = <0x38>;
127
128 interrupt-parent = <&tlmm>;
129 interrupts = <65 IRQ_TYPE_EDGE_FALLING>;
130
131 pinctrl-names = "default";
132 pinctrl-0 = <&ts_int_default>;
133
134 reset-gpios = <&tlmm 64 GPIO_ACTIVE_LOW>;
135
136 vcc-supply = <&pm8953_l10>;
137
138 touchscreen-size-x = <1080>;
139 touchscreen-size-y = <1920>;
140 };
141};
142
143&pm8953_resin {
144 linux,code = <KEY_VOLUMEDOWN>;
145 status = "okay";
146};
147
148&pmi8950_wled {
149 qcom,num-strings = <2>;
150 qcom,external-pfet;
151 qcom,cabc;
152
153 status = "okay";
154};
155
156&rpm_requests {
157 regulators {
158 compatible = "qcom,rpm-pm8953-regulators";
159
160 vdd_s1-supply = <&vph_pwr>;
161 vdd_s2-supply = <&vph_pwr>;
162 vdd_s3-supply = <&vph_pwr>;
163 vdd_s4-supply = <&vph_pwr>;
164 vdd_s5-supply = <&vph_pwr>;
165 vdd_s6-supply = <&vph_pwr>;
166 vdd_s7-supply = <&vph_pwr>;
167 vdd_l1-supply = <&pm8953_s3>;
168 vdd_l2_l3-supply = <&pm8953_s3>;
169 vdd_l4_l5_l6_l7_l16_l19-supply = <&pm8953_s4>;
170 vdd_l8_l11_l12_l13_l14_l15-supply = <&vph_pwr>;
171 vdd_l9_l10_l17_l18_l22-supply = <&vph_pwr>;
172
173 pm8953_s1: s1 {
174 regulator-min-microvolt = <870000>;
175 regulator-max-microvolt = <1156000>;
176 };
177
178 pm8953_s3: s3 {
179 regulator-min-microvolt = <1224000>;
180 regulator-max-microvolt = <1224000>;
181 };
182
183 pm8953_s4: s4 {
184 regulator-min-microvolt = <1900000>;
185 regulator-max-microvolt = <2050000>;
186 };
187
188 pm8953_l1: l1 {
189 regulator-min-microvolt = <1000000>;
190 regulator-max-microvolt = <1000000>;
191 };
192
193 pm8953_l2: l2 {
194 regulator-min-microvolt = <1200000>;
195 regulator-max-microvolt = <1225000>;
196 };
197
198 pm8953_l3: l3 {
199 regulator-min-microvolt = <925000>;
200 regulator-max-microvolt = <925000>;
201 };
202
203 pm8953_l5: l5 {
204 regulator-min-microvolt = <1800000>;
205 regulator-max-microvolt = <1800000>;
206 };
207
208 pm8953_l6: l6 {
209 regulator-min-microvolt = <1800000>;
210 regulator-max-microvolt = <1800000>;
211 };
212
213 pm8953_l7: l7 {
214 regulator-min-microvolt = <1800000>;
215 regulator-max-microvolt = <1900000>;
216 };
217
218 pm8953_l8: l8 {
219 regulator-min-microvolt = <2900000>;
220 regulator-max-microvolt = <2900000>;
221 };
222
223 pm8953_l9: l9 {
224 regulator-min-microvolt = <3300000>;
225 regulator-max-microvolt = <3300000>;
226 };
227
228 pm8953_l10:l10 {
229 regulator-min-microvolt = <2850000>;
230 regulator-max-microvolt = <2850000>;
231 };
232
233 pm8953_l11: l11 {
234 regulator-min-microvolt = <2950000>;
235 regulator-max-microvolt = <2950000>;
236 };
237
238 pm8953_l12: l12 {
239 regulator-min-microvolt = <1800000>;
240 regulator-max-microvolt = <2950000>;
241 };
242
243 pm8953_l13: l13 {
244 regulator-min-microvolt = <3125000>;
245 regulator-max-microvolt = <3125000>;
246 };
247
248 pm8953_l16: l16 {
249 regulator-min-microvolt = <1800000>;
250 regulator-max-microvolt = <1800000>;
251 };
252
253 pm8953_l17: l17 {
254 regulator-min-microvolt = <2750000>;
255 regulator-max-microvolt = <2850000>;
256 };
257
258 pm8953_l19: l19 {
259 regulator-min-microvolt = <1200000>;
260 regulator-max-microvolt = <1350000>;
261 };
262
263 pm8953_l22: l22 {
264 regulator-min-microvolt = <2800000>;
265 regulator-max-microvolt = <2800000>;
266 };
267
268 pm8953_l23: l23 {
269 regulator-min-microvolt = <1200000>;
270 regulator-max-microvolt = <1225000>;
271 };
272 };
273};
274
275&sdhc_1 {
276 vmmc-supply = <&pm8953_l8>;
277 vqmmc-supply = <&pm8953_l5>;
278
279 status = "okay";
280};
281
282&sdhc_2 {
283 vmmc-supply = <&pm8953_l11>;
284 vqmmc-supply = <&pm8953_l12>;
285
286 cd-gpios = <&tlmm 133 GPIO_ACTIVE_HIGH>;
287
288 pinctrl-names = "default", "sleep";
289 pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
290 pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
291
292 status = "okay";
293};
294
295&tlmm {
296 gpio-reserved-ranges = <0 4>, <16 4>, <135 4>;
297
298 gpio_hall_sensor_default: gpio-hall-sensor-state {
299 pins = "gpio44";
300 function = "gpio";
301 drive-strength = <2>;
302 bias-pull-up;
303 };
304
305 ts_int_default: ts-int-default-state {
306 pins = "gpio65";
307 function = "gpio";
308 drive-strength = <2>;
309 bias-pull-up;
310 };
311};
312
313&uart_0 {
314 pinctrl-names = "default";
315 pinctrl-0 = <&uart_console_active>;
316
317 status = "okay";
318};
319
320&usb3 {
321 status = "okay";
322};
323
324&usb3_dwc3 {
325 dr_mode = "peripheral";
326};