aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/rio/cirrus.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/char/rio/cirrus.h')
-rw-r--r--drivers/char/rio/cirrus.h178
1 files changed, 89 insertions, 89 deletions
diff --git a/drivers/char/rio/cirrus.h b/drivers/char/rio/cirrus.h
index cf056a990f18..217ff09f2fa1 100644
--- a/drivers/char/rio/cirrus.h
+++ b/drivers/char/rio/cirrus.h
@@ -73,20 +73,20 @@
73#define TIMER_TICK 0x82 73#define TIMER_TICK 0x82
74#define STOP_BREAK 0x83 74#define STOP_BREAK 0x83
75#define BASE(a) ((a) < 4 ? (short*)CIRRUS_FIRST : ((a) < 8 ? (short *)CIRRUS_SECOND : ((a) < 12 ? (short*)CIRRUS_THIRD : (short *)CIRRUS_FOURTH))) 75#define BASE(a) ((a) < 4 ? (short*)CIRRUS_FIRST : ((a) < 8 ? (short *)CIRRUS_SECOND : ((a) < 12 ? (short*)CIRRUS_THIRD : (short *)CIRRUS_FOURTH)))
76#define txack1 ((short *)0x7104) 76#define txack1 ((short *)0x7104)
77#define rxack1 ((short *)0x7102) 77#define rxack1 ((short *)0x7102)
78#define mdack1 ((short *)0x7106) 78#define mdack1 ((short *)0x7106)
79#define txack2 ((short *)0x7006) 79#define txack2 ((short *)0x7006)
80#define rxack2 ((short *)0x7004) 80#define rxack2 ((short *)0x7004)
81#define mdack2 ((short *)0x7100) 81#define mdack2 ((short *)0x7100)
82#define int_latch ((short *) 0x7800) 82#define int_latch ((short *) 0x7800)
83#define int_status ((short *) 0x7c00) 83#define int_status ((short *) 0x7c00)
84#define tx1_pending 0x20 84#define tx1_pending 0x20
85#define rx1_pending 0x10 85#define rx1_pending 0x10
86#define md1_pending 0x40 86#define md1_pending 0x40
87#define tx2_pending 0x02 87#define tx2_pending 0x02
88#define rx2_pending 0x01 88#define rx2_pending 0x01
89#define md2_pending 0x40 89#define md2_pending 0x40
90#define module1_bits 0x07 90#define module1_bits 0x07
91#define module1_modern 0x08 91#define module1_modern 0x08
92#define module2_bits 0x70 92#define module2_bits 0x70
@@ -113,65 +113,65 @@
113 NB. These registers are relative values on 8 bit boundaries whereas 113 NB. These registers are relative values on 8 bit boundaries whereas
114 on the RTA's the CIRRUS registers are on word boundaries. Use pointer 114 on the RTA's the CIRRUS registers are on word boundaries. Use pointer
115 arithmetic (short *) to obtain the real addresses required */ 115 arithmetic (short *) to obtain the real addresses required */
116#define ccr 0x05 /* Channel Command Register */ 116#define ccr 0x05 /* Channel Command Register */
117#define ier 0x06 /* Interrupt Enable Register */ 117#define ier 0x06 /* Interrupt Enable Register */
118#define cor1 0x08 /* Channel Option Register 1 */ 118#define cor1 0x08 /* Channel Option Register 1 */
119#define cor2 0x09 /* Channel Option Register 2 */ 119#define cor2 0x09 /* Channel Option Register 2 */
120#define cor3 0x0a /* Channel Option Register 3 */ 120#define cor3 0x0a /* Channel Option Register 3 */
121#define cor4 0x1e /* Channel Option Register 4 */ 121#define cor4 0x1e /* Channel Option Register 4 */
122#define cor5 0x1f /* Channel Option Register 5 */ 122#define cor5 0x1f /* Channel Option Register 5 */
123 123
124#define ccsr 0x0b /* Channel Control Status Register */ 124#define ccsr 0x0b /* Channel Control Status Register */
125#define rdcr 0x0e /* Receive Data Count Register */ 125#define rdcr 0x0e /* Receive Data Count Register */
126#define tdcr 0x12 /* Transmit Data Count Register */ 126#define tdcr 0x12 /* Transmit Data Count Register */
127#define mcor1 0x15 /* Modem Change Option Register 1 */ 127#define mcor1 0x15 /* Modem Change Option Register 1 */
128#define mcor2 0x16 /* Modem Change Option Regsiter 2 */ 128#define mcor2 0x16 /* Modem Change Option Regsiter 2 */
129 129
130#define livr 0x18 /* Local Interrupt Vector Register */ 130#define livr 0x18 /* Local Interrupt Vector Register */
131#define schr1 0x1a /* Special Character Register 1 */ 131#define schr1 0x1a /* Special Character Register 1 */
132#define schr2 0x1b /* Special Character Register 2 */ 132#define schr2 0x1b /* Special Character Register 2 */
133#define schr3 0x1c /* Special Character Register 3 */ 133#define schr3 0x1c /* Special Character Register 3 */
134#define schr4 0x1d /* Special Character Register 4 */ 134#define schr4 0x1d /* Special Character Register 4 */
135 135
136#define rtr 0x20 /* Receive Timer Register */ 136#define rtr 0x20 /* Receive Timer Register */
137#define rtpr 0x21 /* Receive Timeout Period Register */ 137#define rtpr 0x21 /* Receive Timeout Period Register */
138#define lnc 0x24 /* Lnext character */ 138#define lnc 0x24 /* Lnext character */
139 139
140#define rivr 0x43 /* Receive Interrupt Vector Register */ 140#define rivr 0x43 /* Receive Interrupt Vector Register */
141#define tivr 0x42 /* Transmit Interrupt Vector Register */ 141#define tivr 0x42 /* Transmit Interrupt Vector Register */
142#define mivr 0x41 /* Modem Interrupt Vector Register */ 142#define mivr 0x41 /* Modem Interrupt Vector Register */
143#define gfrcr 0x40 /* Global Firmware Revision code Reg */ 143#define gfrcr 0x40 /* Global Firmware Revision code Reg */
144#define ricr 0x44 /* Receive Interrupting Channel Reg */ 144#define ricr 0x44 /* Receive Interrupting Channel Reg */
145#define ticr 0x45 /* Transmit Interrupting Channel Reg */ 145#define ticr 0x45 /* Transmit Interrupting Channel Reg */
146#define micr 0x46 /* Modem Interrupting Channel Register */ 146#define micr 0x46 /* Modem Interrupting Channel Register */
147 147
148#define gcr 0x4b /* Global configuration register*/ 148#define gcr 0x4b /* Global configuration register */
149#define misr 0x4c /* Modem interrupt status register */ 149#define misr 0x4c /* Modem interrupt status register */
150 150
151#define rbusr 0x59 151#define rbusr 0x59
152#define tbusr 0x5a 152#define tbusr 0x5a
153#define mbusr 0x5b 153#define mbusr 0x5b
154 154
155#define eoir 0x60 /* End Of Interrupt Register */ 155#define eoir 0x60 /* End Of Interrupt Register */
156#define rdsr 0x62 /* Receive Data / Status Register */ 156#define rdsr 0x62 /* Receive Data / Status Register */
157#define tdr 0x63 /* Transmit Data Register */ 157#define tdr 0x63 /* Transmit Data Register */
158#define svrr 0x67 /* Service Request Register */ 158#define svrr 0x67 /* Service Request Register */
159 159
160#define car 0x68 /* Channel Access Register */ 160#define car 0x68 /* Channel Access Register */
161#define mir 0x69 /* Modem Interrupt Register */ 161#define mir 0x69 /* Modem Interrupt Register */
162#define tir 0x6a /* Transmit Interrupt Register */ 162#define tir 0x6a /* Transmit Interrupt Register */
163#define rir 0x6b /* Receive Interrupt Register */ 163#define rir 0x6b /* Receive Interrupt Register */
164#define msvr1 0x6c /* Modem Signal Value Register 1 */ 164#define msvr1 0x6c /* Modem Signal Value Register 1 */
165#define msvr2 0x6d /* Modem Signal Value Register 2*/ 165#define msvr2 0x6d /* Modem Signal Value Register 2 */
166#define psvr 0x6f /* Printer Signal Value Register*/ 166#define psvr 0x6f /* Printer Signal Value Register */
167 167
168#define tbpr 0x72 /* Transmit Baud Rate Period Register */ 168#define tbpr 0x72 /* Transmit Baud Rate Period Register */
169#define tcor 0x76 /* Transmit Clock Option Register */ 169#define tcor 0x76 /* Transmit Clock Option Register */
170 170
171#define rbpr 0x78 /* Receive Baud Rate Period Register */ 171#define rbpr 0x78 /* Receive Baud Rate Period Register */
172#define rber 0x7a /* Receive Baud Rate Extension Register */ 172#define rber 0x7a /* Receive Baud Rate Extension Register */
173#define rcor 0x7c /* Receive Clock Option Register*/ 173#define rcor 0x7c /* Receive Clock Option Register */
174#define ppr 0x7e /* Prescalar Period Register */ 174#define ppr 0x7e /* Prescalar Period Register */
175 175
176/* Misc registers used for forcing the 1400 out of its reset woes */ 176/* Misc registers used for forcing the 1400 out of its reset woes */
177#define airl 0x6d 177#define airl 0x6d
@@ -192,10 +192,10 @@
192 192
193/* RDSR - when status read from FIFO */ 193/* RDSR - when status read from FIFO */
194#define RDSR_BREAK 0x08 /* Break received */ 194#define RDSR_BREAK 0x08 /* Break received */
195#define RDSR_TIMEOUT 0x80 /* No new data timeout */ 195#define RDSR_TIMEOUT 0x80 /* No new data timeout */
196#define RDSR_SC1 0x10 /* Special char 1 (tx XON) matched */ 196#define RDSR_SC1 0x10 /* Special char 1 (tx XON) matched */
197#define RDSR_SC2 0x20 /* Special char 2 (tx XOFF) matched */ 197#define RDSR_SC2 0x20 /* Special char 2 (tx XOFF) matched */
198#define RDSR_SC12_MASK 0x30 /* Mask for special chars 1 and 2 */ 198#define RDSR_SC12_MASK 0x30 /* Mask for special chars 1 and 2 */
199 199
200/* PPR */ 200/* PPR */
201#define PPR_DEFAULT 0x31 /* Default value - for a 25Mhz clock gives 201#define PPR_DEFAULT 0x31 /* Default value - for a 25Mhz clock gives
@@ -244,7 +244,7 @@
244#define IER_TIMEOUT 0x01 /* Timeout on no data */ 244#define IER_TIMEOUT 0x01 /* Timeout on no data */
245 245
246#define IER_DEFAULT 0x94 /* Default values */ 246#define IER_DEFAULT 0x94 /* Default values */
247#define IER_PARALLEL 0x84 /* Default for Parallel */ 247#define IER_PARALLEL 0x84 /* Default for Parallel */
248#define IER_EMPTY 0x92 /* Transmitter empty rather than ready */ 248#define IER_EMPTY 0x92 /* Transmitter empty rather than ready */
249 249
250/* COR1 - Driver only */ 250/* COR1 - Driver only */
@@ -264,11 +264,11 @@
264#define COR1_7BITS 0x02 /* 7 data bits */ 264#define COR1_7BITS 0x02 /* 7 data bits */
265#define COR1_8BITS 0x03 /* 8 data bits */ 265#define COR1_8BITS 0x03 /* 8 data bits */
266 266
267#define COR1_HOST 0xef /* Safe host bits */ 267#define COR1_HOST 0xef /* Safe host bits */
268 268
269/* RTA only */ 269/* RTA only */
270#define COR1_CINPCK 0x00 /* Check parity of received characters */ 270#define COR1_CINPCK 0x00 /* Check parity of received characters */
271#define COR1_CNINPCK 0x10 /* Don't check parity */ 271#define COR1_CNINPCK 0x10 /* Don't check parity */
272 272
273/* COR2 bits for both RTA and driver use */ 273/* COR2 bits for both RTA and driver use */
274#define COR2_IXANY 0x80 /* IXANY - any character is XON */ 274#define COR2_IXANY 0x80 /* IXANY - any character is XON */
@@ -293,9 +293,9 @@
293#define COR3_FCT 0x20 /* Flow control transparency */ 293#define COR3_FCT 0x20 /* Flow control transparency */
294#define COR3_SCD12 0x10 /* Special character detect for SCHR's 1 + 2 */ 294#define COR3_SCD12 0x10 /* Special character detect for SCHR's 1 + 2 */
295#define COR3_FIFO12 0x0c /* 12 chars for receive FIFO threshold */ 295#define COR3_FIFO12 0x0c /* 12 chars for receive FIFO threshold */
296#define COR3_FIFO10 0x0a /* 10 chars for receive FIFO threshold */ 296#define COR3_FIFO10 0x0a /* 10 chars for receive FIFO threshold */
297#define COR3_FIFO8 0x08 /* 8 chars for receive FIFO threshold */ 297#define COR3_FIFO8 0x08 /* 8 chars for receive FIFO threshold */
298#define COR3_FIFO6 0x06 /* 6 chars for receive FIFO threshold */ 298#define COR3_FIFO6 0x06 /* 6 chars for receive FIFO threshold */
299 299
300#define COR3_THRESHOLD COR3_FIFO8 /* MUST BE LESS THAN MCOR_THRESHOLD */ 300#define COR3_THRESHOLD COR3_FIFO8 /* MUST BE LESS THAN MCOR_THRESHOLD */
301 301
@@ -386,7 +386,7 @@
386 386
387#define MCOR_THRESHBITS 0x0F /* mask for ANDing out the above */ 387#define MCOR_THRESHBITS 0x0F /* mask for ANDing out the above */
388 388
389#define MCOR_THRESHOLD MCOR_THRESH9 /* MUST BE GREATER THAN COR3_THRESHOLD */ 389#define MCOR_THRESHOLD MCOR_THRESH9 /* MUST BE GREATER THAN COR3_THRESHOLD */
390 390
391 391
392/* RTPR */ 392/* RTPR */
@@ -429,25 +429,25 @@
429#define CONFIG 0x01 /* Configure a port */ 429#define CONFIG 0x01 /* Configure a port */
430#define MOPEN 0x02 /* Modem open (block for DCD) */ 430#define MOPEN 0x02 /* Modem open (block for DCD) */
431#define CLOSE 0x03 /* Close a port */ 431#define CLOSE 0x03 /* Close a port */
432#define WFLUSH (0x04 | PRE_EMPTIVE) /* Write flush */ 432#define WFLUSH (0x04 | PRE_EMPTIVE) /* Write flush */
433#define RFLUSH (0x05 | PRE_EMPTIVE) /* Read flush */ 433#define RFLUSH (0x05 | PRE_EMPTIVE) /* Read flush */
434#define RESUME (0x06 | PRE_EMPTIVE) /* Resume if xoffed */ 434#define RESUME (0x06 | PRE_EMPTIVE) /* Resume if xoffed */
435#define SBREAK 0x07 /* Start break */ 435#define SBREAK 0x07 /* Start break */
436#define EBREAK 0x08 /* End break */ 436#define EBREAK 0x08 /* End break */
437#define SUSPEND (0x09 | PRE_EMPTIVE) /* Susp op (behave as tho xoffed) */ 437#define SUSPEND (0x09 | PRE_EMPTIVE) /* Susp op (behave as tho xoffed) */
438#define FCLOSE (0x0a | PRE_EMPTIVE) /* Force close */ 438#define FCLOSE (0x0a | PRE_EMPTIVE) /* Force close */
439#define XPRINT 0x0b /* Xprint packet */ 439#define XPRINT 0x0b /* Xprint packet */
440#define MBIS (0x0c | PRE_EMPTIVE) /* Set modem lines */ 440#define MBIS (0x0c | PRE_EMPTIVE) /* Set modem lines */
441#define MBIC (0x0d | PRE_EMPTIVE) /* Clear modem lines */ 441#define MBIC (0x0d | PRE_EMPTIVE) /* Clear modem lines */
442#define MSET (0x0e | PRE_EMPTIVE) /* Set modem lines */ 442#define MSET (0x0e | PRE_EMPTIVE) /* Set modem lines */
443#define PCLOSE 0x0f /* Pseudo close - Leaves rx/tx enabled */ 443#define PCLOSE 0x0f /* Pseudo close - Leaves rx/tx enabled */
444#define MGET (0x10 | PRE_EMPTIVE) /* Force update of modem status */ 444#define MGET (0x10 | PRE_EMPTIVE) /* Force update of modem status */
445#define MEMDUMP (0x11 | PRE_EMPTIVE) /* Send back mem from addr supplied */ 445#define MEMDUMP (0x11 | PRE_EMPTIVE) /* Send back mem from addr supplied */
446#define READ_REGISTER (0x12 | PRE_EMPTIVE) /* Read CD1400 register (debug) */ 446#define READ_REGISTER (0x12 | PRE_EMPTIVE) /* Read CD1400 register (debug) */
447 447
448/* "Command" packets going from remote to host COMPLETE and MODEM_STATUS 448/* "Command" packets going from remote to host COMPLETE and MODEM_STATUS
449 use data[4] / data[3] to indicate current state and modem status respectively 449 use data[4] / data[3] to indicate current state and modem status respectively
450*/ 450*/
451 451
452#define COMPLETE (0x20 | PRE_EMPTIVE) 452#define COMPLETE (0x20 | PRE_EMPTIVE)
453 /* Command complete */ 453 /* Command complete */