or1k: UART also accept timeout interrupt

- The UART interrupt only handled receiver FIFO full interrupts, but we
  also want to handle timeout interrupts.

    * or1k/or1k_uart.c: Fix interrupts
This commit is contained in:
Jeff Johnston 2015-05-26 15:27:02 -04:00 committed by Corinna Vinschen
parent 58e5719a0e
commit aa26b78462
2 changed files with 9 additions and 3 deletions

View File

@ -1,3 +1,7 @@
2015-05-26 Stefan Wallentowitz <stefan.wallentowitz@tum.de>
* or1k/or1k_uart.c: Fix interrupts
2015-05-26 Stefan Wallentowitz <stefan.wallentowitz@tum.de> 2015-05-26 Stefan Wallentowitz <stefan.wallentowitz@tum.de>
* or1k/timer.c: Properly set interrupt flags * or1k/timer.c: Properly set interrupt flags

View File

@ -94,9 +94,11 @@ void _or1k_uart_interrupt_handler(uint32_t data)
{ {
uint8_t iir = REG8(IIR); uint8_t iir = REG8(IIR);
// Check if this is a read fifo interrupt, bit 0 indicates pending // Check if this is a read fifo or timeout interrupt, bit 0
// interrupt and the other bits are IIR_RDA // indicates pending interrupt and the other bits are IIR_RDA
if (!(iir & 0x1) || ((iir & 0xfe) != IIR_RDA)) { // or IIR_TO
if (!(iir & 0x1) || ((iir & 0xfe) != IIR_RDA) ||
((iir & 0xfe) != IIR_TO)) {
return; return;
} }