Loading...
Note: File does not exist in v6.2.
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2022, Matti Lehtimäki <matti.lehtimaki@gmail.com>
4 * Copyright (c) 2023, Bryant Mairs <bryant@mai.rs>
5 */
6
7/dts-v1/;
8
9#include <dt-bindings/input/input.h>
10#include <dt-bindings/power/summit,smb347-charger.h>
11#include "qcom-msm8226.dtsi"
12#include "pm8226.dtsi"
13
14/delete-node/ &adsp_region;
15/delete-node/ &smem_region;
16
17/ {
18 model = "Samsung Galaxy Tab 4 8.0 Wi-Fi";
19 compatible = "samsung,milletwifi", "qcom,apq8026";
20 chassis-type = "tablet";
21
22 aliases {
23 display0 = &framebuffer0;
24 mmc0 = &sdhc_1; /* SDC1 eMMC slot */
25 mmc1 = &sdhc_2; /* SDC2 SD card slot */
26 };
27
28 chosen {
29 #address-cells = <1>;
30 #size-cells = <1>;
31 ranges;
32
33 stdout-path = "display0";
34
35 framebuffer0: framebuffer@3200000 {
36 compatible = "simple-framebuffer";
37 reg = <0x03200000 0x800000>;
38 width = <800>;
39 height = <1280>;
40 stride = <(800 * 3)>;
41 format = "r8g8b8";
42 };
43 };
44
45 gpio-hall-sensor {
46 compatible = "gpio-keys";
47
48 event-hall-sensor {
49 label = "Cover";
50 gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
51 linux,input-type = <EV_SW>;
52 linux,code = <SW_LID>;
53 debounce-interval = <15>;
54 linux,can-disable;
55 wakeup-source;
56 };
57 };
58
59 gpio-keys {
60 compatible = "gpio-keys";
61 autorepeat;
62
63 key-home {
64 label = "Home";
65 gpios = <&tlmm 108 GPIO_ACTIVE_LOW>;
66 linux,code = <KEY_HOMEPAGE>;
67 debounce-interval = <15>;
68 };
69
70 key-volume-down {
71 label = "Volume Down";
72 gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
73 linux,code = <KEY_VOLUMEDOWN>;
74 debounce-interval = <15>;
75 };
76
77 key-volume-up {
78 label = "Volume Up";
79 gpios = <&tlmm 106 GPIO_ACTIVE_LOW>;
80 linux,code = <KEY_VOLUMEUP>;
81 debounce-interval = <15>;
82 };
83 };
84
85 i2c-backlight {
86 compatible = "i2c-gpio";
87 sda-gpios = <&tlmm 20 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
88 scl-gpios = <&tlmm 21 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
89
90 pinctrl-0 = <&backlight_i2c_default_state>;
91 pinctrl-names = "default";
92
93 i2c-gpio,delay-us = <4>;
94
95 #address-cells = <1>;
96 #size-cells = <0>;
97
98 backlight@2c {
99 compatible = "ti,lp8556";
100 reg = <0x2c>;
101 enable-supply = <®_backlight_vddio>;
102
103 dev-ctrl = /bits/ 8 <0x80>;
104 init-brt = /bits/ 8 <0x3f>;
105
106 /*
107 * Change transition duration: 200ms, Change
108 * transition strength: heavy, PWM hysteresis:
109 * 1-bit w/ 8-bit resolution
110 */
111 rom-a3h {
112 rom-addr = /bits/ 8 <0xa3>;
113 rom-val = /bits/ 8 <0x5e>;
114 };
115
116 /*
117 * PWM phase configuration: 3-phase/3 drivers
118 * (0, 120deg, 240deg, -, -, -),
119 * PWM frequency: 9616Hz (10-bit)
120 */
121 rom-a5h {
122 rom-addr = /bits/ 8 <0xa5>;
123 rom-val = /bits/ 8 <0x34>;
124 };
125
126 /*
127 * Enable LED drivers 2 & 3, Boot inductor
128 * current limit: 1.5A/2.6A
129 */
130 rom-a7h {
131 rom-addr = /bits/ 8 <0xa7>;
132 rom-val = /bits/ 8 <0xfa>;
133 };
134 };
135 };
136
137 reg_backlight_vddio: regulator-backlight-vddio {
138 compatible = "regulator-fixed";
139 regulator-name = "backlight_vddio";
140 regulator-min-microvolt = <1800000>;
141 regulator-max-microvolt = <1800000>;
142
143 gpio = <&tlmm 74 GPIO_ACTIVE_HIGH>;
144 enable-active-high;
145
146 pinctrl-0 = <&backlight_vddio_default_state>;
147 pinctrl-names = "default";
148 };
149
150 reg_tsp_1p8v: regulator-tsp-1p8v {
151 compatible = "regulator-fixed";
152 regulator-name = "tsp_1p8v";
153 regulator-min-microvolt = <1800000>;
154 regulator-max-microvolt = <1800000>;
155
156 gpio = <&tlmm 114 GPIO_ACTIVE_HIGH>;
157 enable-active-high;
158
159 pinctrl-0 = <&tsp_en1_default_state>;
160 pinctrl-names = "default";
161 };
162
163 reg_tsp_3p3v: regulator-tsp-3p3v {
164 compatible = "regulator-fixed";
165 regulator-name = "tsp_3p3v";
166 regulator-min-microvolt = <3300000>;
167 regulator-max-microvolt = <3300000>;
168
169 gpio = <&tlmm 31 GPIO_ACTIVE_HIGH>;
170 enable-active-high;
171
172 pinctrl-0 = <&tsp_en_default_state>;
173 pinctrl-names = "default";
174 };
175
176 reserved-memory {
177 #address-cells = <1>;
178 #size-cells = <1>;
179 ranges;
180
181 framebuffer@3200000 {
182 reg = <0x03200000 0x800000>;
183 no-map;
184 };
185
186 mpss_region: mpss@8400000 {
187 reg = <0x08400000 0x1f00000>;
188 no-map;
189 };
190
191 mba_region: mba@a300000 {
192 reg = <0x0a300000 0x100000>;
193 no-map;
194 };
195
196 reserved@cb00000 {
197 reg = <0x0cb00000 0x700000>;
198 no-map;
199 };
200
201 wcnss_region: wcnss@d200000 {
202 reg = <0x0d200000 0x700000>;
203 no-map;
204 };
205
206 adsp_region: adsp@d900000 {
207 reg = <0x0d900000 0x1800000>;
208 no-map;
209 };
210
211 venus@f100000 {
212 reg = <0x0f100000 0x500000>;
213 no-map;
214 };
215
216 smem_region: smem@fa00000 {
217 reg = <0x0fa00000 0x100000>;
218 no-map;
219 };
220
221 reserved@fb00000 {
222 reg = <0x0fb00000 0x260000>;
223 no-map;
224 };
225
226 rfsa@fd60000 {
227 reg = <0x0fd60000 0x20000>;
228 no-map;
229 };
230
231 rmtfs@fd80000 {
232 compatible = "qcom,rmtfs-mem";
233 reg = <0x0fd80000 0x180000>;
234 no-map;
235
236 qcom,client-id = <1>;
237 };
238 };
239};
240
241&blsp1_i2c2 {
242 status = "okay";
243
244 accelerometer@1d {
245 compatible = "st,lis2hh12";
246 reg = <0x1d>;
247
248 interrupts-extended = <&tlmm 54 IRQ_TYPE_LEVEL_HIGH>;
249
250 pinctrl-0 = <&accel_int_default_state>;
251 pinctrl-names = "default";
252
253 vdd-supply = <&pm8226_l19>;
254 vddio-supply = <&pm8226_lvs1>;
255
256 mount-matrix = "0", "1", "0",
257 "-1", "0", "0",
258 "0", "0", "1";
259
260 st,drdy-int-pin = <1>;
261 };
262};
263
264&blsp1_i2c3 {
265 status = "okay";
266
267 charger@6a {
268 compatible = "summit,smb358";
269 reg = <0x6a>;
270
271 interrupts-extended = <&tlmm 115 IRQ_TYPE_EDGE_FALLING>;
272
273 pinctrl-0 = <&charger_int_default_state>;
274 pinctrl-names = "default";
275
276 summit,enable-usb-charging;
277 summit,enable-charge-control = <SMB3XX_CHG_ENABLE_SW>;
278 summit,fast-voltage-threshold-microvolt = <3000000>;
279 summit,chip-temperature-threshold-celsius = <130>;
280 summit,usb-current-limit-microamp = <1500000>;
281 };
282};
283
284&blsp1_i2c4 {
285 status = "okay";
286
287 muic: usb-switch@25 {
288 compatible = "siliconmitus,sm5502-muic";
289 reg = <0x25>;
290
291 interrupts-extended = <&tlmm 67 IRQ_TYPE_EDGE_FALLING>;
292
293 pinctrl-0 = <&muic_int_default_state>;
294 pinctrl-names = "default";
295 };
296};
297
298&blsp1_i2c5 {
299 status = "okay";
300
301 touchscreen@48 {
302 compatible = "melfas,mms252", "melfas,mms114";
303 reg = <0x48>;
304 interrupts-extended = <&tlmm 17 IRQ_TYPE_EDGE_FALLING>;
305 touchscreen-size-x = <800>;
306 touchscreen-size-y = <1280>;
307 avdd-supply = <®_tsp_3p3v>;
308 vdd-supply = <®_tsp_1p8v>;
309 linux,keycodes = <KEY_APPSELECT KEY_BACK>;
310
311 pinctrl-0 = <&tsp_int_rst_default_state>;
312 pinctrl-names = "default";
313 };
314};
315
316&rpm_requests {
317 regulators {
318 compatible = "qcom,rpm-pm8226-regulators";
319
320 pm8226_s3: s3 {
321 regulator-min-microvolt = <1200000>;
322 regulator-max-microvolt = <1300000>;
323 };
324
325 pm8226_s4: s4 {
326 regulator-min-microvolt = <1800000>;
327 regulator-max-microvolt = <1800000>;
328 };
329
330 pm8226_s5: s5 {
331 regulator-min-microvolt = <1150000>;
332 regulator-max-microvolt = <1150000>;
333 };
334
335 pm8226_l1: l1 {
336 regulator-min-microvolt = <1225000>;
337 regulator-max-microvolt = <1225000>;
338 };
339
340 pm8226_l2: l2 {
341 regulator-min-microvolt = <1200000>;
342 regulator-max-microvolt = <1200000>;
343 };
344
345 pm8226_l3: l3 {
346 regulator-min-microvolt = <750000>;
347 regulator-max-microvolt = <1337500>;
348 regulator-always-on;
349 };
350
351 pm8226_l4: l4 {
352 regulator-min-microvolt = <1200000>;
353 regulator-max-microvolt = <1200000>;
354 };
355
356 pm8226_l5: l5 {
357 regulator-min-microvolt = <1200000>;
358 regulator-max-microvolt = <1200000>;
359 };
360
361 pm8226_l6: l6 {
362 regulator-min-microvolt = <1800000>;
363 regulator-max-microvolt = <1800000>;
364 regulator-always-on;
365 };
366
367 pm8226_l7: l7 {
368 regulator-min-microvolt = <1850000>;
369 regulator-max-microvolt = <1850000>;
370 };
371
372 pm8226_l8: l8 {
373 regulator-min-microvolt = <1800000>;
374 regulator-max-microvolt = <1800000>;
375 regulator-always-on;
376 };
377
378 pm8226_l9: l9 {
379 regulator-min-microvolt = <2050000>;
380 regulator-max-microvolt = <2050000>;
381 };
382
383 pm8226_l10: l10 {
384 regulator-min-microvolt = <1800000>;
385 regulator-max-microvolt = <1800000>;
386 };
387
388 pm8226_l12: l12 {
389 regulator-min-microvolt = <1800000>;
390 regulator-max-microvolt = <1800000>;
391 };
392
393 pm8226_l14: l14 {
394 regulator-min-microvolt = <2750000>;
395 regulator-max-microvolt = <2750000>;
396 };
397
398 pm8226_l15: l15 {
399 regulator-min-microvolt = <1800000>;
400 regulator-max-microvolt = <3300000>;
401 };
402
403 pm8226_l16: l16 {
404 regulator-min-microvolt = <3000000>;
405 regulator-max-microvolt = <3350000>;
406 };
407
408 pm8226_l17: l17 {
409 regulator-min-microvolt = <2950000>;
410 regulator-max-microvolt = <2950000>;
411
412 regulator-system-load = <200000>;
413 regulator-allow-set-load;
414 regulator-always-on;
415 };
416
417 pm8226_l18: l18 {
418 regulator-min-microvolt = <2950000>;
419 regulator-max-microvolt = <2950000>;
420 };
421
422 pm8226_l19: l19 {
423 regulator-min-microvolt = <2850000>;
424 regulator-max-microvolt = <3000000>;
425 };
426
427 pm8226_l20: l20 {
428 regulator-min-microvolt = <3075000>;
429 regulator-max-microvolt = <3075000>;
430 };
431
432 pm8226_l21: l21 {
433 regulator-min-microvolt = <1800000>;
434 regulator-max-microvolt = <2950000>;
435 };
436
437 pm8226_l22: l22 {
438 regulator-min-microvolt = <1800000>;
439 regulator-max-microvolt = <3000000>;
440 };
441
442 pm8226_l23: l23 {
443 regulator-min-microvolt = <1800000>;
444 regulator-max-microvolt = <3300000>;
445 };
446
447 pm8226_l24: l24 {
448 regulator-min-microvolt = <1300000>;
449 regulator-max-microvolt = <1350000>;
450 };
451
452 pm8226_l25: l25 {
453 regulator-min-microvolt = <1775000>;
454 regulator-max-microvolt = <2125000>;
455 };
456
457 pm8226_l26: l26 {
458 regulator-min-microvolt = <1225000>;
459 regulator-max-microvolt = <1300000>;
460 };
461
462 pm8226_l27: l27 {
463 regulator-min-microvolt = <1800000>;
464 regulator-max-microvolt = <1800000>;
465 };
466
467 pm8226_l28: l28 {
468 regulator-min-microvolt = <1800000>;
469 regulator-max-microvolt = <2950000>;
470 };
471
472 pm8226_lvs1: lvs1 {};
473 };
474};
475
476&sdhc_1 {
477 vmmc-supply = <&pm8226_l17>;
478 vqmmc-supply = <&pm8226_l6>;
479
480 bus-width = <8>;
481 non-removable;
482
483 status = "okay";
484};
485
486&sdhc_2 {
487 vmmc-supply = <&pm8226_l18>;
488 vqmmc-supply = <&pm8226_l21>;
489
490 bus-width = <4>;
491 cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
492
493 pinctrl-0 = <&sdhc2_default_state>, <&sdc2_cd_default_state>;
494 pinctrl-names = "default";
495
496 status = "okay";
497};
498
499&tlmm {
500 accel_int_default_state: accel-int-default-state {
501 pins = "gpio54";
502 function = "gpio";
503 drive-strength = <2>;
504 bias-disable;
505 };
506
507 backlight_i2c_default_state: backlight-i2c-default-state {
508 pins = "gpio20", "gpio21";
509 function = "gpio";
510 drive-strength = <2>;
511 bias-disable;
512 };
513
514 backlight_vddio_default_state: backlight-vddio-default-state {
515 pins = "gpio74";
516 function = "gpio";
517 drive-strength = <2>;
518 bias-disable;
519 };
520
521 charger_int_default_state: charger-int-default-state {
522 pins = "gpio115";
523 function = "gpio";
524 drive-strength = <2>;
525 bias-disable;
526 };
527
528 muic_int_default_state: muic-int-default-state {
529 pins = "gpio67";
530 function = "gpio";
531 drive-strength = <2>;
532 bias-disable;
533 };
534
535 sdc2_cd_default_state: sdc2-cd-default-state {
536 pins = "gpio38";
537 function = "gpio";
538 drive-strength = <2>;
539 bias-disable;
540 };
541
542 tsp_en_default_state: tsp-en-default-state {
543 pins = "gpio31";
544 function = "gpio";
545 drive-strength = <2>;
546 bias-disable;
547 };
548
549 tsp_en1_default_state: tsp-en1-default-state {
550 pins = "gpio114";
551 function = "gpio";
552 drive-strength = <2>;
553 bias-disable;
554 };
555
556 tsp_int_rst_default_state: tsp-int-rst-default-state {
557 pins = "gpio17";
558 function = "gpio";
559 drive-strength = <10>;
560 bias-pull-up;
561 };
562};
563
564&usb {
565 extcon = <&muic>, <&muic>;
566 status = "okay";
567};
568
569&usb_hs_phy {
570 extcon = <&muic>;
571 v1p8-supply = <&pm8226_l10>;
572 v3p3-supply = <&pm8226_l20>;
573};