diff options
author | John Crispin <john@openwrt.org> | 2008-07-05 23:06:07 +0000 |
---|---|---|
committer | John Crispin <john@openwrt.org> | 2008-07-05 23:06:07 +0000 |
commit | 3e2c38b0fba0839aa7e82d209693282ef976e196 (patch) | |
tree | 274923eaab55abff5f8e77ead8e9d639becb874c /target/linux/ifxmips/files/drivers/serial/ifxmips_asc.c | |
parent | 7866f69cbe157e001f000c5e327d7783156ed363 (diff) | |
download | mtk-20170518-3e2c38b0fba0839aa7e82d209693282ef976e196.zip mtk-20170518-3e2c38b0fba0839aa7e82d209693282ef976e196.tar.gz mtk-20170518-3e2c38b0fba0839aa7e82d209693282ef976e196.tar.bz2 |
lots of ifxmips fixes and features
SVN-Revision: 11673
Diffstat (limited to 'target/linux/ifxmips/files/drivers/serial/ifxmips_asc.c')
-rw-r--r-- | target/linux/ifxmips/files/drivers/serial/ifxmips_asc.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/target/linux/ifxmips/files/drivers/serial/ifxmips_asc.c b/target/linux/ifxmips/files/drivers/serial/ifxmips_asc.c index 17d933c..2dc8917 100644 --- a/target/linux/ifxmips/files/drivers/serial/ifxmips_asc.c +++ b/target/linux/ifxmips/files/drivers/serial/ifxmips_asc.c @@ -48,7 +48,6 @@ #include <asm/bitops.h> #include <asm/ifxmips/ifxmips.h> #include <asm/ifxmips/ifxmips_irq.h> -#include <asm/ifxmips/ifxmips_serial.h> #define PORT_IFXMIPSASC 111 @@ -161,7 +160,7 @@ ifxmipsasc_tx_chars(struct uart_port *port) } while(((ifxmips_r32(port->membase + IFXMIPS_ASC_FSTAT) & ASCFSTAT_TXFFLMASK) - >> ASCFSTAT_TXFFLOFF) != IFXMIPSASC_TXFIFO_FULL) + >> ASCFSTAT_TXFFLOFF) != TXFIFO_FULL) { if(port->x_char) { @@ -248,8 +247,8 @@ ifxmipsasc_startup(struct uart_port *port) ifxmips_w32(ifxmips_r32(port->membase + IFXMIPS_ASC_CLC) & ~IFXMIPS_ASC_CLC_DISS, port->membase + IFXMIPS_ASC_CLC); ifxmips_w32(((ifxmips_r32(port->membase + IFXMIPS_ASC_CLC) & ~ASCCLC_RMCMASK)) | (1 << ASCCLC_RMCOFFSET), port->membase + IFXMIPS_ASC_CLC); ifxmips_w32(0, port->membase + IFXMIPS_ASC_PISEL); - ifxmips_w32(((IFXMIPSASC_TXFIFO_FL << ASCTXFCON_TXFITLOFF) & ASCTXFCON_TXFITLMASK) | ASCTXFCON_TXFEN | ASCTXFCON_TXFFLU, port->membase + IFXMIPS_ASC_TXFCON); - ifxmips_w32(((IFXMIPSASC_RXFIFO_FL << ASCRXFCON_RXFITLOFF) & ASCRXFCON_RXFITLMASK) | ASCRXFCON_RXFEN | ASCRXFCON_RXFFLU, port->membase + IFXMIPS_ASC_RXFCON); + ifxmips_w32(((TXFIFO_FL << ASCTXFCON_TXFITLOFF) & ASCTXFCON_TXFITLMASK) | ASCTXFCON_TXFEN | ASCTXFCON_TXFFLU, port->membase + IFXMIPS_ASC_TXFCON); + ifxmips_w32(((RXFIFO_FL << ASCRXFCON_RXFITLOFF) & ASCRXFCON_RXFITLMASK) | ASCRXFCON_RXFEN | ASCRXFCON_RXFFLU, port->membase + IFXMIPS_ASC_RXFCON); wmb (); ifxmips_w32(ifxmips_r32(port->membase + IFXMIPS_ASC_CON) | ASCCON_M_8ASYNC | ASCCON_FEN | ASCCON_TOEN | ASCCON_ROEN, port->membase + IFXMIPS_ASC_CON); @@ -399,7 +398,7 @@ ifxmipsasc_type(struct uart_port *port) { if(port->type == PORT_IFXMIPSASC) { - if(port->membase == IFXMIPS_ASC_BASE_ADDR) + if(port->membase == (void*)IFXMIPS_ASC_BASE_ADDR) return "asc0"; else return "asc1"; @@ -501,7 +500,7 @@ ifxmipsasc_console_write(struct console *co, const char *s, u_int count) do { fifocnt = (ifxmips_r32((u32*)(IFXMIPS_ASC_BASE_ADDR + (port * IFXMIPS_ASC_BASE_DIFF) + IFXMIPS_ASC_FSTAT)) & ASCFSTAT_TXFFLMASK) >> ASCFSTAT_TXFFLOFF; - } while(fifocnt == IFXMIPSASC_TXFIFO_FULL); + } while(fifocnt == TXFIFO_FULL); if(s[i] == '\0') break; @@ -512,7 +511,7 @@ ifxmipsasc_console_write(struct console *co, const char *s, u_int count) do { fifocnt = (ifxmips_r32((u32*)(IFXMIPS_ASC_BASE_ADDR + (port * IFXMIPS_ASC_BASE_DIFF) + IFXMIPS_ASC_FSTAT)) & ASCFSTAT_TXFFLMASK) >> ASCFSTAT_TXFFLOFF; - } while(fifocnt == IFXMIPSASC_TXFIFO_FULL); + } while(fifocnt == TXFIFO_FULL); } ifxmips_w32(s[i], (u32*)(IFXMIPS_ASC_BASE_ADDR + (port * IFXMIPS_ASC_BASE_DIFF) + IFXMIPS_ASC_TBUF)); } |