/* Write a char to the Tx buffer */
void serial_putc(char c)
{
	while ((xdfuart_readl(SR) & XZYNQUART_SR_TXFULL) != 0)
		;
	if (c == '\n') {
		xdfuart_writel(FIFO,'\r');
		while ((xdfuart_readl(SR) & XZYNQUART_SR_TXFULL) != 0)
			;
	}
	xdfuart_writel(FIFO,c);
}
/* Test character presence in Rx buffer */
int serial_tstc(void)
{
	/* add by star-star */
	if (test_bootdelay)
		printf("***actual serial_tstc function \n");
	/* UART_BASE + XZYNQUART_SR_OFFSET */
	return (xdfuart_readl(SR) & XZYNQUART_SR_RXEMPTY) == 0;
}
/* Get a char from Rx buffer */
int serial_getc(void)
{
	while (!serial_tstc());
	return xdfuart_readl(FIFO);
}
/* Test character presence in Rx buffer */
int serial_tstc(void)
{
	return (xdfuart_readl(SR) & XZYNQUART_SR_RXEMPTY) == 0;
}