1 /* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
13 #include "msm8996-pinctrl.dtsi"
14 #include "msm8996-camera-sensor-auto-cdp.dtsi"
15 #include "msm8996-wsa881x.dtsi"
18 bluetooth: bt_qca6174 {
19 compatible = "qca,qca6174";
20 qca,bt-reset-gpio = <&pm8994_gpios 19 0>; /* BT_EN */
21 qca,bt-vdd-core-supply = <&pm8994_s3>;
22 qca,bt-vdd-pa-supply = <&rome_vreg>;
23 qca,bt-vdd-io-supply = <&pm8994_s4>;
24 qca,bt-vdd-xtal-supply = <&pm8994_l30>;
25 qca,bt-chip-pwd-voltage-level = <1300000 1300000>;
26 qca,bt-vdd-io-voltage-level = <1800000 1800000>;
27 qca,bt-vdd-xtal-voltage-level = <1800000 1800000>;
49 compatible = "qcom,spi-msm-codec-slave";
51 spi-max-frequency = <2000000>;
58 pinctrl-names = "default";
59 pinctrl-0 = <&uart_console_active>;
63 vdd-supply = <&pm8994_l20>;
64 qcom,vdd-voltage-level = <2950000 2950000>;
65 qcom,vdd-current-level = <200 570000>;
67 vdd-io-supply = <&pm8994_s4>;
68 qcom,vdd-io-always-on;
69 qcom,vdd-io-voltage-level = <1800000 1800000>;
70 qcom,vdd-io-current-level = <110 325000>;
72 pinctrl-names = "active", "sleep";
73 pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on &sdc1_rclk_on>;
74 pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off &sdc1_rclk_off>;
76 qcom,clk-rates = <400000 20000000 25000000 50000000
77 96000000 192000000 384000000>;
78 qcom,ice-clk-rates = <300000000 150000000>;
80 qcom,bus-speed-mode = "HS400_1p8v", "HS200_1p8v", "DDR_1p8v";
86 vdd-supply = <&pm8994_l21>;
87 qcom,vdd-voltage-level = <2950000 2950000>;
88 qcom,vdd-current-level = <200 800000>;
90 vdd-io-supply = <&pm8994_l13>;
91 qcom,vdd-io-voltage-level = <1800000 2950000>;
92 qcom,vdd-io-current-level = <200 22000>;
94 pinctrl-names = "active", "sleep";
95 pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on
97 pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off
100 qcom,clk-rates = <400000 20000000 25000000
101 50000000 100000000 200000000>;
102 qcom,bus-speed-mode = "SDR12", "SDR25", "SDR50", "DDR50", "SDR104";
104 cd-gpios = <&tlmm 38 0x1>;
113 qcom,decimation = <0>;
114 qcom,pre-div-channel-scaling = <1>;
115 qcom,calibration-type = "absolute";
116 qcom,scale-function = <0>;
117 qcom,hw-settle-time = <0>;
118 qcom,fast-avg-setup = <0>;
124 qcom,decimation = <0>;
125 qcom,pre-div-channel-scaling = <1>;
126 qcom,calibration-type = "absolute";
127 qcom,scale-function = <0>;
128 qcom,hw-settle-time = <0>;
129 qcom,fast-avg-setup = <0>;
135 qcom,decimation = <0>;
136 qcom,pre-div-channel-scaling = <0>;
137 qcom,calibration-type = "ratiometric";
138 qcom,scale-function = <2>;
139 qcom,hw-settle-time = <2>;
140 qcom,fast-avg-setup = <0>;
144 label = "emmc_therm";
146 qcom,decimation = <0>;
147 qcom,pre-div-channel-scaling = <0>;
148 qcom,calibration-type = "ratiometric";
149 qcom,scale-function = <2>;
150 qcom,hw-settle-time = <2>;
151 qcom,fast-avg-setup = <0>;
157 qcom,decimation = <0>;
158 qcom,pre-div-channel-scaling = <0>;
159 qcom,calibration-type = "ratiometric";
160 qcom,scale-function = <2>;
161 qcom,hw-settle-time = <2>;
162 qcom,fast-avg-setup = <0>;
168 qcom,decimation = <0>;
169 qcom,pre-div-channel-scaling = <0>;
170 qcom,calibration-type = "ratiometric";
171 qcom,scale-function = <2>;
172 qcom,hw-settle-time = <2>;
173 qcom,fast-avg-setup = <0>;
177 label = "quiet_therm";
179 qcom,decimation = <0>;
180 qcom,pre-div-channel-scaling = <0>;
181 qcom,calibration-type = "ratiometric";
182 qcom,scale-function = <2>;
183 qcom,hw-settle-time = <2>;
184 qcom,fast-avg-setup = <0>;
188 label = "xo_therm_buf";
190 qcom,decimation = <0>;
191 qcom,pre-div-channel-scaling = <0>;
192 qcom,calibration-type = "ratiometric";
193 qcom,scale-function = <4>;
194 qcom,hw-settle-time = <2>;
195 qcom,fast-avg-setup = <0>;
199 label = "xo_therm_buf";
201 qcom,decimation = <0>;
202 qcom,pre-div-channel-scaling = <0>;
203 qcom,calibration-type = "ratiometric";
204 qcom,scale-function = <4>;
205 qcom,hw-settle-time = <2>;
206 qcom,fast-avg-setup = <0>;
214 qcom,decimation = <0>;
215 qcom,pre-div-channel-scaling = <0>;
216 qcom,calibration-type = "ratiometric";
217 qcom,scale-function = <2>;
218 qcom,hw-settle-time = <2>;
219 qcom,fast-avg-setup = <0>;
220 qcom,btm-channel-number = <0x48>;
225 label = "emmc_therm";
227 qcom,decimation = <0>;
228 qcom,pre-div-channel-scaling = <0>;
229 qcom,calibration-type = "ratiometric";
230 qcom,scale-function = <2>;
231 qcom,hw-settle-time = <2>;
232 qcom,fast-avg-setup = <0>;
233 qcom,btm-channel-number = <0x68>;
240 qcom,decimation = <0>;
241 qcom,pre-div-channel-scaling = <0>;
242 qcom,calibration-type = "ratiometric";
243 qcom,scale-function = <2>;
244 qcom,hw-settle-time = <2>;
245 qcom,fast-avg-setup = <0>;
246 qcom,btm-channel-number = <0x70>;
253 qcom,decimation = <0>;
254 qcom,pre-div-channel-scaling = <0>;
255 qcom,calibration-type = "ratiometric";
256 qcom,scale-function = <2>;
257 qcom,hw-settle-time = <2>;
258 qcom,fast-avg-setup = <0>;
259 qcom,btm-channel-number = <0x78>;
264 label = "quiet_therm";
266 qcom,decimation = <0>;
267 qcom,pre-div-channel-scaling = <0>;
268 qcom,calibration-type = "ratiometric";
269 qcom,scale-function = <2>;
270 qcom,hw-settle-time = <2>;
271 qcom,fast-avg-setup = <0>;
272 qcom,btm-channel-number = <0x80>;
277 label = "xo_therm_buf";
279 qcom,decimation = <0>;
280 qcom,pre-div-channel-scaling = <0>;
281 qcom,calibration-type = "ratiometric";
282 qcom,scale-function = <4>;
283 qcom,hw-settle-time = <2>;
284 qcom,fast-avg-setup = <0>;
285 qcom,btm-channel-number = <0x88>;
291 pinctrl-names = "hdmi_hpd_active", "hdmi_ddc_active", "hdmi_cec_active",
292 "hdmi_active", "hdmi_sleep";
293 pinctrl-0 = <&mdss_hdmi_hpd_active &mdss_hdmi_ddc_suspend
294 &mdss_hdmi_cec_suspend>;
295 pinctrl-1 = <&mdss_hdmi_hpd_active &mdss_hdmi_ddc_active
296 &mdss_hdmi_cec_suspend>;
297 pinctrl-2 = <&mdss_hdmi_hpd_active &mdss_hdmi_cec_active
298 &mdss_hdmi_ddc_suspend>;
299 pinctrl-3 = <&mdss_hdmi_hpd_active &mdss_hdmi_ddc_active
300 &mdss_hdmi_cec_active>;
301 pinctrl-4 = <&mdss_hdmi_hpd_suspend &mdss_hdmi_ddc_suspend
302 &mdss_hdmi_cec_suspend>;
305 #include "msm8996-sde-display.dtsi"
308 mdss_dsi_active: mdss_dsi_active {
310 pins = "gpio8", "gpio70";
315 pins = "gpio8", "gpio70";
316 drive-strength = <8>; /* 8 mA */
317 bias-disable = <0>; /* no pull */
322 mdss_dsi_suspend: mdss_dsi_suspend {
324 pins = "gpio8", "gpio70";
329 pins = "gpio8", "gpio70";
330 drive-strength = <2>; /* 2 mA */
331 bias-pull-down; /* pull down */
337 qcom,mdss-pref-prim-intf = "dsi";
341 qcom,dsi-display-active;
342 qcom,dsi-panel = <&dsi_adv7533_1080p>;
344 qcom,panel-supply-entries {
345 #address-cells = <1>;
348 qcom,panel-supply-entry@0 {
350 qcom,supply-name = "vdd";
351 qcom,supply-min-voltage = <3300000>;
352 qcom,supply-max-voltage = <3300000>;
353 qcom,supply-enable-load = <100000>;
354 qcom,supply-disable-load = <100>;
357 qcom,panel-supply-entry@1 {
359 qcom,supply-name = "vddio";
360 qcom,supply-min-voltage = <1800000>;
361 qcom,supply-max-voltage = <1800000>;
362 qcom,supply-enable-load = <100000>;
363 qcom,supply-disable-load = <100>;
369 qcom,dsi-display-active;
370 qcom,dsi-panel = <&dsi_adv7533_1080p>;
372 qcom,panel-supply-entries {
373 #address-cells = <1>;
376 qcom,panel-supply-entry@0 {
378 qcom,supply-name = "vdd";
379 qcom,supply-min-voltage = <3300000>;
380 qcom,supply-max-voltage = <3300000>;
381 qcom,supply-enable-load = <100000>;
382 qcom,supply-disable-load = <100>;
385 qcom,panel-supply-entry@1 {
387 qcom,supply-name = "vddio";
388 qcom,supply-min-voltage = <1800000>;
389 qcom,supply-max-voltage = <1800000>;
390 qcom,supply-enable-load = <100000>;
391 qcom,supply-disable-load = <100>;
398 qcom,customize-modes {
399 qcom,customize-mode-id@0 {
400 qcom,mode-name = "1920x1080@60Hz";
401 qcom,mode-h-active = <1920>;
402 qcom,mode-h-front-porch = <88>;
403 qcom,mode-h-pulse-width = <44>;
404 qcom,mode-h-back-porch = <148>;
405 qcom,mode-h-active-high;
406 qcom,mode-v-active = <1080>;
407 qcom,mode-v-front-porch = <4>;
408 qcom,mode-v-pulse-width = <5>;
409 qcom,mode-v-back-porch = <36>;
410 qcom,mode-v-active-high;
411 qcom,mode-refresh-rate = <60>;
412 qcom,mode-clock-in-khz = <148500>;
418 hw-config = "dual_dsi";
422 qcom,dsi-pref-prim-pan = <&dsi_adv7533_1080p>;
423 pinctrl-names = "mdss_default", "mdss_sleep";
424 pinctrl-0 = <&mdss_dsi_active &mdss_te_active>;
425 pinctrl-1 = <&mdss_dsi_suspend &mdss_te_suspend>;
426 qcom,display-id = "primary";
427 qcom,bridge-index = <0>;
429 qcom,panel-supply-entries {
430 #address-cells = <1>;
433 qcom,panel-supply-entry@0 {
435 qcom,supply-name = "vdd";
436 qcom,supply-min-voltage = <3300000>;
437 qcom,supply-max-voltage = <3300000>;
438 qcom,supply-enable-load = <100000>;
439 qcom,supply-disable-load = <100>;
442 qcom,panel-supply-entry@1 {
444 qcom,supply-name = "vddio";
445 qcom,supply-min-voltage = <1800000>;
446 qcom,supply-max-voltage = <1800000>;
447 qcom,supply-enable-load = <100000>;
448 qcom,supply-disable-load = <100>;
454 qcom,dsi-pref-prim-pan = <&dsi_adv7533_1080p>;
455 pinctrl-names = "mdss_default", "mdss_sleep";
456 pinctrl-0 = <&mdss_dsi_active &mdss_te_active>;
457 pinctrl-1 = <&mdss_dsi_suspend &mdss_te_suspend>;
458 qcom,display-id = "tertiary";
459 qcom,bridge-index = <1>;
461 qcom,panel-supply-entries {
462 #address-cells = <1>;
465 qcom,panel-supply-entry@0 {
467 qcom,supply-name = "vdd";
468 qcom,supply-min-voltage = <3300000>;
469 qcom,supply-max-voltage = <3300000>;
470 qcom,supply-enable-load = <100000>;
471 qcom,supply-disable-load = <100>;
474 qcom,panel-supply-entry@1 {
476 qcom,supply-name = "vddio";
477 qcom,supply-min-voltage = <1800000>;
478 qcom,supply-max-voltage = <1800000>;
479 qcom,supply-enable-load = <100000>;
480 qcom,supply-disable-load = <100>;
485 &dsi_dual_sharp_video {
486 qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
487 qcom,mdss-dsi-bl-min-level = <1>;
488 qcom,mdss-dsi-bl-max-level = <4095>;
489 qcom,cont-splash-enabled;
490 qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
493 &dsi_dual_nt35597_video {
494 qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
495 qcom,mdss-dsi-bl-min-level = <1>;
496 qcom,mdss-dsi-bl-max-level = <4095>;
497 qcom,cont-splash-enabled;
498 qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
501 &dsi_dual_nt35597_cmd {
502 qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
503 qcom,mdss-dsi-bl-min-level = <1>;
504 qcom,mdss-dsi-bl-max-level = <4095>;
505 qcom,cont-splash-enabled;
506 qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
507 qcom,partial-update-enabled = "single_roi";
508 qcom,panel-roi-alignment = <720 128 720 64 720 64>;
511 &dsi_nt35597_dsc_video {
512 qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
513 qcom,mdss-dsi-bl-min-level = <1>;
514 qcom,mdss-dsi-bl-max-level = <4095>;
515 qcom,cont-splash-enabled;
516 qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
519 &dsi_nt35597_dsc_cmd {
520 qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
521 qcom,mdss-dsi-bl-min-level = <1>;
522 qcom,mdss-dsi-bl-max-level = <4095>;
523 qcom,cont-splash-enabled;
524 qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
528 mtp_batterydata: qcom,battery-data {
529 qcom,batt-id-range-pct = <15>;
530 #include "batterydata-itech-3000mah.dtsi"
535 mpp@a100 { /* MPP 2 */
536 qcom,mode = <1>; /* Digital output */
537 qcom,output-type = <0>; /* CMOS logic */
538 qcom,vin-sel = <2>; /* S4 1.8V */
539 qcom,src-sel = <0>; /* Constant */
540 qcom,master-en = <1>; /* Enable GPIO */
544 mpp@a300 { /* MPP 4 */
545 /* HDMI_5v_vreg regulator enable */
546 qcom,mode = <1>; /* Digital output */
547 qcom,output-type = <0>; /* CMOS logic */
548 qcom,vin-sel = <2>; /* S4 1.8V */
549 qcom,src-sel = <0>; /* Constant */
550 qcom,master-en = <1>; /* Enable GPIO */
555 mpp@a500 { /* MPP 6 */
556 qcom,mode = <1>; /* Digital output */
557 qcom,output-type = <0>; /* CMOS logic */
558 qcom,vin-sel = <2>; /* S4 1.8V */
559 qcom,src-sel = <0>; /* Constant */
560 qcom,master-en = <1>; /* Enable GPIO */
564 mpp@a700 { /* MPP 8 */
565 /* USB 5V regulator enable */
566 qcom,mode = <1>; /* Digital output */
567 qcom,output-type = <0>; /* CMOS logic */
568 qcom,vin-sel = <2>; /* S4 1.8V */
569 qcom,src-sel = <0>; /* Constant */
570 qcom,master-en = <1>; /* Enable GPIO */
578 compatible = "qcom,early-cam";
580 mmagic-supply = <&gdsc_mmagic_camss>;
581 gdscr-supply = <&gdsc_camss_top>;
582 vfe0-vdd-supply = <&gdsc_vfe0>;
583 vfe1-vdd-supply = <&gdsc_vfe1>;
584 qcom,cam-vreg-name = "mmagic", "gdscr", "vfe0-vdd", "vfe1-vdd";
585 clocks = <&clock_mmss clk_mmss_mmagic_ahb_clk>,
586 <&clock_mmss clk_camss_top_ahb_clk>,
587 <&clock_mmss clk_cci_clk_src>,
588 <&clock_mmss clk_camss_cci_ahb_clk>,
589 <&clock_mmss clk_camss_cci_clk>,
590 <&clock_mmss clk_camss_ahb_clk>,
591 <&clock_mmss clk_mmagic_camss_axi_clk>,
592 <&clock_mmss clk_camss_vfe_ahb_clk>,
593 <&clock_mmss clk_camss_vfe0_ahb_clk>,
594 <&clock_mmss clk_camss_vfe1_ahb_clk>,
595 <&clock_mmss clk_camss_vfe_axi_clk>,
596 <&clock_mmss clk_smmu_vfe_axi_clk>,
597 <&clock_mmss clk_smmu_vfe_ahb_clk>,
598 <&clock_mmss clk_vfe0_clk_src>,
599 <&clock_mmss clk_vfe1_clk_src>,
600 <&clock_mmss clk_camss_vfe0_stream_clk>,
601 <&clock_mmss clk_camss_vfe1_stream_clk>,
602 <&clock_mmss clk_camss_csi_vfe0_clk>,
603 <&clock_mmss clk_camss_csi_vfe1_clk>,
604 <&clock_mmss clk_camss_csi2_ahb_clk>,
605 <&clock_mmss clk_camss_csi2_clk>,
606 <&clock_mmss clk_camss_csi2phy_clk>,
607 <&clock_mmss clk_csi2phytimer_clk_src>,
608 <&clock_mmss clk_camss_csi2phytimer_clk>,
609 <&clock_mmss clk_camss_csi2rdi_clk>,
610 <&clock_mmss clk_camss_ispif_ahb_clk>,
611 <&clock_mmss clk_camss_vfe0_clk>,
612 <&clock_mmss clk_camss_vfe1_clk>;
614 "mmss_mmagic_ahb_clk",
620 "mmagic_camss_axi_clk",
622 "camss_vfe0_ahb_clk",
623 "camss_vfe1_ahb_clk",
629 "camss_vfe0_stream_clk",
630 "camss_vfe1_stream_clk",
631 "camss_csi_vfe0_clk",
632 "camss_csi_vfe1_clk",
633 "camss_csi2_ahb_clk",
636 "csi2phytimer_clk_src",
637 "camss_csi2phytimer_clk",
639 "camss_ispif_ahb_clk",
640 "clk_camss_vfe0_clk",
641 "clk_camss_vfe1_clk";
642 qcom,clock-rates = <19200000
670 qcom,clock-cntl-support;
671 qcom,clock-control = "NO_SET_RATE", "NO_SET_RATE",
672 "NO_SET_RATE", "NO_SET_RATE",
673 "NO_SET_RATE", "NO_SET_RATE",
674 "NO_SET_RATE", "NO_SET_RATE",
675 "NO_SET_RATE", "NO_SET_RATE",
676 "NO_SET_RATE", "NO_SET_RATE",
677 "NO_SET_RATE", "INIT_RATE",
678 "INIT_RATE", "NO_SET_RATE",
679 "NO_SET_RATE", "NO_SET_RATE",
680 "NO_SET_RATE","NO_SET_RATE",
681 "INIT_RATE","NO_SET_RATE",
682 "INIT_RATE", "NO_SET_RATE",
683 "NO_SET_RATE","NO_SET_RATE",
684 "NO_SET_RATE", "NO_SET_RATE";
687 ntn1: ntn_avb@1 { /* Neutrno device on RC1*/
688 compatible = "qcom,ntn_avb";
690 ntn-rst-gpio = <&pm8994_gpios 13 0>;
691 pinctrl-names = "default";
692 pinctrl-0 = <&ntn_clk_sync>;
694 vdd-ntn-hsic-supply = <&pm8994_l25>;
695 vdd-ntn-pci-supply = <&pm8994_s4>;
696 vdd-ntn-io-supply = <&pm8994_s4>;
698 qcom,ntn-rst-delay-msec = <100>;
699 qcom,ntn-rc-num = <1>;
700 qcom,ntn-bus-num = <1>;
701 qcom,ntn-mdio-bus-id = <1>;
702 qcom,ntn-phy-addr = <7>;
704 qcom,msm-bus,name = "ntn";
705 qcom,msm-bus,num-cases = <2>;
706 qcom,msm-bus,num-paths = <1>;
707 qcom,msm-bus,vectors-KBps =
709 <100 512 207108 14432000>;
712 ntn2: ntn_avb@2 { /*Neutrino device on RC2*/
713 compatible = "qcom,ntn_avb";
714 qcom,ntn-rst-delay-msec = <100>;
715 qcom,ntn-rc-num = <2>;
716 qcom,ntn-bus-num = <1>;
717 qcom,ntn-mdio-bus-id = <2>;
719 qcom,msm-bus,name = "ntn";
720 qcom,msm-bus,num-cases = <2>;
721 qcom,msm-bus,num-paths = <1>;
722 qcom,msm-bus,vectors-KBps =
724 <108 512 207108 14432000>;
729 compatible = "synaptics,dsx";
731 interrupt-parent = <&tlmm>;
732 interrupts = <125 0x2008>;
733 vdd-supply = <&pm8994_l14>;
734 avdd-supply = <&pm8994_l22>;
735 pinctrl-names = "pmx_ts_active", "pmx_ts_suspend";
736 pinctrl-0 = <&ts_active>;
737 pinctrl-1 = <&ts_suspend>;
738 synaptics,display-coords = <0 0 1599 2559>;
739 synaptics,panel-coords = <0 0 1599 2703>;
740 synaptics,reset-gpio = <&tlmm 89 0x00>;
741 synaptics,irq-gpio = <&tlmm 125 0x2008>;
742 synaptics,disable-gpios;
743 synaptics,fw-name = "PR1702898-s3528t_00350002.img";
744 /* Underlying clocks used by secure touch */
745 clock-names = "iface_clk", "core_clk";
746 clocks = <&clock_gcc clk_gcc_blsp2_ahb_clk>,
747 <&clock_gcc clk_gcc_blsp2_qup6_i2c_apps_clk>;
751 i2c@75b6000 { /* BLSP8 */
752 /* ADV7533 configuration */
754 compatible = "adv7533";
757 adi,video-mode = <3>; /* 3 = 1080p */
758 adi,main-addr = <0x3D>;
759 adi,cec-dsi-addr = <0x3E>;
761 pinctrl-names = "pmx_adv7533_active",
762 "pmx_adv7533_suspend";
763 pinctrl-0 = <&adv7533_0_int_active
764 &adv7533_0_hpd_int_active
765 &adv7533_0_switch_active>;
766 pinctrl-1 = <&adv7533_0_int_suspend
767 &adv7533_0_hpd_int_suspend
768 &adv7533_0_switch_suspend>;
769 adi,irq-gpio = <&tlmm 71 0x2002>;
770 adi,switch-gpio = <&tlmm 72 0x1>;
771 vddio-supply = <&pm8994_l17>;
772 qcom,supply-names = "vddio";
773 qcom,min-voltage-level = <1800000>;
774 qcom,max-voltage-level = <1800000>;
775 qcom,enable-load = <100000>;
776 qcom,disable-load = <100>;
777 qcom,post-on-sleep = <60>;
782 compatible = "adv7533";
785 adi,video-mode = <3>; /* 3 = 1080p */
786 adi,main-addr = <0x39>;
787 adi,cec-dsi-addr = <0x3C>;
789 pinctrl-names = "pmx_adv7533_active",
790 "pmx_adv7533_suspend";
791 pinctrl-0 = <&adv7533_1_int_active
792 &adv7533_1_hpd_int_active
793 &adv7533_1_switch_active>;
794 pinctrl-1 = <&adv7533_1_int_suspend
795 &adv7533_1_hpd_int_suspend
796 &adv7533_1_switch_suspend>;
797 adi,irq-gpio = <&tlmm 73 0x2002>;
798 adi,switch-gpio = <&tlmm 74 0x0>;
799 vddio-supply = <&pm8994_l17>;
800 qcom,supply-names = "vddio";
801 qcom,min-voltage-level = <1800000>;
802 qcom,max-voltage-level = <1800000>;
803 qcom,enable-load = <100000>;
804 qcom,disable-load = <100>;
811 pcie2_perst_default: pcie2_perst_default {
819 drive-strength = <2>;
824 pcie2_wake_default: pcie2_wake_default {
832 drive-strength = <2>;
837 pcie2_wake_sleep: pcie2_wake_sleep {
845 drive-strength = <2>;
853 compatible = "qcom,gen-vkeys";
854 label = "synaptics_dsx";
855 qcom,disp-maxx = <1599>;
856 qcom,disp-maxy = <2559>;
857 qcom,panel-maxx = <1599>;
858 qcom,panel-maxy = <2703>;
859 qcom,key-codes = <158 139 102 217>;
863 compatible = "gpio-keys";
864 input-name = "gpio-keys";
868 gpios = <&pm8994_gpios 2 0x1>;
869 linux,input-type = <1>;
872 debounce-interval = <15>;
876 label = "cam_snapshot";
877 gpios = <&pm8994_gpios 4 0x1>;
878 linux,input-type = <1>;
881 debounce-interval = <15>;
886 gpios = <&pm8994_gpios 5 0x1>;
887 linux,input-type = <1>;
890 debounce-interval = <15>;
899 compatible = "qcom,apq8096-asoc-snd-adp-agave";
900 qcom,model = "apq8096-adp-agave-snd-card";
902 asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
903 <&loopback>, <&compress>, <&hostless>,
904 <&afe>, <&lsm>, <&routing>, <&pcmnoirq>,
906 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
907 "msm-pcm-dsp.2", "msm-voip-dsp",
908 "msm-pcm-voice", "msm-pcm-loopback",
909 "msm-compress-dsp", "msm-pcm-hostless",
910 "msm-pcm-afe", "msm-lsm-client",
911 "msm-pcm-routing", "msm-pcm-dsp-noirq",
912 "msm-pcm-loopback.1";
913 asoc-cpu = <&dai_pri_auxpcm>, <&dai_sec_auxpcm>, <&dai_hdmi>,
914 <&dai_mi2s_sec>, <&dai_mi2s>, <&dai_mi2s_quat>,
915 <&afe_pcm_rx>, <&afe_pcm_tx>,
916 <&afe_proxy_rx>, <&afe_proxy_tx>,
917 <&incall_record_rx>, <&incall_record_tx>,
918 <&incall_music_rx>, <&incall_music2_rx>,
919 <&dai_pri_tdm_tx_0>, <&dai_pri_tdm_tx_1>,
920 <&dai_pri_tdm_tx_2>, <&dai_pri_tdm_tx_3>,
921 <&dai_pri_tdm_rx_0>, <&dai_pri_tdm_rx_1>,
922 <&dai_pri_tdm_rx_2>, <&dai_pri_tdm_rx_3>,
923 <&dai_sec_tdm_rx_0>, <&dai_sec_tdm_rx_1>,
924 <&dai_sec_tdm_rx_2>, <&dai_sec_tdm_rx_3>,
925 <&dai_sec_tdm_tx_0>, <&dai_sec_tdm_tx_1>,
926 <&dai_sec_tdm_tx_2>, <&dai_sec_tdm_tx_3>,
927 <&dai_tert_tdm_rx_0>, <&dai_tert_tdm_rx_1>,
928 <&dai_tert_tdm_rx_2>, <&dai_tert_tdm_rx_3>,
929 <&dai_tert_tdm_rx_4>, <&dai_tert_tdm_tx_0>,
930 <&dai_tert_tdm_tx_1>, <&dai_tert_tdm_tx_2>,
931 <&dai_tert_tdm_tx_3>, <&dai_quat_tdm_rx_0>,
932 <&dai_quat_tdm_rx_1>, <&dai_quat_tdm_rx_2>,
933 <&dai_quat_tdm_rx_3>, <&dai_quat_tdm_tx_0>,
934 <&dai_quat_tdm_tx_1>, <&dai_quat_tdm_tx_2>,
935 <&dai_quat_tdm_tx_3>;
936 asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-auxpcm.2",
937 "msm-dai-q6-hdmi.8", "msm-dai-q6-mi2s.1",
938 "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
939 "msm-dai-q6-dev.224", "msm-dai-q6-dev.225",
940 "msm-dai-q6-dev.241", "msm-dai-q6-dev.240",
941 "msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772",
942 "msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770",
943 "msm-dai-q6-tdm.36865", "msm-dai-q6-tdm.36867",
944 "msm-dai-q6-tdm.36869", "msm-dai-q6-tdm.36871",
945 "msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36866",
946 "msm-dai-q6-tdm.36868", "msm-dai-q6-tdm.36870",
947 "msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36882",
948 "msm-dai-q6-tdm.36884", "msm-dai-q6-tdm.36886",
949 "msm-dai-q6-tdm.36881", "msm-dai-q6-tdm.36883",
950 "msm-dai-q6-tdm.36885", "msm-dai-q6-tdm.36887",
951 "msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36898",
952 "msm-dai-q6-tdm.36900", "msm-dai-q6-tdm.36902",
953 "msm-dai-q6-tdm.36904", "msm-dai-q6-tdm.36897",
954 "msm-dai-q6-tdm.36899", "msm-dai-q6-tdm.36901",
955 "msm-dai-q6-tdm.36903", "msm-dai-q6-tdm.36912",
956 "msm-dai-q6-tdm.36914", "msm-dai-q6-tdm.36916",
957 "msm-dai-q6-tdm.36918", "msm-dai-q6-tdm.36913",
958 "msm-dai-q6-tdm.36915", "msm-dai-q6-tdm.36917",
959 "msm-dai-q6-tdm.36919";
960 asoc-codec = <&stub_codec>;
961 asoc-codec-names = "msm-stub-codec.1";
964 usb_detect: usb_detect {
965 compatible = "qcom,gpio-usbdetect";
966 qcom,vbus-det-gpio = <&pm8994_gpios 17 0>;
967 interrupt-parent = <&spmi_bus>;
968 interrupts = <0x0 0x9 0x0 IRQ_TYPE_NONE>;
969 interrupt-names ="pmic_id_irq";
972 loopback1: qcom,msm-pcm-loopback-low-latency {
973 compatible = "qcom,msm-pcm-loopback";
974 qcom,msm-pcm-loopback-low-latency;
977 usb_vbus_vreg: usb_vbus_vreg {
978 compatible = "regulator-fixed";
979 regulator-name = "usb_vbus_vreg";
980 gpio = <&pm8994_mpps 8 0>;
984 usb2_otg_switch: usb2_otg_switch {
985 compatible = "regulator-fixed";
986 vin-supply = <&usb_vbus_vreg>;
987 regulator-name = "usb2_otg_vreg";
988 gpio = <&pm8994_gpios 12 0>;
993 dai_mi2s_sec: qcom,msm-dai-q6-mi2s-sec {
994 qcom,msm-mi2s-rx-lines = <2>;
995 qcom,msm-mi2s-tx-lines = <1>;
996 pinctrl-names = "default", "sleep";
997 pinctrl-0 = <&sec_mi2s_active &sec_mi2s_sd0_active
998 &sec_mi2s_sd1_active>;
999 pinctrl-1 = <&sec_mi2s_sleep &sec_mi2s_sd0_sleep
1000 &sec_mi2s_sd1_sleep>;
1003 dai_mi2s_quat: qcom,msm-dai-q6-mi2s-quat {
1004 pinctrl-names = "default", "sleep";
1005 pinctrl-0 = <&quat_mi2s_active &quat_mi2s_sd0_active>;
1006 pinctrl-1 = <&quat_mi2s_sleep &quat_mi2s_sd0_sleep>;
1010 qcom,msm-dai-tdm-tert-rx {
1011 pinctrl-names = "default", "sleep";
1012 pinctrl-0 = <&tert_tdm_dout_active>;
1013 pinctrl-1 = <&tert_tdm_dout_sleep>;
1016 qcom,msm-dai-tdm-quat-rx {
1017 pinctrl-names = "default", "sleep";
1018 pinctrl-0 = <&quat_tdm_dout_active>;
1019 pinctrl-1 = <&quat_tdm_dout_sleep>;
1023 compatible = "qcom,adv7481";
1025 cam_vdig-supply = <&pm8994_s3>;
1027 settle-count = <16 16 16>;
1028 res-array = "RES_1080P", "RES_720P", "RES_576P_480P";
1029 /* Cameras powered by PMIC: */
1030 cam_vio-supply = <&pm8994_lvs1>;
1031 cam_vana-supply = <&pm8994_l17>;
1032 /* Self-powered cameras: */
1033 qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana";
1034 qcom,cam-vreg-min-voltage = <1300000 0 1800000>;
1035 qcom,cam-vreg-max-voltage = <1300000 0 1800000>;
1036 qcom,cam-vreg-op-mode = <105000 0 80000>;
1038 qcom,cci-master = <0>;
1039 gpios = <&tlmm 17 0>, /* I2C SDA */
1040 <&tlmm 18 0>, /* I2C SCL */
1041 <&pm8994_gpios 4 0>, /* RST */
1042 <&pm8994_gpios 5 0>, /* INT1 */
1043 <&pm8994_gpios 6 0>, /* INT2 */
1044 <&pm8994_gpios 7 0>; /* INT3 */
1048 compatible = "qcom,tv-tuner";
1052 compatible = "qcom,msm-ba";
1053 qcom,ba-input-profile-0 {
1054 qcom,type = <4>; /* input type */
1055 qcom,name = "HDMI-1"; /* input name */
1056 qcom,ba-input = <13>; /* ba input id */
1057 qcom,ba-output = <0>; /* ba output id */
1058 qcom,sd-name = "adv7481"; /* sd name */
1059 qcom,ba-node = <0>; /* ba node */
1060 qcom,user-type = <1>; /* user type */
1063 qcom,ba-input-profile-1 {
1064 qcom,type = <0>; /* input type */
1065 qcom,name = "CVBS-0"; /* input name */
1066 qcom,ba-input = <0>; /* ba input id */
1067 qcom,ba-output = <0>; /* ba output id */
1068 qcom,sd-name = "adv7481"; /* sd name */
1069 qcom,ba-node = <1>; /* ba node */
1070 qcom,user-type = <1>; /* user type */
1073 qcom,ba-input-profile-2 {
1074 qcom,type = <8>; /* input type */
1075 qcom,name = "TUNER-2"; /* input name */
1076 qcom,ba-input = <16>; /* ba input id */
1077 qcom,ba-output = <0>; /* ba output id */
1078 qcom,sd-name = "tv-tuner"; /* sd name */
1079 qcom,ba-node = <2>; /* ba node */
1080 qcom,user-type = <1>; /* user type */
1086 gpio@c600 { /* GPIO 7 - adv7481 INT3*/
1093 gpio@c700 { /* GPIO 8 - WLAN_EN */
1094 qcom,mode = <1>; /* Digital output*/
1095 qcom,pull = <4>; /* Pulldown 10uA */
1096 qcom,vin-sel = <2>; /* VIN2 */
1097 qcom,src-sel = <0>; /* GPIO */
1098 qcom,invert = <0>; /* Invert */
1099 qcom,master-en = <1>; /* Enable GPIO */
1103 gpio@c800 { /* GPIO 9 - Rome 3.3V control */
1104 qcom,mode = <1>; /* Digital output */
1105 qcom,output-type = <0>; /* MOS logic */
1106 qcom,invert = <1>; /* Output high */
1107 qcom,vin-sel = <0>; /* VPH_PWR */
1108 qcom,src-sel = <0>; /* Constant */
1109 qcom,out-strength = <1>; /* High drive strength */
1110 qcom,master-en = <1>; /* Enable GPIO */
1114 gpio@c900 { /* GPIO 10 - lcd_bklt_reg_en */
1115 qcom,mode = <1>; /* DIGITAL OUT */
1116 qcom,output-type = <0>; /* CMOS logic */
1117 qcom,invert = <1>; /* output hight initially */
1118 qcom,vin-sel = <2>; /* 1.8 */
1119 qcom,src-sel = <0>; /* CONSTANT */
1120 qcom,out-strength = <1>; /* Low drive strength */
1121 qcom,master-en = <1>; /* ENABLE GPIO */
1124 gpio@c100 { /* GPIO 2 */
1132 gpio@c300 { /* GPIO 4 - adv7481 RST */
1140 gpio@c400 { /* GPIO 5 - adv7481 INT1 */
1147 gpio@c500 { /* GPIO 6 - adv7481 INT2*/
1154 gpio@ca00 { /* GPIO 11 - USB enb1 (otg switch) */
1155 qcom,mode = <1>; /* DIGITAL OUT */
1156 qcom,vin-sel = <2>; /* 1.8 */
1157 qcom,src-sel = <0>; /* GPIO */
1158 qcom,master-en = <1>; /* Enable GPIO */
1162 gpio@cb00 { /* GPIO 12 - USB enb2 (otg switch) */
1163 qcom,mode = <1>; /* DIGITAL OUT */
1164 qcom,vin-sel = <2>; /* 1.8 */
1165 qcom,src-sel = <0>; /* GPIO */
1166 qcom,master-en = <1>; /* Enable GPIO */
1170 gpio@cc00 { /* GPIO 13 - NTN_RST */
1171 qcom,mode = <1>; /* DIGITAL OUT */
1172 qcom,output-type = <0>; /* CMOS logic */
1174 qcom,vin-sel = <2>; /* 1.8 */
1175 qcom,out-strength = <1>;
1176 qcom,src-sel = <0>; /* GPIO */
1177 qcom,master-en = <0>; /* Disable GPIO */
1181 gpio@ce00 { /* GPIO 15 */
1183 qcom,output-type = <0>;
1186 qcom,out-strength = <1>;
1188 qcom,master-en = <1>;
1192 gpio@d000 { /* GPIO 17 - USB1 VBUS detect */
1193 qcom,mode = <0>; /* Digital Input*/
1194 qcom,pull = <5>; /* No pull */
1195 qcom,vin-sel = <2>; /* 1.8 V */
1196 qcom,src-sel = <0>; /* GPIO */
1197 qcom,master-en = <1>; /* Enable GPIO */
1201 gpio@d100 { /* GPIO 18 - Rome Sleep Clock */
1202 qcom,mode = <1>; /* Digital output */
1203 qcom,output-type = <0>; /* CMOS logic */
1204 qcom,invert = <0>; /* Output low initially */
1205 qcom,vin-sel = <2>; /* VIN 2 */
1206 qcom,src-sel = <3>; /* Function 2 */
1207 qcom,out-strength = <2>; /* Medium */
1208 qcom,master-en = <1>; /* Enable GPIO */
1212 gpio@d200 { /* GPIO 19 - Rome BT Reset */
1213 qcom,mode = <1>; /* Digital output*/
1214 qcom,pull = <4>; /* Pulldown 10uA */
1215 qcom,vin-sel = <2>; /* VIN2 */
1216 qcom,src-sel = <0>; /* GPIO */
1217 qcom,invert = <0>; /* Invert */
1218 qcom,master-en = <1>; /* Enable GPIO */
1225 vbus_dwc3-supply = <&usb2_otg_switch>;
1226 qcom,no-wakeup-src-in-hostmode;
1233 extcon = <&usb_detect>;
1234 vbus_dwc3-supply = <&usb_otg_switch>;
1235 vdda33-supply = <&pm8994_l24>;
1236 vdda18-supply = <&pm8994_l12>;
1237 qcom,no-wakeup-src-in-hostmode;
1246 compatible = "atmel,24c32";
1252 silabs4705@11 { /* SiLabs FM chip, slave id 0x11*/
1253 status = "disabled";
1254 compatible = "silabs,si4705";
1256 vdd-supply = <&pm8994_s4>;
1257 silabs,vdd-supply-voltage = <1800000 1800000>;
1258 va-supply = <&rome_vreg>;
1259 silabs,va-supply-voltage = <3300000 3300000>;
1260 pinctrl-names = "pmx_fm_active","pmx_fm_suspend";
1261 pinctrl-0 = <&fm_int_active &fm_status_int_active
1263 pinctrl-1 = <&fm_int_suspend &fm_status_int_suspend
1265 silabs,reset-gpio = <&tlmm 39 0>;
1266 silabs,int-gpio = <&tlmm 38 0>;
1267 silabs,status-gpio = <&tlmm 78 0>;
1268 #address-cells = <0>;
1270 #interrupt-cells = <1>;
1271 interrupt-map-mask = <0xffffffff>;
1276 interrupt-names = "silabs_fm_int", "silabs_fm_status_int";
1280 &i2c_8 { /* BLSP2 QUP2 */
1282 compatible = "qcom,nq-nci";
1284 qcom,nq-irq = <&tlmm 9 0x00>;
1285 qcom,nq-ven = <&tlmm 12 0x00>;
1286 qcom,nq-firm = <&pm8994_gpios 7 0x00>;
1287 interrupt-parent = <&tlmm>;
1288 qcom,clk-src = "BBCLK2";
1290 interrupt-names = "nfc_irq";
1291 pinctrl-names = "nfc_active", "nfc_suspend";
1292 pinctrl-0 = <&nfc_int_active &nfc_disable_active>;
1293 pinctrl-1 = <&nfc_int_suspend &nfc_disable_suspend>;
1294 clocks = <&clock_gcc clk_bb_clk2_pin>;
1295 clock-names = "ref_clk";
1301 /delete-property/ qcom,hph-en1-gpio;
1306 status = "disabled";
1309 /delete-node/ &led_flash0;
1312 /delete-property/ lab-supply;
1313 /delete-property/ ibb-supply;
1317 /delete-property/ lab-supply;
1318 /delete-property/ ibb-supply;
1323 /delete-property/ qcom,led-flash-src;
1327 /delete-property/ cam_vana-supply;
1332 gpio = <&pm8994_gpios 11 0>;
1335 /delete-property/ vin-supply;
1339 /delete-property/ qcom,l1-supported;
1340 /delete-property/ qcom,l1ss-supported;
1341 /delete-property/ qcom,aux-clk-sync;
1345 qcom,msi-gicm-addr = <0x09BD0040>;
1346 qcom,msi-gicm-base = <0x240>;
1348 /delete-property/ qcom,boot-option;
1349 /delete-property/ qcom,l1-supported;
1350 /delete-property/ qcom,l1ss-supported;
1351 /delete-property/ qcom,aux-clk-sync;
1352 /delete-property/ qcom,ep-wakeirq;
1356 perst-gpio = <&tlmm 90 0>;
1357 wake-gpio = <&tlmm 54 0>;
1359 /delete-property/ qcom,boot-option;
1360 /delete-property/ qcom,l1-supported;
1361 /delete-property/ qcom,l1ss-supported;
1362 /delete-property/ qcom,aux-clk-sync;
1363 /delete-property/ qcom,ep-wakeirq;
1367 /delete-property/ qcom,spkr-sd-n-gpio;
1371 /delete-property/ qcom,spkr-sd-n-gpio;
1375 /delete-property/ qcom,spkr-sd-n-gpio;
1379 /delete-property/ qcom,spkr-sd-n-gpio;
1388 lk_mem: lk_pool@0x91600000 {
1389 reg = <0 0x91600000 0 0x00600000>;
1393 early_camera_mem: early_camera_mem@b3fff000 {
1394 reg = <0 0xb3fff000 0 0x800000>;
1395 label = "early_camera_mem";
1397 early_audio_mem: early_audio_mem@0xb5fff000 {
1398 reg = <0x0 0xb5fff000 0x0 0x3FFFFC>;
1399 label = "early_audio_mem";