| #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 */ |
| |