diff --git a/src/mainboard/google/ocelot/variants/ocicat/gpio.c b/src/mainboard/google/ocelot/variants/ocicat/gpio.c index 3e21608c6d..3a9a7b4ed2 100644 --- a/src/mainboard/google/ocelot/variants/ocicat/gpio.c +++ b/src/mainboard/google/ocelot/variants/ocicat/gpio.c @@ -254,11 +254,11 @@ static const struct pad_config gpio_table[] = { /* GPP_F15: NC */ PAD_NC(GPP_F15, NONE), /* GPP_F16: TCHSCR_RST_ODL */ - PAD_CFG_NF(GPP_F16, NONE, DEEP, NF3), + PAD_CFG_GPO(GPP_F16, 1, DEEP), /* GPP_F17: NC */ PAD_NC(GPP_F17, NONE), /* GPP_F18: TCHSCR_INT_ODL */ - PAD_CFG_NF(GPP_F18, NONE, DEEP, NF3), + PAD_CFG_GPI_APIC(GPP_F18, NONE, PLTRST, LEVEL, INVERT), /* GPP_F19: NC */ PAD_NC(GPP_F19, NONE), /* GPP_F20: CSE_EARLY_SW */ diff --git a/src/mainboard/google/ocelot/variants/ocicat/overridetree.cb b/src/mainboard/google/ocelot/variants/ocicat/overridetree.cb index be41823ce6..ba43e1589e 100644 --- a/src/mainboard/google/ocelot/variants/ocicat/overridetree.cb +++ b/src/mainboard/google/ocelot/variants/ocicat/overridetree.cb @@ -9,6 +9,11 @@ fw_config option STORAGE_TYPE_NVME_GEN4 1 option STORAGE_UFS 2 end + field TOUCHSCREEN 17 18 + option TOUCHSCREEN_UNKNOWN 0 + option TOUCH_ELAN_TOP 1 + option TOUCH_ELAN_DBTS 2 + end end chip soc/intel/pantherlake @@ -416,22 +421,42 @@ chip soc/intel/pantherlake end # I2C4 device ref i2c5 on chip drivers/i2c/hid - register "generic.hid" = ""ELAN9004"" + register "generic.hid" = ""ELAN2513"" register "generic.desc" = ""ELAN 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)" - register "generic.reset_delay_ms" = "150" + register "generic.reset_delay_ms" = "20" register "generic.reset_off_delay_ms" = "2" - register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_F08)" - register "generic.enable_delay_ms" = "6" - register "generic.enable_off_delay_ms" = "1" register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D19)" + register "generic.stop_delay_ms" = "280" register "generic.stop_off_delay_ms" = "2" + register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_F08)" + 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 0x10 on end + device i2c 10 on + probe TOUCHSCREEN TOUCH_ELAN_TOP + end + end + + chip drivers/i2c/hid + register "generic.hid" = ""ELAN2513"" + register "generic.desc" = ""ELAN Touchscreen"" + register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_F18_IRQ)" + register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_F16)" + register "generic.reset_delay_ms" = "20" + register "generic.reset_off_delay_ms" = "2" + register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D19)" + register "generic.stop_delay_ms" = "280" + register "generic.stop_off_delay_ms" = "2" + register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_F08)" + register "generic.enable_delay_ms" = "1" + register "generic.has_power_resource" = "1" + register "hid_desc_reg_offset" = "0x01" + device i2c 15 on + probe TOUCHSCREEN TOUCH_ELAN_DBTS + end end end # I2C5