33/dts-v1/;
44
55#include "msm8939-pm8916.dtsi"
6+ #include "msm8916-modem-qdsp6.dtsi"
7+
8+ #include <dt-bindings/gpio/gpio.h>
9+ #include <dt-bindings/input/input.h>
10+ #include <dt-bindings/interrupt-controller/irq.h>
611
712/ {
813 model = "Asus ZenFone 2 Laser/Selfie (1080p)";
914 compatible = "asus,z00t", "qcom,msm8939";
1015 chassis-type = "handset";
1116
1217 aliases {
18+ mmc0 = &sdhc_1;
19+ mmc1 = &sdhc_2;
1320 serial0 = &blsp_uart2;
1421 };
1522
1623 chosen {
1724 stdout-path = "serial0";
1825 };
19- };
26+
27+ gpio-keys {
28+ compatible = "gpio-keys";
29+
30+ pinctrl-0 = <&gpio_keys_default>;
31+ pinctrl-names = "default";
32+
33+ label = "GPIO Buttons";
34+
35+ button-volume-up {
36+ label = "Volume Up";
37+ gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
38+ linux,code = <KEY_VOLUMEUP>;
39+ debounce-interval = <15>;
40+ };
41+
42+ button-volume-down {
43+ label = "Volume Down";
44+ gpios = <&tlmm 117 GPIO_ACTIVE_LOW>;
45+ linux,code = <KEY_VOLUMEDOWN>;
46+ debounce-interval = <15>;
47+ };
48+ };
49+
50+ battery: battery {
51+ compatible = "simple-battery";
52+ device-chemistry = "lithium-ion-polymer";
53+ voltage-min-design-microvolt = <3400000>;
54+ voltage-max-design-microvolt = <4400000>;
55+ energy-full-design-microwatt-hours = <11500000>;
56+ charge-full-design-microamp-hours = <3000000>;
57+
58+ ocv-capacity-celsius = <25>;
59+ ocv-capacity-table-0 = <4372000 100>, <4306000 95>, <4247000 90>,
60+ <4190000 85>, <4134000 80>, <4081000 75>, <4030000 70>,
61+ <3984000 65>, <3930000 60>, <3884000 55>, <3850000 50>,
62+ <3826000 45>, <3804000 40>, <3786000 35>, <3770000 30>,
63+ <3753000 25>, <3734000 20>, <3712000 16>, <3693000 13>,
64+ <3686000 11>, <3684000 10>, <3682000 9>, <3680000 8>,
65+ <3676000 7>, <3668000 6>, <3643000 5>, <3600000 4>,
66+ <3542000 3>, <3462000 2>, <3340000 1>, <3000000 0>;
67+ };
68+
69+ reg_sd_vmmc: regulator-sdcard-vmmc {
70+ compatible = "regulator-fixed";
71+ regulator-name = "sdcard-vmmc";
72+ regulator-min-microvolt = <2950000>;
73+ regulator-max-microvolt = <2950000>;
74+
75+ gpio = <&tlmm 87 GPIO_ACTIVE_HIGH>;
76+ enable-active-high;
77+
78+ startup-delay-us = <200>;
79+
80+ pinctrl-0 = <&sd_vmmc_en_default>;
81+ pinctrl-names = "default";
82+ };
83+
84+ usb_id: usb-id {
85+ compatible = "linux,extcon-usb-gpio";
86+ id-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>;
87+ pinctrl-0 = <&usb_id_default>;
88+ pinctrl-names = "default";
89+ };
90+ };
91+
92+ &blsp_i2c2 {
93+ status = "okay";
94+
95+ magnetometer@c {
96+ compatible = "asahi-kasei,ak09911";
97+ reg = <0x0c>;
98+
99+ vdd-supply = <&pm8916_l8>;
100+ vid-supply = <&pm8916_l6>;
101+
102+ reset-gpios = <&tlmm 112 GPIO_ACTIVE_LOW>;
103+ pinctrl-0 = <&mag_reset_default>;
104+ pinctrl-names = "default";
105+ };
106+
107+ imu@68 {
108+ compatible = "invensense,mpu6515";
109+ reg = <0x68>;
110+
111+ interrupt-parent = <&tlmm>;
112+ interrupts = <36 IRQ_TYPE_EDGE_RISING>;
113+
114+ vdd-supply = <&pm8916_l8>;
115+ vddio-supply = <&pm8916_l6>;
116+
117+ pinctrl-0 = <&imu_default>;
118+ pinctrl-names = "default";
119+
120+ mount-matrix = "0", "1", "0",
121+ "-1", "0", "0",
122+ "0", "0", "1";
123+ };
124+ };
125+
126+ &blsp_i2c5 {
127+ status = "okay";
128+
129+ touchscreen@38 {
130+ compatible = "edt,edt-ft5306";
131+ reg = <0x38>;
132+
133+ interrupt-parent = <&tlmm>;
134+ interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
135+
136+ reset-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>;
137+
138+ vcc-supply = <&pm8916_l8>;
139+ iovcc-supply = <&pm8916_l6>;
140+
141+ touchscreen-size-x = <1080>;
142+ touchscreen-size-y = <1920>;
143+
144+ pinctrl-0 = <&touchscreen_default>;
145+ pinctrl-names = "default";
146+ };
147+ };
148+
149+ &blsp_uart2 {
150+ pinctrl-0 = <&blsp_uart2_console_default>;
151+ pinctrl-1 = <&blsp_uart2_console_sleep>;
152+ pinctrl-names = "default", "sleep";
153+ status = "okay";
154+ };
155+
156+ &gpu {
157+ status = "okay";
158+ };
159+
160+ &mdss {
161+ status = "okay";
162+ };
163+
164+ &mdss_dsi0 {
165+ pinctrl-0 = <&mdss_default>;
166+ pinctrl-1 = <&mdss_sleep>;
167+ pinctrl-names = "default", "sleep";
168+ status = "okay";
169+
170+ panel@0 {
171+ compatible = "asus,z00t-panel";
172+ reg = <0>;
173+
174+ reset-gpios = <&tlmm 25 GPIO_ACTIVE_LOW>;
175+ backlight-gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
176+ power-supply = <&pm8916_l8>;
177+
178+ pinctrl-0 = <&lcd_bl_en_default>;
179+ pinctrl-names = "default";
180+
181+ port {
182+ panel_in: endpoint {
183+ remote-endpoint = <&mdss_dsi0_out>;
184+ };
185+ };
186+ };
187+ };
188+
189+ &mdss_dsi0_out {
190+ data-lanes = <0 1 2 3>;
191+ remote-endpoint = <&panel_in>;
192+ };
193+
194+ &mdss_dsi0_phy {
195+ qcom,dsi-phy-regulator-ldo-mode;
196+ status = "okay";
197+ };
198+
199+ &mpss_mem {
200+ reg = <0x0 0x86800000 0x0 0x5500000>;
201+ };
202+
203+ &pm8916_bms {
204+ monitored-battery = <&battery>;
205+ status = "okay";
206+ };
207+
208+ &pm8916_codec {
209+ qcom,micbias-lvl = <2800>;
210+ qcom,mbhc-vthreshold-low = <75 150 237 450 500>;
211+ qcom,mbhc-vthreshold-high = <75 150 237 450 500>;
212+ qcom,micbias1-ext-cap;
213+ qcom,hphl-jack-type-normally-open;
214+ status = "okay";
215+ };
216+
217+ &pm8916_vib {
218+ status = "okay";
219+ };
220+
221+ &sdhc_1 {
222+ status = "okay";
223+ };
224+
225+ &sdhc_2 {
226+ vmmc-supply = <®_sd_vmmc>;
227+
228+ pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
229+ pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
230+ pinctrl-names = "default", "sleep";
231+ cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
232+ status = "okay";
233+ };
234+
235+ &sound {
236+ audio-routing =
237+ "AMIC1", "MIC BIAS External1",
238+ "AMIC2", "MIC BIAS Internal2",
239+ "AMIC3", "MIC BIAS External1";
240+ status = "okay";
241+ };
242+
243+ &usb {
244+ extcon = <&usb_id>, <&usb_id>;
245+ status = "okay";
246+ };
247+
248+ &usb_hs_phy {
249+ extcon = <&usb_id>;
250+ };
251+
252+ &wcnss {
253+ status = "okay";
254+ };
255+
256+ &wcnss_iris {
257+ compatible = "qcom,wcn3660b";
258+ };
259+
260+ &wcnss_mem {
261+ status = "okay";
262+ };
263+
264+ &tlmm {
265+ gpio_keys_default: gpio-keys-default-state {
266+ pins = "gpio107", "gpio117";
267+ function = "gpio";
268+ drive-strength = <2>;
269+ bias-pull-up;
270+ };
271+
272+ imu_default: imu-default-state {
273+ pins = "gpio36";
274+ function = "gpio";
275+
276+ drive-strength = <2>;
277+ bias-disable;
278+ };
279+
280+ mag_reset_default: mag-reset-default-state {
281+ pins = "gpio112";
282+ function = "gpio";
283+
284+ drive-strength = <2>;
285+ bias-disable;
286+ };
287+
288+ sd_vmmc_en_default: sd-vmmc-en-default-state {
289+ pins = "gpio87";
290+ function = "gpio";
291+ drive-strength = <2>;
292+ bias-disable;
293+ };
294+
295+ sdc2_cd_default: sdc2-cd-default-state {
296+ pins = "gpio38";
297+ function = "gpio";
298+ drive-strength = <2>;
299+ bias-disable;
300+ };
301+
302+ touchscreen_default: touchscreen-default-state {
303+ touch-pins {
304+ pins = "gpio13";
305+ function = "gpio";
306+
307+ drive-strength = <2>;
308+ bias-pull-up;
309+ };
310+
311+ reset-pins {
312+ pins = "gpio12";
313+ function = "gpio";
314+
315+ drive-strength = <2>;
316+ bias-disable;
317+ };
318+ };
319+
320+ usb_id_default: usb-id-default-state {
321+ pins = "gpio110";
322+ function = "gpio";
323+ drive-strength = <8>;
324+ bias-pull-up;
325+ };
326+ };
327+
0 commit comments