diff options
author | Kévin Redon <kredon@sysmocom.de> | 2020-03-26 01:47:43 +0100 |
---|---|---|
committer | Eric Wild <ewild@sysmocom.de> | 2020-04-10 02:09:33 +0200 |
commit | 2d0d1e8cb3d1acff864fcdcb289be680945c045f (patch) | |
tree | a294eb64bd92efbc86a5282cb4e8e2921793a493 | |
parent | b0d789e09dccbc1122ed6d5d00a14eba591c72f0 (diff) |
cardemu: different init for simtrace board which uses uart timers
Change-Id: I464f0ce1ec5e60be5f9377186b7d13a5e6dc637e
-rw-r--r-- | firmware/libcommon/source/mode_cardemu.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/firmware/libcommon/source/mode_cardemu.c b/firmware/libcommon/source/mode_cardemu.c index 1dbd2d3..c6c129d 100644 --- a/firmware/libcommon/source/mode_cardemu.c +++ b/firmware/libcommon/source/mode_cardemu.c @@ -429,7 +429,20 @@ void mode_cardemu_init(void) /* configure USART as ISO-7816 slave (e.g. card) */ ISO7816_Init(&cardem_inst[0].usart_info, CLK_SLAVE); +#ifdef BOARD_simtrace + /* simtrace board uses uart timeouts */ + + /* don't use receive timeout timer for now */ + cardem_inst[0].usart_info.base->US_RTOR = 0; + /* enable interrupts to indicate when data has been received or timeout occurred */ + USART_EnableIt(cardem_inst[0].usart_info.base, US_IER_RXRDY | US_IER_TIMEOUT); +#else + /* enable interrupts to indicate when data has been received */ + USART_EnableIt(cardem_inst[0].usart_info.base, US_IER_RXRDY ); +#endif + /* enable interrupt requests for the USART peripheral */ NVIC_EnableIRQ(USART1_IRQn); + PIO_ConfigureIt(&pin_usim1_rst, usim1_rst_irqhandler); PIO_EnableIt(&pin_usim1_rst); |