OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [drivers/] [char/] [epca.h] - Blame information for rev 1774

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
#define XEMPORTS    0xC02
2
#define XEPORTS     0xC22
3
 
4
#define MAX_ALLOC   0x100
5
 
6
#define MAXBOARDS   12
7
#define FEPCODESEG  0x0200L
8
#define FEPCODE     0x2000L
9
#define BIOSCODE    0xf800L
10
 
11
#define MISCGLOBAL  0x0C00L
12
#define NPORT       0x0C22L
13
#define MBOX        0x0C40L
14
#define PORTBASE    0x0C90L
15
 
16
/* Begin code defines used for epca_setup */
17
 
18
#define INVALID_BOARD_TYPE   0x1
19
#define INVALID_NUM_PORTS    0x2
20
#define INVALID_MEM_BASE     0x4
21
#define INVALID_PORT_BASE    0x8
22
#define INVALID_BOARD_STATUS 0x10
23
#define INVALID_ALTPIN       0x20
24
 
25
/* End code defines used for epca_setup */
26
 
27
 
28
#define FEPCLR      0x00
29
#define FEPMEM      0x02
30
#define FEPRST      0x04
31
#define FEPINT      0x08
32
#define FEPMASK     0x0e
33
#define FEPWIN      0x80
34
 
35
#define PCXE    0
36
#define PCXEVE  1
37
#define PCXEM   2   
38
#define EISAXEM 3
39
#define PC64XE  4
40
#define PCXI    5
41
#define PCIXEM  7
42
#define PCICX   8
43
#define PCIXR   9
44
#define PCIXRJ  10
45
#define EPCA_NUM_TYPES 6
46
 
47
 
48
static char *board_desc[] =
49
{
50
        "PC/Xe",
51
        "PC/Xeve",
52
        "PC/Xem",
53
        "EISA/Xem",
54
        "PC/64Xe",
55
        "PC/Xi",
56
        "unknown",
57
        "PCI/Xem",
58
        "PCI/CX",
59
        "PCI/Xr",
60
        "PCI/Xrj",
61
};
62
 
63
#define STARTC      021
64
#define STOPC       023
65
#define IAIXON      0x2000
66
 
67
 
68
#define TXSTOPPED  0x1
69
#define LOWWAIT    0x2
70
#define EMPTYWAIT  0x4
71
#define RXSTOPPED  0x8
72
#define TXBUSY     0x10
73
 
74
#define DISABLED   0
75
#define ENABLED    1
76
#define OFF        0
77
#define ON         1
78
 
79
#define FEPTIMEOUT 200000  
80
#define SERIAL_TYPE_NORMAL  1
81
#define SERIAL_TYPE_CALLOUT 2
82
#define SERIAL_TYPE_INFO    3
83
#define EPCA_EVENT_HANGUP   1
84
#define EPCA_MAGIC          0x5c6df104L
85
 
86
struct channel
87
{
88
        long   magic;
89
        unchar boardnum;
90
        unchar channelnum;
91
        unchar omodem;         /* FEP output modem status     */
92
        unchar imodem;         /* FEP input modem status      */
93
        unchar modemfake;      /* Modem values to be forced   */
94
        unchar modem;          /* Force values                */
95
        unchar hflow;
96
        unchar dsr;
97
        unchar dcd;
98
        unchar m_rts ;          /* The bits used in whatever FEP */
99
        unchar m_dcd ;          /* is indiginous to this board to */
100
        unchar m_dsr ;          /* represent each of the physical */
101
        unchar m_cts ;          /* handshake lines */
102
        unchar m_ri ;
103
        unchar m_dtr ;
104
        unchar stopc;
105
        unchar startc;
106
        unchar stopca;
107
        unchar startca;
108
        unchar fepstopc;
109
        unchar fepstartc;
110
        unchar fepstopca;
111
        unchar fepstartca;
112
        unchar txwin;
113
        unchar rxwin;
114
        ushort fepiflag;
115
        ushort fepcflag;
116
        ushort fepoflag;
117
        ushort txbufhead;
118
        ushort txbufsize;
119
        ushort rxbufhead;
120
        ushort rxbufsize;
121
        int    close_delay;
122
        int    count;
123
        int    blocked_open;
124
        int    event;
125
        int    asyncflags;
126
        uint   dev;
127
        long   session;
128
        long   pgrp;
129
        ulong  statusflags;
130
        ulong  c_iflag;
131
        ulong  c_cflag;
132
        ulong  c_lflag;
133
        ulong  c_oflag;
134
        unchar *txptr;
135
        unchar *rxptr;
136
        unchar *tmp_buf;
137
        struct board_info           *board;
138
        volatile struct board_chan  *brdchan;
139
        struct digi_struct          digiext;
140
        struct tty_struct           *tty;
141
        struct termios              normal_termios;
142
        struct termios              callout_termios;
143
        wait_queue_head_t           open_wait;
144
        wait_queue_head_t           close_wait;
145
        struct tq_struct            tqueue;
146
        volatile struct global_data *mailbox;
147
};
148
 
149
struct board_info
150
{
151
        unchar status;
152
        unchar type;
153
        unchar altpin;
154
        ushort numports;
155
        unchar *port;
156
        unchar *membase;
157
        unchar *re_map_port;
158
        unchar *re_map_membase;
159
        ulong  memory_seg;
160
        void ( * memwinon )     (struct board_info *, unsigned int) ;
161
        void ( * memwinoff )    (struct board_info *, unsigned int) ;
162
        void ( * globalwinon )  (struct channel *) ;
163
        void ( * txwinon )      (struct channel *) ;
164
        void ( * rxwinon )      (struct channel *) ;
165
        void ( * memoff )       (struct channel *) ;
166
        void ( * assertgwinon ) (struct channel *) ;
167
        void ( * assertmemoff ) (struct channel *) ;
168
        unchar poller_inhibited ;
169
};
170
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.