summaryrefslogtreecommitdiff
path: root/goodix_ts_core.c
diff options
context:
space:
mode:
authorWendly Li <wendlyli@google.com>2022-09-05 10:12:22 +0000
committerAndroid Partner Code Review <android-gerrit-partner@google.com>2022-09-05 10:12:22 +0000
commit5fff099fe55ba7bfc97e7dce6ccbcca7997337f3 (patch)
treedd369b89a52d4b89d18f14969ed5f467e804d8f3 /goodix_ts_core.c
parentaa8c95f9a4b81a9d34ea399acbe041906e32ff35 (diff)
parent4b6547193acf4c42323d6407ea29da2fa04cf564 (diff)
downloadgoodix_touch-5fff099fe55ba7bfc97e7dce6ccbcca7997337f3.tar.gz
Merge changes I64268295,Id853e7e4 into android13-gs-pixel-5.10-tm-qpr1
* changes: touch/goodix: Import v1.1.1 driver touch/goodix: Import v1.1.0 driver
Diffstat (limited to 'goodix_ts_core.c')
-rw-r--r--goodix_ts_core.c19
1 files changed, 16 insertions, 3 deletions
diff --git a/goodix_ts_core.c b/goodix_ts_core.c
index 1734f19..9293e88 100644
--- a/goodix_ts_core.c
+++ b/goodix_ts_core.c
@@ -2111,7 +2111,7 @@ static void goodix_ts_esd_work(struct work_struct *work)
if (ts_esd->irq_status)
goto exit;
- if (!atomic_read(&ts_esd->esd_on))
+ if (!atomic_read(&ts_esd->esd_on) || atomic_read(&cd->suspended))
return;
if (!hw_ops->esd_check)
@@ -2120,9 +2120,22 @@ static void goodix_ts_esd_work(struct work_struct *work)
ret = hw_ops->esd_check(cd);
if (ret) {
ts_err("esd check failed");
- goodix_ts_power_off(cd);
+ gpio_direction_output(cd->board_data.reset_gpio, 0);
+ if (cd->iovdd)
+ ret = regulator_disable(cd->iovdd);
+ if (cd->avdd)
+ ret = regulator_disable(cd->avdd);
+
usleep_range(5000, 5100);
- goodix_ts_power_on(cd);
+
+ if (cd->iovdd) {
+ ret = regulator_enable(cd->iovdd);
+ usleep_range(3000, 3100);
+ }
+ if (cd->avdd)
+ ret = regulator_enable(cd->avdd);
+ usleep_range(15000, 15100);
+ gpio_direction_output(cd->board_data.reset_gpio, 1);
}
exit: