xref: /linux/scripts/dtc/include-prefixes/arm64/qcom/msm8916-wiko-chuppito.dts (revision 0fc8f6200d2313278fbf4539bbab74677c685531)
1*0b63fb8cSPaul Adam// SPDX-License-Identifier: GPL-2.0-only
2*0b63fb8cSPaul Adam
3*0b63fb8cSPaul Adam/dts-v1/;
4*0b63fb8cSPaul Adam
5*0b63fb8cSPaul Adam#include "msm8916-pm8916.dtsi"
6*0b63fb8cSPaul Adam#include "msm8916-modem-qdsp6.dtsi"
7*0b63fb8cSPaul Adam
8*0b63fb8cSPaul Adam#include <dt-bindings/gpio/gpio.h>
9*0b63fb8cSPaul Adam#include <dt-bindings/input/input.h>
10*0b63fb8cSPaul Adam#include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
11*0b63fb8cSPaul Adam
12*0b63fb8cSPaul Adam/ {
13*0b63fb8cSPaul Adam	model = "Wiko Pulp 4G";
14*0b63fb8cSPaul Adam	compatible = "wiko,chuppito", "qcom,msm8916";
15*0b63fb8cSPaul Adam	chassis-type = "handset";
16*0b63fb8cSPaul Adam
17*0b63fb8cSPaul Adam	aliases {
18*0b63fb8cSPaul Adam		mmc0 = &sdhc_1; /* eMMC */
19*0b63fb8cSPaul Adam		mmc1 = &sdhc_2; /* SD card */
20*0b63fb8cSPaul Adam		serial0 = &blsp_uart2;
21*0b63fb8cSPaul Adam	};
22*0b63fb8cSPaul Adam
23*0b63fb8cSPaul Adam	chosen {
24*0b63fb8cSPaul Adam		stdout-path = "serial0";
25*0b63fb8cSPaul Adam	};
26*0b63fb8cSPaul Adam
27*0b63fb8cSPaul Adam	backlight: backlight {
28*0b63fb8cSPaul Adam		compatible = "pwm-backlight";
29*0b63fb8cSPaul Adam		pwms = <&pm8916_pwm 0 100000>;
30*0b63fb8cSPaul Adam		brightness-levels = <0 255>;
31*0b63fb8cSPaul Adam		num-interpolated-steps = <255>;
32*0b63fb8cSPaul Adam		default-brightness-level = <255>;
33*0b63fb8cSPaul Adam		enable-gpios = <&tlmm 119 GPIO_ACTIVE_HIGH>;
34*0b63fb8cSPaul Adam		pinctrl-0 = <&button_backlight_default>;
35*0b63fb8cSPaul Adam		pinctrl-names = "default";
36*0b63fb8cSPaul Adam	};
37*0b63fb8cSPaul Adam
38*0b63fb8cSPaul Adam	gpio-hall-sensor {
39*0b63fb8cSPaul Adam		compatible = "gpio-keys";
40*0b63fb8cSPaul Adam		pinctrl-0 = <&gpio_hall_sensor_default>;
41*0b63fb8cSPaul Adam		pinctrl-names = "default";
42*0b63fb8cSPaul Adam		label = "Hall Effect Sensor";
43*0b63fb8cSPaul Adam
44*0b63fb8cSPaul Adam		event-hall-sensor {
45*0b63fb8cSPaul Adam			label = "Hall Effect Sensor";
46*0b63fb8cSPaul Adam			gpios = <&tlmm 117 GPIO_ACTIVE_LOW>;
47*0b63fb8cSPaul Adam			linux,input-type = <EV_SW>;
48*0b63fb8cSPaul Adam			linux,code = <SW_LID>;
49*0b63fb8cSPaul Adam			linux,can-disable;
50*0b63fb8cSPaul Adam		};
51*0b63fb8cSPaul Adam	};
52*0b63fb8cSPaul Adam
53*0b63fb8cSPaul Adam	gpio-keys {
54*0b63fb8cSPaul Adam		compatible = "gpio-keys";
55*0b63fb8cSPaul Adam		pinctrl-0 = <&gpio_keys_default>;
56*0b63fb8cSPaul Adam		pinctrl-names = "default";
57*0b63fb8cSPaul Adam		label = "Buttons";
58*0b63fb8cSPaul Adam
59*0b63fb8cSPaul Adam		button-volume-up {
60*0b63fb8cSPaul Adam			label = "Volume up";
61*0b63fb8cSPaul Adam			gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
62*0b63fb8cSPaul Adam			linux,code = <KEY_VOLUMEUP>;
63*0b63fb8cSPaul Adam		};
64*0b63fb8cSPaul Adam	};
65*0b63fb8cSPaul Adam
66*0b63fb8cSPaul Adam	usb_id: usb-id {
67*0b63fb8cSPaul Adam		compatible = "linux,extcon-usb-gpio";
68*0b63fb8cSPaul Adam		id-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>;
69*0b63fb8cSPaul Adam		pinctrl-0 = <&usb_id_default>;
70*0b63fb8cSPaul Adam		pinctrl-names = "default";
71*0b63fb8cSPaul Adam	};
72*0b63fb8cSPaul Adam};
73*0b63fb8cSPaul Adam
74*0b63fb8cSPaul Adam&blsp_i2c2 {
75*0b63fb8cSPaul Adam	status = "okay";
76*0b63fb8cSPaul Adam
77*0b63fb8cSPaul Adam	magnetometer@c {
78*0b63fb8cSPaul Adam		compatible = "asahi-kasei,ak09911";
79*0b63fb8cSPaul Adam		reg = <0x0c>;
80*0b63fb8cSPaul Adam		vdd-supply = <&pm8916_l17>;
81*0b63fb8cSPaul Adam		vid-supply = <&pm8916_l6>;
82*0b63fb8cSPaul Adam		reset-gpios = <&tlmm 120 GPIO_ACTIVE_LOW>;
83*0b63fb8cSPaul Adam		pinctrl-0 = <&mag_reset_default>;
84*0b63fb8cSPaul Adam		pinctrl-names = "default";
85*0b63fb8cSPaul Adam		mount-matrix = "1",  "0", "0",
86*0b63fb8cSPaul Adam			       "0", "1", "0",
87*0b63fb8cSPaul Adam			       "0",  "0", "1";
88*0b63fb8cSPaul Adam	};
89*0b63fb8cSPaul Adam
90*0b63fb8cSPaul Adam	proximity@48 {
91*0b63fb8cSPaul Adam		compatible = "sensortek,stk3310";
92*0b63fb8cSPaul Adam		reg = <0x48>;
93*0b63fb8cSPaul Adam		interrupts-extended = <&tlmm 113 IRQ_TYPE_EDGE_FALLING>;
94*0b63fb8cSPaul Adam		pinctrl-0 = <&proximity_int_default>;
95*0b63fb8cSPaul Adam		pinctrl-names = "default";
96*0b63fb8cSPaul Adam	};
97*0b63fb8cSPaul Adam
98*0b63fb8cSPaul Adam	imu@68 {
99*0b63fb8cSPaul Adam		compatible = "invensense,mpu6880";
100*0b63fb8cSPaul Adam		reg = <0x68>;
101*0b63fb8cSPaul Adam		interrupts-extended = <&tlmm 115 IRQ_TYPE_EDGE_FALLING>;
102*0b63fb8cSPaul Adam		vdd-supply = <&pm8916_l17>;
103*0b63fb8cSPaul Adam		vddio-supply = <&pm8916_l6>;
104*0b63fb8cSPaul Adam		pinctrl-0 = <&imu_int_default>;
105*0b63fb8cSPaul Adam		pinctrl-names = "default";
106*0b63fb8cSPaul Adam		mount-matrix = "0",  "-1", "0",
107*0b63fb8cSPaul Adam			       "-1", "0", "0",
108*0b63fb8cSPaul Adam			       "0",  "0", "-1";
109*0b63fb8cSPaul Adam	};
110*0b63fb8cSPaul Adam};
111*0b63fb8cSPaul Adam
112*0b63fb8cSPaul Adam&blsp_i2c5 {
113*0b63fb8cSPaul Adam	status = "okay";
114*0b63fb8cSPaul Adam
115*0b63fb8cSPaul Adam	touchscreen@39 {
116*0b63fb8cSPaul Adam		compatible = "syna,rmi4-i2c";
117*0b63fb8cSPaul Adam		reg = <0x39>;
118*0b63fb8cSPaul Adam		interrupts-extended = <&tlmm 13 IRQ_TYPE_EDGE_FALLING>;
119*0b63fb8cSPaul Adam		vdd-supply = <&pm8916_l17>;
120*0b63fb8cSPaul Adam		vio-supply = <&pm8916_l6>;
121*0b63fb8cSPaul Adam		pinctrl-0 = <&touchscreen_default>;
122*0b63fb8cSPaul Adam		pinctrl-names = "default";
123*0b63fb8cSPaul Adam		#address-cells = <1>;
124*0b63fb8cSPaul Adam		#size-cells = <0>;
125*0b63fb8cSPaul Adam		syna,startup-delay-ms = <100>;
126*0b63fb8cSPaul Adam		syna,reset-delay-ms = <160>;
127*0b63fb8cSPaul Adam
128*0b63fb8cSPaul Adam		rmi4-f01@1 {
129*0b63fb8cSPaul Adam			reg = <0x1>;
130*0b63fb8cSPaul Adam			syna,nosleep-mode = <1>;
131*0b63fb8cSPaul Adam		};
132*0b63fb8cSPaul Adam
133*0b63fb8cSPaul Adam		rmi4-f11@11 {
134*0b63fb8cSPaul Adam			reg = <0x11>;
135*0b63fb8cSPaul Adam			syna,sensor-type = <1>;
136*0b63fb8cSPaul Adam		};
137*0b63fb8cSPaul Adam	};
138*0b63fb8cSPaul Adam};
139*0b63fb8cSPaul Adam
140*0b63fb8cSPaul Adam&blsp_uart2 {
141*0b63fb8cSPaul Adam	status = "okay";
142*0b63fb8cSPaul Adam};
143*0b63fb8cSPaul Adam
144*0b63fb8cSPaul Adam&gpu {
145*0b63fb8cSPaul Adam	status = "okay";
146*0b63fb8cSPaul Adam};
147*0b63fb8cSPaul Adam
148*0b63fb8cSPaul Adam&mdss {
149*0b63fb8cSPaul Adam	status = "okay";
150*0b63fb8cSPaul Adam};
151*0b63fb8cSPaul Adam
152*0b63fb8cSPaul Adam&mpss_mem {
153*0b63fb8cSPaul Adam	reg = <0x0 0x86800000 0x0 0x5600000>;
154*0b63fb8cSPaul Adam};
155*0b63fb8cSPaul Adam
156*0b63fb8cSPaul Adam&pm8916_codec {
157*0b63fb8cSPaul Adam	qcom,hphl-jack-type-normally-open;
158*0b63fb8cSPaul Adam};
159*0b63fb8cSPaul Adam
160*0b63fb8cSPaul Adam&pm8916_mpps {
161*0b63fb8cSPaul Adam	pwm_out: mpp4-state {
162*0b63fb8cSPaul Adam		pins = "mpp4";
163*0b63fb8cSPaul Adam		function = "digital";
164*0b63fb8cSPaul Adam		power-source = <PM8916_MPP_VPH>;
165*0b63fb8cSPaul Adam		output-low;
166*0b63fb8cSPaul Adam		qcom,dtest = <1>;
167*0b63fb8cSPaul Adam	};
168*0b63fb8cSPaul Adam};
169*0b63fb8cSPaul Adam
170*0b63fb8cSPaul Adam&pm8916_pwm {
171*0b63fb8cSPaul Adam	pinctrl-0 = <&pwm_out>;
172*0b63fb8cSPaul Adam	pinctrl-names = "default";
173*0b63fb8cSPaul Adam
174*0b63fb8cSPaul Adam	status = "okay";
175*0b63fb8cSPaul Adam};
176*0b63fb8cSPaul Adam
177*0b63fb8cSPaul Adam&pm8916_resin {
178*0b63fb8cSPaul Adam	linux,code = <KEY_VOLUMEDOWN>;
179*0b63fb8cSPaul Adam
180*0b63fb8cSPaul Adam	status = "okay";
181*0b63fb8cSPaul Adam};
182*0b63fb8cSPaul Adam
183*0b63fb8cSPaul Adam&pm8916_rpm_regulators {
184*0b63fb8cSPaul Adam	pm8916_l17: l17 {
185*0b63fb8cSPaul Adam		regulator-min-microvolt = <2850000>;
186*0b63fb8cSPaul Adam		regulator-max-microvolt = <2850000>;
187*0b63fb8cSPaul Adam	};
188*0b63fb8cSPaul Adam};
189*0b63fb8cSPaul Adam
190*0b63fb8cSPaul Adam&pm8916_vib {
191*0b63fb8cSPaul Adam	status = "okay";
192*0b63fb8cSPaul Adam};
193*0b63fb8cSPaul Adam
194*0b63fb8cSPaul Adam&sdhc_1 {
195*0b63fb8cSPaul Adam	status = "okay";
196*0b63fb8cSPaul Adam};
197*0b63fb8cSPaul Adam
198*0b63fb8cSPaul Adam&sdhc_2 {
199*0b63fb8cSPaul Adam	pinctrl-0 = <&sdc2_default>, <&sdc2_cd_default>;
200*0b63fb8cSPaul Adam	pinctrl-1 = <&sdc2_sleep>, <&sdc2_cd_default>;
201*0b63fb8cSPaul Adam	pinctrl-names = "default", "sleep";
202*0b63fb8cSPaul Adam	cd-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>;
203*0b63fb8cSPaul Adam
204*0b63fb8cSPaul Adam	status = "okay";
205*0b63fb8cSPaul Adam};
206*0b63fb8cSPaul Adam
207*0b63fb8cSPaul Adam&sound {
208*0b63fb8cSPaul Adam	audio-routing = "AMIC1", "MIC BIAS Internal1",
209*0b63fb8cSPaul Adam		"AMIC2", "MIC BIAS Internal2";
210*0b63fb8cSPaul Adam};
211*0b63fb8cSPaul Adam
212*0b63fb8cSPaul Adam&tlmm {
213*0b63fb8cSPaul Adam	button_backlight_default: button-backlight-default-state {
214*0b63fb8cSPaul Adam		pins = "gpio119";
215*0b63fb8cSPaul Adam		function = "gpio";
216*0b63fb8cSPaul Adam		drive-strength = <2>;
217*0b63fb8cSPaul Adam		bias-disable;
218*0b63fb8cSPaul Adam	};
219*0b63fb8cSPaul Adam
220*0b63fb8cSPaul Adam	gpio_hall_sensor_default: gpio-hall-sensor-default-state {
221*0b63fb8cSPaul Adam		pins = "gpio117";
222*0b63fb8cSPaul Adam		function = "gpio";
223*0b63fb8cSPaul Adam		drive-strength = <6>;
224*0b63fb8cSPaul Adam		bias-pull-up;
225*0b63fb8cSPaul Adam	};
226*0b63fb8cSPaul Adam
227*0b63fb8cSPaul Adam	gpio_keys_default: gpio-keys-default-state {
228*0b63fb8cSPaul Adam		pins = "gpio107";
229*0b63fb8cSPaul Adam		function = "gpio";
230*0b63fb8cSPaul Adam		drive-strength = <2>;
231*0b63fb8cSPaul Adam		bias-pull-up;
232*0b63fb8cSPaul Adam	};
233*0b63fb8cSPaul Adam
234*0b63fb8cSPaul Adam	imu_int_default: imu-int-default-state {
235*0b63fb8cSPaul Adam		pins = "gpio115";
236*0b63fb8cSPaul Adam		function = "gpio";
237*0b63fb8cSPaul Adam		drive-strength = <2>;
238*0b63fb8cSPaul Adam		bias-disable;
239*0b63fb8cSPaul Adam	};
240*0b63fb8cSPaul Adam
241*0b63fb8cSPaul Adam	mag_reset_default: mag-reset-default-state {
242*0b63fb8cSPaul Adam		pins = "gpio120";
243*0b63fb8cSPaul Adam		function = "gpio";
244*0b63fb8cSPaul Adam		drive-strength = <2>;
245*0b63fb8cSPaul Adam		bias-disable;
246*0b63fb8cSPaul Adam	};
247*0b63fb8cSPaul Adam
248*0b63fb8cSPaul Adam	proximity_int_default: proximity-int-default-state {
249*0b63fb8cSPaul Adam		pins = "gpio113";
250*0b63fb8cSPaul Adam		function = "gpio";
251*0b63fb8cSPaul Adam		drive-strength = <6>;
252*0b63fb8cSPaul Adam		bias-pull-up;
253*0b63fb8cSPaul Adam	};
254*0b63fb8cSPaul Adam
255*0b63fb8cSPaul Adam	sdc2_cd_default: sdc2-cd-default-state {
256*0b63fb8cSPaul Adam		pins = "gpio38";
257*0b63fb8cSPaul Adam		function = "gpio";
258*0b63fb8cSPaul Adam		drive-strength = <2>;
259*0b63fb8cSPaul Adam		bias-disable;
260*0b63fb8cSPaul Adam	};
261*0b63fb8cSPaul Adam
262*0b63fb8cSPaul Adam	touchscreen_default: touchscreen-default-state {
263*0b63fb8cSPaul Adam		touchscreen-pins {
264*0b63fb8cSPaul Adam			pins = "gpio13";
265*0b63fb8cSPaul Adam			function = "gpio";
266*0b63fb8cSPaul Adam			drive-strength = <2>;
267*0b63fb8cSPaul Adam			bias-pull-up;
268*0b63fb8cSPaul Adam		};
269*0b63fb8cSPaul Adam
270*0b63fb8cSPaul Adam		reset-pins {
271*0b63fb8cSPaul Adam			pins = "gpio12";
272*0b63fb8cSPaul Adam			function = "gpio";
273*0b63fb8cSPaul Adam			drive-strength = <2>;
274*0b63fb8cSPaul Adam			bias-disable;
275*0b63fb8cSPaul Adam		};
276*0b63fb8cSPaul Adam	};
277*0b63fb8cSPaul Adam
278*0b63fb8cSPaul Adam	usb_id_default: usb-id-default-state {
279*0b63fb8cSPaul Adam		pins = "gpio110";
280*0b63fb8cSPaul Adam		function = "gpio";
281*0b63fb8cSPaul Adam		drive-strength = <8>;
282*0b63fb8cSPaul Adam		bias-pull-up;
283*0b63fb8cSPaul Adam	};
284*0b63fb8cSPaul Adam};
285*0b63fb8cSPaul Adam
286*0b63fb8cSPaul Adam&usb {
287*0b63fb8cSPaul Adam	extcon = <&usb_id>, <&usb_id>;
288*0b63fb8cSPaul Adam
289*0b63fb8cSPaul Adam	status = "okay";
290*0b63fb8cSPaul Adam};
291*0b63fb8cSPaul Adam
292*0b63fb8cSPaul Adam&usb_hs_phy {
293*0b63fb8cSPaul Adam	extcon = <&usb_id>;
294*0b63fb8cSPaul Adam};
295*0b63fb8cSPaul Adam
296*0b63fb8cSPaul Adam&venus {
297*0b63fb8cSPaul Adam	status = "okay";
298*0b63fb8cSPaul Adam};
299*0b63fb8cSPaul Adam
300*0b63fb8cSPaul Adam&venus_mem {
301*0b63fb8cSPaul Adam	status = "okay";
302*0b63fb8cSPaul Adam};
303*0b63fb8cSPaul Adam
304*0b63fb8cSPaul Adam&wcnss {
305*0b63fb8cSPaul Adam	status = "okay";
306*0b63fb8cSPaul Adam};
307*0b63fb8cSPaul Adam
308*0b63fb8cSPaul Adam&wcnss_iris {
309*0b63fb8cSPaul Adam	compatible = "qcom,wcn3620";
310*0b63fb8cSPaul Adam};
311*0b63fb8cSPaul Adam
312*0b63fb8cSPaul Adam&wcnss_mem {
313*0b63fb8cSPaul Adam	status = "okay";
314*0b63fb8cSPaul Adam};
315