OSDN Git Service

a3d1cbab8f96dbf1f32c2456b02f3863d049b928
[sagit-ice-cold/kernel_xiaomi_msm8998.git] / arch / arm / boot / dts / qcom / xiaomi / sagit-msm8998-mtp.dtsi
1 /* Copyright (c) 2016, The Linux Foundation. All rights reserved.
2  * Copyright (C) 2018 XiaoMi, Inc.
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 and
6  * only version 2 as published by the Free Software Foundation.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  * GNU General Public License for more details.
12  */
13
14 #include <dt-bindings/interrupt-controller/irq.h>
15 #include "../msm8998-pinctrl.dtsi"
16 #include "msm8998-pinctrl.dtsi"
17 #include "msm-pm8998.dtsi"
18 #include "msm-pmi8998.dtsi"
19 #include "msm8998-regulator.dtsi"
20 #include "msm8998-camera.dtsi"
21 #include "../msm8998-mdss-panels.dtsi"
22 #include "msm8998-mdss-panels.dtsi"
23 #include "msm8998-audio.dtsi"
24 #include "msm8998-mdss.dtsi"
25 #include "msm8998-common-mtp.dtsi"
26
27 #include "sagit-camera-sensor-mtp.dtsi"
28
29 / {
30         bluetooth: bt_wcn3990 {
31                 compatible = "qca,wcn3990";
32
33                 clock-names = "rf_clk2";
34                 clocks = <&clock_gcc clk_rf_clk2_pin>;
35
36                 qca,bt-vdd-io-supply = <&pm8998_s3>;
37                 qca,bt-vdd-xtal-supply = <&pm8998_s5>;
38                 qca,bt-vdd-core-supply = <&pm8998_l7>;
39                 qca,bt-vdd-pa-supply = <&pm8998_l17>;
40                 qca,bt-vdd-ldo-supply = <&pm8998_l25>;
41                 qca,bt-chip-pwd-supply = <&pmi8998_bob_pin1>;
42
43                 qca,bt-vdd-io-voltage-level = <1352000 1352000>;
44                 qca,bt-vdd-xtal-voltage-level = <2040000 2040000>;
45                 qca,bt-vdd-core-voltage-level = <1800000 1800000>;
46                 qca,bt-vdd-pa-voltage-level = <1304000 1304000>;
47                 qca,bt-vdd-ldo-voltage-level = <3312000 3312000>;
48                 qca,bt-chip-pwd-voltage-level = <3600000 3600000>;
49
50                 qca,bt-vdd-io-current-level = <1>; /* LPM/PFM */
51                 qca,bt-vdd-xtal-current-level = <1>; /* LPM/PFM */
52                 qca,bt-vdd-core-current-level = <1>; /* LPM/PFM */
53                 qca,bt-vdd-pa-current-level = <1>; /* LPM/PFM */
54                 qca,bt-vdd-ldo-current-level = <1>; /* LPM/PFM */
55         };
56 };
57
58 &blsp1_uart3_hs {
59         status = "ok";
60 };
61
62 &ufsphy1 {
63         vdda-phy-supply = <&pm8998_l1>;
64         vdda-pll-supply = <&pm8998_l2>;
65         vddp-ref-clk-supply = <&pm8998_l26>;
66         vdda-phy-max-microamp = <51400>;
67         vdda-pll-max-microamp = <14600>;
68         vddp-ref-clk-max-microamp = <100>;
69         vddp-ref-clk-always-on;
70
71         status = "ok";
72 };
73
74 &ufs1 {
75         vdd-hba-supply = <&gdsc_ufs>;
76         vdd-hba-fixed-regulator;
77         vcc-supply = <&pm8998_l20>;
78         vccq-supply = <&pm8998_l26>;
79         vccq2-supply = <&pm8998_s4>;
80         vcc-max-microamp = <750000>;
81         vccq-max-microamp = <560000>;
82         vccq2-max-microamp = <750000>;
83
84         status = "ok";
85 };
86
87 &ufs_ice {
88         status = "ok";
89 };
90
91 &sdhc_2 {
92         vdd-supply = <&pm8998_l21>;
93         qcom,vdd-voltage-level = <2950000 2960000>;
94         qcom,vdd-current-level = <200 800000>;
95
96         vdd-io-supply = <&pm8998_l13>;
97         qcom,vdd-io-voltage-level = <1808000 2960000>;
98         qcom,vdd-io-current-level = <200 22000>;
99
100         pinctrl-names = "active", "sleep";
101         pinctrl-0 = <&sdc2_clk_on  &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
102         pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
103
104         qcom,clk-rates = <400000 20000000 25000000
105                                 50000000 100000000 200000000>;
106         qcom,bus-speed-mode = "SDR12", "SDR25", "SDR50", "DDR50", "SDR104";
107
108         cd-gpios = <&tlmm 95 0x1>;
109
110         status = "ok";
111 };
112
113 &uartblsp2dm1 {
114         status = "disabled";
115 };
116
117 &pm8998_gpios {
118         /* GPIO 6 for Vol+ Key */
119         gpio@c500 {
120                 status = "okay";
121                 qcom,mode = <0>;
122                 qcom,pull = <0>;
123                 qcom,vin-sel = <0>;
124                 qcom,src-sel = <0>;
125                 qcom,out-strength = <1>;
126         };
127
128         /* GPIO 7 for Snapshot Key */
129         gpio@c600 {
130                 status = "okay";
131                 qcom,mode = <0>;
132                 qcom,pull = <0>;
133                 qcom,vin-sel = <0>;
134                 qcom,src-sel = <0>;
135                 qcom,out-strength = <1>;
136         };
137
138         /* GPIO 8 for Focus Key */
139         gpio@c700 {
140                 status = "okay";
141                 qcom,mode = <0>;
142                 qcom,pull = <0>;
143                 qcom,vin-sel = <0>;
144                 qcom,src-sel = <0>;
145                 qcom,out-strength = <1>;
146         };
147
148         /* GPIO 13 */
149         gpio@cc00 {
150                 qcom,mode = <1>;
151                 qcom,output-type = <0>;
152                 qcom,pull = <5>;
153                 qcom,vin-sel = <0>;
154                 qcom,out-strength = <1>;
155                 qcom,src-sel = <3>;
156                 qcom,master-en = <1>;
157                 status = "okay";
158         };
159
160         /* GPIO 21 (NFC_CLK_REQ) */
161         gpio@d400 {
162                 qcom,mode = <0>;
163                 qcom,vin-sel = <1>;
164                 qcom,src-sel = <0>;
165                 qcom,master-en = <1>;
166                 status = "okay";
167         };
168
169         /* GPIO 18 SMB138X */
170         gpio@d100 {
171                 qcom,mode = <0>;
172                 qcom,pull = <0>;
173                 qcom,vin-sel = <0>;
174                 qcom,src-sel = <0>;
175                 qcom,master-en = <1>;
176                 status = "okay";
177         };
178 };
179
180 &pmi8998_gpios {
181         /* GPIO 3 for NS5S1153 AUDIO_SEL pin */
182         gpio@c200 {
183                 status = "okay";
184                 qcom,mode = <1>;        /* Digital out */
185                 qcom,pull = <5>;        /* No pull */
186                 qcom,vin-sel = <1>;     /* 1.8v */
187                 qcom,src-sel = <0>;
188                 qcom,out-strength = <1>;
189                 qcom,master-en = <1>;
190         };
191
192         /* GPIO 5 for INFARED_DRV */
193         gpio@c400 {
194                 status = "okay";
195                 qcom,mode = <1>;         /* QPNP_PIN_MODE_DIG_OUT */
196                 qcom,pull = <4>;         /* PULL DOWN 10uA */
197                 qcom,src-sel = <2>;      /* SPECIAL FUNCTION 1 */
198                 qcom,master-en = <1>;    /* ENABLE GPIO */
199                 qcom,out-strength = <2>; /* Medium strength current */
200         };
201
202         /* GPIO 6 for the internal QNOVO discharge FET control signal */
203         gpio@c500 {
204                 status = "okay";
205                 qcom,mode = <1>;
206                 qcom,pull = <5>;
207                 qcom,vin-sel = <0>;
208                 qcom,src-sel = <2>;
209                 qcom,out-strength = <1>;
210                 qcom,master-en = <1>;
211         };
212 };
213
214 &i2c_5 {
215         status = "okay";
216         synaptics_dsi_i2c@20 {
217                 compatible = "synaptics,dsx-i2c-force";
218                 reg = <0x20>;
219                 interrupt-parent = <&tlmm>;
220                 interrupts = <125 0x2008>;
221
222                 vdd-supply = <&pm8998_l6>;
223                 lab-supply = <&lab_regulator>;
224                 ibb-supply = <&ibb_regulator>;
225                 disp-supply = <&pm8998_l14>;
226                 avdd-supply = <&disp_vddts_vreg>;
227
228                 pinctrl-names = "pmx_ts_active", "pmx_ts_suspend";
229                 pinctrl-0 = <&ts_active>;
230                 pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
231
232                 clock-names = "iface_clk", "core_clk";
233                 clocks = <&clock_gcc clk_gcc_blsp1_ahb_clk>,
234                          <&clock_gcc clk_gcc_blsp1_qup5_i2c_apps_clk>;
235
236                 synaptics,pwr-reg-name = "vdd";
237                 synaptics,lab-reg-name = "lab";
238                 synaptics,ibb-reg-name = "ibb";
239                 synaptics,disp-reg-name = "disp";
240                 synaptics,bus-reg-name = "avdd";
241                 synaptics,ub-i2c-addr = <0x2c>;
242                 synaptics,mdss-dsi-reset = <&tlmm 8 0>;
243                 synaptics,reset-gpio = <&tlmm 89 0x00>;
244                 synaptics,irq-gpio = <&tlmm 125 0x2008>;
245                 synaptics,reset-gpio-name = "dsx_reset";
246                 synaptics,irq-gpio-name = "dsx_irq";
247                 synaptics,irq-on-state = <0>;
248                 synaptics,irq-flags = <0x2008>; /* IRQF_ONESHOT | IRQF_TRIGGER_LOW */
249                 synaptics,power-delay-ms = <5>;
250                 synaptics,reset-delay-ms = <200>;
251                 synaptics,reset-active-ms = <5>;
252                 synaptics,power-on-state = <1>;
253                 synaptics,reset-on-state = <0>;
254                 synaptics,mdss-reset-state = <1>;
255                 synaptics,panel-is-incell;
256                 synaptics,cap-button-codes = <158 139 102>;
257                 synaptics,short-jdi-25 = "000: 0xfb\n001: 0xef\n002: 0xff\n003: 0xff\n004: 0x18\n005: 0x00\n006: 0x00";
258                 synaptics,short-jdi-26 = "000: 0x03\n001: 0x00\n002: 0x00\n003: 0x00\n004: 0x00\n005: 0x00\n006: 0x00";
259                 synaptics,guest-serialization-as-lockdown;
260                 synaptics,tp-id-byte = /bits/ 8 <0>;
261
262                 synaptics,config-array-size = <3>;
263                 synaptics,cfg_1 {
264                         synaptics,chip-id = <0>;
265                         synaptics,chip-id-name = "S3330";
266                         synaptics,tp-id = /bits/ 8 <0x31>;
267                         synaptics,fw-name = "synaptics_jdi_3330_sagit.fw";
268                 };
269
270                 synaptics,cfg_2 {
271                         synaptics,chip-id = <1>;
272                         synaptics,chip-id-name = "S3331";
273                         synaptics,tp-id = /bits/ 8 <0x31>;
274                         synaptics,fw-name = "synaptics_jdi_3331_sagit.fw";
275                 };
276
277                 synaptics,cfg_3 {
278                         synaptics,chip-id = <2>;
279                         synaptics,chip-id-name = "TD4322";
280                         synaptics,chip-is-tddi;
281
282                         synaptics,factory-param;
283                         synaptics,tddi-short-limit_b = <150>;
284                         synaptics,tddi-noise-limit      = <60>;
285                         synaptics,tddi-extend-ee-short-reset-dur = <60>;
286                         synaptics,tddi-extend-ee-short-int_dur = <150>;
287                         synaptics,tddi-extend-ee-short-tx-on-count = <146>;
288                         synaptics,tddi-extend-ee-short-rx-on-count = <146>;
289                         synaptics,tddi-extend-ee-short-test-limit-part1 = <180>;
290                         synaptics,tddi-extend-ee-short-test-limit-part2 = <0>;
291
292                         synaptics,tddi-open-test-int-dur-one = <145>;
293                         synaptics,tddi-open-test-int-dur-two = <15>;
294                         synaptics,tddi-open-test-limit-phase2-lower = <50>;
295
296                         synaptics,tddi-b7-open-test-int-dur-one = <23>;
297                         synaptics,tddi-b7-open-test-int-dur-two = <27>;
298                         synaptics,tddi-b7-open-test-limit-phase2-lower = <0>;
299                         synaptics,tddi-b7-open-test-limit-phase2-upper = <115>;
300                         synaptics,button-count = <2>;
301                         synaptics,abs-0d-open-factor = <9>;
302                         synaptics,abs-0d-open-test-limit = <30>;
303
304                         synaptics,elec-open-test-tx-on-count = <2>;
305                         synaptics,elec-open-test-rx-on-count = <2>;
306                         synaptics,elec-open-int-dur-one = <10>;
307                         synaptics,elec-open-int-dur-two = <15>;
308                         synaptics,elec-open-test-limit-one = <0>;
309                         synaptics,elec-open-test-limit-two = <50>;
310
311                         synaptics,disp-pre-on-sleep = <10>;
312                         synaptics,disp-post-on-sleep = <10>;
313                         synaptics,disp-pre-off-sleep = <10>;
314                         synaptics,disp-post-off-sleep = <0>;
315                         synaptics,lab-pre-on-sleep = <0>;
316                         synaptics,lab-post-on-sleep = <10>;
317                         synaptics,lab-pre-off-sleep = <10>;
318                         synaptics,lab-post-off-sleep = <0>;
319                         synaptics,ibb-pre-on-sleep = <0>;
320                         synaptics,ibb-post-on-sleep = <10>;
321                         synaptics,ibb-pre-off-sleep = <10>;
322                         synaptics,ibb-post-off-sleep = <0>;
323                         synaptics,tp-id = /bits/ 8 <0x34>;
324                         synaptics,fw-name = "synaptics_lgd_4322_sagit.fw";
325                 };
326         };
327 };
328
329 &i2c_6 { /* BLSP1 QUP6 (NFC) */
330         status = "okay";
331
332         nq@28 {
333                 compatible = "qcom,nq-nci";
334                 reg = <0x28>;
335
336                 interrupt-parent = <&tlmm>;
337                 interrupts = <92 0>;
338                 interrupt-names = "nfc_irq";
339
340                 pinctrl-names = "nfc_active", "nfc_suspend";
341                 pinctrl-0 = <&nfc_int_active &nfc_enable_active>;
342                 pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend>;
343
344                 clock-names = "ref_clk";
345                 clocks = <&clock_gcc clk_ln_bb_clk3_pin>;
346
347                 qcom,clk-src = "BBCLK3";
348
349                 qcom,nq-irq = <&tlmm 92 0x00>;
350                 qcom,nq-ven = <&tlmm 12 0x00>;
351                 qcom,nq-firm = <&tlmm 93 0x00>;
352                 qcom,nq-clkreq = <&pm8998_gpios 21 0x00>;
353                 qcom,nq-esepwr = <&tlmm 116 0x00>;
354
355         };
356 };
357
358 &i2c_10 { /* BLSP2 QUP4 (Audio Smart Pa)*/
359         status = "okay";
360
361         tfa98xx@34 {
362                 compatible = "nxp,tfa98xx";
363                 reg = <0x34>;
364                 reset-gpio = <&tlmm 41 0>;
365                 irq-gpio = <&tlmm 42 0>;
366                 spk-id = <&spk_id_pin>;
367         };
368 };
369
370 &mdss_hdmi_tx {
371         status = "disabled";
372 };
373
374 &mdss_hdmi_pll {
375         status = "disabled";
376 };
377
378 &mdss_mdp {
379         qcom,mdss-pref-prim-intf = "dsi";
380 };
381
382 &mdss_dsi {
383         hw-config = "single_dsi";
384 };
385
386 &mdss_dsi0 {
387         pinctrl-names = "mdss_default", "mdss_sleep";
388         pinctrl-0 = <&mdss_dsi_active &mdss_te_active>;
389         pinctrl-1 = <&mdss_dsi_suspend &mdss_te_suspend>;
390
391         qcom,platform-reset-gpio = <&tlmm 94 0>;
392         qcom,platform-te-gpio = <&tlmm 10 0>;
393         qcom,dsi-pref-prim-pan = <&dsi_jdi_fhd_r63452_cmd>;
394 };
395
396 &mdss_dsi1 {
397         status = "disabled";
398 };
399
400 &mdss_dsi1_pll {
401         status = "disabled";
402 };
403
404 &labibb {
405         status = "ok";
406         qcom,qpnp-labibb-mode = "lcd";
407 };
408
409 &dsi_jdi_fhd_r63452_cmd {
410         qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
411 };
412
413 &dsi_lgd_fhd_td4322_cmd {
414         qcom,panel-supply-entries = <&dsi_panel_pwr_supply_lgd_td4322>;
415 };
416
417 &mem_client_3_size {
418         qcom,peripheral-size = <0x500000>;
419 };
420
421 &pmi8998_haptics {
422         status = "okay";
423         qcom,vmax-mv = <3248>;
424         qcom,wave-play-rate-us = <5000>;
425         qcom,wave-shape = "sine";
426         qcom,brake-pattern = [03 02 00 00];
427         qcom,disable_force_back_emf_delay;
428         qcom,vmax-overbrake-mv = <3596>;
429         qcom,brake-pattern-count = <9>;
430         qcom,brake-pattern-arry = [03 00 00 00
431         03 02 00 00
432         03 03 01 00
433         03 03 02 01
434         03 03 03 02
435         03 03 03 02
436         03 03 03 02
437         03 03 03 02
438         03 03 03 03];
439 };
440
441 &pm8998_vadc {
442         chan@83 {
443                 label = "vph_pwr";
444                 reg = <0x83>;
445                 qcom,decimation = <2>;
446                 qcom,pre-div-channel-scaling = <1>;
447                 qcom,calibration-type = "absolute";
448                 qcom,scale-function = <0>;
449                 qcom,hw-settle-time = <0>;
450                 qcom,fast-avg-setup = <0>;
451         };
452
453         chan@85 {
454                 label = "vcoin";
455                 reg = <0x85>;
456                 qcom,decimation = <2>;
457                 qcom,pre-div-channel-scaling = <1>;
458                 qcom,calibration-type = "absolute";
459                 qcom,scale-function = <0>;
460                 qcom,hw-settle-time = <0>;
461                 qcom,fast-avg-setup = <0>;
462         };
463
464         chan@4c {
465                 label = "xo_therm";
466                 reg = <0x4c>;
467                 qcom,decimation = <2>;
468                 qcom,pre-div-channel-scaling = <0>;
469                 qcom,calibration-type = "ratiometric";
470                 qcom,scale-function = <4>;
471                 qcom,hw-settle-time = <2>;
472                 qcom,fast-avg-setup = <0>;
473         };
474
475         chan@4d {
476                 label = "msm_therm";
477                 reg = <0x4d>;
478                 qcom,decimation = <2>;
479                 qcom,pre-div-channel-scaling = <0>;
480                 qcom,calibration-type = "ratiometric";
481                 qcom,scale-function = <2>;
482                 qcom,hw-settle-time = <2>;
483                 qcom,fast-avg-setup = <0>;
484         };
485
486         chan@4e {
487                 label = "emmc_therm";
488                 reg = <0x4e>;
489                 qcom,decimation = <2>;
490                 qcom,pre-div-channel-scaling = <0>;
491                 qcom,calibration-type = "ratiometric";
492                 qcom,scale-function = <2>;
493                 qcom,hw-settle-time = <2>;
494                 qcom,fast-avg-setup = <0>;
495         };
496
497         chan@4f {
498                 label = "pa_therm0";
499                 reg = <0x4f>;
500                 qcom,decimation = <2>;
501                 qcom,pre-div-channel-scaling = <0>;
502                 qcom,calibration-type = "ratiometric";
503                 qcom,scale-function = <2>;
504                 qcom,hw-settle-time = <2>;
505                 qcom,fast-avg-setup = <0>;
506         };
507
508         chan@50 {
509                 label = "pa_therm1";
510                 reg = <0x50>;
511                 qcom,decimation = <2>;
512                 qcom,pre-div-channel-scaling = <0>;
513                 qcom,calibration-type = "ratiometric";
514                 qcom,scale-function = <2>;
515                 qcom,hw-settle-time = <2>;
516                 qcom,fast-avg-setup = <0>;
517         };
518
519         chan@51 {
520                 label = "quiet_therm";
521                 reg = <0x51>;
522                 qcom,decimation = <2>;
523                 qcom,pre-div-channel-scaling = <0>;
524                 qcom,calibration-type = "ratiometric";
525                 qcom,scale-function = <2>;
526                 qcom,hw-settle-time = <2>;
527                 qcom,fast-avg-setup = <0>;
528         };
529 };
530
531 &pm8998_adc_tm {
532         chan@83 {
533                 label = "vph_pwr";
534                 reg = <0x83>;
535                 qcom,pre-div-channel-scaling = <1>;
536                 qcom,calibration-type = "absolute";
537                 qcom,scale-function = <0>;
538                 qcom,hw-settle-time = <0>;
539                 qcom,btm-channel-number = <0x60>;
540         };
541
542         chan@4d {
543                 label = "msm_therm";
544                 reg = <0x4d>;
545                 qcom,pre-div-channel-scaling = <0>;
546                 qcom,calibration-type = "ratiometric";
547                 qcom,scale-function = <2>;
548                 qcom,hw-settle-time = <2>;
549                 qcom,btm-channel-number = <0x68>;
550                 qcom,thermal-node;
551         };
552
553         chan@4e {
554                 label = "emmc_therm";
555                 reg = <0x4e>;
556                 qcom,pre-div-channel-scaling = <0>;
557                 qcom,calibration-type = "ratiometric";
558                 qcom,scale-function = <2>;
559                 qcom,hw-settle-time = <2>;
560                 qcom,btm-channel-number = <0x80>;
561                 qcom,thermal-node;
562         };
563
564         chan@4f {
565                 label = "pa_therm0";
566                 reg = <0x4f>;
567                 qcom,pre-div-channel-scaling = <0>;
568                 qcom,calibration-type = "ratiometric";
569                 qcom,scale-function = <2>;
570                 qcom,hw-settle-time = <2>;
571                 qcom,btm-channel-number = <0x88>;
572                 qcom,thermal-node;
573         };
574
575         chan@50 {
576                 label = "pa_therm1";
577                 reg = <0x50>;
578                 qcom,pre-div-channel-scaling = <0>;
579                 qcom,calibration-type = "ratiometric";
580                 qcom,scale-function = <2>;
581                 qcom,hw-settle-time = <2>;
582                 qcom,btm-channel-number = <0x90>;
583                 qcom,thermal-node;
584         };
585
586         chan@51 {
587                 label = "quiet_therm";
588                 reg = <0x51>;
589                 qcom,pre-div-channel-scaling = <0>;
590                 qcom,calibration-type = "ratiometric";
591                 qcom,scale-function = <2>;
592                 qcom,hw-settle-time = <2>;
593                 qcom,btm-channel-number = <0x70>;
594                 qcom,thermal-node;
595         };
596
597         chan@4c {
598                 label = "xo_therm";
599                 reg = <0x4c>;
600                 qcom,pre-div-channel-scaling = <0>;
601                 qcom,calibration-type = "ratiometric";
602                 qcom,scale-function = <4>;
603                 qcom,hw-settle-time = <2>;
604                 qcom,btm-channel-number = <0x78>;
605                 qcom,thermal-node;
606         };
607 };
608
609 &wil6210 {
610         status = "ok";
611 };
612
613 &slim_aud {
614         wcd934x_cdc: tavil_codec {
615                 status = "disabled";
616         };
617         tasha_codec {
618                 qcom,cdc-micbias1-mv = <2750>;
619                 qcom,cdc-micbias2-mv = <1800>;
620                 qcom,cdc-micbias3-mv = <1800>;
621                 qcom,cdc-micbias4-mv = <2750>;
622         };
623 };
624
625 &wsa881x_0211 {
626         status = "disabled";
627 };
628
629 &wsa881x_0212 {
630         status = "disabled";
631 };
632
633 &wsa881x_0213 {
634         status = "disabled";
635 };
636
637 &wsa881x_0214 {
638         status = "disabled";
639 };
640
641 &soc {
642         smp2pgpio_rdbg_5_in: qcom,smp2pgpio-rdbg-5-in {
643                 status = "disabled";
644         };
645
646         smp2pgpio_rdbg_5_out: qcom,smp2pgpio-rdbg-5-out {
647                 status = "disabled";
648         };
649
650         snd_934x: sound-tavil {
651                 status = "disabled";
652         };
653
654         sound-9335 {
655                 qcom,audio-routing =
656                         "AIF4 VI", "MCLK",
657                         "RX_BIAS", "MCLK",
658                         "MADINPUT", "MCLK",
659                         "AMIC1", "MIC BIAS2",
660                         "MIC BIAS2", "Handset Mic",
661                         "AMIC2", "MIC BIAS2",
662                         "MIC BIAS2", "Headset Mic",
663                         "AMIC3", "MIC BIAS1",
664                         "MIC BIAS1", "ANCRight Headset Mic",
665                         "AMIC4", "MIC BIAS1",
666                         "MIC BIAS1", "ANCLeft Headset Mic",
667                         "AMIC5", "MIC BIAS4",
668                         "MIC BIAS4", "Handset Mic",
669                         "AMIC6", "MIC BIAS4",
670                         "MIC BIAS4", "Analog Mic6";
671
672                 qcom,wsa-max-devs = <0>;
673                 qcom,msm-mbhc-hphl-swh = <1>;
674                 qcom,us-euro-gpios = <&wcd_us_euro_gpio>;
675
676                 qcom,asel-gpio = <&pmi8998_gpios 3 0x00>;
677                 qcom,hsdet-gpio = <&tlmm 8 0x01>;
678
679                 qcom,spk-id-pin = <&spk_id_pin>;
680                 qcom,rcv-id-pin = <&rcv_id_pin>;
681         };
682
683         spk_id_pin: spk-id-pin@100 {
684                 compatible = "audio,speaker-id";
685                 audio,speaker-id-gpio = <&tlmm 100 0x00>;
686                 pinctrl-names = "pull_down", "pull_up", "no_pull";
687                 pinctrl-0 = <&spk_id_pull_down>;
688                 pinctrl-1 = <&spk_id_pull_up>;
689                 pinctrl-2 = <&spk_id_no_pull>;
690         };
691
692         rcv_id_pin: rcv-id-pin@11 {
693                 compatible = "audio,speaker-id";
694                 audio,speaker-id-gpio = <&tlmm 11 0x00>;
695                 pinctrl-names = "pull_down", "pull_up", "no_pull";
696                 pinctrl-0 = <&rcv_id_pull_down>;
697                 pinctrl-1 = <&rcv_id_pull_up>;
698                 pinctrl-2 = <&rcv_id_no_pull>;
699         };
700
701         gpio_keys {
702                 compatible = "gpio-keys";
703                 input-name = "gpio-keys";
704                 status = "okay";
705
706                 vol_up {
707                         label = "volume_up";
708                         gpios = <&pm8998_gpios 6 0x1>;
709                         linux,input-type = <1>;
710                         linux,code = <115>;
711                         gpio-key,wakeup;
712                         debounce-interval = <15>;
713                 };
714
715                 cam_snapshot {
716                         label = "cam_snapshot";
717                         gpios = <&pm8998_gpios 7 0x1>;
718                         linux,input-type = <1>;
719                         linux,code = <766>;
720                         gpio-key,wakeup;
721                         debounce-interval = <15>;
722                 };
723
724                 cam_focus {
725                         label = "cam_focus";
726                         gpios = <&pm8998_gpios 8 0x1>;
727                         linux,input-type = <1>;
728                         linux,code = <528>;
729                         gpio-key,wakeup;
730                         debounce-interval = <15>;
731                 };
732
733                 hall_key0 {
734                         label = "hall_key0";
735                         gpios = <&tlmm 124 0x01>;
736                         linux,input-type = <5>;
737                         linux,code = <0>;
738                         gpio-key,wakeup;
739                         debounce-interval = <15>;
740                 };
741         };
742
743         qcom,msm-dai-mi2s {
744                 dai_mi2s3: qcom,msm-dai-q6-mi2s-quat {
745                         qcom,msm-mi2s-rx-lines = <1>;
746                         qcom,msm-mi2s-tx-lines = <2>;
747                         pinctrl-names = "default", "sleep";
748                         pinctrl-0 = <&quat_mi2s_active
749                                      &quat_mi2s_sd0_active
750                                      &quat_mi2s_sd1_active>;
751                         pinctrl-1 = <&quat_mi2s_sleep
752                                      &quat_mi2s_sd0_sleep
753                                      &quat_mi2s_sd1_sleep>;
754                 };
755         };
756
757         fingerprint_fpc {
758                 compatible = "fpc,fpc1020";
759
760                 interrupt-parent = <&tlmm>;
761                 interrupts = <121 0x0>;
762
763                 vdd_ana-supply  = <&fp_vdd_vreg>;
764
765                 pinctrl-names = "fpc1020_reset_reset",
766                         "fpc1020_reset_active",
767                         "fpc1020_irq_active";
768
769                 pinctrl-0 = <&msm_gpio_37>;
770                 pinctrl-1 = <&msm_gpio_37_output_high>;
771                 pinctrl-2 = <&msm_gpio_121>;
772
773                 fpc,gpio_rst    = <&tlmm 37 0x0>;
774                 fpc,gpio_irq    = <&tlmm 121 0x0>;
775
776                 status = "ok";
777         };
778
779         fingerprint_goodix {
780                 compatible = "goodix,fingerprint";
781
782                 pinctrl-names = "pmx_fp_active", "pmx_fp_suspend";
783                 pinctrl-0 = <&fp_active>;
784                 pinctrl-1 = <&fp_suspend>;
785
786                 clock-names = "iface_clk", "core_clk";
787                 clocks = <&clock_gcc clk_gcc_blsp2_ahb_clk>,
788                          <&clock_gcc clk_gcc_blsp2_qup6_spi_apps_clk>;
789
790                 fp-gpio-reset = <&tlmm 37 0>;
791                 fp-gpio-irq = <&tlmm 121 0>;
792
793                 status = "ok";
794         };
795 };
796
797 &spi_2 {
798         spi-max-frequency = <19200000>;
799
800         status = "ok";
801
802         peel_ir@0 {
803                 compatible = "peel_ir";
804                 reg = <0>;
805
806                 spi-max-frequency = <19200000>;
807
808                 peel_ir,lr-gpio = <73>;
809                 peel_ir,lr-gpio-valid = <1>;
810                 peel_ir,spi-bpw = <32>;
811                 peel_ir,spi-clk-speed= <960000>;
812                 peel_ir,spi-mode = <0>;
813                 peel_ir,peel-field = <2345>;
814
815                 status = "ok";
816         };
817 };
818
819 &pcie0 {
820         status = "disabled";
821 };
822
823 &fp_vdd_vreg {
824         regulator-always-on;
825 };
826
827 &pmi8998_wled {
828         qcom,led-strings-list = [00 01];
829         qcom,fs-curr-ua = <20000>;
830         qcom,en-cabc;
831 };
832
833 &red_led { /* Notification LED */
834         qcom,use-blink;
835         qcom,start-idx = <0>;
836         qcom,idx-len = <8>;
837         qcom,duty-pcts = [ 00 0E 1C 2A 38 46 54 64 ];
838         qcom,lut-flags = <31>; /* loop, ramp up, reverse, pause hi, pause lo */
839         qcom,pause-lo = <500>;
840         qcom,pause-hi = <500>;
841         qcom,ramp-step-ms = <50>;
842         linux,name = "white";
843 };
844
845 &blue_led { /* Left button backlight */
846         linux,name = "button-backlight";
847 };
848
849 &green_led { /* Right button backlight */
850         linux,name = "button-backlight1";
851 };
852
853 &pmi8998_charger {
854         qcom,usb-icl-ua = <3000000>;
855         qcom,fcc-max-ua = <3200000>;
856         qcom,auto-recharge-soc;
857
858         qcom,thermal-mitigation
859                                 = <1800000 1600000 1400000 1200000 1000000 1000000 1000000>;
860         qcom,thermal-mitigation-dcp
861                                 = <1800000 1600000 1400000 1200000 1000000 1000000 1000000>;
862         qcom,thermal-mitigation-qc3
863                                 = <3000000 2425000 2125000 1825000 1525000 1225000 925000>;
864         qcom,thermal-mitigation-qc2
865                                 = <1600000 1400000 1200000 1000000 900000 900000 900000>;
866 };
867
868 &pmi8998_fg {
869         qcom,fg-force-load-profile;
870         qcom,fg-sys-term-current = <(-300)>;
871         qcom,fg-chg-term-current = <200>;
872         qcom,fg-auto-recharge-soc;
873         qcom,fg-recharge-soc-thr = <99>;
874         qcom,fg-cutoff-voltage = <3400>;
875         qcom,fg-empty-voltage = <3100>;
876         qcom,fg-cutoff-current = <200>;
877         qcom,fg-jeita-hyst-temp = <0>;
878         qcom,fg-jeita-thresholds = <0 15 45 60>;
879         qcom,fg-esr-clamp-mohms = <60>;
880         qcom,fg-batt-temp-delta = <6>;
881         qcom,linearize-soc;
882 };
883
884 /{
885         mtp_batterydata: qcom,battery-data {
886                 qcom,batt-id-range-pct = <15>;
887                 #include "batterydata-sagit-atl-3350mAh.dtsi"
888                 #include "batterydata-sagit-sdi-3440mAh.dtsi"
889                 #include "batterydata-itech-3020mAh.dtsi"
890         };
891 };
892
893 &qusb_phy0 {
894         qcom,qusb-phy-init-seq =
895                         /* <value reg_offset> */
896                         <0x80 0x0
897                         0x13 0x04
898                         0x7c 0x18c
899                         0x80 0x2c
900                         0x0a 0x184
901                         0xf0 0x23c
902                         0x0d 0x240>;
903 };
904
905 &pmi8998_bob {
906         regulator-max-microvolt = <3800000>;
907 };
908
909 &pmi8998_bob_pin1 {
910         regulator-max-microvolt = <3800000>;
911 };
912
913 &pmi8998_bob_pin2 {
914         regulator-max-microvolt = <3800000>;
915 };
916
917 &pmi8998_bob_pin3 {
918         regulator-max-microvolt = <3800000>;
919 };