The original value is 200ms, it includes the loading fw & boot up to
 the main function. After that, the main function will do algorithm
 initialized and touch calibrtion about 1.1 second. The touch
 calibration will change controller freq to scan the best working freq 
 and it has risk to make the i2c data error when doing fw update. 
 We extend the sleep to 2500ms after the sw reset to skip this period time.

Signed-off-by: HungNien Chen <hn.c...@weidahitech.com>
---
 drivers/input/touchscreen/wdt87xx_i2c.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/input/touchscreen/wdt87xx_i2c.c 
b/drivers/input/touchscreen/wdt87xx_i2c.c
index b97cb4f..cfd1487 100644
--- a/drivers/input/touchscreen/wdt87xx_i2c.c
+++ b/drivers/input/touchscreen/wdt87xx_i2c.c
@@ -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_FW_RESET_TIME               2500
 
 struct wdt87xx_sys_param {
        u16     fw_id;
@@ -413,7 +414,7 @@ static int wdt87xx_sw_reset(struct i2c_client *client)
        }
 
        /* Wait the device to be ready */
-       msleep(200);
+       msleep(WDT_FW_RESET_TIME);
 
        return 0;
 }
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to