123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- #define XEMPORTS 0xC02
- #define XEPORTS 0xC22
- #define MAX_ALLOC 0x100
- #define MAXBOARDS 12
- #define FEPCODESEG 0x0200L
- #define FEPCODE 0x2000L
- #define BIOSCODE 0xf800L
- #define MISCGLOBAL 0x0C00L
- #define NPORT 0x0C22L
- #define MBOX 0x0C40L
- #define PORTBASE 0x0C90L
- /* Begin code defines used for epca_setup */
- #define INVALID_BOARD_TYPE 0x1
- #define INVALID_NUM_PORTS 0x2
- #define INVALID_MEM_BASE 0x4
- #define INVALID_PORT_BASE 0x8
- #define INVALID_BOARD_STATUS 0x10
- #define INVALID_ALTPIN 0x20
- /* End code defines used for epca_setup */
- #define FEPCLR 0x00
- #define FEPMEM 0x02
- #define FEPRST 0x04
- #define FEPINT 0x08
- #define FEPMASK 0x0e
- #define FEPWIN 0x80
- #define PCXE 0
- #define PCXEVE 1
- #define PCXEM 2
- #define EISAXEM 3
- #define PC64XE 4
- #define PCXI 5
- #define PCIXEM 7
- #define PCICX 8
- #define PCIXR 9
- #define PCIXRJ 10
- #define EPCA_NUM_TYPES 6
- static char *board_desc[] =
- {
- "PC/Xe",
- "PC/Xeve",
- "PC/Xem",
- "EISA/Xem",
- "PC/64Xe",
- "PC/Xi",
- "unknown",
- "PCI/Xem",
- "PCI/CX",
- "PCI/Xr",
- "PCI/Xrj",
- };
- #define STARTC 021
- #define STOPC 023
- #define IAIXON 0x2000
- #define TXSTOPPED 0x1
- #define LOWWAIT 0x2
- #define EMPTYWAIT 0x4
- #define RXSTOPPED 0x8
- #define TXBUSY 0x10
- #define DISABLED 0
- #define ENABLED 1
- #define OFF 0
- #define ON 1
- #define FEPTIMEOUT 200000
- #define SERIAL_TYPE_INFO 3
- #define EPCA_EVENT_HANGUP 1
- #define EPCA_MAGIC 0x5c6df104L
- struct channel
- {
- long magic;
- struct tty_port port;
- unsigned char boardnum;
- unsigned char channelnum;
- unsigned char omodem; /* FEP output modem status */
- unsigned char imodem; /* FEP input modem status */
- unsigned char modemfake; /* Modem values to be forced */
- unsigned char modem; /* Force values */
- unsigned char hflow;
- unsigned char dsr;
- unsigned char dcd;
- unsigned char m_rts ; /* The bits used in whatever FEP */
- unsigned char m_dcd ; /* is indiginous to this board to */
- unsigned char m_dsr ; /* represent each of the physical */
- unsigned char m_cts ; /* handshake lines */
- unsigned char m_ri ;
- unsigned char m_dtr ;
- unsigned char stopc;
- unsigned char startc;
- unsigned char stopca;
- unsigned char startca;
- unsigned char fepstopc;
- unsigned char fepstartc;
- unsigned char fepstopca;
- unsigned char fepstartca;
- unsigned char txwin;
- unsigned char rxwin;
- unsigned short fepiflag;
- unsigned short fepcflag;
- unsigned short fepoflag;
- unsigned short txbufhead;
- unsigned short txbufsize;
- unsigned short rxbufhead;
- unsigned short rxbufsize;
- int close_delay;
- unsigned long event;
- uint dev;
- unsigned long statusflags;
- unsigned long c_iflag;
- unsigned long c_cflag;
- unsigned long c_lflag;
- unsigned long c_oflag;
- unsigned char __iomem *txptr;
- unsigned char __iomem *rxptr;
- struct board_info *board;
- struct board_chan __iomem *brdchan;
- struct digi_struct digiext;
- struct work_struct tqueue;
- struct global_data __iomem *mailbox;
- };
- struct board_info
- {
- unsigned char status;
- unsigned char type;
- unsigned char altpin;
- unsigned short numports;
- unsigned long port;
- unsigned long membase;
- void __iomem *re_map_port;
- void __iomem *re_map_membase;
- unsigned long memory_seg;
- void ( * memwinon ) (struct board_info *, unsigned int) ;
- void ( * memwinoff ) (struct board_info *, unsigned int) ;
- void ( * globalwinon ) (struct channel *) ;
- void ( * txwinon ) (struct channel *) ;
- void ( * rxwinon ) (struct channel *) ;
- void ( * memoff ) (struct channel *) ;
- void ( * assertgwinon ) (struct channel *) ;
- void ( * assertmemoff ) (struct channel *) ;
- unsigned char poller_inhibited ;
- };
|