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

Commit 2a5454d

Browse files
ARM: dts: qcom: qcom-msm8226-samsung-ms013g: Add initial device tree
Samsung Galaxy Grand 2 is a phone based on MSM8226. It's similar to the other Samsung devices based on MSM8226 with only a few minor differences. The device trees contain initial support with: - GPIO keys - Regulator haptic - SDHCI (internal and external storage) - UART (on USB connector via the TI TSU6721 MUIC) - Regulators - Touchscreen - Accelerometer Signed-off-by: Raymond Hackley <raymondhackley@protonmail.com> Reviewed-by: Luca Weiss <luca@lucaweiss.eu> Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Link: https://lore.kernel.org/r/20240630132859.2885-3-raymondhackley@protonmail.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
1 parent 2a89f2b commit 2a5454d

File tree

2 files changed

+387
-0
lines changed

2 files changed

+387
-0
lines changed

arch/arm/boot/dts/qcom/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \
2828
qcom-msm8226-microsoft-dempsey.dtb \
2929
qcom-msm8226-microsoft-makepeace.dtb \
3030
qcom-msm8226-microsoft-moneypenny.dtb \
31+
qcom-msm8226-samsung-ms013g.dtb \
3132
qcom-msm8226-samsung-s3ve3g.dtb \
3233
qcom-msm8660-surf.dtb \
3334
qcom-msm8916-samsung-e5.dtb \
Lines changed: 386 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,386 @@
1+
// SPDX-License-Identifier: BSD-3-Clause
2+
3+
/dts-v1/;
4+
5+
#include "qcom-msm8226.dtsi"
6+
#include "pm8226.dtsi"
7+
8+
/delete-node/ &smem_region;
9+
10+
/ {
11+
model = "Samsung Galaxy Grand 2";
12+
compatible = "samsung,ms013g", "qcom,msm8226";
13+
chassis-type = "handset";
14+
15+
aliases {
16+
mmc0 = &sdhc_1; /* SDC1 eMMC slot */
17+
mmc1 = &sdhc_2; /* SDC2 SD card slot */
18+
serial0 = &blsp1_uart3;
19+
};
20+
21+
chosen {
22+
stdout-path = "serial0:115200n8";
23+
};
24+
25+
gpio-hall-sensor {
26+
compatible = "gpio-keys";
27+
28+
pinctrl-0 = <&gpio_hall_sensor_default>;
29+
pinctrl-names = "default";
30+
31+
label = "GPIO Hall Effect Sensor";
32+
33+
event-hall-sensor {
34+
label = "Hall Effect Sensor";
35+
gpios = <&tlmm 50 GPIO_ACTIVE_LOW>;
36+
linux,input-type = <EV_SW>;
37+
linux,code = <SW_LID>;
38+
linux,can-disable;
39+
};
40+
};
41+
42+
gpio-keys {
43+
compatible = "gpio-keys";
44+
45+
pinctrl-0 = <&gpio_keys_default>;
46+
pinctrl-names = "default";
47+
48+
label = "GPIO Buttons";
49+
50+
button-volume-up {
51+
label = "Volume Up";
52+
gpios = <&tlmm 106 GPIO_ACTIVE_LOW>;
53+
linux,code = <KEY_VOLUMEUP>;
54+
};
55+
56+
button-volume-down {
57+
label = "Volume Down";
58+
gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
59+
linux,code = <KEY_VOLUMEDOWN>;
60+
};
61+
62+
button-home {
63+
label = "Home Key";
64+
gpios = <&tlmm 108 GPIO_ACTIVE_LOW>;
65+
linux,code = <KEY_HOMEPAGE>;
66+
};
67+
};
68+
69+
reg_motor_vdd: regulator-motor-vdd {
70+
compatible = "regulator-fixed";
71+
regulator-name = "motor_vdd";
72+
regulator-min-microvolt = <3300000>;
73+
regulator-max-microvolt = <3300000>;
74+
75+
gpio = <&tlmm 111 GPIO_ACTIVE_HIGH>;
76+
enable-active-high;
77+
78+
pinctrl-0 = <&motor_en_default>;
79+
pinctrl-names = "default";
80+
};
81+
82+
reg_vdd_tsp_a: regulator-vdd-tsp-a {
83+
compatible = "regulator-fixed";
84+
regulator-name = "tsp_3p3v";
85+
regulator-min-microvolt = <3300000>;
86+
regulator-max-microvolt = <3300000>;
87+
88+
gpio = <&tlmm 31 GPIO_ACTIVE_HIGH>;
89+
enable-active-high;
90+
91+
pinctrl-0 = <&tsp_en_default>;
92+
pinctrl-names = "default";
93+
};
94+
95+
reserved-memory {
96+
smem_region: smem@fa00000 {
97+
reg = <0x0fa00000 0x100000>;
98+
no-map;
99+
};
100+
};
101+
102+
vibrator {
103+
compatible = "regulator-haptic";
104+
haptic-supply = <&reg_motor_vdd>;
105+
min-microvolt = <3300000>;
106+
max-microvolt = <3300000>;
107+
};
108+
};
109+
110+
&blsp1_i2c2 {
111+
status = "okay";
112+
113+
accelerometer@18 {
114+
compatible = "bosch,bma255";
115+
reg = <0x18>;
116+
interrupts-extended = <&tlmm 64 IRQ_TYPE_EDGE_RISING>;
117+
118+
vdd-supply = <&pm8226_l19>;
119+
vddio-supply = <&pm8226_lvs1>;
120+
121+
pinctrl-0 = <&accel_int_default>;
122+
pinctrl-names = "default";
123+
124+
mount-matrix = "0", "1", "0",
125+
"-1", "0", "0",
126+
"0", "0", "-1";
127+
};
128+
};
129+
130+
&blsp1_i2c5 {
131+
status = "okay";
132+
133+
touchscreen@20 {
134+
compatible = "zinitix,bt541";
135+
136+
reg = <0x20>;
137+
interrupts-extended = <&tlmm 17 IRQ_TYPE_EDGE_FALLING>;
138+
139+
touchscreen-size-x = <720>;
140+
touchscreen-size-y = <1280>;
141+
142+
vcca-supply = <&reg_vdd_tsp_a>;
143+
vdd-supply = <&pm8226_lvs1>;
144+
145+
pinctrl-0 = <&tsp_int_default>;
146+
pinctrl-names = "default";
147+
};
148+
};
149+
150+
&blsp1_uart3 {
151+
status = "okay";
152+
};
153+
154+
&rpm_requests {
155+
regulators {
156+
compatible = "qcom,rpm-pm8226-regulators";
157+
158+
pm8226_s3: s3 {
159+
regulator-min-microvolt = <1200000>;
160+
regulator-max-microvolt = <1300000>;
161+
};
162+
163+
pm8226_s4: s4 {
164+
regulator-min-microvolt = <1800000>;
165+
regulator-max-microvolt = <2200000>;
166+
};
167+
168+
pm8226_s5: s5 {
169+
regulator-min-microvolt = <1150000>;
170+
regulator-max-microvolt = <1150000>;
171+
};
172+
173+
pm8226_l1: l1 {
174+
regulator-min-microvolt = <1225000>;
175+
regulator-max-microvolt = <1225000>;
176+
};
177+
178+
pm8226_l2: l2 {
179+
regulator-min-microvolt = <1200000>;
180+
regulator-max-microvolt = <1200000>;
181+
};
182+
183+
pm8226_l3: l3 {
184+
regulator-min-microvolt = <750000>;
185+
regulator-max-microvolt = <1337500>;
186+
};
187+
188+
pm8226_l4: l4 {
189+
regulator-min-microvolt = <1200000>;
190+
regulator-max-microvolt = <1200000>;
191+
};
192+
193+
pm8226_l5: l5 {
194+
regulator-min-microvolt = <1200000>;
195+
regulator-max-microvolt = <1200000>;
196+
};
197+
198+
pm8226_l6: l6 {
199+
regulator-min-microvolt = <1800000>;
200+
regulator-max-microvolt = <1800000>;
201+
regulator-allow-set-load;
202+
regulator-always-on;
203+
};
204+
205+
pm8226_l7: l7 {
206+
regulator-min-microvolt = <1850000>;
207+
regulator-max-microvolt = <1850000>;
208+
};
209+
210+
pm8226_l8: l8 {
211+
regulator-min-microvolt = <1800000>;
212+
regulator-max-microvolt = <1800000>;
213+
};
214+
215+
pm8226_l9: l9 {
216+
regulator-min-microvolt = <2050000>;
217+
regulator-max-microvolt = <2050000>;
218+
};
219+
220+
pm8226_l10: l10 {
221+
regulator-min-microvolt = <1800000>;
222+
regulator-max-microvolt = <1800000>;
223+
};
224+
225+
pm8226_l12: l12 {
226+
regulator-min-microvolt = <1800000>;
227+
regulator-max-microvolt = <1800000>;
228+
};
229+
230+
pm8226_l14: l14 {
231+
regulator-min-microvolt = <2750000>;
232+
regulator-max-microvolt = <2750000>;
233+
};
234+
235+
pm8226_l15: l15 {
236+
regulator-min-microvolt = <2800000>;
237+
regulator-max-microvolt = <2800000>;
238+
};
239+
240+
pm8226_l16: l16 {
241+
regulator-min-microvolt = <3000000>;
242+
regulator-max-microvolt = <3350000>;
243+
};
244+
245+
pm8226_l17: l17 {
246+
regulator-min-microvolt = <2950000>;
247+
regulator-max-microvolt = <2950000>;
248+
249+
regulator-system-load = <200000>;
250+
regulator-allow-set-load;
251+
regulator-always-on;
252+
};
253+
254+
pm8226_l18: l18 {
255+
regulator-min-microvolt = <2950000>;
256+
regulator-max-microvolt = <2950000>;
257+
};
258+
259+
pm8226_l19: l19 {
260+
regulator-min-microvolt = <2850000>;
261+
regulator-max-microvolt = <3000000>;
262+
};
263+
264+
pm8226_l20: l20 {
265+
regulator-min-microvolt = <3075000>;
266+
regulator-max-microvolt = <3075000>;
267+
};
268+
269+
pm8226_l21: l21 {
270+
regulator-min-microvolt = <1800000>;
271+
regulator-max-microvolt = <2950000>;
272+
regulator-allow-set-load;
273+
};
274+
275+
pm8226_l22: l22 {
276+
regulator-min-microvolt = <1800000>;
277+
regulator-max-microvolt = <2950000>;
278+
};
279+
280+
pm8226_l23: l23 {
281+
regulator-min-microvolt = <1800000>;
282+
regulator-max-microvolt = <3300000>;
283+
};
284+
285+
pm8226_l24: l24 {
286+
regulator-min-microvolt = <1300000>;
287+
regulator-max-microvolt = <1350000>;
288+
};
289+
290+
pm8226_l25: l25 {
291+
regulator-min-microvolt = <1775000>;
292+
regulator-max-microvolt = <2125000>;
293+
};
294+
295+
pm8226_l26: l26 {
296+
regulator-min-microvolt = <1225000>;
297+
regulator-max-microvolt = <1300000>;
298+
};
299+
300+
pm8226_l27: l27 {
301+
regulator-min-microvolt = <2050000>;
302+
regulator-max-microvolt = <2050000>;
303+
};
304+
305+
pm8226_l28: l28 {
306+
regulator-min-microvolt = <1800000>;
307+
regulator-max-microvolt = <2950000>;
308+
};
309+
310+
pm8226_lvs1: lvs1 {};
311+
};
312+
};
313+
314+
&sdhc_1 {
315+
vmmc-supply = <&pm8226_l17>;
316+
vqmmc-supply = <&pm8226_l6>;
317+
318+
bus-width = <8>;
319+
non-removable;
320+
321+
status = "okay";
322+
};
323+
324+
&sdhc_2 {
325+
vmmc-supply = <&pm8226_l18>;
326+
vqmmc-supply = <&pm8226_l21>;
327+
328+
bus-width = <4>;
329+
cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
330+
331+
pinctrl-0 = <&sdhc2_default_state &sdhc2_cd_default>;
332+
pinctrl-names = "default";
333+
334+
status = "okay";
335+
};
336+
337+
&tlmm {
338+
accel_int_default: accel-int-default-state {
339+
pins = "gpio64";
340+
function = "gpio";
341+
drive-strength = <2>;
342+
bias-disable;
343+
};
344+
345+
gpio_hall_sensor_default: gpio-hall-sensor-default-state {
346+
pins = "gpio50";
347+
function = "gpio";
348+
drive-strength = <2>;
349+
bias-pull-up;
350+
};
351+
352+
gpio_keys_default: gpio-keys-default-state {
353+
pins = "gpio106", "gpio107", "gpio108";
354+
function = "gpio";
355+
drive-strength = <2>;
356+
bias-pull-up;
357+
};
358+
359+
motor_en_default: motor-en-default-state {
360+
pins = "gpio111";
361+
function = "gpio";
362+
drive-strength = <2>;
363+
bias-disable;
364+
};
365+
366+
sdhc2_cd_default: sdhc2-cd-default-state {
367+
pins = "gpio38";
368+
function = "gpio";
369+
drive-strength = <2>;
370+
bias-disable;
371+
};
372+
373+
tsp_en_default: tsp-en-default-state {
374+
pins = "gpio31";
375+
function = "gpio";
376+
drive-strength = <2>;
377+
bias-disable;
378+
};
379+
380+
tsp_int_default: tsp-int-default-state {
381+
pins = "gpio17";
382+
function = "gpio";
383+
drive-strength = <2>;
384+
bias-disable;
385+
};
386+
};

0 commit comments

Comments
 (0)