xref: /linux/arch/arm64/boot/dts/qcom/msm8916-lg-m216.dts (revision a3a02a52bcfcbcc4a637d4b68bf1bc391c9fad02)
1// SPDX-License-Identifier: GPL-2.0-only
2
3/dts-v1/;
4
5#include "msm8916-pm8916.dtsi"
6#include "msm8916-modem-qdsp6.dtsi"
7
8#include <dt-bindings/gpio/gpio.h>
9
10/ {
11	model = "LG K10 (K420n)";
12	compatible = "lg,m216", "qcom,msm8916";
13	chassis-type = "handset";
14
15	aliases {
16		mmc0 = &sdhc_1; /* eMMC */
17		mmc1 = &sdhc_2; /* SD card */
18		serial0 = &blsp_uart2;
19	};
20
21	chosen {
22		stdout-path = "serial0";
23	};
24
25	battery: battery {
26		compatible = "simple-battery";
27		voltage-min-design-microvolt = <3300000>;
28		voltage-max-design-microvolt = <4350000>;
29		energy-full-design-microwatt-hours = <8800000>;
30		charge-full-design-microamp-hours = <2300000>;
31
32		ocv-capacity-celsius = <25>;
33		ocv-capacity-table-0 = <4342000 100>, <4266000 95>, <4206000 90>,
34			<4148000 85>, <4094000 80>, <4046000 75>, <3994000 70>,
35			<3956000 65>, <3916000 60>, <3866000 55>, <3831000 50>,
36			<3808000 45>, <3789000 40>, <3776000 35>, <3769000 30>,
37			<3760000 25>, <3740000 20>, <3712000 16>, <3684000 13>,
38			<3676000 11>, <3674000 10>, <3672000 9>, <3669000 8>,
39			<3665000 7>, <3660000 6>, <3643000 5>, <3602000 4>,
40			<3542000 3>, <3458000 2>, <3326000 1>, <3000000 0>;
41	};
42
43	gpio-keys {
44		compatible = "gpio-keys";
45
46		pinctrl-0 = <&gpio_keys_default>;
47		pinctrl-names = "default";
48
49		label = "GPIO Buttons";
50
51		volume-up-button {
52			label = "Volume Up";
53			gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
54			linux,code = <KEY_VOLUMEUP>;
55		};
56
57		volume-down-button {
58			label = "Volume Down";
59			gpios = <&tlmm 108 GPIO_ACTIVE_LOW>;
60			linux,code = <KEY_VOLUMEDOWN>;
61		};
62	};
63};
64
65&blsp_i2c2 {
66	status = "okay";
67
68	accelerometer@11 {
69		compatible = "bosch,bmc150_accel";
70		reg = <0x11>;
71
72		interrupts-extended = <&tlmm 115 IRQ_TYPE_EDGE_RISING>;
73
74		mount-matrix =	 "0", "1", "0",
75				"-1", "0", "0",
76				 "0", "0", "1";
77
78		vdd-supply = <&pm8916_l17>;
79		vddio-supply = <&pm8916_l6>;
80
81		pinctrl-0 = <&accel_int_default>;
82		pinctrl-names = "default";
83	};
84
85	magnetometer@13 {
86		compatible = "bosch,bmc150_magn";
87		reg = <0x13>;
88
89		interrupts-extended = <&tlmm 69 IRQ_TYPE_EDGE_RISING>;
90
91		vdd-supply = <&pm8916_l17>;
92		vddio-supply = <&pm8916_l6>;
93
94		pinctrl-0 = <&magn_int_default>;
95		pinctrl-names = "default";
96	};
97};
98
99&blsp_i2c5 {
100	status = "okay";
101
102	touchscreen@34 {
103		compatible = "melfas,mip4_ts";
104		reg = <0x34>;
105
106		interrupts-extended = <&tlmm 13 IRQ_TYPE_EDGE_FALLING>;
107		ce-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>;
108
109		pinctrl-0 = <&touchscreen_default>;
110		pinctrl-names = "default";
111	};
112};
113
114&blsp_uart2 {
115	status = "okay";
116};
117
118&mpss_mem {
119	reg = <0x0 0x86800000 0x0 0x4a00000>;
120};
121
122&pm8916_bms {
123	monitored-battery = <&battery>;
124	power-supplies = <&pm8916_charger>;
125
126	status = "okay";
127};
128
129&pm8916_charger {
130	qcom,fast-charge-safe-current = <700000>;
131	qcom,fast-charge-safe-voltage = <4300000>;
132
133	monitored-battery = <&battery>;
134	status = "okay";
135};
136
137&pm8916_codec {
138	qcom,micbias1-ext-cap;
139	qcom,micbias-lvl = <2800>;
140	qcom,mbhc-vthreshold-low = <75 100 120 180 500>;
141	qcom,mbhc-vthreshold-high = <75 100 120 180 500>;
142	qcom,hphl-jack-type-normally-open;
143};
144
145&pm8916_rpm_regulators {
146	pm8916_l17: l17 {
147		regulator-min-microvolt = <2850000>;
148		regulator-max-microvolt = <2850000>;
149	};
150};
151
152&pm8916_vib {
153	status = "okay";
154};
155
156&sdhc_1 {
157	status = "okay";
158};
159
160&sdhc_2 {
161	pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
162	pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
163	pinctrl-names = "default", "sleep";
164
165	cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
166
167	status = "okay";
168};
169
170&sound {
171	audio-routing =
172		"AMIC1", "MIC BIAS External1",
173		"AMIC2", "MIC BIAS Internal2",
174		"AMIC3", "MIC BIAS External1";
175};
176
177&usb {
178	dr_mode = "peripheral";
179	extcon = <&pm8916_charger>;
180	status = "okay";
181};
182
183&usb_hs_phy {
184	extcon = <&pm8916_charger>;
185};
186
187&venus {
188	status = "okay";
189};
190
191&venus_mem {
192	status = "okay";
193};
194
195&wcnss {
196	status = "okay";
197};
198
199&wcnss_iris {
200	compatible = "qcom,wcn3620";
201};
202
203&wcnss_mem {
204	status = "okay";
205};
206
207&tlmm {
208	accel_int_default: accel-int-default-state {
209		pins = "gpio115";
210		function = "gpio";
211		drive-strength = <2>;
212		bias-disable;
213	};
214
215	gpio_keys_default: gpio-keys-default-state {
216		pins = "gpio107", "gpio108";
217		function = "gpio";
218		drive-strength = <2>;
219		bias-pull-up;
220	};
221
222	magn_int_default: magn-int-default-state {
223		pins = "gpio69";
224		function = "gpio";
225		drive-strength = <2>;
226		bias-disable;
227	};
228
229	sdc2_cd_default: sdc2-cd-default-state {
230		pins = "gpio38";
231		function = "gpio";
232		drive-strength = <2>;
233		bias-disable;
234	};
235
236	touchscreen_default: touchscreen-default-state {
237		touchscreen-pins {
238			pins = "gpio13";
239			function = "gpio";
240			drive-strength = <2>;
241			bias-pull-up;
242		};
243
244		ce-pins {
245			pins = "gpio12";
246			function = "gpio";
247			drive-strength = <2>;
248			bias-disable;
249		};
250	};
251};
252