Files
OpenCellular/chip
Dino Li f175ca810a it8380dev: modify uart ISR
Because UART interrupt is rising-edge triggered, and we need to clear
UART IER and restore IER state to make sure interrupt can be triggered
again when following situation occur:

                   [ISR start] [process rx] [process tx] [ISR end]
RX              0    1           0            1            1
TX              0    1           1            0            0
uart_int_event  0    1           1            1            1
uart_ier        1    1           1            1            1
uart_s1        (0 -> 1)          1            1            1 (keep high)

uart_int_event = (RX | TX)
uart_s1 = (uart_int_event & uart_ier)
UART interrupt = (uart_s1 0->1)

Signed-off-by: Dino Li <dino.li@ite.com.tw>

BRANCH=none
BUG=none
TEST=fixed.

Change-Id: I6498876780aba33795022fa6ecbb77e1c6468146
Reviewed-on: https://chromium-review.googlesource.com/311563
Commit-Ready: Dino Li <dino.li@ite.com.tw>
Tested-by: Dino Li <dino.li@ite.com.tw>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
2015-11-12 17:54:58 -08:00
..
2015-11-11 12:58:37 -08:00
2015-11-12 17:54:58 -08:00