mb/google/rex/var/screebo: Use ACPI for touchscreen power sequencing

This commit transitions the touchscreen power sequencing from static
coreboot GPIO configuration to ACPI-driven management using the
devicetree infrastructure for the Screebo variant.

BUG=b:430444353
TEST=Able to build and boot google/screebo. Verified touchscreen is
working as expected with this patch.

Change-Id: Ie3456032c232ac92ed7501c08b1c89b0ac274c8c
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/88638
Reviewed-by: Jakub "Kuba" Czapiga <czapiga@google.com>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Pranava Y N <pranavayn@google.com>
Reviewed-by: Dinesh Gehlot <digehlot@google.com>
Reviewed-by: Jayvik Desai <jayvik@google.com>
This commit is contained in:
Subrata Banik 2025-08-03 18:23:20 +05:30
commit f01cc9258b
2 changed files with 6 additions and 4 deletions

View file

@ -82,7 +82,7 @@ static const struct pad_config gpio_table[] = {
/* GPP_B16 : [] ==> SOC_HDMI_HPD_L */
PAD_CFG_NF(GPP_B16, NONE, DEEP, NF2),
/* GPP_B17 :[] ==> EN_TCHSCR_PWR */
PAD_CFG_GPO(GPP_B17, 0, DEEP),
PAD_CFG_GPO(GPP_B17, 1, DEEP),
/* GPP_B18 : [] ==> SOC_I2C_TPM_SDA */
PAD_CFG_NF_LOCK(GPP_B18, NONE, NF2, LOCK_CONFIG),
/* GPP_B19 : [] ==> SOC_I2C_TPM_SCL */
@ -159,7 +159,7 @@ static const struct pad_config gpio_table[] = {
/* GPP_D06 : [] ==> UART0_TXD. */
PAD_CFG_NF_LOCK(GPP_D06, NONE, NF1, LOCK_CONFIG),
/* GPP_D07 : [] ==> SOC_TCHSCR_RST_L */
PAD_CFG_GPO(GPP_D07, 0, DEEP),
PAD_CFG_GPO(GPP_D07, 1, DEEP),
/* GPP_D08 : net NC. Test pad. */
PAD_NC(GPP_D08, NONE),
/* GPP_D09 : [] ==> I2S_MCLK_R */

View file

@ -445,12 +445,13 @@ chip soc/intel/meteorlake
register "generic.hid" = ""ILTK0001""
register "generic.desc" = ""ILITEK Touchscreen""
register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C07_IRQ)"
register "generic.probed" = "1"
register "generic.detect" = "1"
register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D07)"
register "generic.reset_delay_ms" = "200"
register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B17)"
register "generic.enable_delay_ms" = "12"
register "generic.has_power_resource" = "1"
register "generic.use_gpio_for_status" = "true"
register "hid_desc_reg_offset" = "0x01"
device i2c 41 on
probe TOUCHSCREEN TOUCHSCREEN_ILITEK
@ -460,13 +461,14 @@ chip soc/intel/meteorlake
register "generic.hid" = ""EKTH7B18U""
register "generic.desc" = ""ELAN Touchscreen""
register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C07_IRQ)"
register "generic.probed" = "1"
register "generic.detect" = "1"
register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D07)"
register "generic.reset_delay_ms" = "20"
register "generic.reset_off_delay_ms" = "2"
register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B17)"
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 10 on
probe TOUCHSCREEN TOUCHSCREEN_ELAN