diff options
author | Harald Welte <laforge@gnumonks.org> | 2011-08-15 21:42:03 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2011-08-15 21:42:03 +0200 |
commit | a6d972c23dc7160331a4495011a73199eca59a9f (patch) | |
tree | c3ffb629d4e8b43e04c087fc7fcea1114b43e3de | |
parent | ea85282e09d635c64b4a304dd9d556695e74830f (diff) |
simtrace UART: set INACK flag to make sure we ignore any parity error
As a SIM card tracer, we want to remain completely passive and thus not
signal back parity errors with the ISO 7816 NACK.
The UART INACK flag does exactly that...
-rw-r--r-- | firmware/src/simtrace/iso7816_uart.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/firmware/src/simtrace/iso7816_uart.c b/firmware/src/simtrace/iso7816_uart.c index cd1a2f0..67f8e0d 100644 --- a/firmware/src/simtrace/iso7816_uart.c +++ b/firmware/src/simtrace/iso7816_uart.c @@ -588,12 +588,12 @@ void iso_uart_clk_master(unsigned int master) if (master) { usart->US_MR = AT91C_US_USMODE_ISO7816_0 | AT91C_US_CLKS_CLOCK | AT91C_US_CHRL_8_BITS | AT91C_US_NBSTOP_1_BIT | - AT91C_US_CKLO; + AT91C_US_CKLO | AT91C_US_INACK; usart->US_BRGR = (0x0000 << 16) | 16; } else { usart->US_MR = AT91C_US_USMODE_ISO7816_0 | AT91C_US_CLKS_EXT | AT91C_US_CHRL_8_BITS | AT91C_US_NBSTOP_1_BIT | - AT91C_US_CKLO; + AT91C_US_CKLO | AT91C_US_INACK; usart->US_BRGR = (0x0000 << 16) | 0x0001; } } @@ -624,7 +624,7 @@ void iso_uart_init(void) /* ISO7816 T=0 mode with external clock input */ usart->US_MR = AT91C_US_USMODE_ISO7816_0 | AT91C_US_CLKS_EXT | AT91C_US_CHRL_8_BITS | AT91C_US_NBSTOP_1_BIT | - AT91C_US_CKLO; + AT91C_US_CKLO | AT91C_US_INACK; /* Disable all interrupts */ usart->US_IDR = 0xff; |