Message ID | 20250410184633.1164837-1-hugo@hugovil.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [v2] Input: cyttsp5 - ensure minimum reset pulse width | expand |
On Thu, Apr 10, 2025 at 02:46:32PM -0400, Hugo Villeneuve wrote: > From: Hugo Villeneuve <hvilleneuve@dimonoff.com> > > The current reset pulse width is measured to be 5us on a > Renesas RZ/G2L SOM. The manufacturer's minimum reset pulse width is > specified as 10us. > > Extend reset pulse width to make sure it is long enough on all platforms. > > Also reword confusing comments about reset pin assertion. > > Fixes: 5b0c03e24a06 ("Input: Add driver for Cypress Generation 5 touchscreen") > Cc: <stable@vger.kernel.org> > Acked-by: Alistair Francis <alistair@alistair23.me> > Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com> Applied, thank you.
diff --git a/drivers/input/touchscreen/cyttsp5.c b/drivers/input/touchscreen/cyttsp5.c index eafe5a9b89648..14c43f0a6c217 100644 --- a/drivers/input/touchscreen/cyttsp5.c +++ b/drivers/input/touchscreen/cyttsp5.c @@ -870,13 +870,16 @@ static int cyttsp5_probe(struct device *dev, struct regmap *regmap, int irq, ts->input->phys = ts->phys; input_set_drvdata(ts->input, ts); - /* Reset the gpio to be in a reset state */ + /* Assert gpio to be in a reset state */ ts->reset_gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH); if (IS_ERR(ts->reset_gpio)) { error = PTR_ERR(ts->reset_gpio); dev_err(dev, "Failed to request reset gpio, error %d\n", error); return error; } + + fsleep(10); /* Ensure long-enough reset pulse (minimum 10us). */ + gpiod_set_value_cansleep(ts->reset_gpio, 0); /* Need a delay to have device up */