diff options
author | Wendly Li <wendlyli@google.com> | 2022-09-05 10:12:22 +0000 |
---|---|---|
committer | Android Partner Code Review <android-gerrit-partner@google.com> | 2022-09-05 10:12:22 +0000 |
commit | 5fff099fe55ba7bfc97e7dce6ccbcca7997337f3 (patch) | |
tree | dd369b89a52d4b89d18f14969ed5f467e804d8f3 /goodix_ts_core.c | |
parent | aa8c95f9a4b81a9d34ea399acbe041906e32ff35 (diff) | |
parent | 4b6547193acf4c42323d6407ea29da2fa04cf564 (diff) | |
download | goodix_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.c | 19 |
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: |