| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | #ifndef _LINUX_ISICOM_H | 
|  | 2 | #define _LINUX_ISICOM_H | 
|  | 3 |  | 
|  | 4 | /*#define		ISICOM_DEBUG*/ | 
|  | 5 | /*#define		ISICOM_DEBUG_DTR_RTS*/ | 
|  | 6 |  | 
|  | 7 |  | 
|  | 8 | /* | 
|  | 9 | *	Firmware Loader definitions ... | 
|  | 10 | */ | 
|  | 11 |  | 
|  | 12 | #define		__MultiTech		('M'<<8) | 
|  | 13 | #define		MIOCTL_LOAD_FIRMWARE	(__MultiTech | 0x01) | 
|  | 14 | #define         MIOCTL_READ_FIRMWARE    (__MultiTech | 0x02) | 
|  | 15 | #define         MIOCTL_XFER_CTRL	(__MultiTech | 0x03) | 
|  | 16 | #define         MIOCTL_RESET_CARD	(__MultiTech | 0x04) | 
|  | 17 |  | 
|  | 18 | #define		DATA_SIZE	16 | 
|  | 19 |  | 
|  | 20 | typedef	struct	{ | 
|  | 21 | unsigned short	exec_segment; | 
|  | 22 | unsigned short	exec_addr; | 
|  | 23 | }	exec_record; | 
|  | 24 |  | 
|  | 25 | typedef	struct	{ | 
|  | 26 | int		board;		/* Board to load */ | 
|  | 27 | unsigned short	addr; | 
|  | 28 | unsigned short	count; | 
|  | 29 | }	bin_header; | 
|  | 30 |  | 
|  | 31 | typedef	struct	{ | 
|  | 32 | int		board;		/* Board to load */ | 
|  | 33 | unsigned short	addr; | 
|  | 34 | unsigned short	count; | 
|  | 35 | unsigned short	segment; | 
|  | 36 | unsigned char	bin_data[DATA_SIZE]; | 
|  | 37 | }	bin_frame; | 
|  | 38 |  | 
|  | 39 | #ifdef __KERNEL__ | 
|  | 40 |  | 
|  | 41 | #define		YES	1 | 
|  | 42 | #define		NO	0 | 
|  | 43 |  | 
|  | 44 | #define		ISILOAD_MISC_MINOR	155	/* /dev/isctl */ | 
|  | 45 | #define		ISILOAD_NAME		"ISILoad" | 
|  | 46 |  | 
|  | 47 | /* | 
|  | 48 | *  ISICOM Driver definitions ... | 
|  | 49 | * | 
|  | 50 | */ | 
|  | 51 |  | 
|  | 52 | #define		ISICOM_NAME	"ISICom" | 
|  | 53 |  | 
|  | 54 | /* | 
|  | 55 | *      PCI definitions | 
|  | 56 | */ | 
|  | 57 |  | 
|  | 58 | #define        DEVID_COUNT     9 | 
|  | 59 | #define        VENDOR_ID       0x10b5 | 
|  | 60 |  | 
|  | 61 | /* | 
|  | 62 | *	These are now officially allocated numbers | 
|  | 63 | */ | 
|  | 64 |  | 
|  | 65 | #define		ISICOM_NMAJOR	112	/* normal  */ | 
|  | 66 | #define		ISICOM_CMAJOR	113	/* callout */ | 
|  | 67 | #define		ISICOM_MAGIC	(('M' << 8) | 'T') | 
|  | 68 |  | 
|  | 69 | #define		WAKEUP_CHARS	256	/* hard coded for now	*/ | 
|  | 70 | #define		TX_SIZE		254 | 
|  | 71 |  | 
|  | 72 | #define		BOARD_COUNT	4 | 
|  | 73 | #define		PORT_COUNT	(BOARD_COUNT*16) | 
|  | 74 |  | 
|  | 75 | #define		SERIAL_TYPE_NORMAL	1 | 
|  | 76 |  | 
|  | 77 | /*   character sizes  */ | 
|  | 78 |  | 
|  | 79 | #define		ISICOM_CS5		0x0000 | 
|  | 80 | #define		ISICOM_CS6		0x0001 | 
|  | 81 | #define		ISICOM_CS7		0x0002 | 
|  | 82 | #define		ISICOM_CS8		0x0003 | 
|  | 83 |  | 
|  | 84 | /* stop bits */ | 
|  | 85 |  | 
|  | 86 | #define		ISICOM_1SB		0x0000 | 
|  | 87 | #define		ISICOM_2SB		0x0004 | 
|  | 88 |  | 
|  | 89 | /* parity */ | 
|  | 90 |  | 
|  | 91 | #define		ISICOM_NOPAR		0x0000 | 
|  | 92 | #define		ISICOM_ODPAR		0x0008 | 
|  | 93 | #define		ISICOM_EVPAR		0x0018 | 
|  | 94 |  | 
|  | 95 | /* flow control */ | 
|  | 96 |  | 
|  | 97 | #define		ISICOM_CTSRTS		0x03 | 
|  | 98 | #define		ISICOM_INITIATE_XONXOFF	0x04 | 
|  | 99 | #define		ISICOM_RESPOND_XONXOFF	0x08 | 
|  | 100 |  | 
|  | 101 | #define InterruptTheCard(base) (outw(0,(base)+0xc)) | 
|  | 102 | #define ClearInterrupt(base) (inw((base)+0x0a)) | 
|  | 103 |  | 
|  | 104 | #define	BOARD(line)  (((line) >> 4) & 0x3) | 
|  | 105 |  | 
|  | 106 | /*	isi kill queue bitmap	*/ | 
|  | 107 |  | 
|  | 108 | #define		ISICOM_KILLTX		0x01 | 
|  | 109 | #define		ISICOM_KILLRX		0x02 | 
|  | 110 |  | 
|  | 111 | /* isi_board status bitmap */ | 
|  | 112 |  | 
|  | 113 | #define		FIRMWARE_LOADED		0x0001 | 
|  | 114 | #define		BOARD_ACTIVE		0x0002 | 
|  | 115 |  | 
|  | 116 | /* isi_port status bitmap  */ | 
|  | 117 |  | 
|  | 118 | #define		ISI_CTS			0x1000 | 
|  | 119 | #define		ISI_DSR			0x2000 | 
|  | 120 | #define		ISI_RI			0x4000 | 
|  | 121 | #define		ISI_DCD			0x8000 | 
|  | 122 | #define		ISI_DTR			0x0100 | 
|  | 123 | #define		ISI_RTS			0x0200 | 
|  | 124 |  | 
|  | 125 |  | 
|  | 126 | #define		ISI_TXOK		0x0001 | 
|  | 127 |  | 
|  | 128 | #endif	/*	__KERNEL__	*/ | 
|  | 129 |  | 
|  | 130 | #endif	/*	ISICOM_H	*/ | 
|  | 131 |  |