mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-29 23:24:11 +08:00
Input: cyttsp - reduce reset pulse timings
The data sheet for CY8CTMA340 specifies that the reset pulse shall be at least 1 ms. Specify 1-2 ms with usleep_range() to cut some slack for the scheduler. Curiously the datasheet does not specify how long we have to wait after a hard reset until the chip is up, but I have found a vendor tree (Samsung GT-S7710) that has code for this touch screen and there this is set to 5 ms so I use this with the same 1 ms fuzz. Reviewed-by: Javier Martinez Canillas <javier@dowhile0.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/20210408131153.3446138-6-linus.walleij@linaro.org Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
parent
3984113676
commit
c61ac36fd5
@ -229,10 +229,16 @@ static int cyttsp_set_sysinfo_regs(struct cyttsp *ts)
|
|||||||
static void cyttsp_hard_reset(struct cyttsp *ts)
|
static void cyttsp_hard_reset(struct cyttsp *ts)
|
||||||
{
|
{
|
||||||
if (ts->reset_gpio) {
|
if (ts->reset_gpio) {
|
||||||
|
/*
|
||||||
|
* According to the CY8CTMA340 datasheet page 21, the external
|
||||||
|
* reset pulse width should be >= 1 ms. The datasheet does not
|
||||||
|
* specify how long we have to wait after reset but a vendor
|
||||||
|
* tree specifies 5 ms here.
|
||||||
|
*/
|
||||||
gpiod_set_value_cansleep(ts->reset_gpio, 1);
|
gpiod_set_value_cansleep(ts->reset_gpio, 1);
|
||||||
msleep(CY_DELAY_DFLT);
|
usleep_range(1000, 2000);
|
||||||
gpiod_set_value_cansleep(ts->reset_gpio, 0);
|
gpiod_set_value_cansleep(ts->reset_gpio, 0);
|
||||||
msleep(CY_DELAY_DFLT);
|
usleep_range(5000, 6000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user