1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3 	Mantis PCI bridge driver
4 
5 	Copyright (C) Manu Abraham (abraham.manu@gmail.com)
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 /* __MANTIS_UART_H */
47