altera_jtag_uart: bypass when no jtag connection

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 CONFIG_ALTERA_JTAG_UART_BYPASS

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Signed-off-by: Scott McNutt <smcnutt@psyent.com>
This commit is contained in:
Thomas Chou 2010-03-31 08:30:08 +08:00 committed by Scott McNutt
parent 7e812f2e9c
commit 994852966d

View file

@ -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);
}