summaryrefslogtreecommitdiff
path: root/board/cr50/board.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/cr50/board.c')
-rw-r--r--board/cr50/board.c19
1 files changed, 6 insertions, 13 deletions
diff --git a/board/cr50/board.c b/board/cr50/board.c
index e7e19a4577..3aa3693f16 100644
--- a/board/cr50/board.c
+++ b/board/cr50/board.c
@@ -582,7 +582,10 @@ static void configure_board_specific_gpios(void)
*/
if (board_use_plt_rst()) {
/* Use plt_rst_l as the tpm reset signal. */
+ /* Select for TPM_RST_L */
GWRITE(PINMUX, GPIO1_GPIO0_SEL, GC_PINMUX_DIOM3_SEL);
+ /* Select for DETECT_TPM_RST_L_ASSERTED */
+ GWRITE(PINMUX, GPIO1_GPIO4_SEL, GC_PINMUX_DIOM3_SEL);
/* Enable the input */
GWRITE_FIELD(PINMUX, DIOM3_CTL, IE, 1);
@@ -604,7 +607,10 @@ static void configure_board_specific_gpios(void)
GWRITE_FIELD(PINMUX, EXITEN0, DIOM3, 1);
} else {
/* Use sys_rst_l as the tpm reset signal. */
+ /* Select for TPM_RST_L */
GWRITE(PINMUX, GPIO1_GPIO0_SEL, GC_PINMUX_DIOM0_SEL);
+ /* Select for DETECT_TPM_RST_L_ASSERTED */
+ GWRITE(PINMUX, GPIO1_GPIO4_SEL, GC_PINMUX_DIOM0_SEL);
/* Enable the input */
GWRITE_FIELD(PINMUX, DIOM0_CTL, IE, 1);
@@ -738,19 +744,6 @@ static void board_init(void)
check_board_id_mismatch();
/*
- * Enable TPM reset GPIO interrupt.
- *
- * If the TPM_RST_L signal is already high when cr50 wakes up or
- * transitions to high before we are able to configure the gpio then we
- * will have missed the edge and the tpm reset isr will not get
- * called. Check that we haven't already missed the rising edge. If we
- * have alert tpm_rst_isr.
- */
- gpio_enable_interrupt(GPIO_TPM_RST_L);
- if (gpio_get_level(GPIO_TPM_RST_L))
- hook_call_deferred(&deferred_tpm_rst_isr_data, 0);
-
- /*
* Start monitoring AC detect to wake Cr50 from deep sleep. This is
* needed to detect RDD cable changes in deep sleep. AC detect is also
* used for battery cutoff software support on detachable devices.