summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHungNien Chen <hn.chen@weidahitech.com>2016-09-05 10:25:36 -0700
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2016-09-05 10:31:47 -0700
commit4e7482332236d9f0c8f6df2e80fd73ad68363c35 (patch)
tree6b273bd38077486022094f86f7983b1464737f0d
parentde56bea05b09aa1f3498ee12df8f995aaf259dd7 (diff)
downloadlinux-4e7482332236d9f0c8f6df2e80fd73ad68363c35.tar.gz
linux-4e7482332236d9f0c8f6df2e80fd73ad68363c35.tar.bz2
linux-4e7482332236d9f0c8f6df2e80fd73ad68363c35.zip
Input: wdt87xx_i2c - fix the flash erase issue
The spec says that flash erase time is 30ms typical/200ms max, so let's replace current 50ms wait with 200ms to avoid potential failures. Signed-off-by: HungNien Chen <hn.chen@weidahitech.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-rw-r--r--drivers/input/touchscreen/wdt87xx_i2c.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/input/touchscreen/wdt87xx_i2c.c b/drivers/input/touchscreen/wdt87xx_i2c.c
index 73861ad22df4..a9132603ab34 100644
--- a/drivers/input/touchscreen/wdt87xx_i2c.c
+++ b/drivers/input/touchscreen/wdt87xx_i2c.c
@@ -23,7 +23,7 @@
#include <asm/unaligned.h>
#define WDT87XX_NAME "wdt87xx_i2c"
-#define WDT87XX_DRV_VER "0.9.7"
+#define WDT87XX_DRV_VER "0.9.8"
#define WDT87XX_FW_NAME "wdt87xx_fw.bin"
#define WDT87XX_CFG_NAME "wdt87xx_cfg.bin"
@@ -157,6 +157,7 @@
/* Controller requires minimum 300us between commands */
#define WDT_COMMAND_DELAY_MS 2
#define WDT_FLASH_WRITE_DELAY_MS 4
+#define WDT_FLASH_ERASE_DELAY_MS 200
#define WDT_FW_RESET_TIME 2500
struct wdt87xx_sys_param {
@@ -726,7 +727,7 @@ static int wdt87xx_write_firmware(struct i2c_client *client, const void *chunk)
break;
}
- msleep(50);
+ msleep(WDT_FLASH_ERASE_DELAY_MS);
error = wdt87xx_write_data(client, data, start_addr,
page_size);