Adds a short busy loop wait to the atmel_usart.c serial_init()
function.

Signed-off-by: Alex Waterman <awater...@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;
 }
 
-- 
1.7.4.4

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to