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