From e54d55b9d935745c2aa3f07712b857af42506c0d Mon Sep 17 00:00:00 2001 From: Greg Watson Date: Sat, 13 Mar 2004 03:40:51 +0000 Subject: added rx support git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1410 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/lib/uart8250.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src/lib') diff --git a/src/lib/uart8250.c b/src/lib/uart8250.c index 67b0a95cfb..e3a1255dc6 100644 --- a/src/lib/uart8250.c +++ b/src/lib/uart8250.c @@ -20,7 +20,7 @@ #define UART_MSR 0x06 #define UART_SCR 0x07 -static inline int uart8250_can_tx_byte(unsigned base_port) +static int uart8250_can_tx_byte(unsigned base_port) { return inb(base_port + UART_LSR) & 0x20; } @@ -45,6 +45,18 @@ void uart8250_tx_byte(unsigned base_port, unsigned char data) uart8250_wait_until_sent(base_port); } +int uart8250_can_rx_byte(unsigned base_port) +{ + return inb(base_port + UART_LSR) & 0x01; +} + +unsigned char uart8250_rx_byte(unsigned base_port) +{ + while(!uart8250_can_rx_byte(base_port)) + ; + return inb(base_port + UART_RBR); +} + void uart8250_init(unsigned base_port, unsigned divisor, unsigned lcs) { lcs &= 0x7f; -- cgit v1.2.3