Skip to content

Commit 48af3f6

Browse files
cristiancbarni2000
authored andcommitted
arm64: dts: qcom: msm8953: Add device tree for Billion Capture+
Billion Capture+ is a handset using the MSM8953 SoC released in 2017 Add a device tree with initial support for: - GPIO keys - SDHCI (internal and external storage) - USB Device Mode - Regulators - Display - Haptics - WCNSS (WiFi+BT) Signed-off-by: Cristian Cozzolino <cristian_ci@protonmail.com> [Update ovp value] Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
1 parent 8ab176f commit 48af3f6

2 files changed

Lines changed: 351 additions & 0 deletions

File tree

arch/arm64/boot/dts/qcom/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ dtb-$(CONFIG_ARCH_QCOM) += msm8939-wingtech-wt82918.dtb
7373
dtb-$(CONFIG_ARCH_QCOM) += msm8939-wingtech-wt82918hd.dtb
7474
dtb-$(CONFIG_ARCH_QCOM) += msm8953-asus-ze520kl.dtb
7575
dtb-$(CONFIG_ARCH_QCOM) += msm8953-asus-ze552kl.dtb
76+
dtb-$(CONFIG_ARCH_QCOM) += msm8953-billion-rimob.dtb
7677
dtb-$(CONFIG_ARCH_QCOM) += msm8953-huawei-milan.dtb
7778
dtb-$(CONFIG_ARCH_QCOM) += msm8953-lenovo-kuntao.dtb
7879
dtb-$(CONFIG_ARCH_QCOM) += msm8953-motorola-potter.dtb
Lines changed: 350 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,350 @@
1+
// SPDX-License-Identifier: BSD-3-Clause
2+
/dts-v1/;
3+
4+
#include "msm8953.dtsi"
5+
#include "pm8953.dtsi"
6+
#include "pmi8950.dtsi"
7+
8+
/delete-node/ &cont_splash_mem;
9+
/delete-node/ &qseecom_mem;
10+
11+
/ {
12+
model = "Billion Capture+";
13+
compatible = "billion,rimob", "qcom,msm8953";
14+
chassis-type = "handset";
15+
qcom,msm-id = <293 0>;
16+
qcom,board-id = <0x340008 0>;
17+
18+
chosen {
19+
#address-cells = <2>;
20+
#size-cells = <2>;
21+
ranges;
22+
23+
framebuffer@90001000 {
24+
compatible = "simple-framebuffer";
25+
reg = <0 0x90001000 0 (1920 * 1080 * 3)>;
26+
27+
width = <1080>;
28+
height = <1920>;
29+
stride = <(1080 * 3)>;
30+
format = "r8g8b8";
31+
32+
power-domains = <&gcc MDSS_GDSC>;
33+
34+
clocks = <&gcc GCC_MDSS_AHB_CLK>,
35+
<&gcc GCC_MDSS_AXI_CLK>,
36+
<&gcc GCC_MDSS_VSYNC_CLK>,
37+
<&gcc GCC_MDSS_MDP_CLK>,
38+
<&gcc GCC_MDSS_BYTE0_CLK>,
39+
<&gcc GCC_MDSS_PCLK0_CLK>,
40+
<&gcc GCC_MDSS_ESC0_CLK>;
41+
};
42+
};
43+
44+
gpio-keys {
45+
compatible = "gpio-keys";
46+
47+
pinctrl-0 = <&gpio_key_default>;
48+
pinctrl-names = "default";
49+
50+
key-volume-up {
51+
label = "Volume Up";
52+
gpios = <&tlmm 85 GPIO_ACTIVE_LOW>;
53+
linux,code = <KEY_VOLUMEUP>;
54+
debounce-interval = <15>;
55+
};
56+
};
57+
58+
reserved-memory {
59+
qseecom@0 {
60+
reg = <0x00 0x84a00000 0x00 0x1900000>;
61+
no-map;
62+
};
63+
64+
cont_splash_mem: cont-splash@90001000 {
65+
reg = <0x0 0x90001000 0x0 (1080 * 1920 * 3)>;
66+
no-map;
67+
};
68+
};
69+
70+
vph_pwr: vph-pwr-regulator {
71+
compatible = "regulator-fixed";
72+
regulator-name = "vph_pwr";
73+
regulator-always-on;
74+
regulator-boot-on;
75+
};
76+
};
77+
78+
&hsusb_phy {
79+
vdd-supply = <&pm8953_l3>;
80+
vdda-pll-supply = <&pm8953_l7>;
81+
vdda-phy-dpdm-supply = <&pm8953_l13>;
82+
83+
status = "okay";
84+
};
85+
86+
&ibb {
87+
qcom,discharge-resistor-kohms = <32>;
88+
};
89+
90+
&lab {
91+
qcom,soft-start-us = <800>;
92+
};
93+
94+
&mdss {
95+
status = "okay";
96+
};
97+
98+
&mdss_dsi0 {
99+
vdda-supply = <&pm8953_s3>;
100+
vddio-supply = <&pm8953_l6>;
101+
102+
pinctrl-0 = <&mdss_default>;
103+
pinctrl-1 = <&mdss_sleep>;
104+
pinctrl-names = "default", "sleep";
105+
106+
status = "okay";
107+
108+
panel: panel@0 {
109+
compatible = "billion,rimob-nt35532-cs";
110+
reg = <0>;
111+
112+
backlight = <&pmi8950_wled>;
113+
114+
reset-gpios = <&tlmm 61 GPIO_ACTIVE_LOW>;
115+
116+
vsp-supply = <&lab>;
117+
vsn-supply = <&ibb>;
118+
119+
port {
120+
panel_in: endpoint {
121+
remote-endpoint = <&mdss_dsi0_out>;
122+
};
123+
};
124+
};
125+
};
126+
127+
&mdss_dsi0_out {
128+
data-lanes = <0 1 2 3>;
129+
remote-endpoint = <&panel_in>;
130+
};
131+
132+
&mdss_dsi0_phy {
133+
vcca-supply = <&pm8953_l3>;
134+
135+
status = "okay";
136+
};
137+
138+
&pm8953_resin {
139+
linux,code = <KEY_VOLUMEDOWN>;
140+
status = "okay";
141+
};
142+
143+
&pmi8950_haptics {
144+
qcom,actuator-type = <HAP_TYPE_ERM>;
145+
qcom,brake-pattern = <0x3 0x3 0x0 0x0>;
146+
qcom,wave-play-rate-us = <5263>;
147+
qcom,wave-shape = <HAP_WAVE_SQUARE>;
148+
149+
status = "okay";
150+
};
151+
152+
&pmi8950_wled {
153+
qcom,current-limit-microamp = <10000>;
154+
qcom,num-strings = <3>;
155+
qcom,ovp-millivolt = <29500>;
156+
157+
status = "okay";
158+
};
159+
160+
&rpm_requests {
161+
regulators {
162+
compatible = "qcom,rpm-pm8953-regulators";
163+
vdd_s1-supply = <&vph_pwr>;
164+
vdd_s2-supply = <&vph_pwr>;
165+
vdd_s3-supply = <&vph_pwr>;
166+
vdd_s4-supply = <&vph_pwr>;
167+
vdd_s5-supply = <&vph_pwr>;
168+
vdd_s6-supply = <&vph_pwr>;
169+
vdd_s7-supply = <&vph_pwr>;
170+
vdd_l1-supply = <&pm8953_s3>;
171+
vdd_l2_l3-supply = <&pm8953_s3>;
172+
vdd_l4_l5_l6_l7_l16_l19-supply = <&pm8953_s4>;
173+
vdd_l8_l11_l12_l13_l14_l15-supply = <&vph_pwr>;
174+
vdd_l9_l10_l17_l18_l22-supply = <&vph_pwr>;
175+
vdd_l23-supply = <&pm8953_s3>;
176+
177+
pm8953_s1: s1 {
178+
regulator-min-microvolt = <870000>;
179+
regulator-max-microvolt = <1156000>;
180+
};
181+
182+
pm8953_s3: s3 {
183+
regulator-min-microvolt = <1224000>;
184+
regulator-max-microvolt = <1224000>;
185+
};
186+
187+
pm8953_s4: s4 {
188+
regulator-min-microvolt = <1900000>;
189+
regulator-max-microvolt = <2050000>;
190+
};
191+
192+
pm8953_l1: l1 {
193+
regulator-min-microvolt = <1000000>;
194+
regulator-max-microvolt = <1000000>;
195+
};
196+
197+
pm8953_l2: l2 {
198+
regulator-min-microvolt = <975000>;
199+
regulator-max-microvolt = <1225000>;
200+
};
201+
202+
pm8953_l3: l3 {
203+
regulator-min-microvolt = <925000>;
204+
regulator-max-microvolt = <925000>;
205+
};
206+
207+
pm8953_l5: l5 {
208+
regulator-min-microvolt = <1800000>;
209+
regulator-max-microvolt = <1800000>;
210+
};
211+
212+
pm8953_l6: l6 {
213+
regulator-min-microvolt = <1800000>;
214+
regulator-max-microvolt = <1800000>;
215+
};
216+
217+
pm8953_l7: l7 {
218+
regulator-min-microvolt = <1800000>;
219+
regulator-max-microvolt = <1900000>;
220+
};
221+
222+
pm8953_l8: l8 {
223+
regulator-min-microvolt = <2900000>;
224+
regulator-max-microvolt = <2900000>;
225+
};
226+
227+
pm8953_l9: l9 {
228+
regulator-min-microvolt = <3000000>;
229+
regulator-max-microvolt = <3300000>;
230+
};
231+
232+
pm8953_l10: l10 {
233+
regulator-min-microvolt = <2850000>;
234+
regulator-max-microvolt = <2850000>;
235+
};
236+
237+
pm8953_l11: l11 {
238+
regulator-min-microvolt = <2950000>;
239+
regulator-max-microvolt = <2950000>;
240+
};
241+
242+
pm8953_l12: l12 {
243+
regulator-min-microvolt = <1800000>;
244+
regulator-max-microvolt = <2950000>;
245+
};
246+
247+
pm8953_l13: l13 {
248+
regulator-min-microvolt = <3125000>;
249+
regulator-max-microvolt = <3125000>;
250+
};
251+
252+
pm8953_l16: l16 {
253+
regulator-min-microvolt = <1800000>;
254+
regulator-max-microvolt = <1800000>;
255+
};
256+
257+
pm8953_l17: l17 {
258+
regulator-min-microvolt = <2850000>;
259+
regulator-max-microvolt = <2850000>;
260+
};
261+
262+
pm8953_l19: l19 {
263+
regulator-min-microvolt = <1200000>;
264+
regulator-max-microvolt = <1350000>;
265+
};
266+
267+
pm8953_l22: l22 {
268+
regulator-min-microvolt = <2800000>;
269+
regulator-max-microvolt = <2800000>;
270+
};
271+
272+
pm8953_l23: l23 {
273+
regulator-min-microvolt = <975000>;
274+
regulator-max-microvolt = <1225000>;
275+
};
276+
};
277+
};
278+
279+
&sdhc_1 {
280+
vmmc-supply = <&pm8953_l8>;
281+
vqmmc-supply = <&pm8953_l5>;
282+
283+
status = "okay";
284+
};
285+
286+
&sdhc_2 {
287+
vmmc-supply = <&pm8953_l11>;
288+
vqmmc-supply = <&pm8953_l12>;
289+
290+
cd-gpios = <&tlmm 133 GPIO_ACTIVE_HIGH>;
291+
292+
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
293+
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off>;
294+
pinctrl-names = "default", "sleep";
295+
296+
status = "okay";
297+
};
298+
299+
&tlmm {
300+
gpio-reserved-ranges = <0 4>, <135 4>;
301+
302+
gpio_key_default: gpio-key-default-state {
303+
pins = "gpio85";
304+
function = "gpio";
305+
drive-strength = <2>;
306+
bias-pull-up;
307+
};
308+
309+
mdss_default: mdss-default-state {
310+
pins = "gpio61";
311+
function = "gpio";
312+
drive-strength = <8>;
313+
bias-disable;
314+
output-high;
315+
};
316+
317+
mdss_sleep: mdss-sleep-state {
318+
pins = "gpio61";
319+
function = "gpio";
320+
drive-strength = <2>;
321+
bias-pull-down;
322+
};
323+
};
324+
325+
&usb3 {
326+
status = "okay";
327+
};
328+
329+
&usb3_dwc3 {
330+
dr_mode = "peripheral";
331+
};
332+
333+
&wcnss {
334+
vddpx-supply = <&pm8953_l5>;
335+
336+
status = "okay";
337+
};
338+
339+
&wcnss_iris {
340+
compatible = "qcom,wcn3660b";
341+
342+
vddxo-supply = <&pm8953_l7>;
343+
vddrfa-supply = <&pm8953_l19>;
344+
vddpa-supply = <&pm8953_l9>;
345+
vdddig-supply = <&pm8953_l5>;
346+
};
347+
348+
&zap_shader {
349+
firmware-name = "qcom/msm8953/billion/rimob/a506_zap.mdt";
350+
};

0 commit comments

Comments
 (0)