diff --git a/qcom/penang-fps-overlay.dtsi b/qcom/penang-fps-overlay.dtsi index bfc368bf1c2c..c78f315d0d18 100644 --- a/qcom/penang-fps-overlay.dtsi +++ b/qcom/penang-fps-overlay.dtsi @@ -1,100 +1,4 @@ &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 */ @@ -125,27 +29,96 @@ input-enable; }; }; + + fps_rst_high: fps_rst_high { + mux { + pins = "gpio18"; + function = "gpio"; + }; + + config { + pins = "gpio18"; + drive-strength = <8>; + output-high; + bias-pull-up; + }; + }; + + fps_rst_low: fps_rst_low { + mux { + pins = "gpio18"; + function = "gpio"; + }; + config { + pins = "gpio18"; + drive-strength = <8>; + output-low; + bias-pull-down; + }; + }; + + fps_ldo3_en_active: ldo3_en_active { + /* active state */ + mux { + pins = "gpio87"; + function = "gpio"; + }; + + config { + pins = "gpio87"; + drive-strength = <2>; /* 2 MA */ + bias-disable; + output-high; + }; + }; + + fps_ldo3_en_suspend: ldo3_en_suspend { + /* sleep state */ + mux { + pins = "gpio87"; + function = "gpio"; + }; + + config { + pins = "gpio87"; + drive-strength = <2>; /* 2 MA */ + bias-disable; + output-low; + }; + }; + }; &soc { - et528: et528 { - compatible = "fp-egistec"; + fpc: fpc_fpc1020 { + compatible = "fpc,fpc1020"; + status = "ok"; + irq = <&tlmm 17 0>; + rst = <&tlmm 18 0>; + fp-gpio-ven = <&tlmm 87 0>; + interrupt-parent = <&tlmm>; + interrupts = <17 0>; + pinctrl-names = "default", "suspend"; + pinctrl-0 = <&fps_int_active>; + pinctrl-1 = < &fps_int_suspend>; + }; + //chipone side fps + fingerprint: chipone7318 { + compatible = "qcom,fingerprint-gpio"; status = "ok"; reg = <0>; interrupt-parent = <&tlmm>; interrupts = <17 0x0>; - fp-ctrl-power; - fp-gpio-vcc-enable; - egistec,gpio_vcc_en = <&tlmm 87 0x0>; - egistec,gpio_irq = <&tlmm 17 0x0>; - egistec,gpio_reset = <&tlmm 18 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>; - }; + fp-gpio-int = <&tlmm 17 0x0>; + fp-gpio-reset = <&tlmm 18 0x0>; + fp-gpio-power = <&tlmm 87 0x0>; + pinctrl-names = "fps_rst_active","fps_rst_suspend","fps_int_active","fps_ldo3_en_active","fps_ldo3_en_suspend"; + pinctrl-0 = <&fps_rst_high>; + pinctrl-1 = <&fps_rst_low>; + pinctrl-2 = <&fps_int_active>; + pinctrl-3 = <&fps_ldo3_en_active>; + pinctrl-4 = <&fps_ldo3_en_suspend>; + }; }; +