xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/msm8939-wingtech-wt82918.dtsi (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
1*b2d2a78aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only
2*b2d2a78aSEmmanuel Vadot
3*b2d2a78aSEmmanuel Vadot#include "msm8916-modem-qdsp6.dtsi"
4*b2d2a78aSEmmanuel Vadot
5*b2d2a78aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
6*b2d2a78aSEmmanuel Vadot#include <dt-bindings/leds/common.h>
7*b2d2a78aSEmmanuel Vadot#include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
8*b2d2a78aSEmmanuel Vadot
9*b2d2a78aSEmmanuel Vadot/ {
10*b2d2a78aSEmmanuel Vadot	aliases {
11*b2d2a78aSEmmanuel Vadot		mmc0 = &sdhc_1; /* eMMC */
12*b2d2a78aSEmmanuel Vadot		mmc1 = &sdhc_2; /* SD card */
13*b2d2a78aSEmmanuel Vadot		serial0 = &blsp_uart2;
14*b2d2a78aSEmmanuel Vadot	};
15*b2d2a78aSEmmanuel Vadot
16*b2d2a78aSEmmanuel Vadot	chosen {
17*b2d2a78aSEmmanuel Vadot		stdout-path = "serial0";
18*b2d2a78aSEmmanuel Vadot	};
19*b2d2a78aSEmmanuel Vadot
20*b2d2a78aSEmmanuel Vadot	backlight: backlight {
21*b2d2a78aSEmmanuel Vadot		compatible = "pwm-backlight";
22*b2d2a78aSEmmanuel Vadot		pwms = <&pm8916_pwm 0 100000>;
23*b2d2a78aSEmmanuel Vadot		brightness-levels = <0 255>;
24*b2d2a78aSEmmanuel Vadot		num-interpolated-steps = <255>;
25*b2d2a78aSEmmanuel Vadot		default-brightness-level = <128>;
26*b2d2a78aSEmmanuel Vadot	};
27*b2d2a78aSEmmanuel Vadot
28*b2d2a78aSEmmanuel Vadot	flash-led-controller {
29*b2d2a78aSEmmanuel Vadot		compatible = "sgmicro,sgm3140";
30*b2d2a78aSEmmanuel Vadot		enable-gpios = <&tlmm 31 GPIO_ACTIVE_HIGH>;
31*b2d2a78aSEmmanuel Vadot		flash-gpios = <&tlmm 32 GPIO_ACTIVE_HIGH>;
32*b2d2a78aSEmmanuel Vadot
33*b2d2a78aSEmmanuel Vadot		pinctrl-0 = <&camera_front_flash_default>;
34*b2d2a78aSEmmanuel Vadot		pinctrl-names = "default";
35*b2d2a78aSEmmanuel Vadot
36*b2d2a78aSEmmanuel Vadot		flash_led: led {
37*b2d2a78aSEmmanuel Vadot			function = LED_FUNCTION_FLASH;
38*b2d2a78aSEmmanuel Vadot			color = <LED_COLOR_ID_WHITE>;
39*b2d2a78aSEmmanuel Vadot		};
40*b2d2a78aSEmmanuel Vadot	};
41*b2d2a78aSEmmanuel Vadot
42*b2d2a78aSEmmanuel Vadot	gpio-keys {
43*b2d2a78aSEmmanuel Vadot		compatible = "gpio-keys";
44*b2d2a78aSEmmanuel Vadot
45*b2d2a78aSEmmanuel Vadot		pinctrl-0 = <&gpio_keys_default>;
46*b2d2a78aSEmmanuel Vadot		pinctrl-names = "default";
47*b2d2a78aSEmmanuel Vadot
48*b2d2a78aSEmmanuel Vadot		label = "GPIO Buttons";
49*b2d2a78aSEmmanuel Vadot
50*b2d2a78aSEmmanuel Vadot		button-volume-up {
51*b2d2a78aSEmmanuel Vadot			label = "Volume Up";
52*b2d2a78aSEmmanuel Vadot			gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
53*b2d2a78aSEmmanuel Vadot			linux,code = <KEY_VOLUMEUP>;
54*b2d2a78aSEmmanuel Vadot		};
55*b2d2a78aSEmmanuel Vadot	};
56*b2d2a78aSEmmanuel Vadot
57*b2d2a78aSEmmanuel Vadot	gpio-leds {
58*b2d2a78aSEmmanuel Vadot		compatible = "gpio-leds";
59*b2d2a78aSEmmanuel Vadot
60*b2d2a78aSEmmanuel Vadot		pinctrl-0 = <&gpio_leds_default>;
61*b2d2a78aSEmmanuel Vadot		pinctrl-names = "default";
62*b2d2a78aSEmmanuel Vadot
63*b2d2a78aSEmmanuel Vadot		led-0 {
64*b2d2a78aSEmmanuel Vadot			gpios = <&tlmm 69 GPIO_ACTIVE_LOW>;
65*b2d2a78aSEmmanuel Vadot			function = LED_FUNCTION_CHARGING;
66*b2d2a78aSEmmanuel Vadot			color = <LED_COLOR_ID_RED>;
67*b2d2a78aSEmmanuel Vadot			default-state = "off";
68*b2d2a78aSEmmanuel Vadot			retain-state-suspended;
69*b2d2a78aSEmmanuel Vadot		};
70*b2d2a78aSEmmanuel Vadot
71*b2d2a78aSEmmanuel Vadot		led-1 {
72*b2d2a78aSEmmanuel Vadot			gpios = <&tlmm 36 GPIO_ACTIVE_HIGH>;
73*b2d2a78aSEmmanuel Vadot			function = LED_FUNCTION_STATUS;
74*b2d2a78aSEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
75*b2d2a78aSEmmanuel Vadot			default-state = "off";
76*b2d2a78aSEmmanuel Vadot			retain-state-suspended;
77*b2d2a78aSEmmanuel Vadot		};
78*b2d2a78aSEmmanuel Vadot	};
79*b2d2a78aSEmmanuel Vadot
80*b2d2a78aSEmmanuel Vadot	usb_id: usb-id {
81*b2d2a78aSEmmanuel Vadot		compatible = "linux,extcon-usb-gpio";
82*b2d2a78aSEmmanuel Vadot		id-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>;
83*b2d2a78aSEmmanuel Vadot		pinctrl-0 = <&usb_id_default>;
84*b2d2a78aSEmmanuel Vadot		pinctrl-names = "default";
85*b2d2a78aSEmmanuel Vadot	};
86*b2d2a78aSEmmanuel Vadot};
87*b2d2a78aSEmmanuel Vadot
88*b2d2a78aSEmmanuel Vadot&blsp_i2c2 {
89*b2d2a78aSEmmanuel Vadot	status = "okay";
90*b2d2a78aSEmmanuel Vadot
91*b2d2a78aSEmmanuel Vadot	accelerometer@68 {
92*b2d2a78aSEmmanuel Vadot		compatible = "invensense,icm20608";
93*b2d2a78aSEmmanuel Vadot		reg = <0x68>;
94*b2d2a78aSEmmanuel Vadot
95*b2d2a78aSEmmanuel Vadot		interrupts-extended = <&tlmm 115 IRQ_TYPE_EDGE_FALLING>;
96*b2d2a78aSEmmanuel Vadot
97*b2d2a78aSEmmanuel Vadot		pinctrl-0 = <&accelerometer_default>;
98*b2d2a78aSEmmanuel Vadot		pinctrl-names = "default";
99*b2d2a78aSEmmanuel Vadot
100*b2d2a78aSEmmanuel Vadot		vdd-supply = <&pm8916_l17>;
101*b2d2a78aSEmmanuel Vadot		vddio-supply = <&pm8916_l6>;
102*b2d2a78aSEmmanuel Vadot
103*b2d2a78aSEmmanuel Vadot		mount-matrix = "-1", "0", "0",
104*b2d2a78aSEmmanuel Vadot				"0", "1", "0",
105*b2d2a78aSEmmanuel Vadot				"0", "0", "1";
106*b2d2a78aSEmmanuel Vadot	};
107*b2d2a78aSEmmanuel Vadot};
108*b2d2a78aSEmmanuel Vadot
109*b2d2a78aSEmmanuel Vadot&blsp_i2c5 {
110*b2d2a78aSEmmanuel Vadot	status = "okay";
111*b2d2a78aSEmmanuel Vadot
112*b2d2a78aSEmmanuel Vadot	touchscreen: touchscreen@38 {
113*b2d2a78aSEmmanuel Vadot		compatible = "edt,edt-ft5306";
114*b2d2a78aSEmmanuel Vadot		reg = <0x38>;
115*b2d2a78aSEmmanuel Vadot
116*b2d2a78aSEmmanuel Vadot		interrupts-extended = <&tlmm 13 IRQ_TYPE_LEVEL_LOW>;
117*b2d2a78aSEmmanuel Vadot
118*b2d2a78aSEmmanuel Vadot		pinctrl-0 = <&touchscreen_default>;
119*b2d2a78aSEmmanuel Vadot		pinctrl-names = "default";
120*b2d2a78aSEmmanuel Vadot
121*b2d2a78aSEmmanuel Vadot		vcc-supply = <&pm8916_l17>;
122*b2d2a78aSEmmanuel Vadot		iovcc-supply = <&pm8916_l6>;
123*b2d2a78aSEmmanuel Vadot
124*b2d2a78aSEmmanuel Vadot		reset-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>;
125*b2d2a78aSEmmanuel Vadot	};
126*b2d2a78aSEmmanuel Vadot};
127*b2d2a78aSEmmanuel Vadot
128*b2d2a78aSEmmanuel Vadot&blsp_uart2 {
129*b2d2a78aSEmmanuel Vadot	status = "okay";
130*b2d2a78aSEmmanuel Vadot};
131*b2d2a78aSEmmanuel Vadot
132*b2d2a78aSEmmanuel Vadot&mpss_mem {
133*b2d2a78aSEmmanuel Vadot	reg = <0x0 0x86800000 0x0 0x5500000>;
134*b2d2a78aSEmmanuel Vadot};
135*b2d2a78aSEmmanuel Vadot
136*b2d2a78aSEmmanuel Vadot&pm8916_pwm {
137*b2d2a78aSEmmanuel Vadot	pinctrl-0 = <&pwm_out>;
138*b2d2a78aSEmmanuel Vadot	pinctrl-names = "default";
139*b2d2a78aSEmmanuel Vadot	status = "okay";
140*b2d2a78aSEmmanuel Vadot};
141*b2d2a78aSEmmanuel Vadot
142*b2d2a78aSEmmanuel Vadot&pm8916_resin {
143*b2d2a78aSEmmanuel Vadot	linux,code = <KEY_VOLUMEDOWN>;
144*b2d2a78aSEmmanuel Vadot	status = "okay";
145*b2d2a78aSEmmanuel Vadot};
146*b2d2a78aSEmmanuel Vadot
147*b2d2a78aSEmmanuel Vadot&pm8916_rpm_regulators {
148*b2d2a78aSEmmanuel Vadot	pm8916_l17: l17 {
149*b2d2a78aSEmmanuel Vadot		regulator-min-microvolt = <2850000>;
150*b2d2a78aSEmmanuel Vadot		regulator-max-microvolt = <2850000>;
151*b2d2a78aSEmmanuel Vadot	};
152*b2d2a78aSEmmanuel Vadot};
153*b2d2a78aSEmmanuel Vadot
154*b2d2a78aSEmmanuel Vadot&pm8916_vib {
155*b2d2a78aSEmmanuel Vadot	status = "okay";
156*b2d2a78aSEmmanuel Vadot};
157*b2d2a78aSEmmanuel Vadot
158*b2d2a78aSEmmanuel Vadot&sdhc_1 {
159*b2d2a78aSEmmanuel Vadot	status = "okay";
160*b2d2a78aSEmmanuel Vadot};
161*b2d2a78aSEmmanuel Vadot
162*b2d2a78aSEmmanuel Vadot&sdhc_2 {
163*b2d2a78aSEmmanuel Vadot	pinctrl-0 = <&sdc2_default>;
164*b2d2a78aSEmmanuel Vadot	pinctrl-1 = <&sdc2_sleep>;
165*b2d2a78aSEmmanuel Vadot	pinctrl-names = "default", "sleep";
166*b2d2a78aSEmmanuel Vadot	non-removable;
167*b2d2a78aSEmmanuel Vadot	status = "okay";
168*b2d2a78aSEmmanuel Vadot};
169*b2d2a78aSEmmanuel Vadot
170*b2d2a78aSEmmanuel Vadot&usb {
171*b2d2a78aSEmmanuel Vadot	extcon = <&usb_id>, <&usb_id>;
172*b2d2a78aSEmmanuel Vadot	status = "okay";
173*b2d2a78aSEmmanuel Vadot};
174*b2d2a78aSEmmanuel Vadot
175*b2d2a78aSEmmanuel Vadot&usb_hs_phy {
176*b2d2a78aSEmmanuel Vadot	extcon = <&usb_id>;
177*b2d2a78aSEmmanuel Vadot};
178*b2d2a78aSEmmanuel Vadot
179*b2d2a78aSEmmanuel Vadot&wcnss {
180*b2d2a78aSEmmanuel Vadot	status = "okay";
181*b2d2a78aSEmmanuel Vadot};
182*b2d2a78aSEmmanuel Vadot
183*b2d2a78aSEmmanuel Vadot&wcnss_iris {
184*b2d2a78aSEmmanuel Vadot	compatible = "qcom,wcn3620";
185*b2d2a78aSEmmanuel Vadot};
186*b2d2a78aSEmmanuel Vadot
187*b2d2a78aSEmmanuel Vadot&wcnss_mem {
188*b2d2a78aSEmmanuel Vadot	status = "okay";
189*b2d2a78aSEmmanuel Vadot};
190*b2d2a78aSEmmanuel Vadot
191*b2d2a78aSEmmanuel Vadot&tlmm {
192*b2d2a78aSEmmanuel Vadot	accelerometer_default: accelerometer-default-state {
193*b2d2a78aSEmmanuel Vadot		pins = "gpio115";
194*b2d2a78aSEmmanuel Vadot		function = "gpio";
195*b2d2a78aSEmmanuel Vadot		drive-strength = <6>;
196*b2d2a78aSEmmanuel Vadot		bias-pull-up;
197*b2d2a78aSEmmanuel Vadot	};
198*b2d2a78aSEmmanuel Vadot
199*b2d2a78aSEmmanuel Vadot	camera_front_flash_default: camera-front-flash-default-state {
200*b2d2a78aSEmmanuel Vadot		pins = "gpio31", "gpio32";
201*b2d2a78aSEmmanuel Vadot		function = "gpio";
202*b2d2a78aSEmmanuel Vadot		drive-strength = <2>;
203*b2d2a78aSEmmanuel Vadot		bias-disable;
204*b2d2a78aSEmmanuel Vadot	};
205*b2d2a78aSEmmanuel Vadot
206*b2d2a78aSEmmanuel Vadot	gpio_keys_default: gpio-keys-default-state {
207*b2d2a78aSEmmanuel Vadot		pins = "gpio107";
208*b2d2a78aSEmmanuel Vadot		function = "gpio";
209*b2d2a78aSEmmanuel Vadot		drive-strength = <2>;
210*b2d2a78aSEmmanuel Vadot		bias-pull-up;
211*b2d2a78aSEmmanuel Vadot	};
212*b2d2a78aSEmmanuel Vadot
213*b2d2a78aSEmmanuel Vadot	gpio_leds_default: gpio-leds-default-state {
214*b2d2a78aSEmmanuel Vadot		pins = "gpio36", "gpio69";
215*b2d2a78aSEmmanuel Vadot		function = "gpio";
216*b2d2a78aSEmmanuel Vadot		drive-strength = <2>;
217*b2d2a78aSEmmanuel Vadot		bias-disable;
218*b2d2a78aSEmmanuel Vadot	};
219*b2d2a78aSEmmanuel Vadot
220*b2d2a78aSEmmanuel Vadot	touchscreen_default: touchscreen-default-state {
221*b2d2a78aSEmmanuel Vadot		reset-pins {
222*b2d2a78aSEmmanuel Vadot			pins = "gpio12";
223*b2d2a78aSEmmanuel Vadot			function = "gpio";
224*b2d2a78aSEmmanuel Vadot			drive-strength = <2>;
225*b2d2a78aSEmmanuel Vadot			bias-disable;
226*b2d2a78aSEmmanuel Vadot		};
227*b2d2a78aSEmmanuel Vadot
228*b2d2a78aSEmmanuel Vadot		touchscreen-pins {
229*b2d2a78aSEmmanuel Vadot			pins = "gpio13";
230*b2d2a78aSEmmanuel Vadot			function = "gpio";
231*b2d2a78aSEmmanuel Vadot			drive-strength = <2>;
232*b2d2a78aSEmmanuel Vadot			bias-pull-up;
233*b2d2a78aSEmmanuel Vadot		};
234*b2d2a78aSEmmanuel Vadot	};
235*b2d2a78aSEmmanuel Vadot
236*b2d2a78aSEmmanuel Vadot	usb_id_default: usb-id-default-state {
237*b2d2a78aSEmmanuel Vadot		pins = "gpio110";
238*b2d2a78aSEmmanuel Vadot		function = "gpio";
239*b2d2a78aSEmmanuel Vadot		drive-strength = <8>;
240*b2d2a78aSEmmanuel Vadot		bias-pull-up;
241*b2d2a78aSEmmanuel Vadot	};
242*b2d2a78aSEmmanuel Vadot};
243*b2d2a78aSEmmanuel Vadot
244*b2d2a78aSEmmanuel Vadot&pm8916_mpps {
245*b2d2a78aSEmmanuel Vadot	pwm_out: mpp4-state {
246*b2d2a78aSEmmanuel Vadot		pins = "mpp4";
247*b2d2a78aSEmmanuel Vadot		function = "digital";
248*b2d2a78aSEmmanuel Vadot		power-source = <PM8916_MPP_VPH>;
249*b2d2a78aSEmmanuel Vadot		output-low;
250*b2d2a78aSEmmanuel Vadot		qcom,dtest = <1>;
251*b2d2a78aSEmmanuel Vadot	};
252*b2d2a78aSEmmanuel Vadot};
253