Lines Matching full:uart

12  * Minimal serial functions needed to use one of the uart ports
22 #include <asm/uart.h>
28 static int mcf_serial_init_common(uart_t *uart, int port_idx, int baudrate) in mcf_serial_init_common() argument
34 /* write to SICR: SIM2 = uart mode,dcd does not affect rx */ in mcf_serial_init_common()
35 writeb(UART_UCR_RESET_RX, &uart->ucr); in mcf_serial_init_common()
36 writeb(UART_UCR_RESET_TX, &uart->ucr); in mcf_serial_init_common()
37 writeb(UART_UCR_RESET_ERROR, &uart->ucr); in mcf_serial_init_common()
38 writeb(UART_UCR_RESET_MR, &uart->ucr); in mcf_serial_init_common()
41 writeb(0, &uart->uimr); in mcf_serial_init_common()
44 writeb(UART_UCSR_RCS_SYS_CLK | UART_UCSR_TCS_SYS_CLK, &uart->ucsr); in mcf_serial_init_common()
46 writeb(UART_UMR_BC_8 | UART_UMR_PM_NONE, &uart->umr); in mcf_serial_init_common()
47 writeb(UART_UMR_SB_STOP_BITS_1, &uart->umr); in mcf_serial_init_common()
54 writeb((u8)((counter & 0xff00) >> 8), &uart->ubg1); in mcf_serial_init_common()
56 writeb((u8)(counter & 0x00ff), &uart->ubg2); in mcf_serial_init_common()
58 writeb(UART_UCR_RX_ENABLED | UART_UCR_TX_ENABLED, &uart->ucr); in mcf_serial_init_common()
63 static void mcf_serial_setbrg_common(uart_t *uart, int baudrate) in mcf_serial_setbrg_common() argument
72 writeb(((counter & 0xff00) >> 8), &uart->ubg1); in mcf_serial_setbrg_common()
74 writeb((counter & 0x00ff), &uart->ubg2); in mcf_serial_setbrg_common()
76 writeb(UART_UCR_RESET_RX, &uart->ucr); in mcf_serial_setbrg_common()
77 writeb(UART_UCR_RESET_TX, &uart->ucr); in mcf_serial_setbrg_common()
79 writeb(UART_UCR_RX_ENABLED | UART_UCR_TX_ENABLED, &uart->ucr); in mcf_serial_setbrg_common()
97 uart_t *uart = (uart_t *)CONFIG_SYS_UART_BASE; in mcf_serial_putc() local
103 while (!(readb(&uart->usr) & UART_USR_TXRDY)) in mcf_serial_putc()
106 writeb(c, &uart->utb); in mcf_serial_putc()
111 uart_t *uart = (uart_t *)CONFIG_SYS_UART_BASE; in mcf_serial_getc() local
114 while (!(readb(&uart->usr) & UART_USR_RXRDY)) in mcf_serial_getc()
117 return readb(&uart->urb); in mcf_serial_getc()
122 uart_t *uart = (uart_t *)CONFIG_SYS_UART_BASE; in mcf_serial_setbrg() local
124 mcf_serial_setbrg_common(uart, gd->baudrate); in mcf_serial_setbrg()
129 uart_t *uart = (uart_t *)CONFIG_SYS_UART_BASE; in mcf_serial_tstc() local
131 return readb(&uart->usr) & UART_USR_RXRDY; in mcf_serial_tstc()
170 uart_t *uart = (uart_t *)plat->base; in coldfire_serial_putc() local
173 if (!(readb(&uart->usr) & UART_USR_TXRDY)) in coldfire_serial_putc()
176 writeb(ch, &uart->utb); in coldfire_serial_putc()
184 uart_t *uart = (uart_t *)(plat->base); in coldfire_serial_getc() local
187 if (!(readb(&uart->usr) & UART_USR_RXRDY)) in coldfire_serial_getc()
190 return readb(&uart->urb); in coldfire_serial_getc()
196 uart_t *uart = (uart_t *)(plat->base); in coldfire_serial_setbrg() local
198 mcf_serial_setbrg_common(uart, baudrate); in coldfire_serial_setbrg()
206 uart_t *uart = (uart_t *)(plat->base); in coldfire_serial_pending() local
209 return readb(&uart->usr) & UART_USR_RXRDY ? 1 : 0; in coldfire_serial_pending()
211 return readb(&uart->usr) & UART_USR_TXRDY ? 0 : 1; in coldfire_serial_pending()