mb/google/ocelot/var/ocicat: Add wake support for touchscreen
This commit introduces support for touch functionalities on the ocicat board. Changes include: - Support for touchscreen devices in THC-I2C - Wake support from S0ix state for touchscreen - PMC GPE DW0 is reconfigured to GPP_F for Touchscreen in variant.c for wake support BUG=b:444942125 TEST= Build Ocicat and Test wake from S0ix state via touchscreen inputs. Change-Id: Icf6fb0e170a64a5aec05590450a3bd40ab95cbf3 Signed-off-by: Pierce Chou <chou.pierce@inventec.corp-partner.google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/90750 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Pranava Y N <pranavayn@google.com> Reviewed-by: Avi Uday <aviuday@google.com>
This commit is contained in:
parent
63ec633ccd
commit
edae16f6f2
2 changed files with 26 additions and 1 deletions
|
|
@ -246,6 +246,7 @@ chip soc/intel/pantherlake
|
|||
|
||||
device ref thc0 on
|
||||
register "thc_wake_on_touch[0]" = "true"
|
||||
register "thc_mode[0]" = "THC_HID_I2C_MODE"
|
||||
# THC0 is function 0; hence it needs to be enabled when THC1 is to be enabled.
|
||||
chip drivers/intel/touch
|
||||
register "name" = "INTEL_THC0_NAME"
|
||||
|
|
@ -265,6 +266,7 @@ chip soc/intel/pantherlake
|
|||
end
|
||||
device ref thc1 on
|
||||
register "thc_wake_on_touch[1]" = "true"
|
||||
register "thc_mode[1]" = "THC_HID_I2C_MODE"
|
||||
chip drivers/intel/touch
|
||||
register "name" = "INTEL_THC1_NAME"
|
||||
register "mode" = "THC_HID_I2C_MODE"
|
||||
|
|
@ -273,7 +275,7 @@ chip soc/intel/pantherlake
|
|||
register "wake_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW_WAKE(GPP_VGPIO3_THC1)"
|
||||
register "active_ltr" = "1"
|
||||
register "idle_ltr" = "0"
|
||||
register "connected_device" = "TH_SENSOR_HYNITRON"
|
||||
register "connected_device" = "TH_SENSOR_ELAN"
|
||||
register "add_acpi_dma_property" = "true"
|
||||
device generic 0 alias touch_1_i2c_hynitron on end
|
||||
end
|
||||
|
|
@ -434,6 +436,8 @@ chip soc/intel/pantherlake
|
|||
register "generic.hid" = ""ELAN2513""
|
||||
register "generic.desc" = ""ELAN Touchscreen""
|
||||
register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_F18_IRQ)"
|
||||
# NOTE: pmc_gpe0_dw0 will be overridden to GPP_F in variant.c.
|
||||
register "generic.wake" = "GPE0_DW0_18"
|
||||
register "generic.detect" = "1"
|
||||
register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_F16)"
|
||||
register "generic.reset_delay_ms" = "20"
|
||||
|
|
@ -454,6 +458,8 @@ chip soc/intel/pantherlake
|
|||
register "generic.hid" = ""ELAN2513""
|
||||
register "generic.desc" = ""ELAN Touchscreen""
|
||||
register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_F18_IRQ)"
|
||||
# NOTE: pmc_gpe0_dw0 will be overridden to GPP_F in variant.c.
|
||||
register "generic.wake" = "GPE0_DW0_18"
|
||||
register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_F16)"
|
||||
register "generic.reset_delay_ms" = "20"
|
||||
register "generic.reset_off_delay_ms" = "2"
|
||||
|
|
|
|||
|
|
@ -15,6 +15,25 @@ const char *get_wifi_sar_cbfs_filename(void)
|
|||
return get_wifi_sar_fw_config_filename(FW_CONFIG_FIELD(WIFI_INTERFACE));
|
||||
}
|
||||
|
||||
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 |
|
||||
* +===================+==================+=================+========================+
|
||||
* | THC-SPI/THC-I2C | LPSS-I2C | GPP_F18 | TP |
|
||||
* +===================+==================+=================+========================+
|
||||
*/
|
||||
|
||||
config->thc_mode[0] = THC_HID_I2C_MODE;
|
||||
config->thc_mode[1] = THC_HID_I2C_MODE;
|
||||
|
||||
/* touchscreen: GPP_F18: GPE0_DW0_18 */
|
||||
config->pmc_gpe0_dw0 = GPP_F;
|
||||
}
|
||||
|
||||
void variant_update_soc_memory_init_params(FSPM_UPD *memupd)
|
||||
{
|
||||
FSP_M_CONFIG *m_cfg = &memupd->FspmConfig;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue