HAWAO+OLED: chipone fingerprint modify the power-on sequence

Used to fix the failure of the probabilistic startup identification module

Change-Id: Id37309cd0e2e448e4989cea8ae098cd36d47e889
modified:   fpsensor_spi_tee.c
Reviewed-on: https://gerrit.mot.com/2172960
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: liujian <liujian24@lenovo.com>
Reviewed-by: Wang Wang <wangwang1@lenovo.com>
Submit-Approved: Jira Key
This commit is contained in:
tinno18 2022-01-18 16:10:21 +08:00
commit ea0570ad0a

View file

@ -101,6 +101,12 @@ static void fpsensor_power_on(fpsensor_data_t *fpsensor)
gpio_set_value(fpsensor->power_gpio, 1);
fpsensor_debug(ERR_LOG, "fpsensor fingerprint power on\n");
}
if (fpsensor->reset_gpio != 0) {
// set reset_gpio high
gpio_direction_output(fpsensor->reset_gpio, 1);
gpio_set_value(fpsensor->reset_gpio, 1);
fpsensor_debug(ERR_LOG, "fpsensor fingerprint reset_gpio high\n");
}
}
static void fpsensor_power_off(fpsensor_data_t *fpsensor)
{
@ -113,6 +119,12 @@ static void fpsensor_power_off(fpsensor_data_t *fpsensor)
gpio_set_value(fpsensor->power_gpio, 0);
fpsensor_debug(ERR_LOG, "fpsensor fingerprint power off\n");
}
if (fpsensor->reset_gpio != 0) {
// set reset_gpio low
gpio_direction_output(fpsensor->reset_gpio, 0);
gpio_set_value(fpsensor->reset_gpio, 0);
fpsensor_debug(ERR_LOG, "fpsensor fingerprint reset_gpio low\n");
}
}
#endif
@ -207,9 +219,16 @@ static int fpsensor_get_gpio_dts_info(fpsensor_data_t *fpsensor)
gpio_set_value(fpsensor->power_gpio, 1);
#endif
// set reset direction output
#if FPSENSOR_USE_QCOM_POWER_GPIO
gpio_direction_output(fpsensor->reset_gpio, 1);
gpio_set_value(g_fpsensor->reset_gpio, 1);
mdelay(4);
//fpsensor_hw_reset(1250);
#else
// set reset direction output
gpio_direction_output(fpsensor->reset_gpio, 1);
fpsensor_hw_reset(1250);
#endif
return ret;
}
@ -348,7 +367,11 @@ static long fpsensor_ioctl(struct file *filp, unsigned int cmd, unsigned long ar
case FPSENSOR_IOC_RESET:
fpsensor_debug(INFO_LOG, "%s: chip reset command\n", __func__);
#if FPSENSOR_USE_QCOM_POWER_GPIO
fpsensor_hw_reset(4000);
#else
fpsensor_hw_reset(1250);
#endif
break;
case FPSENSOR_IOC_ENABLE_IRQ: