xref: /linux/arch/arm64/boot/dts/qcom/msm8939-asus-z00t.dts (revision 0cac5ce06e524755b3dac1e0a060b05992076d93)
1*42621cbbSErikas Bitovtas// SPDX-License-Identifier: GPL-2.0-only
2*42621cbbSErikas Bitovtas
3*42621cbbSErikas Bitovtas/dts-v1/;
4*42621cbbSErikas Bitovtas
5*42621cbbSErikas Bitovtas#include "msm8939-pm8916.dtsi"
6*42621cbbSErikas Bitovtas#include "msm8916-modem-qdsp6.dtsi"
7*42621cbbSErikas Bitovtas
8*42621cbbSErikas Bitovtas#include <dt-bindings/gpio/gpio.h>
9*42621cbbSErikas Bitovtas#include <dt-bindings/input/input.h>
10*42621cbbSErikas Bitovtas#include <dt-bindings/interrupt-controller/irq.h>
11*42621cbbSErikas Bitovtas
12*42621cbbSErikas Bitovtas/ {
13*42621cbbSErikas Bitovtas	model = "Asus ZenFone 2 Laser/Selfie (1080p)";
14*42621cbbSErikas Bitovtas	compatible = "asus,z00t", "qcom,msm8939";
15*42621cbbSErikas Bitovtas	chassis-type = "handset";
16*42621cbbSErikas Bitovtas
17*42621cbbSErikas Bitovtas	aliases {
18*42621cbbSErikas Bitovtas		mmc0 = &sdhc_1;
19*42621cbbSErikas Bitovtas		mmc1 = &sdhc_2;
20*42621cbbSErikas Bitovtas		serial0 = &blsp_uart2;
21*42621cbbSErikas Bitovtas	};
22*42621cbbSErikas Bitovtas
23*42621cbbSErikas Bitovtas	chosen {
24*42621cbbSErikas Bitovtas		stdout-path = "serial0";
25*42621cbbSErikas Bitovtas	};
26*42621cbbSErikas Bitovtas
27*42621cbbSErikas Bitovtas	gpio-keys {
28*42621cbbSErikas Bitovtas		compatible = "gpio-keys";
29*42621cbbSErikas Bitovtas
30*42621cbbSErikas Bitovtas		pinctrl-0 = <&gpio_keys_default>;
31*42621cbbSErikas Bitovtas		pinctrl-names = "default";
32*42621cbbSErikas Bitovtas
33*42621cbbSErikas Bitovtas		button-volume-up {
34*42621cbbSErikas Bitovtas			label = "Volume Up";
35*42621cbbSErikas Bitovtas			gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
36*42621cbbSErikas Bitovtas			linux,code = <KEY_VOLUMEUP>;
37*42621cbbSErikas Bitovtas			debounce-interval = <15>;
38*42621cbbSErikas Bitovtas		};
39*42621cbbSErikas Bitovtas
40*42621cbbSErikas Bitovtas		button-volume-down {
41*42621cbbSErikas Bitovtas			label = "Volume Down";
42*42621cbbSErikas Bitovtas			gpios = <&tlmm 117 GPIO_ACTIVE_LOW>;
43*42621cbbSErikas Bitovtas			linux,code = <KEY_VOLUMEDOWN>;
44*42621cbbSErikas Bitovtas			debounce-interval = <15>;
45*42621cbbSErikas Bitovtas		};
46*42621cbbSErikas Bitovtas	};
47*42621cbbSErikas Bitovtas
48*42621cbbSErikas Bitovtas	reg_sd_vmmc: regulator-sdcard-vmmc {
49*42621cbbSErikas Bitovtas		compatible = "regulator-fixed";
50*42621cbbSErikas Bitovtas		regulator-name = "sdcard-vmmc";
51*42621cbbSErikas Bitovtas		regulator-min-microvolt = <2950000>;
52*42621cbbSErikas Bitovtas		regulator-max-microvolt = <2950000>;
53*42621cbbSErikas Bitovtas
54*42621cbbSErikas Bitovtas		gpio = <&tlmm 87 GPIO_ACTIVE_HIGH>;
55*42621cbbSErikas Bitovtas		enable-active-high;
56*42621cbbSErikas Bitovtas
57*42621cbbSErikas Bitovtas		startup-delay-us = <200>;
58*42621cbbSErikas Bitovtas
59*42621cbbSErikas Bitovtas		pinctrl-0 = <&sd_vmmc_en_default>;
60*42621cbbSErikas Bitovtas		pinctrl-names = "default";
61*42621cbbSErikas Bitovtas	};
62*42621cbbSErikas Bitovtas
63*42621cbbSErikas Bitovtas	usb_id: usb-id {
64*42621cbbSErikas Bitovtas		compatible = "linux,extcon-usb-gpio";
65*42621cbbSErikas Bitovtas		id-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>;
66*42621cbbSErikas Bitovtas		pinctrl-0 = <&usb_id_default>;
67*42621cbbSErikas Bitovtas		pinctrl-names = "default";
68*42621cbbSErikas Bitovtas	};
69*42621cbbSErikas Bitovtas};
70*42621cbbSErikas Bitovtas
71*42621cbbSErikas Bitovtas&blsp_i2c2 {
72*42621cbbSErikas Bitovtas	status = "okay";
73*42621cbbSErikas Bitovtas
74*42621cbbSErikas Bitovtas	magnetometer@c {
75*42621cbbSErikas Bitovtas		compatible = "asahi-kasei,ak09911";
76*42621cbbSErikas Bitovtas		reg = <0x0c>;
77*42621cbbSErikas Bitovtas
78*42621cbbSErikas Bitovtas		vdd-supply = <&pm8916_l8>;
79*42621cbbSErikas Bitovtas		vid-supply = <&pm8916_l6>;
80*42621cbbSErikas Bitovtas
81*42621cbbSErikas Bitovtas		reset-gpios = <&tlmm 112 GPIO_ACTIVE_LOW>;
82*42621cbbSErikas Bitovtas		pinctrl-0 = <&mag_reset_default>;
83*42621cbbSErikas Bitovtas		pinctrl-names = "default";
84*42621cbbSErikas Bitovtas	};
85*42621cbbSErikas Bitovtas
86*42621cbbSErikas Bitovtas	imu@68 {
87*42621cbbSErikas Bitovtas		compatible = "invensense,mpu6515";
88*42621cbbSErikas Bitovtas		reg = <0x68>;
89*42621cbbSErikas Bitovtas
90*42621cbbSErikas Bitovtas		interrupts-extended = <&tlmm 36 IRQ_TYPE_EDGE_RISING>;
91*42621cbbSErikas Bitovtas
92*42621cbbSErikas Bitovtas		vdd-supply = <&pm8916_l8>;
93*42621cbbSErikas Bitovtas		vddio-supply = <&pm8916_l6>;
94*42621cbbSErikas Bitovtas
95*42621cbbSErikas Bitovtas		pinctrl-0 = <&imu_default>;
96*42621cbbSErikas Bitovtas		pinctrl-names = "default";
97*42621cbbSErikas Bitovtas
98*42621cbbSErikas Bitovtas		mount-matrix = "0",  "1", "0",
99*42621cbbSErikas Bitovtas			       "-1", "0", "0",
100*42621cbbSErikas Bitovtas			       "0",  "0", "1";
101*42621cbbSErikas Bitovtas	};
102*42621cbbSErikas Bitovtas};
103*42621cbbSErikas Bitovtas
104*42621cbbSErikas Bitovtas&blsp_i2c5 {
105*42621cbbSErikas Bitovtas	status = "okay";
106*42621cbbSErikas Bitovtas
107*42621cbbSErikas Bitovtas	touchscreen@38 {
108*42621cbbSErikas Bitovtas		compatible = "edt,edt-ft5306";
109*42621cbbSErikas Bitovtas		reg = <0x38>;
110*42621cbbSErikas Bitovtas
111*42621cbbSErikas Bitovtas		interrupts-extended = <&tlmm 13 IRQ_TYPE_EDGE_FALLING>;
112*42621cbbSErikas Bitovtas
113*42621cbbSErikas Bitovtas		reset-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>;
114*42621cbbSErikas Bitovtas
115*42621cbbSErikas Bitovtas		vcc-supply = <&pm8916_l8>;
116*42621cbbSErikas Bitovtas		iovcc-supply = <&pm8916_l6>;
117*42621cbbSErikas Bitovtas
118*42621cbbSErikas Bitovtas		touchscreen-size-x = <1080>;
119*42621cbbSErikas Bitovtas		touchscreen-size-y = <1920>;
120*42621cbbSErikas Bitovtas
121*42621cbbSErikas Bitovtas		pinctrl-0 = <&touchscreen_default>;
122*42621cbbSErikas Bitovtas		pinctrl-names = "default";
123*42621cbbSErikas Bitovtas	};
124*42621cbbSErikas Bitovtas};
125*42621cbbSErikas Bitovtas
126*42621cbbSErikas Bitovtas&blsp_uart2 {
127*42621cbbSErikas Bitovtas	pinctrl-0 = <&blsp_uart2_console_default>;
128*42621cbbSErikas Bitovtas	pinctrl-1 = <&blsp_uart2_console_sleep>;
129*42621cbbSErikas Bitovtas	pinctrl-names = "default", "sleep";
130*42621cbbSErikas Bitovtas
131*42621cbbSErikas Bitovtas	status = "okay";
132*42621cbbSErikas Bitovtas};
133*42621cbbSErikas Bitovtas
134*42621cbbSErikas Bitovtas&mpss_mem {
135*42621cbbSErikas Bitovtas	reg = <0x0 0x86800000 0x0 0x5500000>;
136*42621cbbSErikas Bitovtas};
137*42621cbbSErikas Bitovtas
138*42621cbbSErikas Bitovtas&pm8916_codec {
139*42621cbbSErikas Bitovtas	qcom,micbias-lvl = <2800>;
140*42621cbbSErikas Bitovtas	qcom,mbhc-vthreshold-low = <75 150 237 450 500>;
141*42621cbbSErikas Bitovtas	qcom,mbhc-vthreshold-high = <75 150 237 450 500>;
142*42621cbbSErikas Bitovtas	qcom,micbias1-ext-cap;
143*42621cbbSErikas Bitovtas	qcom,hphl-jack-type-normally-open;
144*42621cbbSErikas Bitovtas
145*42621cbbSErikas Bitovtas	status = "okay";
146*42621cbbSErikas Bitovtas};
147*42621cbbSErikas Bitovtas
148*42621cbbSErikas Bitovtas&pm8916_vib {
149*42621cbbSErikas Bitovtas	status = "okay";
150*42621cbbSErikas Bitovtas};
151*42621cbbSErikas Bitovtas
152*42621cbbSErikas Bitovtas&sdhc_1 {
153*42621cbbSErikas Bitovtas	status = "okay";
154*42621cbbSErikas Bitovtas};
155*42621cbbSErikas Bitovtas
156*42621cbbSErikas Bitovtas&sdhc_2 {
157*42621cbbSErikas Bitovtas	vmmc-supply = <&reg_sd_vmmc>;
158*42621cbbSErikas Bitovtas
159*42621cbbSErikas Bitovtas	pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
160*42621cbbSErikas Bitovtas	pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
161*42621cbbSErikas Bitovtas	pinctrl-names = "default", "sleep";
162*42621cbbSErikas Bitovtas	cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
163*42621cbbSErikas Bitovtas
164*42621cbbSErikas Bitovtas	status = "okay";
165*42621cbbSErikas Bitovtas};
166*42621cbbSErikas Bitovtas
167*42621cbbSErikas Bitovtas&sound {
168*42621cbbSErikas Bitovtas	audio-routing =
169*42621cbbSErikas Bitovtas		"AMIC1", "MIC BIAS External1",
170*42621cbbSErikas Bitovtas		"AMIC2", "MIC BIAS Internal2",
171*42621cbbSErikas Bitovtas		"AMIC3", "MIC BIAS External1";
172*42621cbbSErikas Bitovtas
173*42621cbbSErikas Bitovtas	status = "okay";
174*42621cbbSErikas Bitovtas};
175*42621cbbSErikas Bitovtas
176*42621cbbSErikas Bitovtas&usb {
177*42621cbbSErikas Bitovtas	extcon = <&usb_id>, <&usb_id>;
178*42621cbbSErikas Bitovtas
179*42621cbbSErikas Bitovtas	status = "okay";
180*42621cbbSErikas Bitovtas};
181*42621cbbSErikas Bitovtas
182*42621cbbSErikas Bitovtas&usb_hs_phy {
183*42621cbbSErikas Bitovtas	extcon = <&usb_id>;
184*42621cbbSErikas Bitovtas};
185*42621cbbSErikas Bitovtas
186*42621cbbSErikas Bitovtas&wcnss {
187*42621cbbSErikas Bitovtas	status = "okay";
188*42621cbbSErikas Bitovtas};
189*42621cbbSErikas Bitovtas
190*42621cbbSErikas Bitovtas&wcnss_iris {
191*42621cbbSErikas Bitovtas	compatible = "qcom,wcn3660b";
192*42621cbbSErikas Bitovtas};
193*42621cbbSErikas Bitovtas
194*42621cbbSErikas Bitovtas&wcnss_mem {
195*42621cbbSErikas Bitovtas	status = "okay";
196*42621cbbSErikas Bitovtas};
197*42621cbbSErikas Bitovtas
198*42621cbbSErikas Bitovtas&tlmm {
199*42621cbbSErikas Bitovtas	touchscreen_default: touchscreen-default-state {
200*42621cbbSErikas Bitovtas		reset-pins {
201*42621cbbSErikas Bitovtas			pins = "gpio12";
202*42621cbbSErikas Bitovtas			function = "gpio";
203*42621cbbSErikas Bitovtas			drive-strength = <2>;
204*42621cbbSErikas Bitovtas			bias-disable;
205*42621cbbSErikas Bitovtas		};
206*42621cbbSErikas Bitovtas
207*42621cbbSErikas Bitovtas		touch-pins {
208*42621cbbSErikas Bitovtas			pins = "gpio13";
209*42621cbbSErikas Bitovtas			function = "gpio";
210*42621cbbSErikas Bitovtas			drive-strength = <2>;
211*42621cbbSErikas Bitovtas			bias-pull-up;
212*42621cbbSErikas Bitovtas		};
213*42621cbbSErikas Bitovtas	};
214*42621cbbSErikas Bitovtas
215*42621cbbSErikas Bitovtas	imu_default: imu-default-state {
216*42621cbbSErikas Bitovtas		pins = "gpio36";
217*42621cbbSErikas Bitovtas		function = "gpio";
218*42621cbbSErikas Bitovtas		drive-strength = <2>;
219*42621cbbSErikas Bitovtas		bias-disable;
220*42621cbbSErikas Bitovtas	};
221*42621cbbSErikas Bitovtas
222*42621cbbSErikas Bitovtas	sdc2_cd_default: sdc2-cd-default-state {
223*42621cbbSErikas Bitovtas		pins = "gpio38";
224*42621cbbSErikas Bitovtas		function = "gpio";
225*42621cbbSErikas Bitovtas		drive-strength = <2>;
226*42621cbbSErikas Bitovtas		bias-disable;
227*42621cbbSErikas Bitovtas	};
228*42621cbbSErikas Bitovtas
229*42621cbbSErikas Bitovtas	sd_vmmc_en_default: sd-vmmc-en-default-state {
230*42621cbbSErikas Bitovtas		pins = "gpio87";
231*42621cbbSErikas Bitovtas		function = "gpio";
232*42621cbbSErikas Bitovtas		drive-strength = <2>;
233*42621cbbSErikas Bitovtas		bias-disable;
234*42621cbbSErikas Bitovtas	};
235*42621cbbSErikas Bitovtas
236*42621cbbSErikas Bitovtas	gpio_keys_default: gpio-keys-default-state {
237*42621cbbSErikas Bitovtas		pins = "gpio107", "gpio117";
238*42621cbbSErikas Bitovtas		function = "gpio";
239*42621cbbSErikas Bitovtas		drive-strength = <2>;
240*42621cbbSErikas Bitovtas		bias-pull-up;
241*42621cbbSErikas Bitovtas	};
242*42621cbbSErikas Bitovtas
243*42621cbbSErikas Bitovtas	usb_id_default: usb-id-default-state {
244*42621cbbSErikas Bitovtas		pins = "gpio110";
245*42621cbbSErikas Bitovtas		function = "gpio";
246*42621cbbSErikas Bitovtas		drive-strength = <8>;
247*42621cbbSErikas Bitovtas		bias-pull-up;
248*42621cbbSErikas Bitovtas	};
249*42621cbbSErikas Bitovtas
250*42621cbbSErikas Bitovtas	mag_reset_default: mag-reset-default-state {
251*42621cbbSErikas Bitovtas		pins = "gpio112";
252*42621cbbSErikas Bitovtas		function = "gpio";
253*42621cbbSErikas Bitovtas		drive-strength = <2>;
254*42621cbbSErikas Bitovtas		bias-disable;
255*42621cbbSErikas Bitovtas	};
256*42621cbbSErikas Bitovtas};
257