From f74027d5aef2b99f12a1ef05642030976d5594fe Mon Sep 17 00:00:00 2001 From: David Wu Date: Wed, 9 Jul 2025 17:26:52 +0800 Subject: [PATCH] mb/google/nissa/var/craask: Add elan touchscreen support This change adds the necessary configuration for the elan touchscreen (ELAN9004) device, connected to I2C bus 16. It includes settings for: * HID descriptor * Device description * IRQ configuration * Detection * Reset, stop and enable GPIOs with their respective delays * Power resource handling * HID descriptor register offset BUG=b:430467732 TEST=emerge-nissa coreboot and elan touchscreen can work well. Change-Id: I08a32eae272d5ef93f1c89bcb96b9ba50c037624 Signed-off-by: David Wu Reviewed-on: https://review.coreboot.org/c/coreboot/+/88370 Tested-by: build bot (Jenkins) Reviewed-by: Eric Lai --- .../brya/variants/craask/overridetree.cb | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/mainboard/google/brya/variants/craask/overridetree.cb b/src/mainboard/google/brya/variants/craask/overridetree.cb index f95d0ae2c2..677abedb47 100644 --- a/src/mainboard/google/brya/variants/craask/overridetree.cb +++ b/src/mainboard/google/brya/variants/craask/overridetree.cb @@ -395,6 +395,26 @@ chip soc/intel/alderlake probe TS_SOURCE TS_UNPROVISIONED end end + chip drivers/i2c/hid + register "generic.hid" = ""ELAN9004"" + register "generic.desc" = ""ELAN Touchscreen"" + register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)" + register "generic.detect" = "1" + register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)" + register "generic.reset_delay_ms" = "20" + register "generic.reset_off_delay_ms" = "2" + register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)" + register "generic.stop_delay_ms" = "280" + register "generic.stop_off_delay_ms" = "2" + register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)" + register "generic.enable_delay_ms" = "1" + register "generic.has_power_resource" = "1" + register "generic.use_gpio_for_status" = "true" + register "hid_desc_reg_offset" = "0x01" + device i2c 16 on + probe TS_SOURCE TS_UNPROVISIONED + end + end chip drivers/i2c/hid register "generic.hid" = ""ILTK0001"" register "generic.desc" = ""ILITEK Touchscreen""