diff --git a/qcom/cypfq-fps-overlay.dtsi b/qcom/cypfq-fps-overlay.dtsi new file mode 100644 index 000000000000..40fa18745865 --- /dev/null +++ b/qcom/cypfq-fps-overlay.dtsi @@ -0,0 +1,163 @@ +&tlmm { + ets_irq_active: egis_irq_active { + /* INTERRUPT */ + mux { + pins = "gpio17"; + function = "gpio"; + }; + + config { + pins = "gpio17"; + drive-strength = <2>; /* 2 MA */ + input-enable; + }; + }; + + ets_rst_high: ets_rst_high { + /* INTERRUPT */ + mux { + pins = "gpio18"; + function = "gpio"; + }; + + config { + pins = "gpio18"; + drive-strength = <2>; /* 2 MA */ + output-high; + }; + }; + + ets_rst_low: ets_rst_low { + /* INTERRUPT */ + mux { + pins = "gpio18"; + function = "gpio"; + }; + + config { + pins = "gpio18"; + drive-strength = <2>; /* 2 MA */ + output-low; + }; + }; + + ets_vcc_high: ets_vcc_high { + /* INTERRUPT */ + mux { + pins = "gpio87"; + function = "gpio"; + }; + + config { + pins = "gpio87"; + drive-strength = <2>; /* 2 MA */ + output-high; + }; + }; + + ets_vcc_low: ets_vcc_low { + /* INTERRUPT */ + mux { + pins = "gpio87"; + function = "gpio"; + }; + + config { + pins = "gpio87"; + drive-strength = <2>; /* 2 MA */ + output-low; + }; + }; + + fps_rst_active: fps_rst_active { + /* active state */ + mux { + pins = "gpio18"; + function = "gpio"; + }; + + config { + pins = "gpio18"; + drive-strength = <2>; /* 2 MA */ + output-low; + }; + }; + + fps_rst_suspend: fps_rst_suspend { + /* sleep state */ + mux { + pins = "gpio18"; + function = "gpio"; + }; + + config { + pins = "gpio18"; + drive-strength = <2>; /* 2 MA */ + }; + }; + + fps_int_active: fps_int_active { + /* active state */ + mux { + pins = "gpio17"; + function = "gpio"; + }; + + config { + pins = "gpio17"; + drive-strength = <2>; /* 2 MA */ + bias-disable; + input-enable; + }; + }; + + fps_int_suspend: fps_int_suspend { + /* sleep state */ + mux { + pins = "gpio17"; + function = "gpio"; + }; + + config { + pins = "gpio17"; + drive-strength = <2>; /* 2 MA */ + bias-disable; + input-enable; + }; + }; +}; + + +&soc { + et528: et528 { + compatible = "fp-egistec"; + status = "ok"; + reg = <0>; + interrupt-parent = <&tlmm>; + interrupts = <17 0x0>; + fp-ctrl-power; + fp-gpio-vcc-enable; + egistec,gpio_irq = <&tlmm 17 0x0>; + egistec,gpio_reset = <&tlmm 18 0x0>; + egistec,gpio_vcc_en = <&tlmm 87 0x0>; + pinctrl-names = "egis_rst_high", "egis_rst_low", "egis_irq_active", + "egis_vcc_high", "egis_vcc_low"; + pinctrl-0 = <&ets_rst_high>; + pinctrl-1 = <&ets_rst_low>; + pinctrl-2 = <&ets_irq_active>; + pinctrl-3 = <&ets_vcc_high>; + pinctrl-4 = <&ets_vcc_low>; + }; + + fpc: fpc_fpc1020 { + compatible = "fpc,fpc1020"; + status = "ok"; + irq = <&tlmm 17 0>; + rst = <&tlmm 18 0>; + interrupt-parent = <&tlmm>; + interrupts = <17 0>; + pinctrl-names = "default", "suspend"; + pinctrl-0 = <&fps_rst_active &fps_int_active>; + pinctrl-1 = <&fps_rst_suspend &fps_int_suspend>; + }; +}; diff --git a/qcom/holi-cypfq-common-overlay.dtsi b/qcom/holi-cypfq-common-overlay.dtsi index 55a21d1e8b9f..48fcfd8c6f89 100644 --- a/qcom/holi-cypfq-common-overlay.dtsi +++ b/qcom/holi-cypfq-common-overlay.dtsi @@ -14,6 +14,7 @@ #include "holi-audio-wcd9370-aw882xx-overlay.dtsi" #include #include +#include "cypfq-fps-overlay.dtsi" #include "holi-pmic-overlay-pm6125.dtsi" #include "holi-thermal-overlay-pm6125.dtsi" #include "display/holi-sde-display-mtp-pm6125.dtsi" diff --git a/qcom/holi-cypfr-common-overlay.dtsi b/qcom/holi-cypfr-common-overlay.dtsi index 0f802aeb6d6b..8fb1ce2bae19 100644 --- a/qcom/holi-cypfr-common-overlay.dtsi +++ b/qcom/holi-cypfr-common-overlay.dtsi @@ -14,6 +14,7 @@ #include "holi-audio-wcd9370-aw882xx-overlay.dtsi" #include #include +#include "cypfq-fps-overlay.dtsi" #include "holi-pmic-overlay-pm6125.dtsi" #include "holi-thermal-overlay-pm6125.dtsi" #include "display/holi-sde-display-mtp-pm6125.dtsi"