xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/msm8916-wingtech-wt86528.dts (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
1*b2d2a78aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only
2*b2d2a78aSEmmanuel Vadot
3*b2d2a78aSEmmanuel Vadot/dts-v1/;
4*b2d2a78aSEmmanuel Vadot
5*b2d2a78aSEmmanuel Vadot#include "msm8916-wingtech-wt865x8.dtsi"
6*b2d2a78aSEmmanuel Vadot
7*b2d2a78aSEmmanuel Vadot/ {
8*b2d2a78aSEmmanuel Vadot	model = "Lenovo A6010 (Wingtech WT86528)";
9*b2d2a78aSEmmanuel Vadot	compatible = "wingtech,wt86528", "qcom,msm8916";
10*b2d2a78aSEmmanuel Vadot	chassis-type = "handset";
11*b2d2a78aSEmmanuel Vadot
12*b2d2a78aSEmmanuel Vadot	/* left AW8736 */
13*b2d2a78aSEmmanuel Vadot	speaker_amp_left: audio-amplifier-left {
14*b2d2a78aSEmmanuel Vadot		compatible = "awinic,aw8738";
15*b2d2a78aSEmmanuel Vadot
16*b2d2a78aSEmmanuel Vadot		pinctrl-0 = <&spk_ext_pa_left_default>;
17*b2d2a78aSEmmanuel Vadot		pinctrl-names = "default";
18*b2d2a78aSEmmanuel Vadot
19*b2d2a78aSEmmanuel Vadot		mode-gpios = <&tlmm 119 GPIO_ACTIVE_HIGH>;
20*b2d2a78aSEmmanuel Vadot		sound-name-prefix = "Speaker Amp L";
21*b2d2a78aSEmmanuel Vadot		awinic,mode = <3>;
22*b2d2a78aSEmmanuel Vadot	};
23*b2d2a78aSEmmanuel Vadot
24*b2d2a78aSEmmanuel Vadot	/* right AW8736 */
25*b2d2a78aSEmmanuel Vadot	speaker_amp_right: audio-amplifier-right {
26*b2d2a78aSEmmanuel Vadot		compatible = "awinic,aw8738";
27*b2d2a78aSEmmanuel Vadot
28*b2d2a78aSEmmanuel Vadot		pinctrl-0 = <&spk_ext_pa_right_default>;
29*b2d2a78aSEmmanuel Vadot		pinctrl-names = "default";
30*b2d2a78aSEmmanuel Vadot
31*b2d2a78aSEmmanuel Vadot		mode-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>;
32*b2d2a78aSEmmanuel Vadot		sound-name-prefix = "Speaker Amp R";
33*b2d2a78aSEmmanuel Vadot		awinic,mode = <3>;
34*b2d2a78aSEmmanuel Vadot	};
35*b2d2a78aSEmmanuel Vadot
36*b2d2a78aSEmmanuel Vadot	gpio-leds {
37*b2d2a78aSEmmanuel Vadot		compatible = "gpio-leds";
38*b2d2a78aSEmmanuel Vadot
39*b2d2a78aSEmmanuel Vadot		pinctrl-0 = <&gpio_leds_default>;
40*b2d2a78aSEmmanuel Vadot		pinctrl-names = "default";
41*b2d2a78aSEmmanuel Vadot
42*b2d2a78aSEmmanuel Vadot		led-0 {
43*b2d2a78aSEmmanuel Vadot			gpios = <&tlmm 16 GPIO_ACTIVE_LOW>;
44*b2d2a78aSEmmanuel Vadot			label = "red";
45*b2d2a78aSEmmanuel Vadot			default-state = "off";
46*b2d2a78aSEmmanuel Vadot			retain-state-suspended;
47*b2d2a78aSEmmanuel Vadot		};
48*b2d2a78aSEmmanuel Vadot
49*b2d2a78aSEmmanuel Vadot		led-1 {
50*b2d2a78aSEmmanuel Vadot			gpios = <&tlmm 17 GPIO_ACTIVE_HIGH>;
51*b2d2a78aSEmmanuel Vadot			label = "green";
52*b2d2a78aSEmmanuel Vadot			default-state = "off";
53*b2d2a78aSEmmanuel Vadot			retain-state-suspended;
54*b2d2a78aSEmmanuel Vadot		};
55*b2d2a78aSEmmanuel Vadot	};
56*b2d2a78aSEmmanuel Vadot
57*b2d2a78aSEmmanuel Vadot	usb_id: usb-id {
58*b2d2a78aSEmmanuel Vadot		compatible = "linux,extcon-usb-gpio";
59*b2d2a78aSEmmanuel Vadot		id-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>;
60*b2d2a78aSEmmanuel Vadot		pinctrl-0 = <&usb_id_default>;
61*b2d2a78aSEmmanuel Vadot		pinctrl-names = "default";
62*b2d2a78aSEmmanuel Vadot	};
63*b2d2a78aSEmmanuel Vadot};
64*b2d2a78aSEmmanuel Vadot
65*b2d2a78aSEmmanuel Vadot&blsp_i2c2 {
66*b2d2a78aSEmmanuel Vadot	magnetometer@c {
67*b2d2a78aSEmmanuel Vadot		compatible = "asahi-kasei,ak09911";
68*b2d2a78aSEmmanuel Vadot		reg = <0x0c>;
69*b2d2a78aSEmmanuel Vadot
70*b2d2a78aSEmmanuel Vadot		vdd-supply = <&pm8916_l17>;
71*b2d2a78aSEmmanuel Vadot		vid-supply = <&pm8916_l6>;
72*b2d2a78aSEmmanuel Vadot	};
73*b2d2a78aSEmmanuel Vadot
74*b2d2a78aSEmmanuel Vadot	imu@68 {
75*b2d2a78aSEmmanuel Vadot		compatible = "invensense,mpu6880";
76*b2d2a78aSEmmanuel Vadot		reg = <0x68>;
77*b2d2a78aSEmmanuel Vadot
78*b2d2a78aSEmmanuel Vadot		interrupts-extended = <&tlmm 115 IRQ_TYPE_EDGE_RISING>;
79*b2d2a78aSEmmanuel Vadot
80*b2d2a78aSEmmanuel Vadot		vdd-supply = <&pm8916_l17>;
81*b2d2a78aSEmmanuel Vadot		vddio-supply = <&pm8916_l6>;
82*b2d2a78aSEmmanuel Vadot
83*b2d2a78aSEmmanuel Vadot		pinctrl-0 = <&imu_default>;
84*b2d2a78aSEmmanuel Vadot		pinctrl-names = "default";
85*b2d2a78aSEmmanuel Vadot
86*b2d2a78aSEmmanuel Vadot		mount-matrix = "1",  "0", "0",
87*b2d2a78aSEmmanuel Vadot			       "0", "-1", "0",
88*b2d2a78aSEmmanuel Vadot			       "0",  "0", "1";
89*b2d2a78aSEmmanuel Vadot	};
90*b2d2a78aSEmmanuel Vadot};
91*b2d2a78aSEmmanuel Vadot
92*b2d2a78aSEmmanuel Vadot&pm8916_codec {
93*b2d2a78aSEmmanuel Vadot	qcom,micbias1-ext-cap;
94*b2d2a78aSEmmanuel Vadot};
95*b2d2a78aSEmmanuel Vadot
96*b2d2a78aSEmmanuel Vadot&sound {
97*b2d2a78aSEmmanuel Vadot	model = "wt86528";
98*b2d2a78aSEmmanuel Vadot	widgets = "Speaker", "Speaker",
99*b2d2a78aSEmmanuel Vadot		  "Headphone", "Headphones";
100*b2d2a78aSEmmanuel Vadot	pin-switches = "Speaker", "Headphones";
101*b2d2a78aSEmmanuel Vadot	audio-routing = "Speaker", "Speaker Amp L OUT",
102*b2d2a78aSEmmanuel Vadot			"Speaker", "Speaker Amp R OUT",
103*b2d2a78aSEmmanuel Vadot			"Speaker Amp L IN", "HPH_L",
104*b2d2a78aSEmmanuel Vadot			"Speaker Amp R IN", "HPH_R",
105*b2d2a78aSEmmanuel Vadot			"Headphones", "Headphones Switch OUTL",
106*b2d2a78aSEmmanuel Vadot			"Headphones", "Headphones Switch OUTR",
107*b2d2a78aSEmmanuel Vadot			"Headphones Switch INL", "HPH_L",
108*b2d2a78aSEmmanuel Vadot			"Headphones Switch INR", "HPH_R",
109*b2d2a78aSEmmanuel Vadot			"AMIC1", "MIC BIAS External1",
110*b2d2a78aSEmmanuel Vadot			"AMIC2", "MIC BIAS Internal2",
111*b2d2a78aSEmmanuel Vadot			"AMIC3", "MIC BIAS External1";
112*b2d2a78aSEmmanuel Vadot	aux-devs = <&speaker_amp_left>, <&speaker_amp_right>, <&headphones_switch>;
113*b2d2a78aSEmmanuel Vadot};
114*b2d2a78aSEmmanuel Vadot
115*b2d2a78aSEmmanuel Vadot&usb {
116*b2d2a78aSEmmanuel Vadot	extcon = <&usb_id>, <&usb_id>;
117*b2d2a78aSEmmanuel Vadot};
118*b2d2a78aSEmmanuel Vadot
119*b2d2a78aSEmmanuel Vadot&usb_hs_phy {
120*b2d2a78aSEmmanuel Vadot	extcon = <&usb_id>;
121*b2d2a78aSEmmanuel Vadot};
122*b2d2a78aSEmmanuel Vadot
123*b2d2a78aSEmmanuel Vadot&tlmm {
124*b2d2a78aSEmmanuel Vadot	gpio_leds_default: gpio-leds-default-state {
125*b2d2a78aSEmmanuel Vadot		pins = "gpio16", "gpio17";
126*b2d2a78aSEmmanuel Vadot		function = "gpio";
127*b2d2a78aSEmmanuel Vadot		drive-strength = <2>;
128*b2d2a78aSEmmanuel Vadot		bias-disable;
129*b2d2a78aSEmmanuel Vadot	};
130*b2d2a78aSEmmanuel Vadot
131*b2d2a78aSEmmanuel Vadot	imu_default: imu-default-state {
132*b2d2a78aSEmmanuel Vadot		pins = "gpio115";
133*b2d2a78aSEmmanuel Vadot		function = "gpio";
134*b2d2a78aSEmmanuel Vadot		drive-strength = <2>;
135*b2d2a78aSEmmanuel Vadot		bias-disable;
136*b2d2a78aSEmmanuel Vadot	};
137*b2d2a78aSEmmanuel Vadot
138*b2d2a78aSEmmanuel Vadot	spk_ext_pa_left_default: spk-ext-pa-left-default-state {
139*b2d2a78aSEmmanuel Vadot		pins = "gpio119";
140*b2d2a78aSEmmanuel Vadot		function = "gpio";
141*b2d2a78aSEmmanuel Vadot		drive-strength = <2>;
142*b2d2a78aSEmmanuel Vadot		bias-disable;
143*b2d2a78aSEmmanuel Vadot	};
144*b2d2a78aSEmmanuel Vadot
145*b2d2a78aSEmmanuel Vadot	spk_ext_pa_right_default: spk-ext-pa-right-default-state {
146*b2d2a78aSEmmanuel Vadot		pins = "gpio121";
147*b2d2a78aSEmmanuel Vadot		function = "gpio";
148*b2d2a78aSEmmanuel Vadot		drive-strength = <2>;
149*b2d2a78aSEmmanuel Vadot		bias-disable;
150*b2d2a78aSEmmanuel Vadot	};
151*b2d2a78aSEmmanuel Vadot
152*b2d2a78aSEmmanuel Vadot	usb_id_default: usb-id-default-state {
153*b2d2a78aSEmmanuel Vadot		pins = "gpio110";
154*b2d2a78aSEmmanuel Vadot		function = "gpio";
155*b2d2a78aSEmmanuel Vadot		drive-strength = <8>;
156*b2d2a78aSEmmanuel Vadot		bias-pull-up;
157*b2d2a78aSEmmanuel Vadot	};
158*b2d2a78aSEmmanuel Vadot};
159