From b5a7bad724331195a397bb150804dbd2aa39ff2c Mon Sep 17 00:00:00 2001 From: Frank Chu Date: Fri, 8 Mar 2024 17:58:39 +0800 Subject: [PATCH] mb/google/nissa/var/glassway: Adjust touchscreen power sequencing Adjust touchscreen power sequencing for eKTH5015M. The INX touch panel (eKTH5015M) contains a pull-up register which causes TCHSCR_REPORT_EN pull-up abnormally from Z1 power on.Because the t25 must be at least greater than 20ms, TCHSCR_REPORT_EN is initialized to GPO_L in the early stage (romstage) to meet the spec. BUG=b:328170008 BRANCH=firmware-nissa-15217.B TEST=Build and check I2C devices timing meet spec. [INFO ] input: Elan Touchscreen as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-10/i2c-ELAN0001:00/input/in4 Change-Id: I50f9c21ddee2bc9c1d313f63049cb587b4ae047a Signed-off-by: Frank Chu Reviewed-on: https://review.coreboot.org/c/coreboot/+/81135 Reviewed-by: Matt DeVillier Reviewed-by: Eric Lai Tested-by: build bot (Jenkins) --- src/mainboard/google/brya/variants/glassway/gpio.c | 2 ++ .../google/brya/variants/glassway/overridetree.cb | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/mainboard/google/brya/variants/glassway/gpio.c b/src/mainboard/google/brya/variants/glassway/gpio.c index d3510a17c5..79697d533b 100644 --- a/src/mainboard/google/brya/variants/glassway/gpio.c +++ b/src/mainboard/google/brya/variants/glassway/gpio.c @@ -100,6 +100,8 @@ static const struct pad_config romstage_gpio_table[] = { PAD_CFG_GPO(GPP_C0, 1, DEEP), /* C1 : SMBDATA ==> USI_RST_L */ PAD_CFG_GPO(GPP_C1, 0, DEEP), + /* C6 : SML1CLK ==> TCHSCR_REPORT_EN */ + PAD_CFG_GPO(GPP_C6, 0, DEEP), /* H12 : UART0_RTS# ==> SD_PERST_L */ PAD_CFG_GPO(GPP_H12, 1, DEEP), }; diff --git a/src/mainboard/google/brya/variants/glassway/overridetree.cb b/src/mainboard/google/brya/variants/glassway/overridetree.cb index 15b7d7ec4d..8c779d75f2 100644 --- a/src/mainboard/google/brya/variants/glassway/overridetree.cb +++ b/src/mainboard/google/brya/variants/glassway/overridetree.cb @@ -323,13 +323,13 @@ chip soc/intel/alderlake register "desc" = ""ELAN Touchscreen"" register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)" register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)" - register "reset_delay_ms" = "25" + register "reset_delay_ms" = "20" register "reset_off_delay_ms" = "4" register "stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)" - register "stop_delay_ms" = "25" - register "stop_off_delay_ms" = "2" + register "stop_delay_ms" = "5" + register "stop_off_delay_ms" = "25" register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)" - register "enable_delay_ms" = "7" + register "enable_delay_ms" = "25" register "has_power_resource" = "1" device i2c 10 on probe TOUCHSCREEN_SOURCE TOUCHSCREEN_UNPROVISIONED