コード例 #1
0
ファイル: 4xx_uart.c プロジェクト: CharlieWood/uboot-imx
void serial_isr (void *arg)
{
	int space;
	int c;
	const int rx_get = buf_info.rx_get;
	int rx_put = buf_info.rx_put;

	if (rx_get <= rx_put)
		space = CONFIG_SERIAL_SOFTWARE_FIFO - (rx_put - rx_get);
	else
		space = rx_get - rx_put;

	while (serial_tstc_dev (ACTING_UART0_BASE)) {
		c = serial_getc_dev (ACTING_UART0_BASE);
		if (space) {
			buf_info.rx_buffer[rx_put++] = c;
			space--;
		}
		if (rx_put == CONFIG_SERIAL_SOFTWARE_FIFO)
			rx_put = 0;
		if (space < CONFIG_SERIAL_SOFTWARE_FIFO / 4) {
			/* Stop flow by setting RTS inactive */
			out_8((u8 *)ACTING_UART0_BASE + UART_MCR,
			      in_8((u8 *)ACTING_UART0_BASE + UART_MCR) &
			      (0xFF ^ 0x02));
		}
	}
	buf_info.rx_put = rx_put;
}
コード例 #2
0
ファイル: serial.c プロジェクト: 5victor/u-boot-mini2440
int serial_getc(void)
{
	return serial_getc_dev(CONFIG_PSC_CONSOLE);
}
コード例 #3
0
ファイル: serial.c プロジェクト: Bedoustani/parallella-uboot
int serial1_getc(void)
{
	return serial_getc_dev(PSC_BASE2);
}
コード例 #4
0
ファイル: serial.c プロジェクト: Bedoustani/parallella-uboot
int serial0_getc(void)
{
	return(serial_getc_dev(PSC_BASE));
}
コード例 #5
0
ファイル: 4xx_uart.c プロジェクト: CharlieWood/uboot-imx
int serial_getc(void)
{
	return serial_getc_dev(ACTING_UART0_BASE);
}
コード例 #6
0
ファイル: 4xx_uart.c プロジェクト: CharlieWood/uboot-imx
int serial1_getc(void)
{
	return(serial_getc_dev(UART1_BASE));
}
コード例 #7
0
ファイル: 4xx_uart.c プロジェクト: CharlieWood/uboot-imx
int serial0_getc(void)
{
	return(serial_getc_dev(UART0_BASE));
}
コード例 #8
0
int serial_stub_getc(struct stdio_dev *sdev)
{
	struct udevice *dev = sdev->priv;

	return serial_getc_dev(dev);
}
コード例 #9
0
int serial_getc(void)
{
	return serial_getc_dev(cur_dev);
}