From 5f7aa81a9304cdd4e5d2266f0ec19689d911ca55 Mon Sep 17 00:00:00 2001 From: Wenge Zhu Date: Wed, 5 Jul 2023 16:16:54 +0800 Subject: [PATCH] Enable CLI touch large palm detection for lynkco Optimize mistake touch when phone on pocket both on display on and display off scenarios,more than or equal 70% touch area touch FW will report palm event and event will be dropped. Change-Id: I3c4ba8d093d889189c1eada93836948459cb33ef Signed-off-by: Wenge Zhu Reviewed-on: https://gerrit.mot.com/2666127 SME-Granted: SME Approvals Granted SLTApproved: Slta Waiver Tested-by: Jira Key Reviewed-by: Jichao Zou Submit-Approved: Jira Key --- drivers/input/touchscreen/zinitix_ztw62x_mmi/zinitix.c | 8 ++++++++ .../input/touchscreen/zinitix_ztw62x_mmi/zinitix_touch.h | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/input/touchscreen/zinitix_ztw62x_mmi/zinitix.c b/drivers/input/touchscreen/zinitix_ztw62x_mmi/zinitix.c index d1449ee0337e..85ad0aad6dd8 100644 --- a/drivers/input/touchscreen/zinitix_ztw62x_mmi/zinitix.c +++ b/drivers/input/touchscreen/zinitix_ztw62x_mmi/zinitix.c @@ -2535,12 +2535,18 @@ static irqreturn_t bt541_touch_work(int irq, void *data) input_report_key(info->input_dev, KEY_LARGE, 0); input_sync(info->input_dev); */ + write_cmd(client, BT541_SWRESET_CMD); + msleep(20); + write_cmd(client, BT541_CLEAR_INT_STATUS_CMD); dev_err(&client->dev, "large touch palm enter\n"); +#ifndef CONFIG_INPUT_TOUCHSCREEN_MMI input_report_key(info->input_dev, KEY_POWER, 1); input_sync(info->input_dev); input_report_key(info->input_dev, KEY_POWER, 0); input_sync(info->input_dev); palm = 1; +#endif + clear_report_data(info); goto out; } #if 0 @@ -6137,11 +6143,13 @@ static int bt541_ts_probe(struct i2c_client *client, set_bit(EV_ABS, info->input_dev->evbit); set_bit(BTN_TOUCH, info->input_dev->keybit); +#ifndef CONFIG_INPUT_TOUCHSCREEN_MMI #if SUPPORTED_PALM_TOUCH //set_bit(KEY_POWER, info->input_dev->evbit); //input_set_capability(info->input_dev, EV_KEY, KEY_LARGE); input_set_capability(info->input_dev, EV_KEY, KEY_POWER); dev_err(&client->dev,"KEY_POWER register finish\n"); +#endif #endif set_bit(EV_LED, info->input_dev->evbit); diff --git a/drivers/input/touchscreen/zinitix_ztw62x_mmi/zinitix_touch.h b/drivers/input/touchscreen/zinitix_ztw62x_mmi/zinitix_touch.h index d6d82ec02f3d..4a17176d031e 100644 --- a/drivers/input/touchscreen/zinitix_ztw62x_mmi/zinitix_touch.h +++ b/drivers/input/touchscreen/zinitix_ztw62x_mmi/zinitix_touch.h @@ -38,7 +38,7 @@ #define USE_WAKEUP_GESTURE 0 -#define SUPPORTED_PALM_TOUCH 0 +#define SUPPORTED_PALM_TOUCH 1 #define MAX_SUPPORTED_FINGER_NUM 3 /* max 10 */