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;