From 020bc4b63ac69ec40fa2321feaffc392a8c0346e Mon Sep 17 00:00:00 2001 From: Yan Zhang Date: Thu, 4 Nov 2021 14:28:04 +0800 Subject: [PATCH] dts/arm64: add fps dts for rhode4g dts/arm64: add fps dts for rhode4g Change-Id: Ib67bb6c83a1ab4f4f2bc38c5fd4430268ecd971c Signed-off-by: Yan Zhang Reviewed-on: https://gerrit.mot.com/2107369 SME-Granted: SME Approvals Granted SLTApproved: Slta Waiver Reviewed-by: Xiangpo Zhao Tested-by: Jira Key Submit-Approved: Jira Key --- qcom/khaje-rhode-common-overlay.dtsi | 11 +- qcom/khaje-rhode-fps-overlay.dtsi | 193 ++++++++++++++++++++++++++ qcom/khaje-rhode-fps-overlay_evb.dtsi | 193 ++++++++++++++++++++++++++ 3 files changed, 396 insertions(+), 1 deletion(-) create mode 100644 qcom/khaje-rhode-fps-overlay.dtsi create mode 100644 qcom/khaje-rhode-fps-overlay_evb.dtsi diff --git a/qcom/khaje-rhode-common-overlay.dtsi b/qcom/khaje-rhode-common-overlay.dtsi index 7f463a9cb45d..fe336834a4d5 100644 --- a/qcom/khaje-rhode-common-overlay.dtsi +++ b/qcom/khaje-rhode-common-overlay.dtsi @@ -13,6 +13,7 @@ #include #include "khaje-moto-common-overlay.dtsi" #include "khaje-rhode-display.dtsi" +#include "khaje-rhode-fps-overlay_evb.dtsi" &firmware { android { @@ -22,4 +23,12 @@ }; }; }; - +&soc { + qcom,tz_gpio { + compatible = "qcom,tz_gpio"; + tlmm-tz = <14>, + <15>, + <16>, + <17>; + }; +}; \ No newline at end of file diff --git a/qcom/khaje-rhode-fps-overlay.dtsi b/qcom/khaje-rhode-fps-overlay.dtsi new file mode 100644 index 000000000000..0f16fbbfd91e --- /dev/null +++ b/qcom/khaje-rhode-fps-overlay.dtsi @@ -0,0 +1,193 @@ + +&tlmm { + + fps { + + fingerfp_rst_high: fingerfp_rst_high { + mux { + pins = "gpio104"; + function = "gpio"; + }; + + config { + pins = "gpio104"; + drive-strength = <8>; + output-high; + bias-pull-up; + }; + }; + + fingerfp_rst_low: fingerfp_rst_low { + mux { + pins = "gpio104"; + function = "gpio"; + }; + config { + pins = "gpio3"; + drive-strength = <8>; + output-low; + bias-pull-down; + }; + }; + + fingerfp_irq_active: fingerfp_irq_active { + mux { + pins = "gpio83"; + function = "gpio"; + }; + config { + pins = "gpio83"; + drive-strength = <2>; + bias-disable; + input-enable; + }; + }; + + fingerfp_vcc_high: fingerfp_vcc_high { + mux { + pins = "gpio108"; + function = "gpio"; + }; + + config { + pins = "gpio108"; + drive-strength = <2>; + bias-disable; + output-high; + }; + }; + + fingerfp_vcc_low: fingerfp_vcc_low { + mux { + pins = "gpio108"; + function = "gpio"; + }; + + config { + pins = "gpio108"; + drive-strength = <2>; + bias-disable; + output-low; + }; + }; + + + pmx_fp_pwr_high { + fingerprint_pins_power_output1: fingerprint_pins_power_output1 { + mux { + pins = "gpio108"; + function = "gpio"; + }; + + config { + pins = "gpio108"; + drive-strength = <2>; + bias-disable; + output-high; + }; + }; + }; + + pmx_fp_pwr_low { + fingerprint_pins_power_output0: fingerprint_pins_power_output0 { + mux { + pins = "gpio108"; + function = "gpio"; + }; + + config { + pins = "gpio108"; + drive-strength = <2>; + bias-disable; + output-low; + }; + }; + }; + + pmx_fp_int_active { + + fingerprint_pins_eint_as_int: fingerprint_pins_eint_as_int + { + mux { + pins = "gpio83"; + function = "gpio"; + }; + + config { + pins = "gpio83"; + drive-strength = <2>; + bias-disable; + input-enable; + }; + }; + }; + + pmx_fp_reset_active { + fingerprint_pins_rst_output1: fingerprint_pins_rst_output1 { + mux { + pins = "gpio104"; + function = "gpio"; + }; + + config { + pins = "gpio104"; + drive-strength = <8>; + bias-disable; + output-high; + }; + }; + }; + + pmx_fp_reset_suspend { + fingerprint_pins_rst_output0: fingerprint_pins_rst_output0 { + mux { + pins = "gpio104"; + function = "gpio"; + }; + + config { + pins = "gpio104"; + drive-strength = <8>; + bias-disable; + output-low; + }; + }; + }; + }; +}; + +&soc { + + et528: et528 { + status = "ok"; + compatible = "fp-egistec"; + fp-ctrl-power; + fp-gpio-vcc-enable; + egistec,gpio_irq = <&tlmm 83 0x00>; + egistec,gpio_reset = <&tlmm 104 0x00>; + egistec,gpio_vcc_en = <&tlmm 108 0x00>; + pinctrl-names = "egis_rst_high", "egis_rst_low", "egis_irq_active","egis_vcc_high","egis_vcc_low"; + pinctrl-0 = <&fingerfp_rst_high>; + pinctrl-1 = <&fingerfp_rst_low>; + pinctrl-2 = <&fingerfp_irq_active>; + pinctrl-3 = <&fingerfp_vcc_high>; + pinctrl-4 = <&fingerfp_vcc_low>; + }; + + focalfp_ft9362 { + status = "ok"; + compatible = "focaltech,fingerprint"; + interrupt-parent = <&tlmm>; + interrupts = <83 0x0>; + fp,reset_gpio = <&tlmm 104 0>; + fp,irq_gpio = <&tlmm 83 0>; + fp,vdd_gpio = <&tlmm 108 0>; + + pinctrl-names = "fpsensor_finger_power_high","fpsensor_finger_power_low","fpsensor_finger_rst_low","fpsensor_finger_rst_high","fpsensor_eint_as_int"; + pinctrl-0 = <&fingerprint_pins_power_output1>; + pinctrl-1 = <&fingerprint_pins_power_output0>; + pinctrl-2 = <&fingerprint_pins_rst_output0>; + pinctrl-3 = <&fingerprint_pins_rst_output1>; + pinctrl-4 = <&fingerprint_pins_eint_as_int>; + }; +}; diff --git a/qcom/khaje-rhode-fps-overlay_evb.dtsi b/qcom/khaje-rhode-fps-overlay_evb.dtsi new file mode 100644 index 000000000000..37df8ae3d685 --- /dev/null +++ b/qcom/khaje-rhode-fps-overlay_evb.dtsi @@ -0,0 +1,193 @@ + +&tlmm { + + fps { + + fingerfp_rst_high: fingerfp_rst_high { + mux { + pins = "gpio3"; + function = "gpio"; + }; + + config { + pins = "gpio3"; + drive-strength = <8>; + output-high; + bias-pull-up; + }; + }; + + fingerfp_rst_low: fingerfp_rst_low { + mux { + pins = "gpio3"; + function = "gpio"; + }; + config { + pins = "gpio3"; + drive-strength = <8>; + output-low; + bias-pull-down; + }; + }; + + fingerfp_irq_active: fingerfp_irq_active { + mux { + pins = "gpio83"; + function = "gpio"; + }; + config { + pins = "gpio83"; + drive-strength = <2>; + bias-disable; + input-enable; + }; + }; + + fingerfp_vcc_high: fingerfp_vcc_high { + mux { + pins = "gpio54"; + function = "gpio"; + }; + + config { + pins = "gpio54"; + drive-strength = <2>; + bias-disable; + output-high; + }; + }; + + fingerfp_vcc_low: fingerfp_vcc_low { + mux { + pins = "gpio54"; + function = "gpio"; + }; + + config { + pins = "gpio54"; + drive-strength = <2>; + bias-disable; + output-low; + }; + }; + + + pmx_fp_pwr_high { + fingerprint_pins_power_output1: fingerprint_pins_power_output1 { + mux { + pins = "gpio54"; + function = "gpio"; + }; + + config { + pins = "gpio54"; + drive-strength = <2>; + bias-disable; + output-high; + }; + }; + }; + + pmx_fp_pwr_low { + fingerprint_pins_power_output0: fingerprint_pins_power_output0 { + mux { + pins = "gpio54"; + function = "gpio"; + }; + + config { + pins = "gpio54"; + drive-strength = <2>; + bias-disable; + output-low; + }; + }; + }; + + pmx_fp_int_active { + + fingerprint_pins_eint_as_int: fingerprint_pins_eint_as_int + { + mux { + pins = "gpio83"; + function = "gpio"; + }; + + config { + pins = "gpio83"; + drive-strength = <2>; + bias-disable; + input-enable; + }; + }; + }; + + pmx_fp_reset_active { + fingerprint_pins_rst_output1: fingerprint_pins_rst_output1 { + mux { + pins = "gpio3"; + function = "gpio"; + }; + + config { + pins = "gpio3"; + drive-strength = <8>; + bias-disable; + output-high; + }; + }; + }; + + pmx_fp_reset_suspend { + fingerprint_pins_rst_output0: fingerprint_pins_rst_output0 { + mux { + pins = "gpio3"; + function = "gpio"; + }; + + config { + pins = "gpio3"; + drive-strength = <8>; + bias-disable; + output-low; + }; + }; + }; + }; +}; + +&soc { + + et528: et528 { + status = "ok"; + compatible = "fp-egistec"; + fp-ctrl-power; + fp-gpio-vcc-enable; + egistec,gpio_irq = <&tlmm 83 0x00>; + egistec,gpio_reset = <&tlmm 3 0x00>; + egistec,gpio_vcc_en = <&tlmm 54 0x00>; + pinctrl-names = "egis_rst_high", "egis_rst_low", "egis_irq_active","egis_vcc_high","egis_vcc_low"; + pinctrl-0 = <&fingerfp_rst_high>; + pinctrl-1 = <&fingerfp_rst_low>; + pinctrl-2 = <&fingerfp_irq_active>; + pinctrl-3 = <&fingerfp_vcc_high>; + pinctrl-4 = <&fingerfp_vcc_low>; + }; + + focalfp_ft9362 { + status = "ok"; + compatible = "focaltech,fingerprint"; + interrupt-parent = <&tlmm>; + interrupts = <83 0x0>; + fp,reset_gpio = <&tlmm 3 0>; + fp,irq_gpio = <&tlmm 83 0>; + fp,vdd_gpio = <&tlmm 54 0>; + + pinctrl-names = "fpsensor_finger_power_high","fpsensor_finger_power_low","fpsensor_finger_rst_low","fpsensor_finger_rst_high","fpsensor_eint_as_int"; + pinctrl-0 = <&fingerprint_pins_power_output1>; + pinctrl-1 = <&fingerprint_pins_power_output0>; + pinctrl-2 = <&fingerprint_pins_rst_output0>; + pinctrl-3 = <&fingerprint_pins_rst_output1>; + pinctrl-4 = <&fingerprint_pins_eint_as_int>; + }; +};