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";
1044 compatible = "qcom,apq8096-asoc-snd-adp-agave";
1045 qcom,model = "apq8096-adp-agave-snd-card";
1047 asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
1048 <&loopback>, <&compress>, <&hostless>,
1049 <&afe>, <&lsm>, <&routing>, <&pcmnoirq>,
1051 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
1052 "msm-pcm-dsp.2", "msm-voip-dsp",
1053 "msm-pcm-voice", "msm-pcm-loopback",
1054 "msm-compress-dsp", "msm-pcm-hostless",
1055 "msm-pcm-afe", "msm-lsm-client",
1056 "msm-pcm-routing", "msm-pcm-dsp-noirq",
1057 "msm-pcm-loopback.1";
1058 asoc-cpu = <&dai_pri_auxpcm>, <&dai_sec_auxpcm>, <&dai_hdmi>,
1059 <&dai_mi2s_sec>, <&dai_mi2s>, <&dai_mi2s_quat>,
1060 <&afe_pcm_rx>, <&afe_pcm_tx>,
1061 <&afe_proxy_rx>, <&afe_proxy_tx>,
1062 <&incall_record_rx>, <&incall_record_tx>,
1063 <&incall_music_rx>, <&incall_music2_rx>,
1064 <&dai_pri_tdm_tx_0>, <&dai_pri_tdm_tx_1>,
1065 <&dai_pri_tdm_tx_2>, <&dai_pri_tdm_tx_3>,
1066 <&dai_pri_tdm_rx_0>, <&dai_pri_tdm_rx_1>,
1067 <&dai_pri_tdm_rx_2>, <&dai_pri_tdm_rx_3>,
1068 <&dai_sec_tdm_rx_0>, <&dai_sec_tdm_rx_1>,
1069 <&dai_sec_tdm_rx_2>, <&dai_sec_tdm_rx_3>,
1070 <&dai_sec_tdm_tx_0>, <&dai_sec_tdm_tx_1>,
1071 <&dai_sec_tdm_tx_2>, <&dai_sec_tdm_tx_3>,
1072 <&dai_tert_tdm_rx_0>, <&dai_tert_tdm_rx_1>,
1073 <&dai_tert_tdm_rx_2>, <&dai_tert_tdm_rx_3>,
1074 <&dai_tert_tdm_rx_4>, <&dai_tert_tdm_tx_0>,
1075 <&dai_tert_tdm_tx_1>, <&dai_tert_tdm_tx_2>,
1076 <&dai_tert_tdm_tx_3>, <&dai_quat_tdm_rx_0>,
1077 <&dai_quat_tdm_rx_1>, <&dai_quat_tdm_rx_2>,
1078 <&dai_quat_tdm_rx_3>, <&dai_quat_tdm_tx_0>,
1079 <&dai_quat_tdm_tx_1>, <&dai_quat_tdm_tx_2>,
1080 <&dai_quat_tdm_tx_3>;
1081 asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-auxpcm.2",
1082 "msm-dai-q6-hdmi.8", "msm-dai-q6-mi2s.1",
1083 "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
1084 "msm-dai-q6-dev.224", "msm-dai-q6-dev.225",
1085 "msm-dai-q6-dev.241", "msm-dai-q6-dev.240",
1086 "msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772",
1087 "msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770",
1088 "msm-dai-q6-tdm.36865", "msm-dai-q6-tdm.36867",
1089 "msm-dai-q6-tdm.36869", "msm-dai-q6-tdm.36871",
1090 "msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36866",
1091 "msm-dai-q6-tdm.36868", "msm-dai-q6-tdm.36870",
1092 "msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36882",
1093 "msm-dai-q6-tdm.36884", "msm-dai-q6-tdm.36886",
1094 "msm-dai-q6-tdm.36881", "msm-dai-q6-tdm.36883",
1095 "msm-dai-q6-tdm.36885", "msm-dai-q6-tdm.36887",
1096 "msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36898",
1097 "msm-dai-q6-tdm.36900", "msm-dai-q6-tdm.36902",
1098 "msm-dai-q6-tdm.36904", "msm-dai-q6-tdm.36897",
1099 "msm-dai-q6-tdm.36899", "msm-dai-q6-tdm.36901",
1100 "msm-dai-q6-tdm.36903", "msm-dai-q6-tdm.36912",
1101 "msm-dai-q6-tdm.36914", "msm-dai-q6-tdm.36916",
1102 "msm-dai-q6-tdm.36918", "msm-dai-q6-tdm.36913",
1103 "msm-dai-q6-tdm.36915", "msm-dai-q6-tdm.36917",
1104 "msm-dai-q6-tdm.36919";
1105 asoc-codec = <&stub_codec>;
1106 asoc-codec-names = "msm-stub-codec.1";
1109 usb_detect: usb_detect {
1110 compatible = "qcom,gpio-usbdetect";
1111 qcom,vbus-det-gpio = <&pm8994_gpios 17 0>;
1112 interrupt-parent = <&spmi_bus>;
1113 interrupts = <0x0 0x9 0x0 IRQ_TYPE_NONE>;
1114 interrupt-names ="pmic_id_irq";
1117 loopback1: qcom,msm-pcm-loopback-low-latency {
1118 compatible = "qcom,msm-pcm-loopback";
1119 qcom,msm-pcm-loopback-low-latency;
1122 loopback1: qcom,msm-pcm-loopback-low-latency {
1123 compatible = "qcom,msm-pcm-loopback";
1124 qcom,msm-pcm-loopback-low-latency;
1128 dai_mi2s_sec: qcom,msm-dai-q6-mi2s-sec {
1129 qcom,msm-mi2s-rx-lines = <2>;
1130 qcom,msm-mi2s-tx-lines = <1>;
1131 pinctrl-names = "default", "sleep";
1132 pinctrl-0 = <&sec_mi2s_active &sec_mi2s_sd0_active
1133 &sec_mi2s_sd1_active>;
1134 pinctrl-1 = <&sec_mi2s_sleep &sec_mi2s_sd0_sleep
1135 &sec_mi2s_sd1_sleep>;
1138 dai_mi2s: qcom,msm-dai-q6-mi2s-tert {
1139 pinctrl-names = "default", "sleep";
1140 pinctrl-0 = <&tert_mi2s_active &tert_mi2s_sd0_active>;
1141 pinctrl-1 = <&tert_mi2s_sleep &tert_mi2s_sd0_sleep>;
1144 dai_mi2s_quat: qcom,msm-dai-q6-mi2s-quat {
1145 pinctrl-names = "default", "sleep";
1146 pinctrl-0 = <&quat_mi2s_active &quat_mi2s_sd0_active>;
1147 pinctrl-1 = <&quat_mi2s_sleep &quat_mi2s_sd0_sleep>;
1151 qcom,msm-dai-tdm-tert-rx {
1152 pinctrl-names = "default", "sleep";
1153 pinctrl-0 = <&tert_tdm_dout_active>;
1154 pinctrl-1 = <&tert_tdm_dout_sleep>;
1157 qcom,msm-dai-tdm-quat-rx {
1158 pinctrl-names = "default", "sleep";
1159 pinctrl-0 = <&quat_tdm_dout_active>;
1160 pinctrl-1 = <&quat_tdm_dout_sleep>;
1164 compatible = "qcom,adv7481";
1166 cam_vdig-supply = <&pm8994_s3>;
1168 settle-count = <16 16 16>;
1169 res-array = "RES_1080P", "RES_720P", "RES_576P_480P";
1170 /* Cameras powered by PMIC: */
1171 cam_vio-supply = <&pm8994_lvs1>;
1172 cam_vana-supply = <&pm8994_l17>;
1173 /* Self-powered cameras: */
1174 qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana";
1175 qcom,cam-vreg-min-voltage = <1300000 0 2500000>;
1176 qcom,cam-vreg-max-voltage = <1300000 0 2500000>;
1177 qcom,cam-vreg-op-mode = <105000 0 80000>;
1179 qcom,cci-master = <0>;
1180 gpios = <&tlmm 17 0>, /* I2C SDA */
1181 <&tlmm 18 0>, /* I2C SCL */
1182 <&pm8994_gpios 4 0>, /* RST */
1183 <&pm8994_gpios 5 0>, /* INT1 */
1184 <&pm8994_gpios 6 0>, /* INT2 */
1185 <&pm8994_gpios 7 0>; /* INT3 */
1189 compatible = "qcom,tv-tuner";
1193 compatible = "qcom,msm-ba";
1194 qcom,ba-input-profile-0 {
1195 qcom,type = <4>; /* input type */
1196 qcom,name = "HDMI-1"; /* input name */
1197 qcom,ba-input = <13>; /* ba input id */
1198 qcom,ba-output = <0>; /* ba output id */
1199 qcom,sd-name = "adv7481"; /* sd name */
1200 qcom,ba-node = <0>; /* ba node */
1201 qcom,user-type = <1>; /* user type */
1204 qcom,ba-input-profile-1 {
1205 qcom,type = <0>; /* input type */
1206 qcom,name = "CVBS-0"; /* input name */
1207 qcom,ba-input = <0>; /* ba input id */
1208 qcom,ba-output = <0>; /* ba output id */
1209 qcom,sd-name = "adv7481"; /* sd name */
1210 qcom,ba-node = <1>; /* ba node */
1211 qcom,user-type = <1>; /* user type */
1214 qcom,ba-input-profile-2 {
1215 qcom,type = <8>; /* input type */
1216 qcom,name = "TUNER-2"; /* input name */
1217 qcom,ba-input = <16>; /* ba input id */
1218 qcom,ba-output = <0>; /* ba output id */
1219 qcom,sd-name = "tv-tuner"; /* sd name */
1220 qcom,ba-node = <2>; /* ba node */
1221 qcom,user-type = <1>; /* user type */
1227 gpio@c600 { /* GPIO 7 - adv7481 INT3 */
1234 gpio@c700 { /* GPIO 8 - WLAN_EN */
1235 qcom,mode = <1>; /* Digital output*/
1236 qcom,pull = <4>; /* Pulldown 10uA */
1237 qcom,vin-sel = <2>; /* VIN2 */
1238 qcom,src-sel = <0>; /* GPIO */
1239 qcom,invert = <0>; /* Invert */
1240 qcom,master-en = <1>; /* Enable GPIO */
1244 gpio@c800 { /* GPIO 9 - Rome 3.3V control */
1245 qcom,mode = <1>; /* Digital output */
1246 qcom,output-type = <0>; /* MOS logic */
1247 qcom,invert = <1>; /* Output high */
1248 qcom,vin-sel = <0>; /* VPH_PWR */
1249 qcom,src-sel = <0>; /* Constant */
1250 qcom,out-strength = <1>; /* High drive strength */
1251 qcom,master-en = <1>; /* Enable GPIO */
1255 gpio@c900 { /* GPIO 10 - NFC CLK _REQ*/
1259 qcom,master-en = <1>;
1263 gpio@cd00 { /* GPIO 14 - lcd_bklt_reg_en */
1264 qcom,mode = <1>; /* DIGITAL OUT */
1265 qcom,output-type = <0>; /* CMOS logic */
1266 qcom,invert = <1>; /* output hight initially */
1267 qcom,vin-sel = <2>; /* 1.8 */
1268 qcom,src-sel = <0>; /* CONSTANT */
1269 qcom,out-strength = <1>; /* Low drive strength */
1270 qcom,master-en = <1>; /* ENABLE GPIO */
1273 gpio@c100 { /* GPIO 2 */
1281 gpio@c300 { /* GPIO 4 - adv7481 RST */
1289 gpio@c400 { /* GPIO 5 - adv7481 INT1 */
1296 gpio@c500 { /* GPIO 6 - adv7481 INT2*/
1303 gpio@ca00 { /* GPIO 11 - USB enb1 (otg switch) */
1304 qcom,mode = <1>; /* DIGITAL OUT */
1305 qcom,vin-sel = <2>; /* 1.8 */
1306 qcom,src-sel = <0>; /* GPIO */
1307 qcom,master-en = <1>; /* Enable GPIO */
1311 gpio@cc00 { /* GPIO 13 - NTN_RST */
1312 qcom,mode = <1>; /* DIGITAL OUT */
1313 qcom,output-type = <0>; /* CMOS logic */
1315 qcom,vin-sel = <2>; /* 1.8 */
1316 qcom,out-strength = <1>;
1317 qcom,src-sel = <0>; /* GPIO */
1318 qcom,master-en = <1>; /* Enable GPIO */
1322 gpio@ce00 { /* GPIO 15 */
1324 qcom,output-type = <0>;
1327 qcom,out-strength = <1>;
1329 qcom,master-en = <1>;
1333 gpio@d000 { /* GPIO 17 - USB1 VBUS detect */
1334 qcom,mode = <0>; /* Digital Input*/
1335 qcom,pull = <5>; /* No pull */
1336 qcom,vin-sel = <2>; /* 1.8 V */
1337 qcom,src-sel = <0>; /* GPIO */
1338 qcom,master-en = <1>; /* Enable GPIO */
1342 gpio@d100 { /* GPIO 18 - Rome Sleep Clock */
1343 qcom,mode = <1>; /* Digital output */
1344 qcom,output-type = <0>; /* CMOS logic */
1345 qcom,invert = <0>; /* Output low initially */
1346 qcom,vin-sel = <2>; /* VIN 2 */
1347 qcom,src-sel = <3>; /* Function 2 */
1348 qcom,out-strength = <2>; /* Medium */
1349 qcom,master-en = <1>; /* Enable GPIO */
1353 gpio@d200 { /* GPIO 19 - Rome BT Reset */
1354 qcom,mode = <1>; /* Digital output*/
1355 qcom,pull = <4>; /* Pulldown 10uA */
1356 qcom,vin-sel = <2>; /* VIN2 */
1357 qcom,src-sel = <0>; /* GPIO */
1358 qcom,invert = <0>; /* Invert */
1359 qcom,master-en = <1>; /* Enable GPIO */
1366 qcom,no-wakeup-src-in-hostmode;
1370 extcon = <&usb_detect>;
1371 vbus_dwc3-supply = <&usb_otg_switch>;
1372 vdda33-supply = <&pm8994_l24>;
1373 vdda18-supply = <&pm8994_l12>;
1374 qcom,no-wakeup-src-in-hostmode;
1383 compatible = "atmel,24c32";
1389 silabs4705@11 { /* SiLabs FM chip, slave id 0x11*/
1391 compatible = "silabs,si4705";
1393 vdd-supply = <&pm8994_s4>;
1394 silabs,vdd-supply-voltage = <1800000 1800000>;
1395 va-supply = <&rome_vreg>;
1396 silabs,va-supply-voltage = <3300000 3300000>;
1397 pinctrl-names = "pmx_fm_active","pmx_fm_suspend";
1398 pinctrl-0 = <&fm_int_active &fm_status_int_active
1400 pinctrl-1 = <&fm_int_suspend &fm_status_int_suspend
1402 silabs,reset-gpio = <&tlmm 39 0>;
1403 silabs,int-gpio = <&tlmm 38 0>;
1404 silabs,status-gpio = <&tlmm 78 0>;
1405 #address-cells = <0>;
1407 #interrupt-cells = <1>;
1408 interrupt-map-mask = <0xffffffff>;
1413 interrupt-names = "silabs_fm_int", "silabs_fm_status_int";
1417 &i2c_8 { /* BLSP2 QUP2 */
1419 compatible = "qcom,nq-nci";
1421 qcom,nq-irq = <&tlmm 9 0x00>;
1422 qcom,nq-ven = <&tlmm 12 0x00>;
1423 qcom,nq-firm = <&pm8994_gpios 7 0x00>;
1424 qcom,nq-clkreq = <&pm8994_gpios 10 0x00>;
1425 interrupt-parent = <&tlmm>;
1426 qcom,clk-src = "BBCLK2";
1428 interrupt-names = "nfc_irq";
1429 pinctrl-names = "nfc_active", "nfc_suspend";
1430 pinctrl-0 = <&nfc_int_active &nfc_disable_active>;
1431 pinctrl-1 = <&nfc_int_suspend &nfc_disable_suspend>;
1432 clocks = <&clock_gcc clk_bb_clk2_pin>;
1433 clock-names = "ref_clk";
1434 status = "disabled";
1438 &dsi_dual_jdi_video {
1439 /delete-property/ pwms;
1440 /delete-property/ qcom,5v-boost-gpio;
1444 /delete-property/ pwms;
1445 /delete-property/ qcom,5v-boost-gpio;
1448 &dsi_dual_jdi_4k_nofbc_video {
1449 /delete-property/ pwms;
1454 /delete-property/ qcom,hph-en1-gpio;
1459 status = "disabled";
1462 /delete-node/ &led_flash0;
1465 /delete-property/ lab-supply;
1466 /delete-property/ ibb-supply;
1470 /delete-property/ lab-supply;
1471 /delete-property/ ibb-supply;
1476 /delete-property/ qcom,led-flash-src;
1480 /delete-property/ cam_vana-supply;
1485 gpio = <&pm8994_gpios 11 0>;
1488 /delete-property/ vin-supply;
1492 /delete-property/ qcom,spkr-sd-n-gpio;
1496 /delete-property/ qcom,spkr-sd-n-gpio;
1500 /delete-property/ qcom,spkr-sd-n-gpio;
1504 /delete-property/ qcom,spkr-sd-n-gpio;
1521 compatible = "qcom,spi-msm-codec-slave";
1523 spi-max-frequency = <2000000>;
1534 lk_mem: lk_pool@0x91600000 {
1535 reg = <0 0x91600000 0 0x00600000>;
1539 early_camera_mem: early_camera_mem@b3fff000 {
1540 reg = <0 0xb3fff000 0 0x800000>;
1541 label = "early_camera_mem";
1543 early_audio_mem: early_audio_mem@0xb5fff000 {
1544 reg = <0x0 0xb5fff000 0x0 0x3FFFFC>;
1545 label = "early_audio_mem";