Skip to content

Commit 5565925

Browse files
arm64: dts: qcom: Add Handsome Openstick Support v2
1 parent 2be374d commit 5565925

6 files changed

+564
-0
lines changed

arch/arm64/boot/dts/qcom/Makefile

+4
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ dtb-$(CONFIG_ARCH_QCOM) += msm8916-samsung-serranove.dtb
3434
dtb-$(CONFIG_ARCH_QCOM) += msm8916-wingtech-wt86518.dtb
3535
dtb-$(CONFIG_ARCH_QCOM) += msm8916-wingtech-wt86528.dtb
3636
dtb-$(CONFIG_ARCH_QCOM) += msm8916-wingtech-wt88047.dtb
37+
dtb-$(CONFIG_ARCH_QCOM) += msm8916-handsome-openstick-ufi001b.dtb
38+
dtb-$(CONFIG_ARCH_QCOM) += msm8916-handsome-openstick-ufi001c.dtb
39+
dtb-$(CONFIG_ARCH_QCOM) += msm8916-handsome-openstick-sp970.dtb
40+
dtb-$(CONFIG_ARCH_QCOM) += msm8916-handsome-openstick-uz801.dtb
3741
dtb-$(CONFIG_ARCH_QCOM) += msm8992-bullhead-rev-101.dtb
3842
dtb-$(CONFIG_ARCH_QCOM) += msm8992-msft-lumia-octagon-talkman.dtb
3943
dtb-$(CONFIG_ARCH_QCOM) += msm8992-xiaomi-libra.dtb
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,210 @@
1+
// SPDX-License-Identifier: GPL-2.0-only
2+
/*
3+
* Copyright (C) 2021-2022 HandsomeYingyan <handsomeyingyan@gmail.com>
4+
*
5+
*/
6+
7+
/dts-v1/;
8+
9+
#include "msm8916-pm8916.dtsi"
10+
#include "msm8916-modem.dtsi"
11+
#include <dt-bindings/gpio/gpio.h>
12+
#include <dt-bindings/input/input.h>
13+
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
14+
#include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
15+
#include <dt-bindings/sound/apq8016-lpass.h>
16+
17+
18+
/ {
19+
model = "Handsome Openstick Generic";
20+
compatible = "handsome,openstick", "qcom,msm8916";
21+
22+
aliases {
23+
serial0 = &blsp1_uart2;
24+
};
25+
26+
chosen {
27+
stdout-path = "serial0";
28+
};
29+
30+
reserved-memory {
31+
mpss_mem: gps_mem: mpss@86800000 {
32+
reg = <0x0 0x86800000 0x0 0x5500000>;
33+
no-map;
34+
};
35+
};
36+
37+
usb_id: usb-id {
38+
compatible = "linux,extcon-usb-gpio";
39+
id-gpio = <&msmgpio 110 GPIO_ACTIVE_HIGH>;
40+
pinctrl-names = "default";
41+
pinctrl-0 = <&usb_id_default>;
42+
};
43+
44+
};
45+
46+
/*
47+
* The modem firmware sends a "query_size" memshare request for client ID 1,
48+
* but basically does not do anything with it. GPS works only if:
49+
* - Memshare is not present or
50+
* - Memshare replies to the request with an error
51+
* Overall it seems pointless to enable memshare for this device.
52+
*/
53+
54+
&memshare {
55+
status = "disabled";
56+
};
57+
58+
&blsp_dma {
59+
status = "okay";
60+
};
61+
62+
&blsp1_uart2 {
63+
status = "okay";
64+
};
65+
66+
&lpass {
67+
status = "okay";
68+
};
69+
70+
&pronto {
71+
status = "okay";
72+
};
73+
74+
&sdhc_1 {
75+
status = "okay";
76+
77+
pinctrl-names = "default", "sleep";
78+
pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
79+
pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
80+
};
81+
82+
&sound {
83+
status = "disabled";
84+
};
85+
86+
&usb {
87+
status = "okay";
88+
extcon = <&usb_id>, <&usb_id>;
89+
};
90+
91+
&usb_hs_phy {
92+
v1p8-supply = <&pm8916_l7>;
93+
v3p3-supply = <&pm8916_l13>;
94+
extcon = <&usb_id>;
95+
};
96+
97+
&msmgpio {
98+
usb_id_default: usb-id-default {
99+
pins = "gpio110";
100+
function = "gpio";
101+
102+
drive-strength = <8>;
103+
input-enable;
104+
bias-pull-up;
105+
};
106+
};
107+
108+
&smd_rpm_regulators {
109+
vdd_l1_l2_l3-supply = <&pm8916_s3>;
110+
vdd_l4_l5_l6-supply = <&pm8916_s4>;
111+
vdd_l7-supply = <&pm8916_s4>;
112+
113+
s3 {
114+
regulator-min-microvolt = <1200000>;
115+
regulator-max-microvolt = <1300000>;
116+
};
117+
118+
s4 {
119+
regulator-min-microvolt = <1800000>;
120+
regulator-max-microvolt = <2100000>;
121+
};
122+
123+
l1 {
124+
regulator-min-microvolt = <1225000>;
125+
regulator-max-microvolt = <1225000>;
126+
};
127+
128+
l2 {
129+
regulator-min-microvolt = <1200000>;
130+
regulator-max-microvolt = <1200000>;
131+
};
132+
133+
l4 {
134+
regulator-min-microvolt = <2050000>;
135+
regulator-max-microvolt = <2050000>;
136+
};
137+
138+
l5 {
139+
regulator-min-microvolt = <1800000>;
140+
regulator-max-microvolt = <1800000>;
141+
};
142+
143+
l6 {
144+
regulator-min-microvolt = <1800000>;
145+
regulator-max-microvolt = <1800000>;
146+
};
147+
148+
l7 {
149+
regulator-min-microvolt = <1800000>;
150+
regulator-max-microvolt = <1800000>;
151+
};
152+
153+
l8 {
154+
regulator-min-microvolt = <2850000>;
155+
regulator-max-microvolt = <2900000>;
156+
};
157+
158+
l9 {
159+
regulator-min-microvolt = <3300000>;
160+
regulator-max-microvolt = <3300000>;
161+
};
162+
163+
l10 {
164+
regulator-min-microvolt = <2700000>;
165+
regulator-max-microvolt = <2800000>;
166+
};
167+
168+
l11 {
169+
regulator-min-microvolt = <1800000>;
170+
regulator-max-microvolt = <2950000>;
171+
regulator-allow-set-load;
172+
regulator-system-load = <200000>;
173+
};
174+
175+
l12 {
176+
regulator-min-microvolt = <1800000>;
177+
regulator-max-microvolt = <2950000>;
178+
};
179+
180+
l13 {
181+
regulator-min-microvolt = <3075000>;
182+
regulator-max-microvolt = <3075000>;
183+
};
184+
185+
l14 {
186+
regulator-min-microvolt = <1800000>;
187+
regulator-max-microvolt = <3300000>;
188+
};
189+
190+
l15 {
191+
regulator-min-microvolt = <1800000>;
192+
regulator-max-microvolt = <3300000>;
193+
};
194+
195+
l16 {
196+
regulator-min-microvolt = <1800000>;
197+
regulator-max-microvolt = <3300000>;
198+
};
199+
200+
l17 {
201+
regulator-min-microvolt = <2850000>;
202+
regulator-max-microvolt = <2850000>;
203+
regulator-always-on;
204+
};
205+
206+
l18 {
207+
regulator-min-microvolt = <2700000>;
208+
regulator-max-microvolt = <2700000>;
209+
};
210+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
// SPDX-License-Identifier: GPL-2.0-only
2+
/*
3+
* Copyright (C) 2021-2022 HandsomeYingyan <handsomeyingyan@gmail.com>
4+
*
5+
*/
6+
7+
/dts-v1/;
8+
#include "msm8916-handsome-openstick-common.dtsi"
9+
10+
/ {
11+
model = "Handsome OpenStick SP970";
12+
compatible = "handsome,openstick", "qcom,msm8916";
13+
14+
gpio-keys {
15+
compatible = "gpio-keys";
16+
#address-cells = <1>;
17+
#size-cells = <0>;
18+
autorepeat;
19+
20+
pinctrl-names = "default";
21+
pinctrl-0 = <&gpio_keys_default>;
22+
label = "GPIO Buttons";
23+
24+
reset {
25+
label = "Restart";
26+
gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
27+
linux,code = <KEY_RESTART>;
28+
};
29+
};
30+
31+
leds {
32+
pinctrl-names = "default";
33+
pinctrl-0 = <&msmgpio_leds>;
34+
35+
compatible = "gpio-leds";
36+
37+
wifi {
38+
label = "blue:wifi";
39+
gpios = <&msmgpio 28 GPIO_ACTIVE_HIGH>;
40+
linux,default-trigger = "phy0tx";
41+
default-state = "off";
42+
};
43+
44+
led_internet: internet {
45+
label = "green:internet";
46+
gpios = <&msmgpio 10 GPIO_ACTIVE_HIGH>;
47+
default-state = "off";
48+
};
49+
50+
os {
51+
label = "red:os";
52+
gpios = <&msmgpio 9 GPIO_ACTIVE_HIGH>;
53+
linux,default-trigger = "heartbeat";
54+
default-state = "on";
55+
};
56+
57+
};
58+
};
59+
60+
&pronto {
61+
status = "okay";
62+
63+
iris {
64+
compatible = "qcom,wcn3660b";
65+
};
66+
};
67+
68+
&msmgpio {
69+
msmgpio_leds: msmgpio-leds {
70+
pins = "gpio28","gpio10","gpio9";
71+
function = "gpio";
72+
73+
bias-disabled;
74+
};
75+
76+
gpio_keys_default: gpio_keys_default {
77+
pins = "gpio107";
78+
function = "gpio";
79+
80+
drive-strength = <8>;
81+
input-enable;
82+
bias-pull-up;
83+
};
84+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
// SPDX-License-Identifier: GPL-2.0-only
2+
/*
3+
* Copyright (C) 2021-2022 HandsomeYingyan <handsomeyingyan@gmail.com>
4+
*
5+
*/
6+
7+
/dts-v1/;
8+
#include "msm8916-handsome-openstick-common.dtsi"
9+
10+
/ {
11+
model = "Handsome OpenStick UFI001B";
12+
compatible = "handsome,openstick", "qcom,msm8916";
13+
14+
gpio-keys {
15+
compatible = "gpio-keys";
16+
#address-cells = <1>;
17+
#size-cells = <0>;
18+
autorepeat;
19+
20+
pinctrl-names = "default";
21+
pinctrl-0 = <&gpio_keys_default>;
22+
label = "GPIO Buttons";
23+
24+
reset {
25+
label = "Restart";
26+
gpios = <&msmgpio 37 GPIO_ACTIVE_LOW>;
27+
linux,code = <KEY_RESTART>;
28+
};
29+
};
30+
31+
leds {
32+
pinctrl-names = "default";
33+
pinctrl-0 = <&msmgpio_leds>;
34+
35+
compatible = "gpio-leds";
36+
37+
wifi {
38+
label = "blue:wifi";
39+
gpios = <&msmgpio 20 GPIO_ACTIVE_HIGH>;
40+
linux,default-trigger = "phy0tx";
41+
default-state = "off";
42+
};
43+
44+
led_internet: internet {
45+
label = "green:internet";
46+
gpios = <&msmgpio 21 GPIO_ACTIVE_HIGH>;
47+
default-state = "off";
48+
};
49+
50+
os {
51+
label = "red:os";
52+
gpios = <&msmgpio 22 GPIO_ACTIVE_HIGH>;
53+
linux,default-trigger = "heartbeat";
54+
default-state = "on";
55+
};
56+
57+
sim_sel {
58+
label = "sim:sel";
59+
gpios = <&msmgpio 2 GPIO_ACTIVE_HIGH>;
60+
default-state = "off";
61+
};
62+
63+
sim_en {
64+
label = "sim:en";
65+
gpios = <&msmgpio 1 GPIO_ACTIVE_HIGH>;
66+
default-state = "off";
67+
};
68+
69+
70+
};
71+
};
72+
73+
&msmgpio {
74+
msmgpio_leds: msmgpio-leds {
75+
pins = "gpio1","gpio2","gpio20","gpio21","gpio22";
76+
function = "gpio";
77+
78+
bias-disabled;
79+
};
80+
81+
gpio_keys_default: gpio_keys_default {
82+
pins = "gpio37";
83+
function = "gpio";
84+
85+
drive-strength = <8>;
86+
input-enable;
87+
bias-pull-up;
88+
};
89+
};

0 commit comments

Comments
 (0)