xref: /linux/arch/arm/boot/dts/qcom/qcom-msm8226-samsung-matisse-common.dtsi (revision a23e1966932464e1c5226cb9ac4ce1d5fc10ba22)
1// 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};
458