diff options
Diffstat (limited to 'include/linux/serial167.h')
-rw-r--r-- | include/linux/serial167.h | 171 |
1 files changed, 171 insertions, 0 deletions
diff --git a/include/linux/serial167.h b/include/linux/serial167.h new file mode 100644 index 000000000000..71b6df2516a6 --- /dev/null +++ b/include/linux/serial167.h | |||
@@ -0,0 +1,171 @@ | |||
1 | /* | ||
2 | * serial167.h | ||
3 | * | ||
4 | * Richard Hirst [richard@sleepie.demon.co.uk] | ||
5 | * | ||
6 | * Based on cyclades.h | ||
7 | */ | ||
8 | |||
9 | struct cyclades_monitor { | ||
10 | unsigned long int_count; | ||
11 | unsigned long char_count; | ||
12 | unsigned long char_max; | ||
13 | unsigned long char_last; | ||
14 | }; | ||
15 | |||
16 | /* | ||
17 | * This is our internal structure for each serial port's state. | ||
18 | * | ||
19 | * Many fields are paralleled by the structure used by the serial_struct | ||
20 | * structure. | ||
21 | * | ||
22 | * For definitions of the flags field, see tty.h | ||
23 | */ | ||
24 | |||
25 | struct cyclades_port { | ||
26 | int magic; | ||
27 | int type; | ||
28 | int card; | ||
29 | int line; | ||
30 | int flags; /* defined in tty.h */ | ||
31 | struct tty_struct *tty; | ||
32 | int read_status_mask; | ||
33 | int timeout; | ||
34 | int xmit_fifo_size; | ||
35 | int cor1,cor2,cor3,cor4,cor5,cor6,cor7; | ||
36 | int tbpr,tco,rbpr,rco; | ||
37 | int ignore_status_mask; | ||
38 | int close_delay; | ||
39 | int IER; /* Interrupt Enable Register */ | ||
40 | unsigned long event; | ||
41 | unsigned long last_active; | ||
42 | int count; /* # of fd on device */ | ||
43 | int x_char; /* to be pushed out ASAP */ | ||
44 | int x_break; | ||
45 | int blocked_open; /* # of blocked opens */ | ||
46 | unsigned char *xmit_buf; | ||
47 | int xmit_head; | ||
48 | int xmit_tail; | ||
49 | int xmit_cnt; | ||
50 | int default_threshold; | ||
51 | int default_timeout; | ||
52 | struct work_struct tqueue; | ||
53 | wait_queue_head_t open_wait; | ||
54 | wait_queue_head_t close_wait; | ||
55 | struct cyclades_monitor mon; | ||
56 | }; | ||
57 | |||
58 | #define CYCLADES_MAGIC 0x4359 | ||
59 | |||
60 | #define CYGETMON 0x435901 | ||
61 | #define CYGETTHRESH 0x435902 | ||
62 | #define CYSETTHRESH 0x435903 | ||
63 | #define CYGETDEFTHRESH 0x435904 | ||
64 | #define CYSETDEFTHRESH 0x435905 | ||
65 | #define CYGETTIMEOUT 0x435906 | ||
66 | #define CYSETTIMEOUT 0x435907 | ||
67 | #define CYGETDEFTIMEOUT 0x435908 | ||
68 | #define CYSETDEFTIMEOUT 0x435909 | ||
69 | |||
70 | /* | ||
71 | * Events are used to schedule things to happen at timer-interrupt | ||
72 | * time, instead of at cy interrupt time. | ||
73 | */ | ||
74 | #define Cy_EVENT_READ_PROCESS 0 | ||
75 | #define Cy_EVENT_WRITE_WAKEUP 1 | ||
76 | #define Cy_EVENT_HANGUP 2 | ||
77 | #define Cy_EVENT_BREAK 3 | ||
78 | #define Cy_EVENT_OPEN_WAKEUP 4 | ||
79 | |||
80 | |||
81 | |||
82 | #define CyMaxChipsPerCard 1 | ||
83 | |||
84 | /**** cd2401 registers ****/ | ||
85 | |||
86 | #define CyGFRCR (0x81) | ||
87 | #define CyCCR (0x13) | ||
88 | #define CyCLR_CHAN (0x40) | ||
89 | #define CyINIT_CHAN (0x20) | ||
90 | #define CyCHIP_RESET (0x10) | ||
91 | #define CyENB_XMTR (0x08) | ||
92 | #define CyDIS_XMTR (0x04) | ||
93 | #define CyENB_RCVR (0x02) | ||
94 | #define CyDIS_RCVR (0x01) | ||
95 | #define CyCAR (0xee) | ||
96 | #define CyIER (0x11) | ||
97 | #define CyMdmCh (0x80) | ||
98 | #define CyRxExc (0x20) | ||
99 | #define CyRxData (0x08) | ||
100 | #define CyTxMpty (0x02) | ||
101 | #define CyTxRdy (0x01) | ||
102 | #define CyLICR (0x26) | ||
103 | #define CyRISR (0x89) | ||
104 | #define CyTIMEOUT (0x80) | ||
105 | #define CySPECHAR (0x70) | ||
106 | #define CyOVERRUN (0x08) | ||
107 | #define CyPARITY (0x04) | ||
108 | #define CyFRAME (0x02) | ||
109 | #define CyBREAK (0x01) | ||
110 | #define CyREOIR (0x84) | ||
111 | #define CyTEOIR (0x85) | ||
112 | #define CyMEOIR (0x86) | ||
113 | #define CyNOTRANS (0x08) | ||
114 | #define CyRFOC (0x30) | ||
115 | #define CyRDR (0xf8) | ||
116 | #define CyTDR (0xf8) | ||
117 | #define CyMISR (0x8b) | ||
118 | #define CyRISR (0x89) | ||
119 | #define CyTISR (0x8a) | ||
120 | #define CyMSVR1 (0xde) | ||
121 | #define CyMSVR2 (0xdf) | ||
122 | #define CyDSR (0x80) | ||
123 | #define CyDCD (0x40) | ||
124 | #define CyCTS (0x20) | ||
125 | #define CyDTR (0x02) | ||
126 | #define CyRTS (0x01) | ||
127 | #define CyRTPRL (0x25) | ||
128 | #define CyRTPRH (0x24) | ||
129 | #define CyCOR1 (0x10) | ||
130 | #define CyPARITY_NONE (0x00) | ||
131 | #define CyPARITY_E (0x40) | ||
132 | #define CyPARITY_O (0xC0) | ||
133 | #define Cy_5_BITS (0x04) | ||
134 | #define Cy_6_BITS (0x05) | ||
135 | #define Cy_7_BITS (0x06) | ||
136 | #define Cy_8_BITS (0x07) | ||
137 | #define CyCOR2 (0x17) | ||
138 | #define CyETC (0x20) | ||
139 | #define CyCtsAE (0x02) | ||
140 | #define CyCOR3 (0x16) | ||
141 | #define Cy_1_STOP (0x02) | ||
142 | #define Cy_2_STOP (0x04) | ||
143 | #define CyCOR4 (0x15) | ||
144 | #define CyREC_FIFO (0x0F) /* Receive FIFO threshold */ | ||
145 | #define CyCOR5 (0x14) | ||
146 | #define CyCOR6 (0x18) | ||
147 | #define CyCOR7 (0x07) | ||
148 | #define CyRBPR (0xcb) | ||
149 | #define CyRCOR (0xc8) | ||
150 | #define CyTBPR (0xc3) | ||
151 | #define CyTCOR (0xc0) | ||
152 | #define CySCHR1 (0x1f) | ||
153 | #define CySCHR2 (0x1e) | ||
154 | #define CyTPR (0xda) | ||
155 | #define CyPILR1 (0xe3) | ||
156 | #define CyPILR2 (0xe0) | ||
157 | #define CyPILR3 (0xe1) | ||
158 | #define CyCMR (0x1b) | ||
159 | #define CyASYNC (0x02) | ||
160 | #define CyLICR (0x26) | ||
161 | #define CyLIVR (0x09) | ||
162 | #define CySCRL (0x23) | ||
163 | #define CySCRH (0x22) | ||
164 | #define CyTFTC (0x80) | ||
165 | |||
166 | |||
167 | /* max number of chars in the FIFO */ | ||
168 | |||
169 | #define CyMAX_CHAR_FIFO 12 | ||
170 | |||
171 | /***************************************************************************/ | ||