diff options
author | Tom Rini <trini@konsulko.com> | 2016-10-28 14:14:18 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2016-10-28 14:14:18 -0400 |
commit | 1df182ddf700de49fb4400ba67c3029278ea88e7 (patch) | |
tree | c709e8a79950a29f1d12fc09fbf52b293bd54092 /drivers/serial/atmel_usart.c | |
parent | 4f892924d238cc415891dbea336a0fdaff2f853b (diff) | |
parent | 0eafd4b77615efdd948e698d83be746dcf026a53 (diff) | |
download | u-boot-imx-1df182ddf700de49fb4400ba67c3029278ea88e7.zip u-boot-imx-1df182ddf700de49fb4400ba67c3029278ea88e7.tar.gz u-boot-imx-1df182ddf700de49fb4400ba67c3029278ea88e7.tar.bz2 |
Merge branch 'master' of git://git.denx.de/u-boot-atmel
Diffstat (limited to 'drivers/serial/atmel_usart.c')
-rw-r--r-- | drivers/serial/atmel_usart.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/serial/atmel_usart.c b/drivers/serial/atmel_usart.c index e450135..7674f97 100644 --- a/drivers/serial/atmel_usart.c +++ b/drivers/serial/atmel_usart.c @@ -11,6 +11,7 @@ #include <errno.h> #include <watchdog.h> #include <serial.h> +#include <debug_uart.h> #include <linux/compiler.h> #include <asm/io.h> @@ -226,3 +227,24 @@ U_BOOT_DRIVER(serial_atmel) = { .priv_auto_alloc_size = sizeof(struct atmel_serial_priv), }; #endif + +#ifdef CONFIG_DEBUG_UART_ATMEL +static inline void _debug_uart_init(void) +{ + atmel_usart3_t *usart = (atmel_usart3_t *)CONFIG_DEBUG_UART_BASE; + + atmel_serial_setbrg_internal(usart, 0, CONFIG_BAUDRATE); +} + +static inline void _debug_uart_putc(int ch) +{ + atmel_usart3_t *usart = (atmel_usart3_t *)CONFIG_DEBUG_UART_BASE; + + while (!(readl(&usart->csr) & USART3_BIT(TXRDY))) + ; + + writel(ch, &usart->thr); +} + +DEBUG_UART_FUNCS +#endif |