* [PATCH] Input: elants_i2c - fix to check the Remark ID of the updated firmware
@ 2021-12-16 1:53 Johnny Chuang
2021-12-20 8:31 ` Dmitry Torokhov
0 siblings, 1 reply; 2+ messages in thread
From: Johnny Chuang @ 2021-12-16 1:53 UTC (permalink / raw)
To: Dmitry Torokhov, Benjamin Tissoires, Peter Hutterer,
linux-kernel, linux-input, Harry Cutts, Johnny Chuang
Cc: James Chen, Jennifer Tsai, Paul Liang, Jeff Chuang
The eKTH3900/eKTH5312 series do not support
the firmware update rules of Remark ID.
Exclude two series and keep the original rules to check the Remark ID.
Signed-off-by: Johnny Chuang <johnny.chuang.emc@gmail.com>
---
drivers/input/touchscreen/elants_i2c.c | 48 +++++++++++++++++++++++++++++++++-
1 file changed, 47 insertions(+), 1 deletion(-)
diff --git a/drivers/input/touchscreen/elants_i2c.c b/drivers/input/touchscreen/elants_i2c.c
index 7e13a66..99151a1 100644
--- a/drivers/input/touchscreen/elants_i2c.c
+++ b/drivers/input/touchscreen/elants_i2c.c
@@ -117,6 +117,19 @@
#define ELAN_POWERON_DELAY_USEC 500
#define ELAN_RESET_DELAY_MSEC 20
+/* FW boot code version */
+#define BC_VER_H_BYTE_FOR_EKTH3900x1_I2C 0x72
+#define BC_VER_H_BYTE_FOR_EKTH3900x2_I2C 0x82
+#define BC_VER_H_BYTE_FOR_EKTH3900x3_I2C 0x92
+#define BC_VER_H_BYTE_FOR_EKTH5312x1_I2C 0x6D
+#define BC_VER_H_BYTE_FOR_EKTH5312x2_I2C 0x6E
+#define BC_VER_H_BYTE_FOR_EKTH5312cx1_I2C 0x77
+#define BC_VER_H_BYTE_FOR_EKTH5312cx2_I2C 0x78
+#define BC_VER_H_BYTE_FOR_EKTH5312x1_I2C_USB 0x67
+#define BC_VER_H_BYTE_FOR_EKTH5312x2_I2C_USB 0x68
+#define BC_VER_H_BYTE_FOR_EKTH5312cx1_I2C_USB 0x74
+#define BC_VER_H_BYTE_FOR_EKTH5312cx2_I2C_USB 0x75
+
enum elants_chip_id {
EKTH3500,
EKTF3624,
@@ -736,6 +749,37 @@ static int elants_i2c_validate_remark_id(struct elants_data *ts,
return 0;
}
+static bool elants_i2c_check_remark_id(struct elants_data *ts)
+{
+ struct i2c_client *client = ts->client;
+ bool check;
+ const u8 bootcode_version = ts->iap_version;
+
+ /* I2C eKTH3900 and eKTH5312 are NOT support Remark ID */
+ if ((bootcode_version == BC_VER_H_BYTE_FOR_EKTH3900x1_I2C) ||
+ (bootcode_version == BC_VER_H_BYTE_FOR_EKTH3900x2_I2C) ||
+ (bootcode_version == BC_VER_H_BYTE_FOR_EKTH3900x3_I2C) ||
+ (bootcode_version == BC_VER_H_BYTE_FOR_EKTH5312x1_I2C) ||
+ (bootcode_version == BC_VER_H_BYTE_FOR_EKTH5312x2_I2C) ||
+ (bootcode_version == BC_VER_H_BYTE_FOR_EKTH5312cx1_I2C) ||
+ (bootcode_version == BC_VER_H_BYTE_FOR_EKTH5312cx2_I2C) ||
+ (bootcode_version == BC_VER_H_BYTE_FOR_EKTH5312x1_I2C_USB) ||
+ (bootcode_version == BC_VER_H_BYTE_FOR_EKTH5312x2_I2C_USB) ||
+ (bootcode_version == BC_VER_H_BYTE_FOR_EKTH5312cx1_I2C_USB) ||
+ (bootcode_version == BC_VER_H_BYTE_FOR_EKTH5312cx2_I2C_USB)) {
+ dev_dbg(&client->dev,
+ "eKTH3900/eKTH5312(0x%02x) are not support remark id\n",
+ bootcode_version);
+ check = false;
+ } else if (bootcode_version >= 0x60) {
+ check = true;
+ } else {
+ check = false;
+ }
+
+ return check;
+}
+
static int elants_i2c_do_update_firmware(struct i2c_client *client,
const struct firmware *fw,
bool force)
@@ -749,7 +793,9 @@ static int elants_i2c_do_update_firmware(struct i2c_client *client,
u16 send_id;
int page, n_fw_pages;
int error;
- bool check_remark_id = ts->iap_version >= 0x60;
+ bool check_remark_id;
+
+ check_remark_id = elants_i2c_check_remark_id(ts);
/* Recovery mode detection! */
if (force) {
--
2.7.4
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] Input: elants_i2c - fix to check the Remark ID of the updated firmware
2021-12-16 1:53 [PATCH] Input: elants_i2c - fix to check the Remark ID of the updated firmware Johnny Chuang
@ 2021-12-20 8:31 ` Dmitry Torokhov
0 siblings, 0 replies; 2+ messages in thread
From: Dmitry Torokhov @ 2021-12-20 8:31 UTC (permalink / raw)
To: Johnny Chuang
Cc: Benjamin Tissoires, Peter Hutterer, linux-kernel, linux-input,
Harry Cutts, Johnny Chuang, James Chen, Jennifer Tsai,
Paul Liang, Jeff Chuang
On Thu, Dec 16, 2021 at 09:53:23AM +0800, Johnny Chuang wrote:
> The eKTH3900/eKTH5312 series do not support
> the firmware update rules of Remark ID.
> Exclude two series and keep the original rules to check the Remark ID.
>
> Signed-off-by: Johnny Chuang <johnny.chuang.emc@gmail.com>
Applied, with minor edits, thank you.
--
Dmitry
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-12-20 8:31 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-16 1:53 [PATCH] Input: elants_i2c - fix to check the Remark ID of the updated firmware Johnny Chuang
2021-12-20 8:31 ` Dmitry Torokhov
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.