Loading...
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
27enum 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
35enum mantis_parity {
36 MANTIS_PARITY_NONE = 0,
37 MANTIS_PARITY_EVEN,
38 MANTIS_PARITY_ODD,
39};
40
41struct mantis_pci;
42
43extern int mantis_uart_init(struct mantis_pci *mantis);
44extern void mantis_uart_exit(struct mantis_pci *mantis);
45
46#endif /* __MANTIS_UART_H */
1/*
2 Mantis PCI bridge driver
3
4 Copyright (C) Manu Abraham (abraham.manu@gmail.com)
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19*/
20
21#ifndef __MANTIS_UART_H
22#define __MANTIS_UART_H
23
24#define MANTIS_UART_CTL 0xe0
25#define MANTIS_UART_RXINT (1 << 4)
26#define MANTIS_UART_RXFLUSH (1 << 2)
27
28#define MANTIS_UART_RXD 0xe8
29#define MANTIS_UART_BAUD 0xec
30
31#define MANTIS_UART_STAT 0xf0
32#define MANTIS_UART_RXFIFO_DATA (1 << 7)
33#define MANTIS_UART_RXFIFO_EMPTY (1 << 6)
34#define MANTIS_UART_RXFIFO_FULL (1 << 3)
35#define MANTIS_UART_FRAME_ERR (1 << 2)
36#define MANTIS_UART_PARITY_ERR (1 << 1)
37#define MANTIS_UART_RXTHRESH_INT (1 << 0)
38
39enum mantis_baud {
40 MANTIS_BAUD_9600 = 0,
41 MANTIS_BAUD_19200,
42 MANTIS_BAUD_38400,
43 MANTIS_BAUD_57600,
44 MANTIS_BAUD_115200
45};
46
47enum mantis_parity {
48 MANTIS_PARITY_NONE = 0,
49 MANTIS_PARITY_EVEN,
50 MANTIS_PARITY_ODD,
51};
52
53struct mantis_pci;
54
55extern int mantis_uart_init(struct mantis_pci *mantis);
56extern void mantis_uart_exit(struct mantis_pci *mantis);
57
58#endif /* __MANTIS_UART_H */