summaryrefslogtreecommitdiff
path: root/src/mainboard
diff options
context:
space:
mode:
authorMaulik Vaghela <maulikvaghela@google.com>2023-01-31 14:44:56 +0000
committerFelix Held <felix-coreboot@felixheld.de>2023-02-02 13:49:46 +0000
commitf564c8b34abbc7010871cfa426af7ee7261c3fde (patch)
treef24d75b0f3f898576625d1a55d27e03cc5c9836f /src/mainboard
parent32d2d5c776036a7238210c5fc93db61043fdc9a6 (diff)
mb/google/brya: Skip locking for GPP_F14 GPIO
This is regarding issues observed on multiple Brya and Nissa variant such as Skolas and Nivviks. Issue is that once coreboot sets GPE_EN bit for the GPIO pin and locks it, kernel is not able to change the control bit. Hence kernel is not able to control the IRQ on the pin when required. This issue was root caused to the patch which was setting GPE_EN bits for the GPIOs before locking. Ref: commit 38b8bf02d820 ("intelblocks: Add function to program GPE_EN before GPIO locking") This patch skips the locking for GPP_F14 to allow kernel to configure it later during reboot or shutdown as required. BUG=b:254064671 BRANCH=None TEST=Shutdown works on Skolas and Brya board with the patch. Signed-off-by: Maulik Vaghela <maulikvaghela@google.com> Change-Id: I7e4a6ac4668028bcd5fa400b9aa8eccf36a79620 Reviewed-on: https://review.coreboot.org/c/coreboot/+/72648 Reviewed-by: Caveh Jalali <caveh@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/mainboard')
-rw-r--r--src/mainboard/google/brya/variants/baseboard/brya/gpio.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mainboard/google/brya/variants/baseboard/brya/gpio.c b/src/mainboard/google/brya/variants/baseboard/brya/gpio.c
index 9e2be67707..f3ab850df6 100644
--- a/src/mainboard/google/brya/variants/baseboard/brya/gpio.c
+++ b/src/mainboard/google/brya/variants/baseboard/brya/gpio.c
@@ -240,7 +240,7 @@ static const struct pad_config gpio_table[] = {
/* F13 : GSXDOUT ==> GSPI_PCH_DI_FPMCU_DO */
PAD_CFG_NF_LOCK(GPP_F13, NONE, NF4, LOCK_CONFIG),
/* F14 : GSXDIN ==> TCHPAD_INT_ODL */
- PAD_CFG_GPI_IRQ_WAKE_LOCK(GPP_F14, NONE, LEVEL, INVERT, LOCK_CONFIG),
+ PAD_CFG_GPI_IRQ_WAKE(GPP_F14, NONE, PWROK, LEVEL, INVERT),
/* F15 : GSXSRESET# ==> FPMCU_INT_L */
PAD_CFG_GPI_IRQ_WAKE_LOCK(GPP_F15, NONE, LEVEL, INVERT, LOCK_CONFIG),
/* F16 : GSXCLK ==> GSPI_PCH_CS_FPMCU_R_L */