From 129ec7d7e91d173caf07916bfe6118993b0fdb35 Mon Sep 17 00:00:00 2001 From: Chunyu Fan Date: Fri, 21 Oct 2022 14:28:33 +0800 Subject: [PATCH] Fingerprint timing sequence error When fingerprint module power-on control reset to up level, cancel delay. Change-Id: I3e55c19ea12eb6be31fd97ce889079b060065e73 Signed-off-by: Chunyu Fan Reviewed-on: https://gerrit.mot.com/2410817 SME-Granted: SME Approvals Granted SLTApproved: Slta Waiver Tested-by: Jira Key Reviewed-by: Jianqi Yang Submit-Approved: Jira Key --- drivers/input/misc/fpc_fps_mmi/fpc1020_tee.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/input/misc/fpc_fps_mmi/fpc1020_tee.c b/drivers/input/misc/fpc_fps_mmi/fpc1020_tee.c index 15ec2790efab..ec76edff7a28 100644 --- a/drivers/input/misc/fpc_fps_mmi/fpc1020_tee.c +++ b/drivers/input/misc/fpc_fps_mmi/fpc1020_tee.c @@ -150,7 +150,9 @@ static int fpc1020_power_on(struct fpc1020_data *fpc1020) } fpc1020->power_enabled = 1; if(fpc1020->rgltr_ctrl_support ||gpio_is_valid(fpc1020->pwr_gpio)){ - usleep_range(11000,12000); + if (!of_property_read_bool(fpc1020->dev->of_node, "delay-ctrl-support")) { + usleep_range(11000,12000); + } } } return rc; @@ -501,7 +503,9 @@ static int fpc1020_probe(struct platform_device *pdev) fpc1020->rst_gpio = -EINVAL; if (gpio_is_valid(fpc1020->rst_gpio)) { - usleep_range(RESET_LOW_SLEEP_MIN_US, RESET_LOW_SLEEP_MAX_US); + if (!of_property_read_bool(np, "delay-ctrl-support")) { + usleep_range(RESET_LOW_SLEEP_MIN_US, RESET_LOW_SLEEP_MAX_US); + } rc = gpio_direction_output(fpc1020->rst_gpio, 1); if (rc) { dev_err(dev, "cannot set reset pin direction\n");