From debfac6352081e50d6aed3647f87f79364a9060a Mon Sep 17 00:00:00 2001 From: Sowmya Aralguppe Date: Tue, 22 Jul 2025 18:19:06 +0530 Subject: [PATCH] mb/google/ocelot/var/ocelot: Add wake support for touchpad This patch supports wake on touch for touchpad when LPSS I2C interface is used by overriding GPE DW0 with group GPP_F. Schematic version: schematic_1433518 Platform Mapping Document : Rev0p86 BUG=b:394208231 TEST= Build Ocelot and verify it compiles without any error. Change-Id: Id2cc248aacebc0e85d06ad5c63c0605dd72cd05c Signed-off-by: Sowmya Aralguppe Reviewed-on: https://review.coreboot.org/c/coreboot/+/88534 Tested-by: build bot (Jenkins) Reviewed-by: Pranava Y N Reviewed-by: Avi Uday --- .../google/ocelot/variants/ocelot/variant.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/mainboard/google/ocelot/variants/ocelot/variant.c b/src/mainboard/google/ocelot/variants/ocelot/variant.c index c2d2bdded5..cb3908277e 100644 --- a/src/mainboard/google/ocelot/variants/ocelot/variant.c +++ b/src/mainboard/google/ocelot/variants/ocelot/variant.c @@ -23,12 +23,14 @@ void variant_update_soc_chip_config(struct soc_intel_pantherlake_config *config) } /* Touchscreen and Touchpad WOT support: - * +===================+==================+=================+============================+ - * | Touchscreen | Touchpad | PMC_GPE0_DW0 | WOT | - * +===================+==================+==============================================+ - * | THC-SPI/THC-I2C | THC-I2C | VGPIO | TS, TP | - * +===================+==================+=================+============================+ - */ + * +===================+==================+=================+========================+ + * | Touchscreen | Touchpad | PMC_GPE0_DW0 | WOT | + * +===================+==================+=================+========================+ + * | THC-SPI/THC-I2C | THC-I2C | VGPIO | TS, TP | + * +===================+==================+=================+========================+ + * | THC-SPI/THC-I2C | LPSS-I2C | GPP_F18 | TP | + * +===================+==================+=================+========================+ + */ if (fw_config_probe(FW_CONFIG(TOUCHSCREEN, TOUCHSCREEN_THC_I2C))) { config->thc_mode[0] = THC_HID_I2C_MODE; @@ -36,7 +38,10 @@ void variant_update_soc_chip_config(struct soc_intel_pantherlake_config *config) config->thc_mode[0] = THC_HID_SPI_MODE; } - if (fw_config_probe(FW_CONFIG(TOUCHPAD, TOUCHPAD_THC_I2C))) { + if (fw_config_probe(FW_CONFIG(TOUCHPAD, TOUCHPAD_LPSS_I2C))) { + /* touchpad: GPP_F18: GPE0_DW0_18 */ + config->pmc_gpe0_dw0 = GPP_F; + } else if (fw_config_probe(FW_CONFIG(TOUCHPAD, TOUCHPAD_THC_I2C))) { config->thc_mode[1] = THC_HID_I2C_MODE; if (fw_config_probe(FW_CONFIG(TOUCHSCREEN, TOUCHSCREEN_NONE))) /* When THC0 is only enabled due to THC1 is enabled, we force THC0