xref: /linux/arch/arm/boot/dts/qcom/qcom-apq8026-samsung-milletwifi.dts (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
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 = <&reg_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 = <&reg_tsp_3p3v>;
308		vdd-supply = <&reg_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};
574