diff options
Diffstat (limited to 'board/cr50/board.c')
-rw-r--r-- | board/cr50/board.c | 19 |
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. |