summaryrefslogtreecommitdiffstats
path: root/src/target/firmware/board/mediatek/uart.c
diff options
context:
space:
mode:
authorSteve Markgraf <steve@steve-m.de>2013-01-03 22:44:00 +0100
committerSylvain Munaut <tnt@246tNt.com>2013-01-05 18:38:42 +0100
commit21bc3b8db014b5579eb9dd960feb87f24ea1e857 (patch)
tree63e1cbff820cacc4c5efd1f1640f00557a2f5ca7 /src/target/firmware/board/mediatek/uart.c
parente340681c5bbcb9f904b0058d7f69f80ab2d32cc5 (diff)
fw: introduce per-board uart mapping
Signed-off-by: Steve Markgraf <steve@steve-m.de>
Diffstat (limited to 'src/target/firmware/board/mediatek/uart.c')
-rw-r--r--src/target/firmware/board/mediatek/uart.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/target/firmware/board/mediatek/uart.c b/src/target/firmware/board/mediatek/uart.c
index 8e86b204..f9e3283b 100644
--- a/src/target/firmware/board/mediatek/uart.c
+++ b/src/target/firmware/board/mediatek/uart.c
@@ -191,7 +191,7 @@ static uint8_t uart_reg_read(int uart, enum uart_reg reg)
static void uart_irq_handler_cons(__unused int irqnr)
{
- const uint8_t uart = CONS_UART_NR;
+ const uint8_t uart = cons_get_uart();
uint8_t iir;
//uart_putchar_nb(uart, 'U');
@@ -224,7 +224,7 @@ static void uart_irq_handler_cons(__unused int irqnr)
static void uart_irq_handler_sercomm(__unused int irqnr)
{
- const uint8_t uart = SERCOMM_UART_NR;
+ const uint8_t uart = sercomm_get_uart();
uint8_t iir, ch;
//uart_putchar_nb(uart, 'U');
@@ -274,11 +274,13 @@ void uart_init(uint8_t uart, __unused uint8_t interrupts)
/* no interrupts, only polling so far */
uart_reg_write(uart, IER, 0x00);
- if (uart == CONS_UART_NR) {
+ if (uart == cons_get_uart()) {
cons_init();
- } else {
+ } else if (uart == sercomm_get_uart()) {
sercomm_init();
uart_irq_enable(uart, UART_IRQ_RX_CHAR, 1);
+ } else {
+ return;
}
uart_reg_write(uart, AUTOBAUD_EN, 0x00); /* disable AUTOBAUD */
@@ -301,7 +303,7 @@ void uart_init(uint8_t uart, __unused uint8_t interrupts)
}
void uart_poll(uint8_t uart) {
- if(uart == CONS_UART_NR) {
+ if(uart == cons_get_uart()) {
uart_irq_handler_cons(0);
} else {
uart_irq_handler_sercomm(0);