From 784d8f25f90cce36a737c0d249ea1277e23d9911 Mon Sep 17 00:00:00 2001 From: Luca Lai Date: Mon, 27 Oct 2025 10:32:40 +0800 Subject: [PATCH] mb/google/fatcat/var/ruby: Enable panel touch function Modify gpio and device tree setting to to make the touchscreen function work. schematics: RUBY_EVT_0902_2112.pdf Device i2c log: [INFO ] \_SB.PCI0.CNVW: WIFI Device GENERIC: 0.0 [INFO ] \_SB.PCI0.I2C0.RT58: Headset Codec at I2C: 00:1a [INFO ] \_SB.PCI0.I2C0.D04B: TI SPK AMP L at I2C: 00:4b [INFO ] \_SB.PCI0.I2C0.D04C: TI SPK AMP R at I2C: 00:4c [INFO ] \_SB.PCI0.I2C0.D04D: TI SPK AMP TL at I2C: 00:4d [INFO ] \_SB.PCI0.I2C0.D04F: T1 SPK AMP TR at I2C: 00:4f [INFO ] \_SB.PCI0.I2C3.TPMI: I2C TPM at I2C: 00:50 [INFO ] \_SB.PCI0.I2C4.H015: ELAN Touchpad at I2C: 00:15 [INFO ] \_SB.PCI0.I2C5.H014: Goodix Touchscreen at I2C: 00:14 [INFO ] \_SB.PCI0.RP01: Enable RTD3 for PCI: 00:00:1c.0 (Intel PCIe Runtime D3) BUG=b:451935490 TEST=Build and boot to OS and check touch function work. Change-Id: I867e10d34e4bed5a5db242a74e8c9ac04657feb9 Signed-off-by: Luca Lai Reviewed-on: https://review.coreboot.org/c/coreboot/+/89757 Tested-by: build bot (Jenkins) Reviewed-by: Subrata Banik Reviewed-by: Kapil Porwal --- src/mainboard/google/fatcat/variants/ruby/gpio.c | 4 ++-- src/mainboard/google/fatcat/variants/ruby/overridetree.cb | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/mainboard/google/fatcat/variants/ruby/gpio.c b/src/mainboard/google/fatcat/variants/ruby/gpio.c index ebaad6f95f..9eb0fbe80e 100644 --- a/src/mainboard/google/fatcat/variants/ruby/gpio.c +++ b/src/mainboard/google/fatcat/variants/ruby/gpio.c @@ -197,7 +197,7 @@ static const struct pad_config gpio_table[] = { /* GPP_E03: NC */ PAD_NC(GPP_E03, NONE), /* GPP_E05: TCHSCR_RPT_EN */ - PAD_CFG_GPO(GPP_E05, 1, DEEP), + PAD_CFG_GPO(GPP_E05, 0, PLTRST), /* GPP_E06: SECURE_CAM_SW */ PAD_CFG_GPI_TRIG_OWN(GPP_E06, NONE, PLTRST, LEVEL, ACPI), /* GPP_E07 : [] ==> EC_SOC_INT_ODL */ @@ -254,7 +254,7 @@ static const struct pad_config gpio_table[] = { /* GPP_F07: NC */ PAD_NC(GPP_F07, NONE), /* GPP_F08: EN_TCHSCR_PWR */ - PAD_CFG_GPO(GPP_F08, 1, DEEP), + PAD_CFG_GPO(GPP_F08, 1, PLTRST), /* GPP_F09: NC */ PAD_NC(GPP_F09, NONE), /* GPP_F10: ISH_GP_6_SNSR_HDR */ diff --git a/src/mainboard/google/fatcat/variants/ruby/overridetree.cb b/src/mainboard/google/fatcat/variants/ruby/overridetree.cb index fe8c7eaadc..e9efe66691 100644 --- a/src/mainboard/google/fatcat/variants/ruby/overridetree.cb +++ b/src/mainboard/google/fatcat/variants/ruby/overridetree.cb @@ -278,8 +278,8 @@ chip soc/intel/pantherlake end # I2C4 device ref i2c5 on chip drivers/i2c/hid - register "generic.hid" = ""ELAN9004"" - register "generic.desc" = ""ELAN Touchscreen"" + register "generic.hid" = ""GT7936L"" + register "generic.desc" = ""Goodix Touchscreen"" register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_F18_IRQ)" register "generic.detect" = "1" register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_F16)" @@ -289,11 +289,11 @@ chip soc/intel/pantherlake register "generic.enable_delay_ms" = "6" register "generic.enable_off_delay_ms" = "30" register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E05)" - register "generic.stop_off_delay_ms" = "1" + register "generic.stop_delay_ms" = "1" register "generic.has_power_resource" = "1" register "generic.use_gpio_for_status" = "true" register "hid_desc_reg_offset" = "0x01" - device i2c 0x10 on end + device i2c 0x14 on end end end # I2C5 device ref gspi0 on end