static int AthrUartGet(char *__ch_data) {
	u32 rdata;

	rdata = uart_reg_read(UARTDATA_ADDRESS);

	if (UARTDATA_UARTRXCSR_GET(rdata)) {
		*__ch_data = (char) UARTDATA_UARTTXRXDATA_GET(rdata);
		rdata = UARTDATA_UARTRXCSR_SET(1);
		uart_reg_write(UARTDATA_ADDRESS, rdata);
		return 1;
	} else {
		return 0;
	}
}
Example #2
0
u8 UartGetPoll(void)
{
	u8 ret_val;
	unsigned int rdata;

	do {
		rdata = uart_reg_read(UARTDATA_ADDRESS);
	} while (!UARTDATA_UARTRXCSR_GET(rdata));

	ret_val = (u8) UARTDATA_UARTTXRXDATA_GET(rdata);
	rdata = UARTDATA_UARTRXCSR_SET(1);
	uart_reg_write(UARTDATA_ADDRESS, rdata);

	return ret_val;
}