xref: /linux/arch/arm64/boot/dts/qcom/msm8916-samsung-fortuna-common.dtsi (revision 001821b0e79716c4e17c71d8e053a23599a7a508)
1// SPDX-License-Identifier: GPL-2.0-only
2
3#include "msm8916-pm8916.dtsi"
4#include "msm8916-modem-qdsp6.dtsi"
5
6#include <dt-bindings/gpio/gpio.h>
7#include <dt-bindings/input/input.h>
8#include <dt-bindings/interrupt-controller/irq.h>
9
10/ {
11	aliases {
12		mmc0 = &sdhc_1; /* eMMC */
13		mmc1 = &sdhc_2; /* SD card */
14		serial0 = &blsp_uart2;
15	};
16
17	chosen {
18		stdout-path = "serial0";
19	};
20
21	reserved-memory {
22		/* Additional memory used by Samsung firmware modifications */
23		tz-apps@85a00000 {
24			reg = <0x0 0x85a00000 0x0 0x600000>;
25			no-map;
26		};
27	};
28
29	clk_pwm_backlight: backlight {
30		compatible = "pwm-backlight";
31		pwms = <&clk_pwm 0 100000>;
32
33		enable-gpios = <&tlmm 98 GPIO_ACTIVE_HIGH>;
34
35		brightness-levels = <0 255>;
36		num-interpolated-steps = <255>;
37		default-brightness-level = <128>;
38
39		pinctrl-0 = <&backlight_en_default>;
40		pinctrl-names = "default";
41	};
42
43	clk_pwm: pwm {
44		compatible = "clk-pwm";
45		#pwm-cells = <2>;
46
47		clocks = <&gcc GCC_GP2_CLK>;
48
49		pinctrl-0 = <&backlight_pwm_default>;
50		pinctrl-names = "default";
51	};
52
53	gpio-keys {
54		compatible = "gpio-keys";
55
56		pinctrl-0 = <&gpio_keys_default>;
57		pinctrl-names = "default";
58
59		label = "GPIO Buttons";
60
61		button-volume-up {
62			label = "Volume Up";
63			gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
64			linux,code = <KEY_VOLUMEUP>;
65		};
66
67		button-home {
68			label = "Home";
69			gpios = <&tlmm 109 GPIO_ACTIVE_LOW>;
70			linux,code = <KEY_HOMEPAGE>;
71		};
72	};
73
74	haptic {
75		compatible = "regulator-haptic";
76		haptic-supply = <&reg_motor_vdd>;
77		min-microvolt = <3300000>;
78		max-microvolt = <3300000>;
79	};
80
81	reg_motor_vdd: regulator-motor-vdd {
82		compatible = "regulator-fixed";
83		regulator-name = "motor_vdd";
84		regulator-min-microvolt = <3300000>;
85		regulator-max-microvolt = <3300000>;
86
87		gpio = <&tlmm 72 GPIO_ACTIVE_HIGH>;
88		enable-active-high;
89
90		pinctrl-0 = <&motor_en_default>;
91		pinctrl-names = "default";
92	};
93
94	reg_vdd_tsp_a: regulator-vdd-tsp-a {
95		compatible = "regulator-fixed";
96		regulator-name = "vdd_tsp_a";
97		regulator-min-microvolt = <3000000>;
98		regulator-max-microvolt = <3000000>;
99
100		gpio = <&tlmm 73 GPIO_ACTIVE_HIGH>;
101		enable-active-high;
102
103		pinctrl-0 = <&tsp_en_default>;
104		pinctrl-names = "default";
105	};
106};
107
108&blsp_i2c1 {
109	status = "okay";
110
111	muic: extcon@25 {
112		compatible = "siliconmitus,sm5502-muic";
113		reg = <0x25>;
114		interrupts-extended = <&tlmm 12 IRQ_TYPE_EDGE_FALLING>;
115		pinctrl-0 = <&muic_int_default>;
116		pinctrl-names = "default";
117	};
118};
119
120&blsp_i2c4 {
121	status = "okay";
122
123	fuel-gauge@35 {
124		compatible = "richtek,rt5033-battery";
125		reg = <0x35>;
126
127		interrupts-extended = <&tlmm 121 IRQ_TYPE_EDGE_FALLING>;
128
129		pinctrl-0 = <&fg_alert_default>;
130		pinctrl-names = "default";
131	};
132};
133
134&blsp_i2c5 {
135	status = "okay";
136
137	touchscreen: touchscreen@20 {
138		compatible = "zinitix,bt541";
139		reg = <0x20>;
140
141		interrupts-extended = <&tlmm 13 IRQ_TYPE_EDGE_FALLING>;
142
143		touchscreen-size-x = <540>;
144		touchscreen-size-y = <960>;
145
146		vcca-supply = <&reg_vdd_tsp_a>;
147		vdd-supply = <&pm8916_l6>;
148
149		pinctrl-0 = <&tsp_int_default>;
150		pinctrl-names = "default";
151	};
152};
153
154&blsp_uart2 {
155	status = "okay";
156};
157
158&mpss_mem {
159	reg = <0x0 0x86800000 0x0 0x5000000>;
160};
161
162&pm8916_resin {
163	linux,code = <KEY_VOLUMEDOWN>;
164	status = "okay";
165};
166
167&pm8916_rpm_regulators {
168	pm8916_l17: l17 {
169		regulator-min-microvolt = <2850000>;
170		regulator-max-microvolt = <2850000>;
171	};
172};
173
174&sdhc_1 {
175	status = "okay";
176};
177
178&sdhc_2 {
179	pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
180	pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
181	pinctrl-names = "default", "sleep";
182
183	cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
184
185	status = "okay";
186};
187
188&sound {
189	model = "msm8916-1mic";
190	audio-routing =
191		"AMIC1", "MIC BIAS External1",
192		"AMIC2", "MIC BIAS Internal2",
193		"AMIC3", "MIC BIAS External1";
194};
195
196&usb {
197	extcon = <&muic>, <&muic>;
198	status = "okay";
199};
200
201&usb_hs_phy {
202	extcon = <&muic>;
203};
204
205&venus {
206	status = "okay";
207};
208
209&venus_mem {
210	status = "okay";
211};
212
213&wcnss {
214	status = "okay";
215};
216
217&wcnss_iris {
218	compatible = "qcom,wcn3620";
219};
220
221&wcnss_mem {
222	status = "okay";
223};
224
225&tlmm {
226	backlight_en_default: backlight-en-default-state {
227		pins = "gpio98";
228		function = "gpio";
229		drive-strength = <2>;
230		bias-disable;
231	};
232
233	backlight_pwm_default: backlight-pwm-default-state {
234		pins = "gpio50";
235		function = "gcc_gp2_clk_a";
236	};
237
238	fg_alert_default: fg-alert-default-state {
239		pins = "gpio121";
240		function = "gpio";
241		drive-strength = <2>;
242		bias-disable;
243	};
244
245	gpio_keys_default: gpio-keys-default-state {
246		pins = "gpio107", "gpio109";
247		function = "gpio";
248		drive-strength = <2>;
249		bias-pull-up;
250	};
251
252	motor_en_default: motor-en-default-state {
253		pins = "gpio72";
254		function = "gpio";
255		drive-strength = <2>;
256		bias-disable;
257	};
258
259	muic_int_default: muic-int-default-state {
260		pins = "gpio12";
261		function = "gpio";
262		drive-strength = <2>;
263		bias-disable;
264	};
265
266	sdc2_cd_default: sdc2-cd-default-state {
267		pins = "gpio38";
268		function = "gpio";
269		drive-strength = <2>;
270		bias-disable;
271	};
272
273	tsp_en_default: tsp-en-default-state {
274		pins = "gpio73";
275		function = "gpio";
276		drive-strength = <2>;
277		bias-disable;
278	};
279
280	tsp_int_default: tsp-int-default-state {
281		pins = "gpio13";
282		function = "gpio";
283		drive-strength = <2>;
284		bias-disable;
285	};
286};
287