From d7d74f106d7460709ca6ac069a33cf03790db293 Mon Sep 17 00:00:00 2001 From: Matt DeVillier Date: Thu, 27 Apr 2023 09:55:51 -0500 Subject: mb/google/brya: Implement touchscreen power sequencing For brya variants with a touchscreen, drive the enable GPIO high starting in romstage while holding in reset, then disable the reset GPIO in ramstage (done in the baseboard). This will allow coreboot to detect the presence of i2c touchscreens during ACPI SSDT generation (implemented in a subsequent commit). BUG=b:121309055 TEST=tested with rest of patch train Change-Id: I8e56ac4834ce69de18bef2d34f5c361a7fda1aab Signed-off-by: Matt DeVillier Reviewed-on: https://review.coreboot.org/c/coreboot/+/74928 Tested-by: build bot (Jenkins) Reviewed-by: Martin L Roth Reviewed-by: Eric Lai --- src/mainboard/google/brya/variants/omnigul/gpio.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/mainboard/google/brya/variants/omnigul/gpio.c') diff --git a/src/mainboard/google/brya/variants/omnigul/gpio.c b/src/mainboard/google/brya/variants/omnigul/gpio.c index 704ef8fae7..d3f907d21d 100644 --- a/src/mainboard/google/brya/variants/omnigul/gpio.c +++ b/src/mainboard/google/brya/variants/omnigul/gpio.c @@ -316,6 +316,12 @@ static const struct pad_config romstage_gpio_table[] = { * B4 is programmed here so that it is sequenced after EN_PP3300_SSD. */ PAD_CFG_GPO(GPP_B4, 1, DEEP), + + /* Enable touchscreen, hold in reset */ + /* C0 : SMBCLK ==> EN_PP3300_TCHSCR */ + PAD_CFG_GPO(GPP_C0, 1, DEEP), + /* C1 : SMBDATA ==> USI_RST_L */ + PAD_CFG_GPO(GPP_C1, 0, DEEP), }; const struct pad_config *variant_gpio_override_table(size_t *num) -- cgit v1.2.3