
From: Alex Waterman awaterman@dawning.com
Adds a short busy loop wait to the atmel_usart.c serial_init() function.
Signed-off-by: Alex Waterman awaterman@dawning.com --- drivers/serial/atmel_usart.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/drivers/serial/atmel_usart.c b/drivers/serial/atmel_usart.c index e326b2b..e355706 100644 --- a/drivers/serial/atmel_usart.c +++ b/drivers/serial/atmel_usart.c @@ -47,6 +47,8 @@ void serial_setbrg(void)
int serial_init(void) { + + volatile int i = 0; atmel_usart3_t *usart = (atmel_usart3_t *)CONFIG_USART_BASE;
writel(USART3_BIT(RSTRX) | USART3_BIT(RSTTX), &usart->cr); @@ -61,6 +63,10 @@ int serial_init(void) | USART3_BF(NBSTOP, USART3_NBSTOP_1)), &usart->mr);
+ /* Short wait to let the serial port init. */ + for (; i < 10000; i++) + ; + return 0; }