summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaisuke Nojiri <dnojiri@chromium.org>2023-05-09 11:12:18 -0700
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-05-11 19:26:11 +0000
commit3d5b996f731dc2697f1ea97a68f06f8493863912 (patch)
treeefd0719649a5201828c418e01d196002402cfc96
parent56af450c1a715ad38dda608da92b2326783e635b (diff)
downloadchrome-ec-3d5b996f731dc2697f1ea97a68f06f8493863912.tar.gz
Hades: Fast forward DSW_PWROK to PCH_PWROK
On urgent shutdown, it's required for PCH_PWROK to drop while PCH's voltages are still above 95%. This CL adds a dedicated interrupt handler for DSW_PWROK to reduce the latency. BUG=b:279918234 TEST=On Agah. The latency improved from 1.5 ms to 127 us. Change-Id: I5d0b1ab880f8d7ec6af89e3d9b230541c75d57ce Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4520131 Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Tarun Tuli <taruntuli@google.com> Auto-Submit: Daisuke Nojiri <dnojiri@chromium.org>
-rw-r--r--board/hades/board.h1
-rw-r--r--board/hades/gpio.inc2
2 files changed, 2 insertions, 1 deletions
diff --git a/board/hades/board.h b/board/hades/board.h
index 6b2af13935..31baee2038 100644
--- a/board/hades/board.h
+++ b/board/hades/board.h
@@ -99,6 +99,7 @@
#define GPIO_PCH_WAKE_L GPIO_EC_PCH_INT_ODL
#define GPIO_PG_EC_ALL_SYS_PWRGD GPIO_SEQ_EC_ALL_SYS_PG
#define GPIO_PG_EC_DSW_PWROK GPIO_SEQ_EC_DSW_PWROK
+#define GPIO_PCH_DSW_PWROK GPIO_PCH_PWROK
#define GPIO_PG_EC_RSMRST_ODL GPIO_SEQ_EC_RSMRST_ODL
#define GPIO_POWER_BUTTON_L GPIO_GSC_EC_PWR_BTN_ODL
#define GPIO_SYS_RESET_L GPIO_SYS_RST_ODL
diff --git a/board/hades/gpio.inc b/board/hades/gpio.inc
index 318a14906c..e0d490e5a7 100644
--- a/board/hades/gpio.inc
+++ b/board/hades/gpio.inc
@@ -8,13 +8,13 @@
#define MODULE_KB MODULE_KEYBOARD_SCAN
/* INTERRUPT GPIOs: */
+GPIO_INT(SEQ_EC_DSW_PWROK, PIN(C, 7), GPIO_INT_BOTH, intel_x86_pwrok_signal_interrupt)
GPIO_INT(ACOK_OD, PIN(0, 0), GPIO_INT_BOTH | GPIO_HIB_WAKE_HIGH, extpower_interrupt)
GPIO_INT(EC_PROCHOT_IN_L, PIN(A, 0), GPIO_INT_BOTH, throttle_ap_prochot_input_interrupt)
GPIO_INT(EC_WP_ODL, PIN(A, 1), GPIO_INT_BOTH, switch_interrupt)
GPIO_INT(GSC_EC_PWR_BTN_ODL, PIN(0, 1), GPIO_INT_BOTH | GPIO_HIB_WAKE_LOW, power_button_interrupt)
GPIO_INT(LID_OPEN, PIN(D, 2), GPIO_INT_BOTH | GPIO_PULL_UP | GPIO_HIB_WAKE_HIGH, lid_interrupt)
GPIO_INT(SEQ_EC_ALL_SYS_PG, PIN(F, 4), GPIO_INT_BOTH, power_signal_interrupt)
-GPIO_INT(SEQ_EC_DSW_PWROK, PIN(C, 7), GPIO_INT_BOTH, power_signal_interrupt)
GPIO_INT(SEQ_EC_RSMRST_ODL, PIN(E, 2), GPIO_INT_BOTH, power_signal_interrupt)
GPIO_INT(SLP_S3_L, PIN(A, 5), GPIO_INT_BOTH, power_signal_interrupt)
GPIO_INT(SLP_SUS_L, PIN(F, 1), GPIO_INT_BOTH, power_signal_interrupt)