summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2011-08-15 21:42:03 +0200
committerHarald Welte <laforge@gnumonks.org>2011-08-15 21:42:03 +0200
commita6d972c23dc7160331a4495011a73199eca59a9f (patch)
treec3ffb629d4e8b43e04c087fc7fcea1114b43e3de /firmware
parentea85282e09d635c64b4a304dd9d556695e74830f (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...
Diffstat (limited to 'firmware')
-rw-r--r--firmware/src/simtrace/iso7816_uart.c6
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;
personal git repositories of Harald Welte. Your mileage may vary