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