| #ifndef _LINUX_ISICOM_H | 
 | #define _LINUX_ISICOM_H | 
 |  | 
 | /*#define		ISICOM_DEBUG*/ | 
 | /*#define		ISICOM_DEBUG_DTR_RTS*/ | 
 |  | 
 |  | 
 | /* | 
 |  *	Firmware Loader definitions ... | 
 |  */ | 
 |   | 
 | #define		__MultiTech		('M'<<8) | 
 | #define		MIOCTL_LOAD_FIRMWARE	(__MultiTech | 0x01) | 
 | #define         MIOCTL_READ_FIRMWARE    (__MultiTech | 0x02) | 
 | #define         MIOCTL_XFER_CTRL	(__MultiTech | 0x03) | 
 | #define         MIOCTL_RESET_CARD	(__MultiTech | 0x04) | 
 |  | 
 | #define		DATA_SIZE	16 | 
 |  | 
 | typedef	struct	{ | 
 | 		unsigned short	exec_segment; | 
 | 		unsigned short	exec_addr; | 
 | }	exec_record; | 
 |  | 
 | typedef	struct	{ | 
 | 		int		board;		/* Board to load */ | 
 | 		unsigned short	addr; | 
 | 		unsigned short	count; | 
 | }	bin_header; | 
 |  | 
 | typedef	struct	{ | 
 | 		int		board;		/* Board to load */ | 
 | 		unsigned short	addr; | 
 | 		unsigned short	count; | 
 | 		unsigned short	segment; | 
 | 		unsigned char	bin_data[DATA_SIZE]; | 
 | }	bin_frame; | 
 |  | 
 | #ifdef __KERNEL__ | 
 |  | 
 | #define		YES	1 | 
 | #define		NO	0 | 
 |  | 
 | #define		ISILOAD_MISC_MINOR	155	/* /dev/isctl */ | 
 | #define		ISILOAD_NAME		"ISILoad" | 
 |  | 
 | /*	 | 
 |  *  ISICOM Driver definitions ... | 
 |  * | 
 |  */ | 
 |  | 
 | #define		ISICOM_NAME	"ISICom" | 
 |  | 
 | /* | 
 |  *      PCI definitions | 
 |  */ | 
 |  | 
 |  #define        DEVID_COUNT     9 | 
 |  #define        VENDOR_ID       0x10b5 | 
 |  | 
 | /* | 
 |  *	These are now officially allocated numbers | 
 |  */ | 
 |  | 
 | #define		ISICOM_NMAJOR	112	/* normal  */ | 
 | #define		ISICOM_CMAJOR	113	/* callout */ | 
 | #define		ISICOM_MAGIC	(('M' << 8) | 'T') | 
 |  | 
 | #define		WAKEUP_CHARS	256	/* hard coded for now	*/  | 
 | #define		TX_SIZE		254  | 
 |   | 
 | #define		BOARD_COUNT	4 | 
 | #define		PORT_COUNT	(BOARD_COUNT*16) | 
 |  | 
 | #define		SERIAL_TYPE_NORMAL	1 | 
 |  | 
 | /*   character sizes  */ | 
 |  | 
 | #define		ISICOM_CS5		0x0000 | 
 | #define		ISICOM_CS6		0x0001 | 
 | #define		ISICOM_CS7		0x0002 | 
 | #define		ISICOM_CS8		0x0003 | 
 |  | 
 | /* stop bits */ | 
 |  | 
 | #define		ISICOM_1SB		0x0000 | 
 | #define		ISICOM_2SB		0x0004 | 
 |  | 
 | /* parity */ | 
 |  | 
 | #define		ISICOM_NOPAR		0x0000 | 
 | #define		ISICOM_ODPAR		0x0008 | 
 | #define		ISICOM_EVPAR		0x0018 | 
 |  | 
 | /* flow control */ | 
 |  | 
 | #define		ISICOM_CTSRTS		0x03 | 
 | #define		ISICOM_INITIATE_XONXOFF	0x04 | 
 | #define		ISICOM_RESPOND_XONXOFF	0x08 | 
 |  | 
 | #define InterruptTheCard(base) (outw(0,(base)+0xc))  | 
 | #define ClearInterrupt(base) (inw((base)+0x0a))	 | 
 |  | 
 | #define	BOARD(line)  (((line) >> 4) & 0x3) | 
 |  | 
 | 	/*	isi kill queue bitmap	*/ | 
 | 	 | 
 | #define		ISICOM_KILLTX		0x01 | 
 | #define		ISICOM_KILLRX		0x02 | 
 |  | 
 | 	/* isi_board status bitmap */ | 
 | 	 | 
 | #define		FIRMWARE_LOADED		0x0001 | 
 | #define		BOARD_ACTIVE		0x0002 | 
 |  | 
 |  	/* isi_port status bitmap  */ | 
 |  | 
 | #define		ISI_CTS			0x1000 | 
 | #define		ISI_DSR			0x2000 | 
 | #define		ISI_RI			0x4000 | 
 | #define		ISI_DCD			0x8000 | 
 | #define		ISI_DTR			0x0100 | 
 | #define		ISI_RTS			0x0200 | 
 |  | 
 |  | 
 | #define		ISI_TXOK		0x0001  | 
 |   | 
 | #endif	/*	__KERNEL__	*/ | 
 |  | 
 | #endif	/*	ISICOM_H	*/ | 
 |  |