blob: a15a44fc0181bf23e7531ecdc8978505ca48189d [file] [log] [blame]
Tom Rini6bb92fc2024-05-20 09:54:58 -06001// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2022, Matti Lehtimäki <matti.lehtimaki@gmail.com>
4 */
5
6#include <dt-bindings/input/input.h>
7#include "qcom-msm8226.dtsi"
8#include "pm8226.dtsi"
9
10/delete-node/ &adsp_region;
11/delete-node/ &smem_region;
12
13/ {
14 aliases {
15 mmc0 = &sdhc_1; /* SDC1 eMMC slot */
16 mmc1 = &sdhc_2; /* SDC2 SD card slot */
17 display0 = &framebuffer0;
18 };
19
20 chosen {
21 #address-cells = <1>;
22 #size-cells = <1>;
23 ranges;
24
25 stdout-path = "display0";
26
27 framebuffer0: framebuffer@3200000 {
28 compatible = "simple-framebuffer";
29 reg = <0x03200000 0x800000>;
30 width = <1280>;
31 height = <800>;
32 stride = <(1280 * 3)>;
33 format = "r8g8b8";
34 };
35 };
36
37 gpio-hall-sensor {
38 compatible = "gpio-keys";
39
40 event-hall-sensor {
41 label = "Hall Effect Sensor";
42 gpios = <&tlmm 110 GPIO_ACTIVE_LOW>;
43 linux,input-type = <EV_SW>;
44 linux,code = <SW_LID>;
45 debounce-interval = <15>;
46 linux,can-disable;
47 wakeup-source;
48 };
49 };
50
51 gpio-keys {
52 compatible = "gpio-keys";
53 autorepeat;
54
55 key-home {
56 label = "Home";
57 gpios = <&tlmm 108 GPIO_ACTIVE_LOW>;
58 linux,code = <KEY_HOMEPAGE>;
59 debounce-interval = <15>;
60 };
61
62 key-volume-down {
63 label = "Volume Down";
64 gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
65 linux,code = <KEY_VOLUMEDOWN>;
66 debounce-interval = <15>;
67 };
68
69 key-volume-up {
70 label = "Volume Up";
71 gpios = <&tlmm 106 GPIO_ACTIVE_LOW>;
72 linux,code = <KEY_VOLUMEUP>;
73 debounce-interval = <15>;
74 };
75 };
76
77 i2c-backlight {
78 compatible = "i2c-gpio";
79 sda-gpios = <&tlmm 20 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
80 scl-gpios = <&tlmm 21 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
81
82 pinctrl-0 = <&backlight_i2c_default_state>;
83 pinctrl-names = "default";
84
85 i2c-gpio,delay-us = <4>;
86
87 #address-cells = <1>;
88 #size-cells = <0>;
89
90 backlight@2c {
91 compatible = "ti,lp8556";
92 reg = <0x2c>;
93
94 dev-ctrl = /bits/ 8 <0x80>;
95 init-brt = /bits/ 8 <0x3f>;
96
97 pwms = <&backlight_pwm 0 100000>;
98 pwm-names = "lp8556";
99
100 rom-a0h {
101 rom-addr = /bits/ 8 <0xa0>;
102 rom-val = /bits/ 8 <0x44>;
103 };
104
105 rom-a1h {
106 rom-addr = /bits/ 8 <0xa1>;
107 rom-val = /bits/ 8 <0x6c>;
108 };
109
110 rom-a5h {
111 rom-addr = /bits/ 8 <0xa5>;
112 rom-val = /bits/ 8 <0x24>;
113 };
114 };
115 };
116
117 backlight_pwm: pwm {
118 compatible = "clk-pwm";
119 #pwm-cells = <2>;
120 clocks = <&mmcc CAMSS_GP0_CLK>;
121 pinctrl-0 = <&backlight_pwm_default_state>;
122 pinctrl-names = "default";
123 };
124
125 reg_tsp_1p8v: regulator-tsp-1p8v {
126 compatible = "regulator-fixed";
127 regulator-name = "tsp_1p8v";
128 regulator-min-microvolt = <1800000>;
129 regulator-max-microvolt = <1800000>;
130
131 gpio = <&tlmm 31 GPIO_ACTIVE_HIGH>;
132 enable-active-high;
133
134 pinctrl-names = "default";
135 pinctrl-0 = <&tsp_en_default_state>;
136 };
137
138 reserved-memory {
139 #address-cells = <1>;
140 #size-cells = <1>;
141 ranges;
142
143 framebuffer@3200000 {
144 reg = <0x03200000 0x800000>;
145 no-map;
146 };
147
148 mpss@8400000 {
149 reg = <0x08400000 0x1f00000>;
150 no-map;
151 };
152
153 mba@a300000 {
154 reg = <0x0a300000 0x100000>;
155 no-map;
156 };
157
158 reserved@cb00000 {
159 reg = <0x0cb00000 0x700000>;
160 no-map;
161 };
162
163 wcnss@d200000 {
164 reg = <0x0d200000 0x700000>;
165 no-map;
166 };
167
168 adsp_region: adsp@d900000 {
169 reg = <0x0d900000 0x1800000>;
170 no-map;
171 };
172
173 venus@f100000 {
174 reg = <0x0f100000 0x500000>;
175 no-map;
176 };
177
178 smem_region: smem@fa00000 {
179 reg = <0x0fa00000 0x100000>;
180 no-map;
181 };
182
183 reserved@fb00000 {
184 reg = <0x0fb00000 0x260000>;
185 no-map;
186 };
187
188 rfsa@fd60000 {
189 reg = <0x0fd60000 0x20000>;
190 no-map;
191 };
192
193 rmtfs@fd80000 {
194 compatible = "qcom,rmtfs-mem";
195 reg = <0x0fd80000 0x180000>;
196 no-map;
197
198 qcom,client-id = <1>;
199 };
200 };
201};
202
203&adsp {
204 status = "okay";
205};
206
207&blsp1_i2c4 {
208 status = "okay";
209
210 muic: usb-switch@25 {
211 compatible = "siliconmitus,sm5502-muic";
212 reg = <0x25>;
213
214 interrupt-parent = <&tlmm>;
215 interrupts = <67 IRQ_TYPE_EDGE_FALLING>;
216
217 pinctrl-names = "default";
218 pinctrl-0 = <&muic_int_default_state>;
219 };
220};
221
222&blsp1_uart3 {
223 status = "okay";
224};
225
226&rpm_requests {
227 regulators {
228 compatible = "qcom,rpm-pm8226-regulators";
229
230 pm8226_s3: s3 {
231 regulator-min-microvolt = <1200000>;
232 regulator-max-microvolt = <1300000>;
233 };
234
235 pm8226_s4: s4 {
236 regulator-min-microvolt = <1800000>;
237 regulator-max-microvolt = <2200000>;
238 };
239
240 pm8226_s5: s5 {
241 regulator-min-microvolt = <1150000>;
242 regulator-max-microvolt = <1150000>;
243 };
244
245 pm8226_l1: l1 {
246 regulator-min-microvolt = <1225000>;
247 regulator-max-microvolt = <1225000>;
248 };
249
250 pm8226_l2: l2 {
251 regulator-min-microvolt = <1200000>;
252 regulator-max-microvolt = <1200000>;
253 };
254
255 pm8226_l3: l3 {
256 regulator-min-microvolt = <750000>;
257 regulator-max-microvolt = <1350000>;
258 regulator-always-on;
259 };
260
261 pm8226_l4: l4 {
262 regulator-min-microvolt = <1200000>;
263 regulator-max-microvolt = <1200000>;
264 };
265
266 pm8226_l5: l5 {
267 regulator-min-microvolt = <1200000>;
268 regulator-max-microvolt = <1200000>;
269 };
270
271 pm8226_l6: l6 {
272 regulator-min-microvolt = <1800000>;
273 regulator-max-microvolt = <1800000>;
274 regulator-always-on;
275 };
276
277 pm8226_l7: l7 {
278 regulator-min-microvolt = <1850000>;
279 regulator-max-microvolt = <1850000>;
280 };
281
282 pm8226_l8: l8 {
283 regulator-min-microvolt = <1800000>;
284 regulator-max-microvolt = <1800000>;
285 regulator-always-on;
286 };
287
288 pm8226_l9: l9 {
289 regulator-min-microvolt = <2050000>;
290 regulator-max-microvolt = <2050000>;
291 };
292
293 pm8226_l10: l10 {
294 regulator-min-microvolt = <1800000>;
295 regulator-max-microvolt = <1800000>;
296 };
297
298 pm8226_l12: l12 {
299 regulator-min-microvolt = <1800000>;
300 regulator-max-microvolt = <1800000>;
301 };
302
303 pm8226_l14: l14 {
304 regulator-min-microvolt = <2750000>;
305 regulator-max-microvolt = <2750000>;
306 };
307
308 pm8226_l15: l15 {
309 regulator-min-microvolt = <1800000>;
310 regulator-max-microvolt = <3300000>;
311 };
312
313 pm8226_l16: l16 {
314 regulator-min-microvolt = <3000000>;
315 regulator-max-microvolt = <3350000>;
316 };
317
318 pm8226_l17: l17 {
319 regulator-min-microvolt = <2950000>;
320 regulator-max-microvolt = <2950000>;
321
322 regulator-system-load = <200000>;
323 regulator-allow-set-load;
324 regulator-always-on;
325 };
326
327 pm8226_l18: l18 {
328 regulator-min-microvolt = <2950000>;
329 regulator-max-microvolt = <2950000>;
330 };
331
332 pm8226_l19: l19 {
333 regulator-min-microvolt = <2850000>;
334 regulator-max-microvolt = <3000000>;
335 };
336
337 pm8226_l20: l20 {
338 regulator-min-microvolt = <3075000>;
339 regulator-max-microvolt = <3075000>;
340 };
341
342 pm8226_l21: l21 {
343 regulator-min-microvolt = <1800000>;
344 regulator-max-microvolt = <2950000>;
345 };
346
347 pm8226_l22: l22 {
348 regulator-min-microvolt = <1800000>;
349 regulator-max-microvolt = <3000000>;
350 };
351
352 pm8226_l23: l23 {
353 regulator-min-microvolt = <1800000>;
354 regulator-max-microvolt = <3300000>;
355 };
356
357 pm8226_l24: l24 {
358 regulator-min-microvolt = <1300000>;
359 regulator-max-microvolt = <1350000>;
360 };
361
362 pm8226_l25: l25 {
363 regulator-min-microvolt = <1775000>;
364 regulator-max-microvolt = <2125000>;
365 };
366
367 pm8226_l26: l26 {
368 regulator-min-microvolt = <1225000>;
369 regulator-max-microvolt = <1300000>;
370 };
371
372 pm8226_l27: l27 {
373 regulator-min-microvolt = <1800000>;
374 regulator-max-microvolt = <1800000>;
375 };
376
377 pm8226_l28: l28 {
378 regulator-min-microvolt = <1800000>;
379 regulator-max-microvolt = <2950000>;
380 };
381
382 pm8226_lvs1: lvs1 {};
383 };
384};
385
386&sdhc_1 {
387 vmmc-supply = <&pm8226_l17>;
388 vqmmc-supply = <&pm8226_l6>;
389
390 bus-width = <8>;
391 non-removable;
392
393 status = "okay";
394};
395
396&sdhc_2 {
397 vmmc-supply = <&pm8226_l18>;
398 vqmmc-supply = <&pm8226_l21>;
399
400 bus-width = <4>;
401 cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
402
403 status = "okay";
404};
405
406&tlmm {
407 accel_int_default_state: accel-int-default-state {
408 pins = "gpio54";
409 function = "gpio";
410 drive-strength = <2>;
411 bias-disable;
412 };
413
414 backlight_i2c_default_state: backlight-i2c-default-state {
415 pins = "gpio20", "gpio21";
416 function = "gpio";
417 drive-strength = <2>;
418 bias-disable;
419 };
420
421 backlight_pwm_default_state: backlight-pwm-default-state {
422 pins = "gpio33";
423 function = "gp0_clk";
424 };
425
426 muic_int_default_state: muic-int-default-state {
427 pins = "gpio67";
428 function = "gpio";
429 drive-strength = <2>;
430 bias-disable;
431 };
432
433 tsp_en_default_state: tsp-en-default-state {
434 pins = "gpio31";
435 function = "gpio";
436 drive-strength = <2>;
437 bias-disable;
438 };
439
440 tsp_int_rst_default_state: tsp-int-rst-default-state {
441 pins = "gpio17";
442 function = "gpio";
443 drive-strength = <10>;
444 bias-pull-up;
445 };
446};
447
448&usb {
449 extcon = <&muic>, <&muic>;
450 status = "okay";
451};
452
453&usb_hs_phy {
454 extcon = <&muic>;
455 v1p8-supply = <&pm8226_l10>;
456 v3p3-supply = <&pm8226_l20>;
457};