Skip to content
This repository was archived by the owner on Nov 8, 2023. It is now read-only.

Commit 0655b44

Browse files
cristiancandersson
authored andcommitted
arm64: dts: qcom: msm8916-lg-m216: Add initial device tree
This commit adds initial support for the LG K10 smartphone. Support for the following features is included: - Serial - Keys - Battery and charger - Accelerometer, magnetometer - Touchscreen - Sound and modem - Haptic Signed-off-by: Cristian Cozzolino <cristian_ci@protonmail.com> [Nikita: Minor cleanup] Signed-off-by: Nikita Travkin <nikita@trvn.ru> Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Link: https://lore.kernel.org/r/20240623-msm8916-lg-initial-v1-2-6fbcf714d69b@trvn.ru Signed-off-by: Bjorn Andersson <andersson@kernel.org>
1 parent 2c69048 commit 0655b44

File tree

2 files changed

+252
-0
lines changed

2 files changed

+252
-0
lines changed

arch/arm64/boot/dts/qcom/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ dtb-$(CONFIG_ARCH_QCOM) += msm8916-alcatel-idol347.dtb
3131
dtb-$(CONFIG_ARCH_QCOM) += msm8916-asus-z00l.dtb
3232
dtb-$(CONFIG_ARCH_QCOM) += msm8916-gplus-fl8005a.dtb
3333
dtb-$(CONFIG_ARCH_QCOM) += msm8916-huawei-g7.dtb
34+
dtb-$(CONFIG_ARCH_QCOM) += msm8916-lg-m216.dtb
3435
dtb-$(CONFIG_ARCH_QCOM) += msm8916-longcheer-l8150.dtb
3536
dtb-$(CONFIG_ARCH_QCOM) += msm8916-longcheer-l8910.dtb
3637
dtb-$(CONFIG_ARCH_QCOM) += msm8916-motorola-harpia.dtb
Lines changed: 251 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,251 @@
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+
};

0 commit comments

Comments
 (0)