1 #include <console/console.h>
3 #include <pc80/mc146818rtc.h>
7 #define TTYS0_BASE 0x3f8
11 #define TTYS0_BAUD 115200
15 #if ((115200%TTYS0_BAUD) != 0)
16 #error Bad ttys0 baud rate
18 #define TTYS0_DIV (115200/TTYS0_BAUD)
21 /* Line Control Settings */
23 /* Set 8bit, 1 stop bit, no parity */
27 #define UART_LCS TTYS0_LCS
29 static void ttyS0_init(void)
31 static const unsigned char div[8]={1,2,3,6,12,24,48,96};
33 unsigned int divisor=TTYS0_DIV;
35 if(get_option(&b_index,"baud_rate")==0) {
38 uart8250_init(TTYS0_BASE, divisor, TTYS0_LCS);
41 static void ttyS0_tx_byte(unsigned char data)
43 uart8250_tx_byte(TTYS0_BASE, data);
46 static unsigned char ttyS0_rx_byte(void)
48 return uart8250_rx_byte(TTYS0_BASE);
51 static int ttyS0_tst_byte(void)
53 return uart8250_can_rx_byte(TTYS0_BASE);
56 static const struct console_driver uart8250_console __console = {
58 .tx_byte = ttyS0_tx_byte,
59 .rx_byte = ttyS0_rx_byte,
60 .tst_byte = ttyS0_tst_byte,