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-adp.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>;
48 qcom,phy-sequence = <0x404 0x01 0x00
95 qcom,port-phy-sequence = <0x1068 0x45 0x00
125 /delete-property/ qcom,l1-supported;
126 /delete-property/ qcom,l1ss-supported;
127 /delete-property/ qcom,aux-clk-sync;
131 qcom,phy-sequence = <0x404 0x01 0x00
178 qcom,port-phy-sequence = <0x2068 0x45 0x00
208 qcom,msi-gicm-addr = <0x09BD0040>;
209 qcom,msi-gicm-base = <0x240>;
211 /delete-property/ qcom,l1-supported;
212 /delete-property/ qcom,l1ss-supported;
213 /delete-property/ qcom,aux-clk-sync;
217 qcom,phy-sequence = <0x404 0x01 0x00
264 qcom,port-phy-sequence = <0x3068 0x45 0x00
294 /delete-property/ qcom,l1-supported;
295 /delete-property/ qcom,l1ss-supported;
296 /delete-property/ qcom,aux-clk-sync;
301 pinctrl-names = "default";
302 pinctrl-0 = <&uart_console_active>;
306 vdd-supply = <&pm8994_l20>;
307 qcom,vdd-voltage-level = <2950000 2950000>;
308 qcom,vdd-current-level = <200 570000>;
310 vdd-io-supply = <&pm8994_s4>;
311 qcom,vdd-io-always-on;
312 qcom,vdd-io-voltage-level = <1800000 1800000>;
313 qcom,vdd-io-current-level = <110 325000>;
315 pinctrl-names = "active", "sleep";
316 pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on &sdc1_rclk_on>;
317 pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off &sdc1_rclk_off>;
319 qcom,clk-rates = <400000 20000000 25000000 50000000
320 96000000 192000000 384000000>;
321 qcom,ice-clk-rates = <300000000 150000000>;
323 qcom,bus-speed-mode = "HS400_1p8v", "HS200_1p8v", "DDR_1p8v";
329 vdd-supply = <&pm8994_l21>;
330 qcom,vdd-voltage-level = <2950000 2950000>;
331 qcom,vdd-current-level = <200 800000>;
333 vdd-io-supply = <&pm8994_l13>;
334 qcom,vdd-io-voltage-level = <1800000 2950000>;
335 qcom,vdd-io-current-level = <200 22000>;
337 pinctrl-names = "active", "sleep";
338 pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
339 pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
341 qcom,clk-rates = <400000 20000000 25000000
342 50000000 100000000 200000000>;
343 qcom,bus-speed-mode = "SDR12", "SDR25", "SDR50", "DDR50", "SDR104";
345 cd-gpios = <&tlmm 95 0x1>;
354 qcom,decimation = <0>;
355 qcom,pre-div-channel-scaling = <1>;
356 qcom,calibration-type = "absolute";
357 qcom,scale-function = <0>;
358 qcom,hw-settle-time = <0>;
359 qcom,fast-avg-setup = <0>;
365 qcom,decimation = <0>;
366 qcom,pre-div-channel-scaling = <1>;
367 qcom,calibration-type = "absolute";
368 qcom,scale-function = <0>;
369 qcom,hw-settle-time = <0>;
370 qcom,fast-avg-setup = <0>;
376 qcom,decimation = <0>;
377 qcom,pre-div-channel-scaling = <0>;
378 qcom,calibration-type = "ratiometric";
379 qcom,scale-function = <2>;
380 qcom,hw-settle-time = <2>;
381 qcom,fast-avg-setup = <0>;
385 label = "emmc_therm";
387 qcom,decimation = <0>;
388 qcom,pre-div-channel-scaling = <0>;
389 qcom,calibration-type = "ratiometric";
390 qcom,scale-function = <2>;
391 qcom,hw-settle-time = <2>;
392 qcom,fast-avg-setup = <0>;
398 qcom,decimation = <0>;
399 qcom,pre-div-channel-scaling = <0>;
400 qcom,calibration-type = "ratiometric";
401 qcom,scale-function = <2>;
402 qcom,hw-settle-time = <2>;
403 qcom,fast-avg-setup = <0>;
409 qcom,decimation = <0>;
410 qcom,pre-div-channel-scaling = <0>;
411 qcom,calibration-type = "ratiometric";
412 qcom,scale-function = <2>;
413 qcom,hw-settle-time = <2>;
414 qcom,fast-avg-setup = <0>;
418 label = "quiet_therm";
420 qcom,decimation = <0>;
421 qcom,pre-div-channel-scaling = <0>;
422 qcom,calibration-type = "ratiometric";
423 qcom,scale-function = <2>;
424 qcom,hw-settle-time = <2>;
425 qcom,fast-avg-setup = <0>;
429 label = "xo_therm_buf";
431 qcom,decimation = <0>;
432 qcom,pre-div-channel-scaling = <0>;
433 qcom,calibration-type = "ratiometric";
434 qcom,scale-function = <4>;
435 qcom,hw-settle-time = <2>;
436 qcom,fast-avg-setup = <0>;
440 label = "xo_therm_buf";
442 qcom,decimation = <0>;
443 qcom,pre-div-channel-scaling = <0>;
444 qcom,calibration-type = "ratiometric";
445 qcom,scale-function = <4>;
446 qcom,hw-settle-time = <2>;
447 qcom,fast-avg-setup = <0>;
455 qcom,decimation = <0>;
456 qcom,pre-div-channel-scaling = <0>;
457 qcom,calibration-type = "ratiometric";
458 qcom,scale-function = <2>;
459 qcom,hw-settle-time = <2>;
460 qcom,fast-avg-setup = <0>;
461 qcom,btm-channel-number = <0x48>;
466 label = "emmc_therm";
468 qcom,decimation = <0>;
469 qcom,pre-div-channel-scaling = <0>;
470 qcom,calibration-type = "ratiometric";
471 qcom,scale-function = <2>;
472 qcom,hw-settle-time = <2>;
473 qcom,fast-avg-setup = <0>;
474 qcom,btm-channel-number = <0x68>;
481 qcom,decimation = <0>;
482 qcom,pre-div-channel-scaling = <0>;
483 qcom,calibration-type = "ratiometric";
484 qcom,scale-function = <2>;
485 qcom,hw-settle-time = <2>;
486 qcom,fast-avg-setup = <0>;
487 qcom,btm-channel-number = <0x70>;
494 qcom,decimation = <0>;
495 qcom,pre-div-channel-scaling = <0>;
496 qcom,calibration-type = "ratiometric";
497 qcom,scale-function = <2>;
498 qcom,hw-settle-time = <2>;
499 qcom,fast-avg-setup = <0>;
500 qcom,btm-channel-number = <0x78>;
505 label = "quiet_therm";
507 qcom,decimation = <0>;
508 qcom,pre-div-channel-scaling = <0>;
509 qcom,calibration-type = "ratiometric";
510 qcom,scale-function = <2>;
511 qcom,hw-settle-time = <2>;
512 qcom,fast-avg-setup = <0>;
513 qcom,btm-channel-number = <0x80>;
518 label = "xo_therm_buf";
520 qcom,decimation = <0>;
521 qcom,pre-div-channel-scaling = <0>;
522 qcom,calibration-type = "ratiometric";
523 qcom,scale-function = <4>;
524 qcom,hw-settle-time = <2>;
525 qcom,fast-avg-setup = <0>;
526 qcom,btm-channel-number = <0x88>;
532 qcom,display-id = "secondary";
533 pinctrl-names = "hdmi_hpd_active", "hdmi_ddc_active", "hdmi_cec_active",
534 "hdmi_active", "hdmi_sleep";
535 pinctrl-0 = <&mdss_hdmi_hpd_active &mdss_hdmi_ddc_suspend
536 &mdss_hdmi_cec_suspend>;
537 pinctrl-1 = <&mdss_hdmi_hpd_active &mdss_hdmi_ddc_active
538 &mdss_hdmi_cec_suspend>;
539 pinctrl-2 = <&mdss_hdmi_hpd_active &mdss_hdmi_cec_active
540 &mdss_hdmi_ddc_suspend>;
541 pinctrl-3 = <&mdss_hdmi_hpd_active &mdss_hdmi_ddc_active
542 &mdss_hdmi_cec_active>;
543 pinctrl-4 = <&mdss_hdmi_hpd_suspend &mdss_hdmi_ddc_suspend
544 &mdss_hdmi_cec_suspend>;
545 /delete-property/ qcom,pluggable;
548 #include "msm8996-sde-display.dtsi"
551 qcom,mdss-pref-prim-intf = "dsi";
555 qcom,dsi-display-active;
556 qcom,dsi-panel = <&dsi_adv7533_1080p>;
558 qcom,panel-supply-entries {
559 #address-cells = <1>;
562 qcom,panel-supply-entry@0 {
564 qcom,supply-name = "vdd";
565 qcom,supply-min-voltage = <3300000>;
566 qcom,supply-max-voltage = <3300000>;
567 qcom,supply-enable-load = <100000>;
568 qcom,supply-disable-load = <100>;
571 qcom,panel-supply-entry@1 {
573 qcom,supply-name = "vddio";
574 qcom,supply-min-voltage = <1800000>;
575 qcom,supply-max-voltage = <1800000>;
576 qcom,supply-enable-load = <100000>;
577 qcom,supply-disable-load = <100>;
583 qcom,dsi-display-active;
584 qcom,dsi-panel = <&dsi_adv7533_1080p>;
586 qcom,panel-supply-entries {
587 #address-cells = <1>;
590 qcom,panel-supply-entry@0 {
592 qcom,supply-name = "vdd";
593 qcom,supply-min-voltage = <3300000>;
594 qcom,supply-max-voltage = <3300000>;
595 qcom,supply-enable-load = <100000>;
596 qcom,supply-disable-load = <100>;
599 qcom,panel-supply-entry@1 {
601 qcom,supply-name = "vddio";
602 qcom,supply-min-voltage = <1800000>;
603 qcom,supply-max-voltage = <1800000>;
604 qcom,supply-enable-load = <100000>;
605 qcom,supply-disable-load = <100>;
612 qcom,customize-modes {
613 qcom,customize-mode-id@0 {
614 qcom,mode-name = "1920x1080@60Hz";
615 qcom,mode-h-active = <1920>;
616 qcom,mode-h-front-porch = <88>;
617 qcom,mode-h-pulse-width = <44>;
618 qcom,mode-h-back-porch = <148>;
619 qcom,mode-h-active-high;
620 qcom,mode-v-active = <1080>;
621 qcom,mode-v-front-porch = <4>;
622 qcom,mode-v-pulse-width = <5>;
623 qcom,mode-v-back-porch = <36>;
624 qcom,mode-v-active-high;
625 qcom,mode-refresh-rate = <60>;
626 qcom,mode-clock-in-khz = <148500>;
632 hw-config = "dual_dsi";
636 qcom,dsi-pref-prim-pan = <&dsi_adv7533_720p>;
637 pinctrl-names = "mdss_default", "mdss_sleep";
638 pinctrl-0 = <&mdss_dsi_active &mdss_te_active>;
639 pinctrl-1 = <&mdss_dsi_suspend &mdss_te_suspend>;
640 qcom,display-id = "primary";
641 qcom,bridge-index = <0>;
643 qcom,panel-supply-entries {
644 #address-cells = <1>;
647 qcom,panel-supply-entry@0 {
649 qcom,supply-name = "vdd";
650 qcom,supply-min-voltage = <3300000>;
651 qcom,supply-max-voltage = <3300000>;
652 qcom,supply-enable-load = <100000>;
653 qcom,supply-disable-load = <100>;
656 qcom,panel-supply-entry@1 {
658 qcom,supply-name = "vddio";
659 qcom,supply-min-voltage = <1800000>;
660 qcom,supply-max-voltage = <1800000>;
661 qcom,supply-enable-load = <100000>;
662 qcom,supply-disable-load = <100>;
668 qcom,dsi-pref-prim-pan = <&dsi_adv7533_720p>;
669 pinctrl-names = "mdss_default", "mdss_sleep";
670 pinctrl-0 = <&mdss_dsi_active &mdss_te_active>;
671 pinctrl-1 = <&mdss_dsi_suspend &mdss_te_suspend>;
672 qcom,display-id = "tertiary";
673 qcom,bridge-index = <1>;
675 qcom,panel-supply-entries {
676 #address-cells = <1>;
679 qcom,panel-supply-entry@0 {
681 qcom,supply-name = "vdd";
682 qcom,supply-min-voltage = <3300000>;
683 qcom,supply-max-voltage = <3300000>;
684 qcom,supply-enable-load = <100000>;
685 qcom,supply-disable-load = <100>;
688 qcom,panel-supply-entry@1 {
690 qcom,supply-name = "vddio";
691 qcom,supply-min-voltage = <1800000>;
692 qcom,supply-max-voltage = <1800000>;
693 qcom,supply-enable-load = <100000>;
694 qcom,supply-disable-load = <100>;
699 &dsi_dual_sharp_video {
700 qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
701 qcom,mdss-dsi-bl-min-level = <1>;
702 qcom,mdss-dsi-bl-max-level = <4095>;
703 qcom,cont-splash-enabled;
704 qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
707 &dsi_dual_nt35597_video {
708 qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
709 qcom,mdss-dsi-bl-min-level = <1>;
710 qcom,mdss-dsi-bl-max-level = <4095>;
711 qcom,cont-splash-enabled;
712 qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
715 &dsi_dual_nt35597_cmd {
716 qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
717 qcom,mdss-dsi-bl-min-level = <1>;
718 qcom,mdss-dsi-bl-max-level = <4095>;
719 qcom,cont-splash-enabled;
720 qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
721 qcom,partial-update-enabled = "single_roi";
722 qcom,panel-roi-alignment = <720 128 720 64 720 64>;
725 &dsi_nt35597_dsc_video {
726 qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
727 qcom,mdss-dsi-bl-min-level = <1>;
728 qcom,mdss-dsi-bl-max-level = <4095>;
729 qcom,cont-splash-enabled;
730 qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
733 &dsi_nt35597_dsc_cmd {
734 qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
735 qcom,mdss-dsi-bl-min-level = <1>;
736 qcom,mdss-dsi-bl-max-level = <4095>;
737 qcom,cont-splash-enabled;
738 qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
741 &dsi_dual_jdi_video {
742 pwms = <&pmi8994_pwm_4 0 0>;
743 pwm-names = "backlight";
744 qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_pwm";
745 qcom,mdss-dsi-bl-pwm-pmi;
746 qcom,mdss-dsi-bl-pmic-pwm-frequency = <100>;
747 qcom,mdss-dsi-bl-min-level = <1>;
748 qcom,mdss-dsi-bl-max-level = <4095>;
749 qcom,5v-boost-gpio = <&pmi8994_gpios 8 0>;
750 qcom,cont-splash-enabled;
751 qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
755 pwms = <&pmi8994_pwm_4 0 0>;
756 pwm-names = "backlight";
757 qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_pwm";
758 qcom,mdss-dsi-bl-pwm-pmi;
759 qcom,mdss-dsi-bl-pmic-pwm-frequency = <100>;
760 qcom,mdss-dsi-bl-min-level = <1>;
761 qcom,mdss-dsi-bl-max-level = <4095>;
762 qcom,5v-boost-gpio = <&pmi8994_gpios 8 0>;
763 qcom,cont-splash-enabled;
764 qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
765 qcom,partial-update-enabled = "single_roi";
766 qcom,panel-roi-alignment = <4 4 2 2 20 20>;
769 &dsi_dual_jdi_4k_nofbc_video {
770 pwms = <&pmi8994_pwm_4 0 0>;
771 pwm-names = "backlight";
772 qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_pwm";
773 qcom,mdss-dsi-bl-pwm-pmi;
774 qcom,mdss-dsi-bl-pmic-pwm-frequency = <100>;
775 qcom,mdss-dsi-bl-min-level = <1>;
776 qcom,mdss-dsi-bl-max-level = <4095>;
777 qcom,cont-splash-enabled;
778 qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
782 mtp_batterydata: qcom,battery-data {
783 qcom,batt-id-range-pct = <15>;
784 #include "batterydata-itech-3000mah.dtsi"
789 mpp@a100 { /* MPP 2 */
790 qcom,mode = <1>; /* Digital output */
791 qcom,output-type = <0>; /* CMOS logic */
792 qcom,vin-sel = <2>; /* S4 1.8V */
793 qcom,src-sel = <0>; /* Constant */
794 qcom,master-en = <1>; /* Enable GPIO */
798 mpp@a300 { /* MPP 4 */
799 /* HDMI_5v_vreg regulator enable */
800 qcom,mode = <1>; /* Digital output */
801 qcom,output-type = <0>; /* CMOS logic */
802 qcom,vin-sel = <2>; /* S4 1.8V */
803 qcom,src-sel = <0>; /* Constant */
804 qcom,master-en = <1>; /* Enable GPIO */
813 compatible = "qcom,early-cam";
815 mmagic-supply = <&gdsc_mmagic_camss>;
816 gdscr-supply = <&gdsc_camss_top>;
817 vfe0-vdd-supply = <&gdsc_vfe0>;
818 vfe1-vdd-supply = <&gdsc_vfe1>;
819 qcom,cam-vreg-name = "mmagic", "gdscr", "vfe0-vdd", "vfe1-vdd";
820 clocks = <&clock_mmss clk_mmss_mmagic_ahb_clk>,
821 <&clock_mmss clk_camss_top_ahb_clk>,
822 <&clock_mmss clk_cci_clk_src>,
823 <&clock_mmss clk_camss_cci_ahb_clk>,
824 <&clock_mmss clk_camss_cci_clk>,
825 <&clock_mmss clk_camss_ahb_clk>,
826 <&clock_mmss clk_mmagic_camss_axi_clk>,
827 <&clock_mmss clk_camss_vfe_ahb_clk>,
828 <&clock_mmss clk_camss_vfe0_ahb_clk>,
829 <&clock_mmss clk_camss_vfe1_ahb_clk>,
830 <&clock_mmss clk_camss_vfe_axi_clk>,
831 <&clock_mmss clk_smmu_vfe_axi_clk>,
832 <&clock_mmss clk_smmu_vfe_ahb_clk>,
833 <&clock_mmss clk_vfe0_clk_src>,
834 <&clock_mmss clk_vfe1_clk_src>,
835 <&clock_mmss clk_camss_vfe0_stream_clk>,
836 <&clock_mmss clk_camss_vfe1_stream_clk>,
837 <&clock_mmss clk_camss_csi_vfe0_clk>,
838 <&clock_mmss clk_camss_csi_vfe1_clk>,
839 <&clock_mmss clk_camss_csi2_ahb_clk>,
840 <&clock_mmss clk_camss_csi2_clk>,
841 <&clock_mmss clk_camss_csi2phy_clk>,
842 <&clock_mmss clk_csi2phytimer_clk_src>,
843 <&clock_mmss clk_camss_csi2phytimer_clk>,
844 <&clock_mmss clk_camss_csi2rdi_clk>,
845 <&clock_mmss clk_camss_ispif_ahb_clk>,
846 <&clock_mmss clk_camss_vfe0_clk>,
847 <&clock_mmss clk_camss_vfe1_clk>;
849 "mmss_mmagic_ahb_clk",
855 "mmagic_camss_axi_clk",
857 "camss_vfe0_ahb_clk",
858 "camss_vfe1_ahb_clk",
864 "camss_vfe0_stream_clk",
865 "camss_vfe1_stream_clk",
866 "camss_csi_vfe0_clk",
867 "camss_csi_vfe1_clk",
868 "camss_csi2_ahb_clk",
871 "csi2phytimer_clk_src",
872 "camss_csi2phytimer_clk",
874 "camss_ispif_ahb_clk",
875 "clk_camss_vfe0_clk",
876 "clk_camss_vfe1_clk";
877 qcom,clock-rates = <19200000
905 qcom,clock-cntl-support;
906 qcom,clock-control = "NO_SET_RATE", "NO_SET_RATE",
907 "NO_SET_RATE", "NO_SET_RATE",
908 "NO_SET_RATE", "NO_SET_RATE",
909 "NO_SET_RATE", "NO_SET_RATE",
910 "NO_SET_RATE", "NO_SET_RATE",
911 "NO_SET_RATE", "NO_SET_RATE",
912 "NO_SET_RATE", "INIT_RATE",
913 "INIT_RATE", "NO_SET_RATE",
914 "NO_SET_RATE", "NO_SET_RATE",
915 "NO_SET_RATE","NO_SET_RATE",
916 "INIT_RATE","NO_SET_RATE",
917 "INIT_RATE", "NO_SET_RATE",
918 "NO_SET_RATE","NO_SET_RATE",
919 "NO_SET_RATE", "NO_SET_RATE";
923 compatible = "qcom,ntn_avb";
925 ntn-rst-gpio = <&pm8994_gpios 13 0>;
926 pinctrl-names = "default";
927 pinctrl-0 = <&ntn_clk_sync>;
929 vdd-ntn-hsic-supply = <&pm8994_l25>;
930 vdd-ntn-pci-supply = <&pm8994_s4>;
931 vdd-ntn-io-supply = <&pm8994_s4>;
933 qcom,ntn-rst-delay-msec = <100>;
934 qcom,ntn-rc-num = <1>;
935 qcom,ntn-bus-num = <1>;
936 qcom,ntn-mdio-bus-id = <1>;
937 qcom,ntn-phy-addr = <7>;
939 qcom,msm-bus,name = "ntn";
940 qcom,msm-bus,num-cases = <2>;
941 qcom,msm-bus,num-paths = <1>;
942 qcom,msm-bus,vectors-KBps =
944 <100 512 207108 14432000>;
949 compatible = "synaptics,dsx";
951 interrupt-parent = <&tlmm>;
952 interrupts = <125 0x2008>;
953 vdd-supply = <&pm8994_l14>;
954 avdd-supply = <&pm8994_l22>;
955 pinctrl-names = "pmx_ts_active", "pmx_ts_suspend";
956 pinctrl-0 = <&ts_active>;
957 pinctrl-1 = <&ts_suspend>;
958 synaptics,display-coords = <0 0 1599 2559>;
959 synaptics,panel-coords = <0 0 1599 2703>;
960 synaptics,reset-gpio = <&tlmm 89 0x00>;
961 synaptics,irq-gpio = <&tlmm 125 0x2008>;
962 synaptics,disable-gpios;
963 synaptics,fw-name = "PR1702898-s3528t_00350002.img";
964 /* Underlying clocks used by secure touch */
965 clock-names = "iface_clk", "core_clk";
966 clocks = <&clock_gcc clk_gcc_blsp2_ahb_clk>,
967 <&clock_gcc clk_gcc_blsp2_qup6_i2c_apps_clk>;
972 i2c@75b6000 { /* BLSP8 */
973 /* ADV7533 configuration */
975 compatible = "adv7533";
978 adi,video-mode = <3>; /* 3 = 1080p */
979 adi,main-addr = <0x3D>;
980 adi,cec-dsi-addr = <0x3E>;
982 pinctrl-names = "pmx_adv7533_active",
983 "pmx_adv7533_suspend";
984 pinctrl-0 = <&adv7533_0_int_active
985 &adv7533_0_hpd_int_active
986 &adv7533_0_switch_active>;
987 pinctrl-1 = <&adv7533_0_int_suspend
988 &adv7533_0_hpd_int_suspend
989 &adv7533_0_switch_suspend>;
990 adi,irq-gpio = <&tlmm 106 0x2002>;
991 adi,switch-gpio = <&tlmm 105 0x1>;
995 compatible = "adv7533";
998 adi,video-mode = <3>; /* 3 = 1080p */
999 adi,main-addr = <0x39>;
1000 adi,cec-dsi-addr = <0x3C>;
1002 pinctrl-names = "pmx_adv7533_active",
1003 "pmx_adv7533_suspend";
1004 pinctrl-0 = <&adv7533_1_int_active
1005 &adv7533_1_hpd_int_active
1006 &adv7533_1_switch_active>;
1007 pinctrl-1 = <&adv7533_1_int_suspend
1008 &adv7533_1_hpd_int_suspend
1009 &adv7533_1_switch_suspend>;
1010 adi,irq-gpio = <&tlmm 108 0x2002>;
1011 adi,switch-gpio = <&tlmm 107 0x0>;
1016 compatible = "qcom,gen-vkeys";
1017 label = "synaptics_dsx";
1018 qcom,disp-maxx = <1599>;
1019 qcom,disp-maxy = <2559>;
1020 qcom,panel-maxx = <1599>;
1021 qcom,panel-maxy = <2703>;
1022 qcom,key-codes = <158 139 102 217>;
1026 compatible = "gpio-keys";
1027 input-name = "gpio-keys";
1030 label = "volume_up";
1031 gpios = <&pm8994_gpios 2 0x1>;
1032 linux,input-type = <1>;
1035 debounce-interval = <15>;
1040 status = "disabled";
1043 qcom,msm-ssc-sensors {
1044 compatible = "qcom,msm-ssc-sensors";
1045 qcom,firmware-name = "slpi";
1050 compatible = "qcom,apq8096-asoc-snd-adp-agave";
1051 qcom,model = "apq8096-adp-agave-snd-card";
1053 asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
1054 <&loopback>, <&compress>, <&hostless>,
1055 <&afe>, <&lsm>, <&routing>, <&pcmnoirq>,
1057 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
1058 "msm-pcm-dsp.2", "msm-voip-dsp",
1059 "msm-pcm-voice", "msm-pcm-loopback",
1060 "msm-compress-dsp", "msm-pcm-hostless",
1061 "msm-pcm-afe", "msm-lsm-client",
1062 "msm-pcm-routing", "msm-pcm-dsp-noirq",
1063 "msm-pcm-loopback.1";
1064 asoc-cpu = <&dai_pri_auxpcm>, <&dai_sec_auxpcm>, <&dai_hdmi>,
1065 <&dai_mi2s_sec>, <&dai_mi2s>, <&dai_mi2s_quat>,
1066 <&afe_pcm_rx>, <&afe_pcm_tx>,
1067 <&afe_proxy_rx>, <&afe_proxy_tx>,
1068 <&incall_record_rx>, <&incall_record_tx>,
1069 <&incall_music_rx>, <&incall_music2_rx>,
1070 <&dai_pri_tdm_tx_0>, <&dai_pri_tdm_tx_1>,
1071 <&dai_pri_tdm_tx_2>, <&dai_pri_tdm_tx_3>,
1072 <&dai_pri_tdm_rx_0>, <&dai_pri_tdm_rx_1>,
1073 <&dai_pri_tdm_rx_2>, <&dai_pri_tdm_rx_3>,
1074 <&dai_sec_tdm_rx_0>, <&dai_sec_tdm_rx_1>,
1075 <&dai_sec_tdm_rx_2>, <&dai_sec_tdm_rx_3>,
1076 <&dai_sec_tdm_tx_0>, <&dai_sec_tdm_tx_1>,
1077 <&dai_sec_tdm_tx_2>, <&dai_sec_tdm_tx_3>,
1078 <&dai_tert_tdm_rx_0>, <&dai_tert_tdm_rx_1>,
1079 <&dai_tert_tdm_rx_2>, <&dai_tert_tdm_rx_3>,
1080 <&dai_tert_tdm_rx_4>, <&dai_tert_tdm_tx_0>,
1081 <&dai_tert_tdm_tx_1>, <&dai_tert_tdm_tx_2>,
1082 <&dai_tert_tdm_tx_3>, <&dai_quat_tdm_rx_0>,
1083 <&dai_quat_tdm_rx_1>, <&dai_quat_tdm_rx_2>,
1084 <&dai_quat_tdm_rx_3>, <&dai_quat_tdm_tx_0>,
1085 <&dai_quat_tdm_tx_1>, <&dai_quat_tdm_tx_2>,
1086 <&dai_quat_tdm_tx_3>;
1087 asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-auxpcm.2",
1088 "msm-dai-q6-hdmi.8", "msm-dai-q6-mi2s.1",
1089 "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
1090 "msm-dai-q6-dev.224", "msm-dai-q6-dev.225",
1091 "msm-dai-q6-dev.241", "msm-dai-q6-dev.240",
1092 "msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772",
1093 "msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770",
1094 "msm-dai-q6-tdm.36865", "msm-dai-q6-tdm.36867",
1095 "msm-dai-q6-tdm.36869", "msm-dai-q6-tdm.36871",
1096 "msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36866",
1097 "msm-dai-q6-tdm.36868", "msm-dai-q6-tdm.36870",
1098 "msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36882",
1099 "msm-dai-q6-tdm.36884", "msm-dai-q6-tdm.36886",
1100 "msm-dai-q6-tdm.36881", "msm-dai-q6-tdm.36883",
1101 "msm-dai-q6-tdm.36885", "msm-dai-q6-tdm.36887",
1102 "msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36898",
1103 "msm-dai-q6-tdm.36900", "msm-dai-q6-tdm.36902",
1104 "msm-dai-q6-tdm.36904", "msm-dai-q6-tdm.36897",
1105 "msm-dai-q6-tdm.36899", "msm-dai-q6-tdm.36901",
1106 "msm-dai-q6-tdm.36903", "msm-dai-q6-tdm.36912",
1107 "msm-dai-q6-tdm.36914", "msm-dai-q6-tdm.36916",
1108 "msm-dai-q6-tdm.36918", "msm-dai-q6-tdm.36913",
1109 "msm-dai-q6-tdm.36915", "msm-dai-q6-tdm.36917",
1110 "msm-dai-q6-tdm.36919";
1111 asoc-codec = <&stub_codec>;
1112 asoc-codec-names = "msm-stub-codec.1";
1115 qcom,msm-dai-tdm-tert-rx {
1116 qcom,msm-cpudai-tdm-group-num-ports = <6>;
1117 qcom,msm-cpudai-tdm-group-port-id = <36896 36898 36900
1120 dai_tert_tdm_rx_5: qcom,msm-dai-q6-tdm-tert-rx-5 {
1121 compatible = "qcom,msm-dai-q6-tdm";
1122 qcom,msm-cpudai-tdm-dev-id = <36906>;
1123 qcom,msm-cpudai-tdm-data-align = <0>;
1128 compatible = "qcom,msm-ext-anc";
1129 qcom,refs-port-id = <36906>;
1130 qcom,spkr-port-id = <36912>;
1131 qcom,mic-port-id = <36913>;
1132 qcom,sample-rate = <48000>;
1133 qcom,num-channels = <8>;
1134 qcom,bit-width = <32>;
1135 qcom,num-anc-mic = <4>;
1136 qcom,num-add-mic-signal = <0>;
1137 qcom,anc-mic-array = <0 1 2 3>;
1138 qcom,num-anc-spkr = <4>;
1139 qcom,num-add-spkr-signal = <0>;
1140 qcom,anc-spkr-array = <0 1 2 3>;
1141 qcom,refs-tdm-rx = <&dai_tert_tdm_rx_5>;
1142 qcom,spkr-tdm-rx = <&dai_quat_tdm_rx_0>;
1143 qcom,mic-tdm-tx = <&dai_quat_tdm_tx_0>;
1146 usb_detect: usb_detect {
1147 compatible = "qcom,gpio-usbdetect";
1148 qcom,vbus-det-gpio = <&pm8994_gpios 17 0>;
1149 interrupt-parent = <&spmi_bus>;
1150 interrupts = <0x0 0x9 0x0 IRQ_TYPE_NONE>;
1151 interrupt-names ="pmic_id_irq";
1154 loopback1: qcom,msm-pcm-loopback-low-latency {
1155 compatible = "qcom,msm-pcm-loopback";
1156 qcom,msm-pcm-loopback-low-latency;
1159 loopback1: qcom,msm-pcm-loopback-low-latency {
1160 compatible = "qcom,msm-pcm-loopback";
1161 qcom,msm-pcm-loopback-low-latency;
1165 dai_mi2s_sec: qcom,msm-dai-q6-mi2s-sec {
1166 qcom,msm-mi2s-rx-lines = <2>;
1167 qcom,msm-mi2s-tx-lines = <1>;
1168 pinctrl-names = "default", "sleep";
1169 pinctrl-0 = <&sec_mi2s_active &sec_mi2s_sd0_active
1170 &sec_mi2s_sd1_active>;
1171 pinctrl-1 = <&sec_mi2s_sleep &sec_mi2s_sd0_sleep
1172 &sec_mi2s_sd1_sleep>;
1175 dai_mi2s: qcom,msm-dai-q6-mi2s-tert {
1176 pinctrl-names = "default", "sleep";
1177 pinctrl-0 = <&tert_mi2s_active &tert_mi2s_sd0_active>;
1178 pinctrl-1 = <&tert_mi2s_sleep &tert_mi2s_sd0_sleep>;
1181 dai_mi2s_quat: qcom,msm-dai-q6-mi2s-quat {
1182 pinctrl-names = "default", "sleep";
1183 pinctrl-0 = <&quat_mi2s_active &quat_mi2s_sd0_active>;
1184 pinctrl-1 = <&quat_mi2s_sleep &quat_mi2s_sd0_sleep>;
1188 qcom,msm-dai-tdm-tert-rx {
1189 pinctrl-names = "default", "sleep";
1190 pinctrl-0 = <&tert_tdm_dout_active>;
1191 pinctrl-1 = <&tert_tdm_dout_sleep>;
1194 qcom,msm-dai-tdm-quat-rx {
1195 pinctrl-names = "default", "sleep";
1196 pinctrl-0 = <&quat_tdm_dout_active>;
1197 pinctrl-1 = <&quat_tdm_dout_sleep>;
1201 compatible = "qcom,adv7481";
1203 cam_vdig-supply = <&pm8994_s3>;
1205 settle-count = <16 16 16>;
1206 res-array = "RES_1080P", "RES_720P", "RES_576P_480P";
1207 /* Cameras powered by PMIC: */
1208 cam_vio-supply = <&pm8994_lvs1>;
1209 cam_vana-supply = <&pm8994_l17>;
1210 /* Self-powered cameras: */
1211 qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana";
1212 qcom,cam-vreg-min-voltage = <1300000 0 2500000>;
1213 qcom,cam-vreg-max-voltage = <1300000 0 2500000>;
1214 qcom,cam-vreg-op-mode = <105000 0 80000>;
1216 qcom,cci-master = <0>;
1217 gpios = <&tlmm 17 0>, /* I2C SDA */
1218 <&tlmm 18 0>, /* I2C SCL */
1219 <&pm8994_gpios 4 0>, /* RST */
1220 <&pm8994_gpios 5 0>, /* INT1 */
1221 <&pm8994_gpios 6 0>, /* INT2 */
1222 <&pm8994_gpios 7 0>; /* INT3 */
1226 compatible = "qcom,tv-tuner";
1230 compatible = "qcom,msm-ba";
1231 qcom,ba-input-profile-0 {
1232 qcom,type = <4>; /* input type */
1233 qcom,name = "HDMI-1"; /* input name */
1234 qcom,ba-input = <13>; /* ba input id */
1235 qcom,ba-output = <0>; /* ba output id */
1236 qcom,sd-name = "adv7481"; /* sd name */
1237 qcom,ba-node = <0>; /* ba node */
1238 qcom,user-type = <1>; /* user type */
1241 qcom,ba-input-profile-1 {
1242 qcom,type = <0>; /* input type */
1243 qcom,name = "CVBS-0"; /* input name */
1244 qcom,ba-input = <0>; /* ba input id */
1245 qcom,ba-output = <0>; /* ba output id */
1246 qcom,sd-name = "adv7481"; /* sd name */
1247 qcom,ba-node = <1>; /* ba node */
1248 qcom,user-type = <1>; /* user type */
1251 qcom,ba-input-profile-2 {
1252 qcom,type = <8>; /* input type */
1253 qcom,name = "TUNER-2"; /* input name */
1254 qcom,ba-input = <16>; /* ba input id */
1255 qcom,ba-output = <0>; /* ba output id */
1256 qcom,sd-name = "tv-tuner"; /* sd name */
1257 qcom,ba-node = <2>; /* ba node */
1258 qcom,user-type = <1>; /* user type */
1264 gpio@c600 { /* GPIO 7 - adv7481 INT3 */
1271 gpio@c700 { /* GPIO 8 - WLAN_EN */
1272 qcom,mode = <1>; /* Digital output*/
1273 qcom,pull = <4>; /* Pulldown 10uA */
1274 qcom,vin-sel = <2>; /* VIN2 */
1275 qcom,src-sel = <0>; /* GPIO */
1276 qcom,invert = <0>; /* Invert */
1277 qcom,master-en = <1>; /* Enable GPIO */
1281 gpio@c800 { /* GPIO 9 - Rome 3.3V control */
1282 qcom,mode = <1>; /* Digital output */
1283 qcom,output-type = <0>; /* MOS logic */
1284 qcom,invert = <1>; /* Output high */
1285 qcom,vin-sel = <0>; /* VPH_PWR */
1286 qcom,src-sel = <0>; /* Constant */
1287 qcom,out-strength = <1>; /* High drive strength */
1288 qcom,master-en = <1>; /* Enable GPIO */
1292 gpio@c900 { /* GPIO 10 - NFC CLK _REQ*/
1296 qcom,master-en = <1>;
1300 gpio@cd00 { /* GPIO 14 - lcd_bklt_reg_en */
1301 qcom,mode = <1>; /* DIGITAL OUT */
1302 qcom,output-type = <0>; /* CMOS logic */
1303 qcom,invert = <1>; /* output hight initially */
1304 qcom,vin-sel = <2>; /* 1.8 */
1305 qcom,src-sel = <0>; /* CONSTANT */
1306 qcom,out-strength = <1>; /* Low drive strength */
1307 qcom,master-en = <1>; /* ENABLE GPIO */
1310 gpio@c100 { /* GPIO 2 */
1318 gpio@c300 { /* GPIO 4 - adv7481 RST */
1326 gpio@c400 { /* GPIO 5 - adv7481 INT1 */
1333 gpio@c500 { /* GPIO 6 - adv7481 INT2*/
1340 gpio@ca00 { /* GPIO 11 - USB enb1 (otg switch) */
1341 qcom,mode = <1>; /* DIGITAL OUT */
1342 qcom,vin-sel = <2>; /* 1.8 */
1343 qcom,src-sel = <0>; /* GPIO */
1344 qcom,master-en = <1>; /* Enable GPIO */
1348 gpio@cc00 { /* GPIO 13 - NTN_RST */
1349 qcom,mode = <1>; /* DIGITAL OUT */
1350 qcom,output-type = <0>; /* CMOS logic */
1352 qcom,vin-sel = <2>; /* 1.8 */
1353 qcom,out-strength = <1>;
1354 qcom,src-sel = <0>; /* GPIO */
1355 qcom,master-en = <1>; /* Enable GPIO */
1359 gpio@ce00 { /* GPIO 15 */
1361 qcom,output-type = <0>;
1364 qcom,out-strength = <1>;
1366 qcom,master-en = <1>;
1370 gpio@d000 { /* GPIO 17 - USB1 VBUS detect */
1371 qcom,mode = <0>; /* Digital Input*/
1372 qcom,pull = <5>; /* No pull */
1373 qcom,vin-sel = <2>; /* 1.8 V */
1374 qcom,src-sel = <0>; /* GPIO */
1375 qcom,master-en = <1>; /* Enable GPIO */
1379 gpio@d100 { /* GPIO 18 - Rome Sleep Clock */
1380 qcom,mode = <1>; /* Digital output */
1381 qcom,output-type = <0>; /* CMOS logic */
1382 qcom,invert = <0>; /* Output low initially */
1383 qcom,vin-sel = <2>; /* VIN 2 */
1384 qcom,src-sel = <3>; /* Function 2 */
1385 qcom,out-strength = <2>; /* Medium */
1386 qcom,master-en = <1>; /* Enable GPIO */
1390 gpio@d200 { /* GPIO 19 - Rome BT Reset */
1391 qcom,mode = <1>; /* Digital output*/
1392 qcom,pull = <4>; /* Pulldown 10uA */
1393 qcom,vin-sel = <2>; /* VIN2 */
1394 qcom,src-sel = <0>; /* GPIO */
1395 qcom,invert = <0>; /* Invert */
1396 qcom,master-en = <1>; /* Enable GPIO */
1403 qcom,no-wakeup-src-in-hostmode;
1407 extcon = <&usb_detect>;
1408 vbus_dwc3-supply = <&usb_otg_switch>;
1409 vdda33-supply = <&pm8994_l24>;
1410 vdda18-supply = <&pm8994_l12>;
1411 qcom,no-wakeup-src-in-hostmode;
1420 compatible = "atmel,24c32";
1426 silabs4705@11 { /* SiLabs FM chip, slave id 0x11*/
1428 compatible = "silabs,si4705";
1430 vdd-supply = <&pm8994_s4>;
1431 silabs,vdd-supply-voltage = <1800000 1800000>;
1432 va-supply = <&rome_vreg>;
1433 silabs,va-supply-voltage = <3300000 3300000>;
1434 pinctrl-names = "pmx_fm_active","pmx_fm_suspend";
1435 pinctrl-0 = <&fm_int_active &fm_status_int_active
1437 pinctrl-1 = <&fm_int_suspend &fm_status_int_suspend
1439 silabs,reset-gpio = <&tlmm 39 0>;
1440 silabs,int-gpio = <&tlmm 38 0>;
1441 silabs,status-gpio = <&tlmm 78 0>;
1442 #address-cells = <0>;
1444 #interrupt-cells = <1>;
1445 interrupt-map-mask = <0xffffffff>;
1450 interrupt-names = "silabs_fm_int", "silabs_fm_status_int";
1454 &i2c_8 { /* BLSP2 QUP2 */
1456 compatible = "qcom,nq-nci";
1458 qcom,nq-irq = <&tlmm 9 0x00>;
1459 qcom,nq-ven = <&tlmm 12 0x00>;
1460 qcom,nq-firm = <&pm8994_gpios 7 0x00>;
1461 qcom,nq-clkreq = <&pm8994_gpios 10 0x00>;
1462 interrupt-parent = <&tlmm>;
1463 qcom,clk-src = "BBCLK2";
1465 interrupt-names = "nfc_irq";
1466 pinctrl-names = "nfc_active", "nfc_suspend";
1467 pinctrl-0 = <&nfc_int_active &nfc_disable_active>;
1468 pinctrl-1 = <&nfc_int_suspend &nfc_disable_suspend>;
1469 clocks = <&clock_gcc clk_bb_clk2_pin>;
1470 clock-names = "ref_clk";
1471 status = "disabled";
1475 &dsi_dual_jdi_video {
1476 /delete-property/ pwms;
1477 /delete-property/ qcom,5v-boost-gpio;
1481 /delete-property/ pwms;
1482 /delete-property/ qcom,5v-boost-gpio;
1485 &dsi_dual_jdi_4k_nofbc_video {
1486 /delete-property/ pwms;
1491 /delete-property/ qcom,hph-en1-gpio;
1496 status = "disabled";
1499 /delete-node/ &led_flash0;
1502 /delete-property/ lab-supply;
1503 /delete-property/ ibb-supply;
1507 /delete-property/ lab-supply;
1508 /delete-property/ ibb-supply;
1513 /delete-property/ qcom,led-flash-src;
1517 /delete-property/ cam_vana-supply;
1522 gpio = <&pm8994_gpios 11 0>;
1525 /delete-property/ vin-supply;
1529 /delete-property/ qcom,spkr-sd-n-gpio;
1533 /delete-property/ qcom,spkr-sd-n-gpio;
1537 /delete-property/ qcom,spkr-sd-n-gpio;
1541 /delete-property/ qcom,spkr-sd-n-gpio;
1558 compatible = "qcom,spi-msm-codec-slave";
1560 spi-max-frequency = <2000000>;
1571 lk_mem: lk_pool@0x91600000 {
1572 reg = <0 0x91600000 0 0x00600000>;
1576 early_camera_mem: early_camera_mem@b3fff000 {
1577 reg = <0 0xb3fff000 0 0x800000>;
1578 label = "early_camera_mem";
1580 early_audio_mem: early_audio_mem@0xb5fff000 {
1581 reg = <0x0 0xb5fff000 0x0 0x3FFFFC>;
1582 label = "early_audio_mem";