From cbff60799f3d0966b226f9681ad8406512346ea7 Mon Sep 17 00:00:00 2001 From: Ondrej Jirman Date: Fri, 31 Jan 2025 02:06:00 +0100 Subject: [PATCH] input: goodix: Fix address initialization Pinetab2 has a different address than 0x14 configured by holding IRQ line high. Signed-off-by: Ondrej Jirman --- drivers/input/goodix.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/input/goodix.c b/drivers/input/goodix.c index ef450fa3c72..3ed11bd93d2 100644 --- a/drivers/input/goodix.c +++ b/drivers/input/goodix.c @@ -365,6 +365,7 @@ static int goodix_stop(struct udevice *dev) static int goodix_probe(struct udevice *dev) { struct touchpanel_priv *uc_priv = dev_get_uclass_priv(dev); + struct dm_i2c_chip *chip = dev_get_parent_plat(dev); struct goodix_priv *ts = dev_get_priv(dev); int ret; @@ -416,8 +417,8 @@ static int goodix_probe(struct udevice *dev) udelay(30 * 1000); if (dm_gpio_is_valid(&ts->reset_gpio)) { - // select address 0x14 - ret = dm_gpio_set_value(&ts->irq_gpio, 1); + // select address + ret = dm_gpio_set_value(&ts->irq_gpio, chip->chip_addr == 0x14 ? 1 : 0); if (ret) return ret;