diff options
author | Furquan Shaikh <furquan@google.com> | 2020-06-27 16:38:44 -0700 |
---|---|---|
committer | Furquan Shaikh <furquan@google.com> | 2020-06-30 23:31:27 +0000 |
commit | 84b9653b38fd4653cd094105150d1e11b3f3ecdb (patch) | |
tree | e3717126fc33db673d1d3cc8e064f9e9ce405fc6 /src/soc/amd/common/block | |
parent | e9fe3661b3de1916af7d82bbb78dc3f8a2a5e1b2 (diff) | |
download | coreboot-84b9653b38fd4653cd094105150d1e11b3f3ecdb.tar.xz |
soc/amd/common/gpio: Clear interrupt and wake status when configuring pads
This change clears interrupt and wake status for a pad when
configuring it. This ensures that stale interrupts/wake notifications
are flushed out and do not cause spurious wakes in future suspends.
BUG=b:159944426
Change-Id: Ia4ebd975312a4136f1d0690d7af7372615e31f0f
Signed-off-by: Furquan Shaikh <furquan@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/42877
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/soc/amd/common/block')
-rw-r--r-- | src/soc/amd/common/block/gpio_banks/gpio.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/soc/amd/common/block/gpio_banks/gpio.c b/src/soc/amd/common/block/gpio_banks/gpio.c index 883dcfa783..ebb29360ac 100644 --- a/src/soc/amd/common/block/gpio_banks/gpio.c +++ b/src/soc/amd/common/block/gpio_banks/gpio.c @@ -207,6 +207,9 @@ void program_gpios(const struct soc_amd_gpio *gpio_list_ptr, size_t size) iomux_read8(gpio); /* Flush posted write */ soc_gpio_hook(gpio, mux); + + /* Clear interrupt and wake status (write 1-to-clear bits) */ + control |= GPIO_INT_STATUS | GPIO_WAKE_STATUS; __gpio_setbits32(gpio, PAD_CFG_MASK, control); if (control_flags == 0) |