serial: atmel_usart: Support enable an early debug UART
Add support to enable an early debug UART for debugging. Signed-off-by: Wenyou Yang <wenyou.yang@atmel.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Andreas Bießmann <andreas@biessmann.org>
This commit is contained in:
parent
6ec739aa52
commit
998cf3c2be
@ -98,6 +98,13 @@ config DEBUG_UART_AR933X
|
|||||||
driver will be available until the real driver model serial is
|
driver will be available until the real driver model serial is
|
||||||
running.
|
running.
|
||||||
|
|
||||||
|
config DEBUG_UART_ATMEL
|
||||||
|
bool "Atmel USART"
|
||||||
|
help
|
||||||
|
Select this to enable a debug UART using the atmel usart driver. You
|
||||||
|
will need to provide parameters to make this work. The driver will
|
||||||
|
be available until the real driver-model serial is running.
|
||||||
|
|
||||||
config DEBUG_UART_NS16550
|
config DEBUG_UART_NS16550
|
||||||
bool "ns16550"
|
bool "ns16550"
|
||||||
help
|
help
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <watchdog.h>
|
#include <watchdog.h>
|
||||||
#include <serial.h>
|
#include <serial.h>
|
||||||
|
#include <debug_uart.h>
|
||||||
#include <linux/compiler.h>
|
#include <linux/compiler.h>
|
||||||
|
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
@ -226,3 +227,24 @@ U_BOOT_DRIVER(serial_atmel) = {
|
|||||||
.priv_auto_alloc_size = sizeof(struct atmel_serial_priv),
|
.priv_auto_alloc_size = sizeof(struct atmel_serial_priv),
|
||||||
};
|
};
|
||||||
#endif
|
#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
|
||||||
|
Loading…
Reference in New Issue
Block a user