From 517185eca24b166be251236e31d71fe33ddd64c0 Mon Sep 17 00:00:00 2001 From: Kapil Porwal Date: Wed, 3 Sep 2025 11:06:44 +0530 Subject: [PATCH] mb/google/bluey: Configure touchpad power GPIO BUG=b:441716957 TEST=build quartz board Change-Id: Icf9fea2c10a60b6aa798822f6d36f04f43608e9c Signed-off-by: Kapil Porwal Reviewed-on: https://review.coreboot.org/c/coreboot/+/89019 Reviewed-by: Subrata Banik Tested-by: build bot (Jenkins) --- src/mainboard/google/bluey/Kconfig | 8 ++++++++ src/mainboard/google/bluey/board.h | 3 +++ src/mainboard/google/bluey/mainboard.c | 4 ++++ 3 files changed, 15 insertions(+) diff --git a/src/mainboard/google/bluey/Kconfig b/src/mainboard/google/bluey/Kconfig index 856589873a..b3e8cc0637 100644 --- a/src/mainboard/google/bluey/Kconfig +++ b/src/mainboard/google/bluey/Kconfig @@ -143,6 +143,14 @@ config EC_GOOGLE_CHROMEEC_SPI_BUS default 0xd if BOARD_GOOGLE_MODEL_QUARTZ default 0xb +config MAINBOARD_GPIO_PIN_FOR_TOUCHPAD_POWER + int + default 36 if BOARD_GOOGLE_MODEL_QUARTZ + default 0 + help + This option specifies the GPIO pin number on the mainboard that is + used for enabling power to the touchpad. Set it to 0 if unused. + config MAINBOARD_GPIO_PIN_FOR_GSC_AP_INTERRUPT depends on TPM_GOOGLE_TI50 int diff --git a/src/mainboard/google/bluey/board.h b/src/mainboard/google/bluey/board.h index 31b6212256..4a84e6333d 100644 --- a/src/mainboard/google/bluey/board.h +++ b/src/mainboard/google/bluey/board.h @@ -10,6 +10,9 @@ #define GSC_AP_INT(x) GPIO(x) #define GPIO_GSC_AP_INT GSC_AP_INT(CONFIG_MAINBOARD_GPIO_PIN_FOR_GSC_AP_INTERRUPT) +#define TP_POWER_GPIO(x) GPIO(x) +#define GPIO_TP_POWER_EN TP_POWER_GPIO(CONFIG_MAINBOARD_GPIO_PIN_FOR_TOUCHPAD_POWER) + /* Fingerprint-specific GPIOs. Only for fingerprint-enabled devices. */ #if CONFIG(MAINBOARD_HAS_FINGERPRINT) #define GPIO_FP_RST_L GPIO(25) diff --git a/src/mainboard/google/bluey/mainboard.c b/src/mainboard/google/bluey/mainboard.c index 9950f88545..1ff845c541 100644 --- a/src/mainboard/google/bluey/mainboard.c +++ b/src/mainboard/google/bluey/mainboard.c @@ -43,6 +43,10 @@ static void mainboard_init(struct device *dev) if (CONFIG(MAINBOARD_HAS_FINGERPRINT_VIA_SPI)) qupv3_se_fw_load_and_init(QUPV3_2_SE2, SE_PROTOCOL_SPI, MIXED); /* Fingerprint SPI */ + /* Enable touchpad power */ + if (CONFIG_MAINBOARD_GPIO_PIN_FOR_TOUCHPAD_POWER) + gpio_output(GPIO_TP_POWER_EN, 1); + /* * Deassert FPMCU reset. Power applied in romstage * has now stabilized.