From 66afa11dea8d776f10afbbe52fcd9ade3ee5f75a Mon Sep 17 00:00:00 2001 From: Tim Crawford Date: Wed, 3 Jul 2024 18:17:40 -0600 Subject: [PATCH] Enable power switch WDT on IT8587E boards Enable PWRSW WDT 2 and use the default timeout of 10 seconds. Allows forcing an EC reset in case it gets into an invalid state. Signed-off-by: Tim Crawford --- src/board/system76/addw1/gpio.c | 3 +++ src/board/system76/darp5/gpio.c | 3 +++ src/board/system76/galp3-c/gpio.c | 3 +++ src/board/system76/oryp5/gpio.c | 3 +++ 4 files changed, 12 insertions(+) diff --git a/src/board/system76/addw1/gpio.c b/src/board/system76/addw1/gpio.c index 5cc27e822..1fba1d6ae 100644 --- a/src/board/system76/addw1/gpio.c +++ b/src/board/system76/addw1/gpio.c @@ -45,6 +45,9 @@ struct Gpio __code WLAN_PWR_EN = GPIO(B, 0); // uncrustify:on void gpio_init(void) { + // PWRSW WDT 2 Enable + GCR8 = BIT(4); + // Enable LPC reset on GPD2 GCR = 0x04; diff --git a/src/board/system76/darp5/gpio.c b/src/board/system76/darp5/gpio.c index 2972a23b2..6882f7f49 100644 --- a/src/board/system76/darp5/gpio.c +++ b/src/board/system76/darp5/gpio.c @@ -46,6 +46,9 @@ struct Gpio __code WLAN_PWR_EN = GPIO(J, 4); // uncrustify:on void gpio_init(void) { + // PWRSW WDT 2 Enable + GCR8 = BIT(4); + // Enable LPC reset on GPD2 GCR = 0x04; diff --git a/src/board/system76/galp3-c/gpio.c b/src/board/system76/galp3-c/gpio.c index 6824adbaa..83a817ff6 100644 --- a/src/board/system76/galp3-c/gpio.c +++ b/src/board/system76/galp3-c/gpio.c @@ -45,6 +45,9 @@ struct Gpio __code WLAN_PWR_EN = GPIO(J, 4); // uncrustify:on void gpio_init(void) { + // PWRSW WDT 2 Enable + GCR8 = BIT(4); + // Enable LPC reset on GPD2 GCR = 0x04; diff --git a/src/board/system76/oryp5/gpio.c b/src/board/system76/oryp5/gpio.c index 6d30a99a5..4a45971ae 100644 --- a/src/board/system76/oryp5/gpio.c +++ b/src/board/system76/oryp5/gpio.c @@ -41,6 +41,9 @@ struct Gpio __code WLAN_PWR_EN = GPIO(B, 0); // uncrustify:on void gpio_init(void) { + // PWRSW WDT 2 Enable + GCR8 = BIT(4); + // Enable LPC reset on GPD2 GCR = 0x04;