This patch adds an option to bypass output waiting when there
is no jtag connection. This allows the jtag uart work similar
to a serial uart, ie, boot even without connection.

This option is enabled with,
#define CONFIG_ALTERA_JTAG_UART_BYPASS

Signed-off-by: Thomas Chou <tho...@wytron.com.tw>
---
 drivers/serial/altera_jtag_uart.c |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/drivers/serial/altera_jtag_uart.c 
b/drivers/serial/altera_jtag_uart.c
index 9eccaa0..54d481b 100644
--- a/drivers/serial/altera_jtag_uart.c
+++ b/drivers/serial/altera_jtag_uart.c
@@ -38,8 +38,16 @@ int serial_init( void ) { return(0);}
 
 void serial_putc (char c)
 {
-       while (NIOS_JTAG_WSPACE ( readl (&jtag->control)) == 0)
-               WATCHDOG_RESET ();
+       while (1) {
+               unsigned st = readl(&jtag->control);
+               if (NIOS_JTAG_WSPACE(st))
+                       break;
+#ifdef CONFIG_ALTERA_JTAG_UART_BYPASS
+               if (!(st & NIOS_JTAG_AC)) /* no connection */
+                       return;
+#endif
+               WATCHDOG_RESET();
+       }
        writel (&jtag->data, (unsigned char)c);
 }
 
-- 
1.6.6.1

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

Reply via email to