X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=drivers%2Fserial%2Faltera_jtag_uart.c;h=2980e4d07c18105a9c27827102f9be97edc18dee;hb=1fed668b3fb9c35932f58af00ff5539239fa4e1d;hp=fb28aa9eb94bbc3d1ffe52958f63c3c381b58c24;hpb=6a1f7e54c2dd8888dbc118e8de372dec29a0a9c5;p=oweals%2Fu-boot.git diff --git a/drivers/serial/altera_jtag_uart.c b/drivers/serial/altera_jtag_uart.c index fb28aa9eb9..2980e4d07c 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 ((unsigned char)c, &jtag->data); }