1
2
3
4
5
6
7
8
9 #ifndef __MANTIS_UART_H
10 #define __MANTIS_UART_H
11
12 #define MANTIS_UART_CTL 0xe0
13 #define MANTIS_UART_RXINT (1 << 4)
14 #define MANTIS_UART_RXFLUSH (1 << 2)
15
16 #define MANTIS_UART_RXD 0xe8
17 #define MANTIS_UART_BAUD 0xec
18
19 #define MANTIS_UART_STAT 0xf0
20 #define MANTIS_UART_RXFIFO_DATA (1 << 7)
21 #define MANTIS_UART_RXFIFO_EMPTY (1 << 6)
22 #define MANTIS_UART_RXFIFO_FULL (1 << 3)
23 #define MANTIS_UART_FRAME_ERR (1 << 2)
24 #define MANTIS_UART_PARITY_ERR (1 << 1)
25 #define MANTIS_UART_RXTHRESH_INT (1 << 0)
26
27 enum mantis_baud {
28 MANTIS_BAUD_9600 = 0,
29 MANTIS_BAUD_19200,
30 MANTIS_BAUD_38400,
31 MANTIS_BAUD_57600,
32 MANTIS_BAUD_115200
33 };
34
35 enum mantis_parity {
36 MANTIS_PARITY_NONE = 0,
37 MANTIS_PARITY_EVEN,
38 MANTIS_PARITY_ODD,
39 };
40
41 struct mantis_pci;
42
43 extern int mantis_uart_init(struct mantis_pci *mantis);
44 extern void mantis_uart_exit(struct mantis_pci *mantis);
45
46 #endif