/*
 * Function purpose:
 *				Require character data from UART
 */
int
serial_getc(void)
{
#ifdef CONFIG_USB_TTY		  
	int tmp=0;
	char c;

	while (1)
	{
		if(pUart_Reg->URUSR & URUSR_RXDRDY)
			{
				tmp++;
		    break;
		  }
		if(c = usbtty_getc())
		    break;
	}

	return tmp?(pUart_Reg->URRDR&0xff):c;
#else
	while (!(pUart_Reg->URUSR & URUSR_RXDRDY));

	return pUart_Reg->URRDR&0xff;
#endif
}
int quad_getc_dev (unsigned long base)
{
	if (zoom2_debug_board_connected ())
		return NS16550_getc ((NS16550_t) base);

	return usbtty_getc();
}
/*
 * Function purpose:
 *				return RXDRDY status bit in Uart status register
 */
int
serial_tstc(void)
{
#ifdef CONFIG_USB_TTY		  
	return (((pUart_Reg->URUSR & URUSR_RXDRDY)||usbtty_getc()) ? 1 : 0);
#else
	return ((pUart_Reg->URUSR & URUSR_RXDRDY) ? 1 : 0);
#endif		
}