From 328b77a5e9df9bbca38dd41ef2d385868d0bbf50 Mon Sep 17 00:00:00 2001 From: Shelley Chen Date: Wed, 26 Jun 2019 14:56:18 -0700 Subject: mb/google/hatch: Set trackpad irq and wake to GPP_A21 Previously, We had to use GPP_A21 for trackpad wake and GPP_D21 for trackpad interrupts due to ITSS not honoring the INVERT config. Now that's fixed, we can configure trackpad wake and interrupts on GPP_A21 only. BUG=b:130436471 BRANCH=None TEST=1. boot a hatch device and make sure we can move the cursor with the trackpad 2. Run powerd_dbus_suspend and wake by clicking on the trackpad and ensure through "mosys eventlog list" that the wake source is the trackpad.\ 3. Run "echo mem > /sys/power/state", wait until device goes into S3, click trackpad to ensure device wakes. Change-Id: I26a99206c42ba442f91ae577b98366fc2fd6c0ca Signed-off-by: Shelley Chen Reviewed-on: https://review.coreboot.org/c/coreboot/+/33820 Tested-by: build bot (Jenkins) Reviewed-by: Tim Wawrzynczak Reviewed-by: Paul Fagerburg --- src/mainboard/google/hatch/variants/baseboard/gpio.c | 16 ++++------------ .../google/hatch/variants/hatch/overridetree.cb | 2 +- 2 files changed, 5 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/mainboard/google/hatch/variants/baseboard/gpio.c b/src/mainboard/google/hatch/variants/baseboard/gpio.c index a4fb4c9711..56ae601df0 100644 --- a/src/mainboard/google/hatch/variants/baseboard/gpio.c +++ b/src/mainboard/google/hatch/variants/baseboard/gpio.c @@ -54,12 +54,8 @@ static const struct pad_config gpio_table[] = { PAD_CFG_GPO(GPP_A19, 1, DEEP), /* A20 : WLAN_INT_L */ PAD_CFG_GPI_APIC(GPP_A20, NONE, PLTRST, LEVEL, INVERT), - /* - * A21 : TRACKPAD_INT_ODL (wake) - * TODO Combine into single gpio, when ITSS IPCx configuration - * is fixed in FSP. - */ - PAD_CFG_GPI_SCI(GPP_A21, NONE, DEEP, EDGE_SINGLE, INVERT), + /* A21 : TRACKPAD_INT_ODL */ + PAD_CFG_GPI_IRQ_WAKE(GPP_A21, NONE, DEEP, LEVEL, INVERT), /* A22 : FPMCU_PCH_BOOT0 */ PAD_CFG_GPO(GPP_A22, 0, DEEP), /* A23 : FPMCU_PCH_INT_ODL */ @@ -209,12 +205,8 @@ static const struct pad_config gpio_table[] = { PAD_CFG_NF(GPP_D19, NONE, DEEP, NF1), /* D20 : DMIC_DATA_0_SNDW4_DATA */ PAD_CFG_NF(GPP_D20, NONE, DEEP, NF1), - /* - * D21 : TRACKPAD_INT_ODL - * TODO Combine into single gpio with invert mode, when ITSS - * IPCx configuration is fixed in FSP. - */ - PAD_CFG_GPI_APIC(GPP_D21, NONE, PLTRST, LEVEL, NONE), + /* D21 : GPP_D21 ==> NC */ + PAD_NC(GPP_D21, NONE), /* D22 : GPP_D22 ==> NC */ PAD_NC(GPP_D22, NONE), /* D23 : SPP_MCLK */ diff --git a/src/mainboard/google/hatch/variants/hatch/overridetree.cb b/src/mainboard/google/hatch/variants/hatch/overridetree.cb index d676843720..2582940a1a 100644 --- a/src/mainboard/google/hatch/variants/hatch/overridetree.cb +++ b/src/mainboard/google/hatch/variants/hatch/overridetree.cb @@ -63,7 +63,7 @@ chip soc/intel/cannonlake chip drivers/i2c/generic register "hid" = ""ELAN0000"" register "desc" = ""ELAN Touchpad"" - register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_D21_IRQ)" + register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_A21_IRQ)" register "wake" = "GPE0_DW0_21" device i2c 15 on end end -- cgit v1.2.3