diff --git a/qcom/fogor-fps-overlay.dtsi b/qcom/fogor-fps-overlay.dtsi index 3e82631392f1..5932983d77ab 100644 --- a/qcom/fogor-fps-overlay.dtsi +++ b/qcom/fogor-fps-overlay.dtsi @@ -1,6 +1,33 @@ &tlmm { - ets_irq_active: egis_irq_active { - /* INTERRUPT */ + 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"; @@ -9,94 +36,62 @@ config { pins = "gpio17"; drive-strength = <2>; /* 2 MA */ + bias-disable; input-enable; }; }; - ets_rst_high: ets_rst_high { - /* INTERRUPT */ + fps_int_suspend: fps_int_suspend { + /* sleep state */ mux { - pins = "gpio18"; + pins = "gpio17"; function = "gpio"; }; config { - pins = "gpio18"; + pins = "gpio17"; drive-strength = <2>; /* 2 MA */ - output-high; + bias-disable; + input-enable; }; }; +}; - 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 = "gpio100"; - function = "gpio"; - }; - - config { - pins = "gpio100"; - drive-strength = <2>; /* 2 MA */ - output-high; - }; - }; - - ets_vcc_low: ets_vcc_low { - /* INTERRUPT */ - mux { - pins = "gpio100"; - function = "gpio"; - }; - - config { - pins = "gpio100"; - drive-strength = <2>; /* 2 MA */ - output-low; - }; - }; - - - - - - - - +&L21A { + regulator-max-microvolt = <3008000>; + qcom,init-voltage = <3000000>; + status = "ok"; }; &soc { - EL721: EL721 { - compatible = "fp-egistec"; + fpc: fpc_fpc1020 { + compatible = "fpc,fpc1020"; status = "ok"; - reg = <0>; + irq = <&tlmm 17 0>; + rst = <&tlmm 18 0>; interrupt-parent = <&tlmm>; - interrupts = <17 0x0>; - fp-ctrl-power; - fp-gpio-vcc-enable; - egistec,gpio_vcc_en = <&tlmm 100 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>; + interrupts = <17 0>; + rgltr-ctrl-support; + fp,vdd-supply=<&L21A>; + fp,voltage-range = <3000000 3000000>; + pinctrl-names = "default", "suspend"; + pinctrl-0 = <&fps_rst_active &fps_int_active>; + pinctrl-1 = <&fps_rst_suspend &fps_int_suspend>; + }; + goodix_fingerprint{ + //status = "/chosen", "mmi,fps", "true"; + status = "ok"; + compatible = "goodix,fingerprint"; + fp-gpio-reset = <&tlmm 18 0x00>; + fp-gpio-irq = <&tlmm 17 0x00>; + rgltr-ctrl-support; + fp,vdd-supply=<&L21A>; + fp,voltage-range = <3000000 3000000>; + interrupt-parent = <&tlmm>; + interrupts = <17 0>; + interrupt-controller; + pinctrl-names = "default", "suspend"; + pinctrl-0 = <&fps_rst_active &fps_int_active>; + pinctrl-1 = <&fps_rst_suspend &fps_int_suspend>; }; - };