Lines Matching full:uart
18 #include <asm/arch/uart.h>
34 u8 port_id; /* uart port number */
63 static void __maybe_unused s5p_serial_init(struct s5p_uart *uart) in s5p_serial_init() argument
66 writel(0x3, &uart->ufcon); in s5p_serial_init()
67 writel(0, &uart->umcon); in s5p_serial_init()
69 writel(0x3, &uart->ulcon); in s5p_serial_init()
71 writel(0x245, &uart->ucon); in s5p_serial_init()
74 static void __maybe_unused s5p_serial_baud(struct s5p_uart *uart, uint uclk, in s5p_serial_baud() argument
81 writel(val / 16 - 1, &uart->ubrdiv); in s5p_serial_baud()
84 writew(udivslot[val % 16], &uart->rest.slot); in s5p_serial_baud()
86 writeb(val % 16, &uart->rest.value); in s5p_serial_baud()
93 struct s5p_uart *const uart = plat->reg; in s5p_serial_setbrg() local
108 s5p_serial_baud(uart, uclk, baudrate); in s5p_serial_setbrg()
116 struct s5p_uart *const uart = plat->reg; in s5p_serial_probe() local
118 s5p_serial_init(uart); in s5p_serial_probe()
123 static int serial_err_check(const struct s5p_uart *const uart, int op) in serial_err_check() argument
139 return readl(&uart->uerstat) & mask; in serial_err_check()
145 struct s5p_uart *const uart = plat->reg; in s5p_serial_getc() local
147 if (!(readl(&uart->ufstat) & RX_FIFO_COUNT_MASK)) in s5p_serial_getc()
150 serial_err_check(uart, 0); in s5p_serial_getc()
151 return (int)(readb(&uart->urxh) & 0xff); in s5p_serial_getc()
157 struct s5p_uart *const uart = plat->reg; in s5p_serial_putc() local
159 if (readl(&uart->ufstat) & TX_FIFO_FULL) in s5p_serial_putc()
162 writeb(ch, &uart->utxh); in s5p_serial_putc()
163 serial_err_check(uart, 1); in s5p_serial_putc()
171 struct s5p_uart *const uart = plat->reg; in s5p_serial_pending() local
172 uint32_t ufstat = readl(&uart->ufstat); in s5p_serial_pending()
203 { .compatible = "samsung,exynos4210-uart" },
225 struct s5p_uart *uart = (struct s5p_uart *)CONFIG_DEBUG_UART_BASE; in _debug_uart_init() local
227 s5p_serial_init(uart); in _debug_uart_init()
228 s5p_serial_baud(uart, CONFIG_DEBUG_UART_CLOCK, CONFIG_BAUDRATE); in _debug_uart_init()
233 struct s5p_uart *uart = (struct s5p_uart *)CONFIG_DEBUG_UART_BASE; in _debug_uart_putc() local
235 while (readl(&uart->ufstat) & TX_FIFO_FULL); in _debug_uart_putc()
237 writeb(ch, &uart->utxh); in _debug_uart_putc()