[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Thu, 7 Jul 2016 09:39:00 -0700
From: "jeffrey.lin" <yajohn@...il.com>
To: dmitry.torokhov@...il.com, rydberg@...omail.se,
groeck@...omium.org, robh@...nel.org
Cc: jeffrey.lin@...-ic.com, ealin.chiu@...-ic.com,
jason.yeh@...-ic.com, KP.li@...-ic.com,
linux-kernel@...r.kernel.org, linux-input@...r.kernel.org
Subject: [PATCH] [v1.1 2/3] fix reset gpio config error
ts->reset_gpio=0 will let raydium IC enter reset mode, and ts->reset_gpio=1 will be normal touch mode.
Signed-off-by: jeffrey.lin <jeffrey.lin@...-ic.com>
---
drivers/input/touchscreen/raydium_i2c_ts.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/drivers/input/touchscreen/raydium_i2c_ts.c b/drivers/input/touchscreen/raydium_i2c_ts.c
index f3076d9..5217339 100644
--- a/drivers/input/touchscreen/raydium_i2c_ts.c
+++ b/drivers/input/touchscreen/raydium_i2c_ts.c
@@ -78,7 +78,7 @@
#define RM_MAX_FW_RETRIES 30
#define RM_MAX_FW_SIZE 0xD000
-#define RM_POWERON_DELAY_USEC 500
+#define RM_POWERON_DELAY_MSEC 20
#define RM_RESET_DELAY_MSEC 50
enum raydium_bl_cmd {
@@ -933,7 +933,7 @@ static int raydium_i2c_power_on(struct raydium_data *ts)
if (!ts->reset_gpio)
return 0;
- gpiod_set_value_cansleep(ts->reset_gpio, 1);
+ gpiod_set_value_cansleep(ts->reset_gpio, 0);
error = regulator_enable(ts->avdd);
if (error) {
@@ -950,10 +950,10 @@ static int raydium_i2c_power_on(struct raydium_data *ts)
goto release_reset_gpio;
}
- udelay(RM_POWERON_DELAY_USEC);
+ msleep(RM_POWERON_DELAY_MSEC);
release_reset_gpio:
- gpiod_set_value_cansleep(ts->reset_gpio, 0);
+ gpiod_set_value_cansleep(ts->reset_gpio, 1);
if (error)
return error;
@@ -968,7 +968,6 @@ static void raydium_i2c_power_off(void *_data)
struct raydium_data *ts = _data;
if (ts->reset_gpio) {
- gpiod_set_value_cansleep(ts->reset_gpio, 1);
regulator_disable(ts->vccio);
regulator_disable(ts->avdd);
}
--
2.1.2
Powered by blists - more mailing lists