Nick Vaccaro has submitted this change. ( https://review.coreboot.org/c/coreboot/+/83346?usp=email )
Change subject: mb/google/brya/var/xol: Change touchpad I2C interrupt type to GPIO_INT ......................................................................
mb/google/brya/var/xol: Change touchpad I2C interrupt type to GPIO_INT
If user continues to use the touchpad for over 3 minutes on Xol, the pointer movement is stuttering.
Touchpad I2C transaction should appear during the interrupt signal level is low, but we could see some more I2C transaction after the interrupt signal(GPP_F14) went to high.
We found experimentally that changing the interrupt type to GPIO_INT from APIC_IRQ improved this issue. We are still investigating, would like to apply this change first for Xol's dogfooding.
BUG=b:350609957 BRANCH=brya TEST=built and verified there's no stuttering issue on touchpad movement
Change-Id: Ie1b59355a694e5a42367a20e03f6c5f93225e79c Signed-off-by: Seunghwan Kim sh_.kim@samsung.corp-partner.google.com Reviewed-on: https://review.coreboot.org/c/coreboot/+/83346 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Subrata Banik subratabanik@google.com Reviewed-by: YH Lin yueherngl@google.com --- M src/mainboard/google/brya/variants/xol/gpio.c M src/mainboard/google/brya/variants/xol/overridetree.cb 2 files changed, 12 insertions(+), 2 deletions(-)
Approvals: YH Lin: Looks good to me, but someone else must approve build bot (Jenkins): Verified Subrata Banik: Looks good to me, approved
diff --git a/src/mainboard/google/brya/variants/xol/gpio.c b/src/mainboard/google/brya/variants/xol/gpio.c index 39478a1..9e49784 100644 --- a/src/mainboard/google/brya/variants/xol/gpio.c +++ b/src/mainboard/google/brya/variants/xol/gpio.c @@ -119,6 +119,13 @@ PAD_NC(GPP_F12, NONE), /* F13 : GSXDOUT ==> NC */ PAD_NC(GPP_F13, NONE), + /* F14 : GSXDIN ==> TCHPAD_INT_ODL */ + /* + * FIXME: Change back the interrupt type to IRQxAPIC if possible after investigating + * the reason why Xol shows touchpad stuttering issue with IRQxAPIC + * configuration but not GPI_INT. + */ + PAD_CFG_GPI_INT(GPP_F14, NONE, PWROK, LEVEL), /* F15 : GSXSRESET# ==> PU 100K 3.3V */ PAD_CFG_GPI(GPP_F15, NONE, DEEP), /* F16 : GSXCLK ==> NC */ diff --git a/src/mainboard/google/brya/variants/xol/overridetree.cb b/src/mainboard/google/brya/variants/xol/overridetree.cb index d73702c..5de8c73 100644 --- a/src/mainboard/google/brya/variants/xol/overridetree.cb +++ b/src/mainboard/google/brya/variants/xol/overridetree.cb @@ -343,8 +343,11 @@ chip drivers/i2c/hid register "generic.hid" = ""ZNT0000"" register "generic.desc" = ""Zinitix Touchpad"" - register "generic.irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)" - register "generic.wake" = "GPE0_DW2_14" + # FIXME: Change back the interrupt type to IRQxAPIC if possible + # after investigating the reason why Xol shows touchpad + # stuttering issue with IRQxAPIC configuration but not + # GPI_INT. + register "generic.irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW_WAKE(GPP_F14)" register "generic.detect" = "1" register "hid_desc_reg_offset" = "0xE" device i2c 40 on end