From b757a67ae1bc7e80fa6b16d77fafa9467be33a51 Mon Sep 17 00:00:00 2001 From: Ian Feng Date: Fri, 28 Apr 2023 13:32:16 +0800 Subject: [PATCH] mb/google/nissa/var/uldren: Fix Touch screen power sequence Based on touchscreen product spec. For uldren 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). BUG=b:279989974 TEST=Build and boot to OS in uldren. Touch screen is workable. Change-Id: Ib1b1ce80aa1dd8c312e3663fc50c9e9f53cc07fe Signed-off-by: Ian Feng Reviewed-on: https://review.coreboot.org/c/coreboot/+/74835 Reviewed-by: Subrata Banik Tested-by: build bot (Jenkins) Reviewed-by: Dtrain Hsu Reviewed-by: Matt DeVillier --- src/mainboard/google/brya/variants/uldren/gpio.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/mainboard/google/brya/variants/uldren/gpio.c b/src/mainboard/google/brya/variants/uldren/gpio.c index 9c427f64e7..e1e5e8cd4d 100644 --- a/src/mainboard/google/brya/variants/uldren/gpio.c +++ b/src/mainboard/google/brya/variants/uldren/gpio.c @@ -17,6 +17,8 @@ static const struct pad_config override_gpio_table[] = { PAD_NC(GPP_B6, NONE), /* B15 : HP_RST_ODL */ PAD_CFG_GPO(GPP_B15, 1, DEEP), + /* C1 : SMBDA==> TCHSCR_RST_L */ + PAD_CFG_GPO(GPP_C1, 1, DEEP), /* D6 : SRCCLKREQ1# ==> WWAN_EN */ PAD_CFG_GPO(GPP_D6, 1, DEEP), /* D8 : SRCCLKREQ3# ==> NC */ @@ -76,6 +78,11 @@ static const struct pad_config early_gpio_table[] = { }; static const struct pad_config romstage_gpio_table[] = { + /* Enable touchscreen, hold in reset */ + /* C0 : SMBCLK ==> EN_PP3300_TCHSCR_X */ + PAD_CFG_GPO(GPP_C0, 1, DEEP), + /* C1 : SMBDATA ==> TCHSCR_RST_L */ + PAD_CFG_GPO(GPP_C1, 0, DEEP), }; const struct pad_config *variant_gpio_override_table(size_t *num)