| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /************************************************************************/ | 
|  | 2 | /*									*/ | 
|  | 3 | /*	Title		:	SX Shared Memory Window Structure	*/ | 
|  | 4 | /*									*/ | 
|  | 5 | /*	Author		:	N.P.Vassallo				*/ | 
|  | 6 | /*									*/ | 
|  | 7 | /*	Creation	:	16th March 1998				*/ | 
|  | 8 | /*									*/ | 
|  | 9 | /*	Version		:	3.0.0					*/ | 
|  | 10 | /*									*/ | 
|  | 11 | /*	Copyright	:	(c) Specialix International Ltd. 1998	*/ | 
|  | 12 | /*									*/ | 
|  | 13 | /*	Description	:	Prototypes, structures and definitions	*/ | 
|  | 14 | /*				describing the SX/SI/XIO cards shared	*/ | 
|  | 15 | /*				memory window structure:		*/ | 
|  | 16 | /*					SXCARD				*/ | 
|  | 17 | /*					SXMODULE			*/ | 
|  | 18 | /*					SXCHANNEL			*/ | 
|  | 19 | /*									*/ | 
|  | 20 | /************************************************************************/ | 
|  | 21 |  | 
|  | 22 | /* History... | 
|  | 23 |  | 
|  | 24 | 3.0.0	16/03/98 NPV	Creation. (based on STRUCT.H) | 
|  | 25 |  | 
|  | 26 | */ | 
|  | 27 |  | 
|  | 28 | #ifndef	_sxwindow_h				/* If SXWINDOW.H not already defined */ | 
|  | 29 | #define	_sxwindow_h    1 | 
|  | 30 |  | 
|  | 31 | /***************************************************************************** | 
|  | 32 | ***************************                        *************************** | 
|  | 33 | ***************************   Common Definitions   *************************** | 
|  | 34 | ***************************                        *************************** | 
|  | 35 | *****************************************************************************/ | 
|  | 36 |  | 
|  | 37 | typedef	struct	_SXCARD		*PSXCARD;	/* SXCARD structure pointer */ | 
|  | 38 | typedef	struct	_SXMODULE	*PMOD;		/* SXMODULE structure pointer */ | 
|  | 39 | typedef	struct	_SXCHANNEL	*PCHAN;		/* SXCHANNEL structure pointer */ | 
|  | 40 |  | 
|  | 41 | /***************************************************************************** | 
|  | 42 | *********************************            ********************************* | 
|  | 43 | *********************************   SXCARD   ********************************* | 
|  | 44 | *********************************            ********************************* | 
|  | 45 | *****************************************************************************/ | 
|  | 46 |  | 
|  | 47 | typedef	struct	_SXCARD | 
|  | 48 | { | 
|  | 49 | BYTE	cc_init_status;			/* 0x00 Initialisation status */ | 
|  | 50 | BYTE	cc_mem_size;			/* 0x01 Size of memory on card */ | 
|  | 51 | WORD	cc_int_count;			/* 0x02 Interrupt count */ | 
|  | 52 | WORD	cc_revision;			/* 0x04 Download code revision */ | 
|  | 53 | BYTE	cc_isr_count;			/* 0x06 Count when ISR is run */ | 
|  | 54 | BYTE	cc_main_count;			/* 0x07 Count when main loop is run */ | 
|  | 55 | WORD	cc_int_pending;			/* 0x08 Interrupt pending */ | 
|  | 56 | WORD	cc_poll_count;			/* 0x0A Count when poll is run */ | 
|  | 57 | BYTE	cc_int_set_count;		/* 0x0C Count when host interrupt is set */ | 
|  | 58 | BYTE	cc_rfu[0x80 - 0x0D];		/* 0x0D Pad structure to 128 bytes (0x80) */ | 
|  | 59 |  | 
|  | 60 | } SXCARD; | 
|  | 61 |  | 
|  | 62 | /* SXCARD.cc_init_status definitions... */ | 
|  | 63 | #define 	ADAPTERS_FOUND		(BYTE)0x01 | 
|  | 64 | #define 	NO_ADAPTERS_FOUND	(BYTE)0xFF | 
|  | 65 |  | 
|  | 66 | /* SXCARD.cc_mem_size definitions... */ | 
|  | 67 | #define 	SX_MEMORY_SIZE		(BYTE)0x40 | 
|  | 68 |  | 
|  | 69 | /* SXCARD.cc_int_count definitions... */ | 
|  | 70 | #define 	INT_COUNT_DEFAULT	100	/* Hz */ | 
|  | 71 |  | 
|  | 72 | /***************************************************************************** | 
|  | 73 | ********************************              ******************************** | 
|  | 74 | ********************************   SXMODULE   ******************************** | 
|  | 75 | ********************************              ******************************** | 
|  | 76 | *****************************************************************************/ | 
|  | 77 |  | 
|  | 78 | #define	TOP_POINTER(a)		((a)|0x8000)	/* Sets top bit of word */ | 
|  | 79 | #define UNTOP_POINTER(a)	((a)&~0x8000)	/* Clears top bit of word */ | 
|  | 80 |  | 
|  | 81 | typedef	struct	_SXMODULE | 
|  | 82 | { | 
|  | 83 | WORD	mc_next;			/* 0x00 Next module "pointer" (ORed with 0x8000) */ | 
|  | 84 | BYTE	mc_type;			/* 0x02 Type of TA in terms of number of channels */ | 
|  | 85 | BYTE	mc_mod_no;			/* 0x03 Module number on SI bus cable (0 closest to card) */ | 
|  | 86 | BYTE	mc_dtr;				/* 0x04 Private DTR copy (TA only) */ | 
|  | 87 | BYTE	mc_rfu1;			/* 0x05 Reserved */ | 
|  | 88 | WORD	mc_uart;			/* 0x06 UART base address for this module */ | 
|  | 89 | BYTE	mc_chip;			/* 0x08 Chip type / number of ports */ | 
|  | 90 | BYTE	mc_current_uart;		/* 0x09 Current uart selected for this module */ | 
|  | 91 | #ifdef	DOWNLOAD | 
|  | 92 | PCHAN	mc_chan_pointer[8];		/* 0x0A Pointer to each channel structure */ | 
|  | 93 | #else | 
|  | 94 | WORD	mc_chan_pointer[8];		/* 0x0A Define as WORD if not compiling into download */ | 
|  | 95 | #endif | 
|  | 96 | WORD	mc_rfu2;			/* 0x1A Reserved */ | 
|  | 97 | BYTE	mc_opens1;			/* 0x1C Number of open ports on first four ports on MTA/SXDC */ | 
|  | 98 | BYTE	mc_opens2;			/* 0x1D Number of open ports on second four ports on MTA/SXDC */ | 
|  | 99 | BYTE	mc_mods;			/* 0x1E Types of connector module attached to MTA/SXDC */ | 
|  | 100 | BYTE	mc_rev1;			/* 0x1F Revision of first CD1400 on MTA/SXDC */ | 
|  | 101 | BYTE	mc_rev2;			/* 0x20 Revision of second CD1400 on MTA/SXDC */ | 
|  | 102 | BYTE	mc_mtaasic_rev;			/* 0x21 Revision of MTA ASIC 1..4 -> A, B, C, D */ | 
|  | 103 | BYTE	mc_rfu3[0x100 - 0x22];		/* 0x22 Pad structure to 256 bytes (0x100) */ | 
|  | 104 |  | 
|  | 105 | } SXMODULE; | 
|  | 106 |  | 
|  | 107 | /* SXMODULE.mc_type definitions... */ | 
|  | 108 | #define		FOUR_PORTS	(BYTE)4 | 
|  | 109 | #define 	EIGHT_PORTS	(BYTE)8 | 
|  | 110 |  | 
|  | 111 | /* SXMODULE.mc_chip definitions... */ | 
|  | 112 | #define 	CHIP_MASK	0xF0 | 
|  | 113 | #define		TA		(BYTE)0 | 
|  | 114 | #define 	TA4		(TA | FOUR_PORTS) | 
|  | 115 | #define 	TA8		(TA | EIGHT_PORTS) | 
|  | 116 | #define		TA4_ASIC	(BYTE)0x0A | 
|  | 117 | #define		TA8_ASIC	(BYTE)0x0B | 
|  | 118 | #define 	MTA_CD1400	(BYTE)0x28 | 
|  | 119 | #define 	SXDC		(BYTE)0x48 | 
|  | 120 |  | 
|  | 121 | /* SXMODULE.mc_mods definitions... */ | 
|  | 122 | #define		MOD_RS232DB25	0x00		/* RS232 DB25 (socket/plug) */ | 
|  | 123 | #define		MOD_RS232RJ45	0x01		/* RS232 RJ45 (shielded/opto-isolated) */ | 
|  | 124 | #define		MOD_RESERVED_2	0x02		/* Reserved (RS485) */ | 
|  | 125 | #define		MOD_RS422DB25	0x03		/* RS422 DB25 Socket */ | 
|  | 126 | #define		MOD_RESERVED_4	0x04		/* Reserved */ | 
|  | 127 | #define		MOD_PARALLEL	0x05		/* Parallel */ | 
|  | 128 | #define		MOD_RESERVED_6	0x06		/* Reserved (RS423) */ | 
|  | 129 | #define		MOD_RESERVED_7	0x07		/* Reserved */ | 
|  | 130 | #define		MOD_2_RS232DB25	0x08		/* Rev 2.0 RS232 DB25 (socket/plug) */ | 
|  | 131 | #define		MOD_2_RS232RJ45	0x09		/* Rev 2.0 RS232 RJ45 */ | 
|  | 132 | #define		MOD_RESERVED_A	0x0A		/* Rev 2.0 Reserved */ | 
|  | 133 | #define		MOD_2_RS422DB25	0x0B		/* Rev 2.0 RS422 DB25 */ | 
|  | 134 | #define		MOD_RESERVED_C	0x0C		/* Rev 2.0 Reserved */ | 
|  | 135 | #define		MOD_2_PARALLEL	0x0D		/* Rev 2.0 Parallel */ | 
|  | 136 | #define		MOD_RESERVED_E	0x0E		/* Rev 2.0 Reserved */ | 
|  | 137 | #define		MOD_BLANK	0x0F		/* Blank Panel */ | 
|  | 138 |  | 
|  | 139 | /***************************************************************************** | 
|  | 140 | ********************************               ******************************* | 
|  | 141 | ********************************   SXCHANNEL   ******************************* | 
|  | 142 | ********************************               ******************************* | 
|  | 143 | *****************************************************************************/ | 
|  | 144 |  | 
|  | 145 | #define		TX_BUFF_OFFSET		0x60	/* Transmit buffer offset in channel structure */ | 
|  | 146 | #define		BUFF_POINTER(a)		(((a)+TX_BUFF_OFFSET)|0x8000) | 
|  | 147 | #define		UNBUFF_POINTER(a)	(jet_channel*)(((a)&~0x8000)-TX_BUFF_OFFSET) | 
|  | 148 | #define 	BUFFER_SIZE		256 | 
|  | 149 | #define 	HIGH_WATER		((BUFFER_SIZE / 4) * 3) | 
|  | 150 | #define 	LOW_WATER		(BUFFER_SIZE / 4) | 
|  | 151 |  | 
|  | 152 | typedef	struct	_SXCHANNEL | 
|  | 153 | { | 
|  | 154 | WORD	next_item;			/* 0x00 Offset from window base of next channels hi_txbuf (ORred with 0x8000) */ | 
|  | 155 | WORD 	addr_uart;			/* 0x02 INTERNAL pointer to uart address. Includes FASTPATH bit */ | 
|  | 156 | WORD	module;				/* 0x04 Offset from window base of parent SXMODULE structure */ | 
|  | 157 | BYTE 	type;				/* 0x06 Chip type / number of ports (copy of mc_chip) */ | 
|  | 158 | BYTE	chan_number;			/* 0x07 Channel number on the TA/MTA/SXDC */ | 
|  | 159 | WORD	xc_status;			/* 0x08 Flow control and I/O status */ | 
|  | 160 | BYTE	hi_rxipos;			/* 0x0A Receive buffer input index */ | 
|  | 161 | BYTE	hi_rxopos;			/* 0x0B Receive buffer output index */ | 
|  | 162 | BYTE	hi_txopos;			/* 0x0C Transmit buffer output index */ | 
|  | 163 | BYTE	hi_txipos;			/* 0x0D Transmit buffer input index */ | 
|  | 164 | BYTE	hi_hstat;			/* 0x0E Command register */ | 
|  | 165 | BYTE	dtr_bit;			/* 0x0F INTERNAL DTR control byte (TA only) */ | 
|  | 166 | BYTE	txon;				/* 0x10 INTERNAL copy of hi_txon */ | 
|  | 167 | BYTE	txoff;				/* 0x11 INTERNAL copy of hi_txoff */ | 
|  | 168 | BYTE	rxon;				/* 0x12 INTERNAL copy of hi_rxon */ | 
|  | 169 | BYTE	rxoff;				/* 0x13 INTERNAL copy of hi_rxoff */ | 
|  | 170 | BYTE	hi_mr1;				/* 0x14 Mode Register 1 (databits,parity,RTS rx flow)*/ | 
|  | 171 | BYTE	hi_mr2;				/* 0x15 Mode Register 2 (stopbits,local,CTS tx flow)*/ | 
|  | 172 | BYTE	hi_csr;				/* 0x16 Clock Select Register (baud rate) */ | 
|  | 173 | BYTE	hi_op;				/* 0x17 Modem Output Signal */ | 
|  | 174 | BYTE	hi_ip;				/* 0x18 Modem Input Signal */ | 
|  | 175 | BYTE	hi_state;			/* 0x19 Channel status */ | 
|  | 176 | BYTE	hi_prtcl;			/* 0x1A Channel protocol (flow control) */ | 
|  | 177 | BYTE	hi_txon;			/* 0x1B Transmit XON character */ | 
|  | 178 | BYTE	hi_txoff;			/* 0x1C Transmit XOFF character */ | 
|  | 179 | BYTE	hi_rxon;			/* 0x1D Receive XON character */ | 
|  | 180 | BYTE	hi_rxoff;			/* 0x1E Receive XOFF character */ | 
|  | 181 | BYTE	close_prev;			/* 0x1F INTERNAL channel previously closed flag */ | 
|  | 182 | BYTE	hi_break;			/* 0x20 Break and error control */ | 
|  | 183 | BYTE	break_state;			/* 0x21 INTERNAL copy of hi_break */ | 
|  | 184 | BYTE	hi_mask;			/* 0x22 Mask for received data */ | 
|  | 185 | BYTE	mask;				/* 0x23 INTERNAL copy of hi_mask */ | 
|  | 186 | BYTE	mod_type;			/* 0x24 MTA/SXDC hardware module type */ | 
|  | 187 | BYTE	ccr_state;			/* 0x25 INTERNAL MTA/SXDC state of CCR register */ | 
|  | 188 | BYTE	ip_mask;			/* 0x26 Input handshake mask */ | 
|  | 189 | BYTE	hi_parallel;			/* 0x27 Parallel port flag */ | 
|  | 190 | BYTE	par_error;			/* 0x28 Error code for parallel loopback test */ | 
|  | 191 | BYTE	any_sent;			/* 0x29 INTERNAL data sent flag */ | 
|  | 192 | BYTE	asic_txfifo_size;		/* 0x2A INTERNAL SXDC transmit FIFO size */ | 
|  | 193 | BYTE	rfu1[2];			/* 0x2B Reserved */ | 
|  | 194 | BYTE	csr;				/* 0x2D INTERNAL copy of hi_csr */ | 
|  | 195 | #ifdef	DOWNLOAD | 
|  | 196 | PCHAN	nextp;				/* 0x2E Offset from window base of next channel structure */ | 
|  | 197 | #else | 
|  | 198 | WORD	nextp;				/* 0x2E Define as WORD if not compiling into download */ | 
|  | 199 | #endif | 
|  | 200 | BYTE	prtcl;				/* 0x30 INTERNAL copy of hi_prtcl */ | 
|  | 201 | BYTE	mr1;				/* 0x31 INTERNAL copy of hi_mr1 */ | 
|  | 202 | BYTE	mr2;				/* 0x32 INTERNAL copy of hi_mr2 */ | 
|  | 203 | BYTE	hi_txbaud;			/* 0x33 Extended transmit baud rate (SXDC only if((hi_csr&0x0F)==0x0F) */ | 
|  | 204 | BYTE	hi_rxbaud;			/* 0x34 Extended receive baud rate  (SXDC only if((hi_csr&0xF0)==0xF0) */ | 
|  | 205 | BYTE	txbreak_state;			/* 0x35 INTERNAL MTA/SXDC transmit break state */ | 
|  | 206 | BYTE	txbaud;				/* 0x36 INTERNAL copy of hi_txbaud */ | 
|  | 207 | BYTE	rxbaud;				/* 0x37 INTERNAL copy of hi_rxbaud */ | 
|  | 208 | WORD	err_framing;			/* 0x38 Count of receive framing errors */ | 
|  | 209 | WORD	err_parity;			/* 0x3A Count of receive parity errors */ | 
|  | 210 | WORD	err_overrun;			/* 0x3C Count of receive overrun errors */ | 
|  | 211 | WORD	err_overflow;			/* 0x3E Count of receive buffer overflow errors */ | 
|  | 212 | BYTE	rfu2[TX_BUFF_OFFSET - 0x40];	/* 0x40 Reserved until hi_txbuf */ | 
|  | 213 | BYTE	hi_txbuf[BUFFER_SIZE];		/* 0x060 Transmit buffer */ | 
|  | 214 | BYTE	hi_rxbuf[BUFFER_SIZE];		/* 0x160 Receive buffer */ | 
|  | 215 | BYTE	rfu3[0x300 - 0x260];		/* 0x260 Reserved until 768 bytes (0x300) */ | 
|  | 216 |  | 
|  | 217 | } SXCHANNEL; | 
|  | 218 |  | 
|  | 219 | /* SXCHANNEL.addr_uart definitions... */ | 
|  | 220 | #define		FASTPATH	0x1000		/* Set to indicate fast rx/tx processing (TA only) */ | 
|  | 221 |  | 
|  | 222 | /* SXCHANNEL.xc_status definitions... */ | 
|  | 223 | #define		X_TANY		0x0001		/* XON is any character (TA only) */ | 
|  | 224 | #define		X_TION		0x0001		/* Tx interrupts on (MTA only) */ | 
|  | 225 | #define		X_TXEN		0x0002		/* Tx XON/XOFF enabled (TA only) */ | 
|  | 226 | #define		X_RTSEN		0x0002		/* RTS FLOW enabled (MTA only) */ | 
|  | 227 | #define		X_TXRC		0x0004		/* XOFF received (TA only) */ | 
|  | 228 | #define		X_RTSLOW	0x0004		/* RTS dropped (MTA only) */ | 
|  | 229 | #define		X_RXEN		0x0008		/* Rx XON/XOFF enabled */ | 
|  | 230 | #define		X_ANYXO		0x0010		/* XOFF pending/sent or RTS dropped */ | 
|  | 231 | #define		X_RXSE		0x0020		/* Rx XOFF sent */ | 
|  | 232 | #define		X_NPEND		0x0040		/* Rx XON pending or XOFF pending */ | 
|  | 233 | #define		X_FPEND		0x0080		/* Rx XOFF pending */ | 
|  | 234 | #define		C_CRSE		0x0100		/* Carriage return sent (TA only) */ | 
|  | 235 | #define		C_TEMR		0x0100		/* Tx empty requested (MTA only) */ | 
|  | 236 | #define		C_TEMA		0x0200		/* Tx empty acked (MTA only) */ | 
|  | 237 | #define		C_ANYP		0x0200		/* Any protocol bar tx XON/XOFF (TA only) */ | 
|  | 238 | #define		C_EN		0x0400		/* Cooking enabled (on MTA means port is also || */ | 
|  | 239 | #define		C_HIGH		0x0800		/* Buffer previously hit high water */ | 
|  | 240 | #define		C_CTSEN		0x1000		/* CTS automatic flow-control enabled */ | 
|  | 241 | #define		C_DCDEN		0x2000		/* DCD/DTR checking enabled */ | 
|  | 242 | #define		C_BREAK		0x4000		/* Break detected */ | 
|  | 243 | #define		C_RTSEN		0x8000		/* RTS automatic flow control enabled (MTA only) */ | 
|  | 244 | #define		C_PARITY	0x8000		/* Parity checking enabled (TA only) */ | 
|  | 245 |  | 
|  | 246 | /* SXCHANNEL.hi_hstat definitions... */ | 
|  | 247 | #define		HS_IDLE_OPEN	0x00		/* Channel open state */ | 
|  | 248 | #define		HS_LOPEN	0x02		/* Local open command (no modem monitoring) */ | 
|  | 249 | #define		HS_MOPEN	0x04		/* Modem open command (wait for DCD signal) */ | 
|  | 250 | #define		HS_IDLE_MPEND	0x06		/* Waiting for DCD signal state */ | 
|  | 251 | #define		HS_CONFIG	0x08		/* Configuration command */ | 
|  | 252 | #define		HS_CLOSE	0x0A		/* Close command */ | 
|  | 253 | #define		HS_START	0x0C		/* Start transmit break command */ | 
|  | 254 | #define		HS_STOP		0x0E		/* Stop transmit break command */ | 
|  | 255 | #define		HS_IDLE_CLOSED	0x10		/* Closed channel state */ | 
|  | 256 | #define		HS_IDLE_BREAK	0x12		/* Transmit break state */ | 
|  | 257 | #define		HS_FORCE_CLOSED	0x14		/* Force close command */ | 
|  | 258 | #define		HS_RESUME	0x16		/* Clear pending XOFF command */ | 
|  | 259 | #define		HS_WFLUSH	0x18		/* Flush transmit buffer command */ | 
|  | 260 | #define		HS_RFLUSH	0x1A		/* Flush receive buffer command */ | 
|  | 261 | #define		HS_SUSPEND	0x1C		/* Suspend output command (like XOFF received) */ | 
|  | 262 | #define		PARALLEL	0x1E		/* Parallel port loopback test command (Diagnostics Only) */ | 
|  | 263 | #define		ENABLE_RX_INTS	0x20		/* Enable receive interrupts command (Diagnostics Only) */ | 
|  | 264 | #define		ENABLE_TX_INTS	0x22		/* Enable transmit interrupts command (Diagnostics Only) */ | 
|  | 265 | #define		ENABLE_MDM_INTS	0x24		/* Enable modem interrupts command (Diagnostics Only) */ | 
|  | 266 | #define		DISABLE_INTS	0x26		/* Disable interrupts command (Diagnostics Only) */ | 
|  | 267 |  | 
|  | 268 | /* SXCHANNEL.hi_mr1 definitions... */ | 
|  | 269 | #define		MR1_BITS	0x03		/* Data bits mask */ | 
|  | 270 | #define		MR1_5_BITS	0x00		/* 5 data bits */ | 
|  | 271 | #define		MR1_6_BITS	0x01		/* 6 data bits */ | 
|  | 272 | #define		MR1_7_BITS	0x02		/* 7 data bits */ | 
|  | 273 | #define		MR1_8_BITS	0x03		/* 8 data bits */ | 
|  | 274 | #define		MR1_PARITY	0x1C		/* Parity mask */ | 
|  | 275 | #define		MR1_ODD		0x04		/* Odd parity */ | 
|  | 276 | #define		MR1_EVEN	0x00		/* Even parity */ | 
|  | 277 | #define		MR1_WITH	0x00		/* Parity enabled */ | 
|  | 278 | #define		MR1_FORCE	0x08		/* Force parity */ | 
|  | 279 | #define		MR1_NONE	0x10		/* No parity */ | 
|  | 280 | #define		MR1_NOPARITY	MR1_NONE		/* No parity */ | 
|  | 281 | #define		MR1_ODDPARITY	(MR1_WITH|MR1_ODD)	/* Odd parity */ | 
|  | 282 | #define		MR1_EVENPARITY	(MR1_WITH|MR1_EVEN)	/* Even parity */ | 
|  | 283 | #define		MR1_MARKPARITY	(MR1_FORCE|MR1_ODD)	/* Mark parity */ | 
|  | 284 | #define		MR1_SPACEPARITY	(MR1_FORCE|MR1_EVEN)	/* Space parity */ | 
|  | 285 | #define		MR1_RTS_RXFLOW	0x80		/* RTS receive flow control */ | 
|  | 286 |  | 
|  | 287 | /* SXCHANNEL.hi_mr2 definitions... */ | 
|  | 288 | #define		MR2_STOP	0x0F		/* Stop bits mask */ | 
|  | 289 | #define		MR2_1_STOP	0x07		/* 1 stop bit */ | 
|  | 290 | #define		MR2_2_STOP	0x0F		/* 2 stop bits */ | 
|  | 291 | #define		MR2_CTS_TXFLOW	0x10		/* CTS transmit flow control */ | 
|  | 292 | #define		MR2_RTS_TOGGLE	0x20		/* RTS toggle on transmit */ | 
|  | 293 | #define		MR2_NORMAL	0x00		/* Normal mode */ | 
|  | 294 | #define		MR2_AUTO	0x40		/* Auto-echo mode (TA only) */ | 
|  | 295 | #define		MR2_LOCAL	0x80		/* Local echo mode */ | 
|  | 296 | #define		MR2_REMOTE	0xC0		/* Remote echo mode (TA only) */ | 
|  | 297 |  | 
|  | 298 | /* SXCHANNEL.hi_csr definitions... */ | 
|  | 299 | #define		CSR_75		0x0		/*    75 baud */ | 
|  | 300 | #define		CSR_110		0x1		/*   110 baud (TA), 115200 (MTA/SXDC) */ | 
|  | 301 | #define		CSR_38400	0x2		/* 38400 baud */ | 
|  | 302 | #define		CSR_150		0x3		/*   150 baud */ | 
|  | 303 | #define		CSR_300		0x4		/*   300 baud */ | 
|  | 304 | #define		CSR_600		0x5		/*   600 baud */ | 
|  | 305 | #define		CSR_1200	0x6		/*  1200 baud */ | 
|  | 306 | #define		CSR_2000	0x7		/*  2000 baud */ | 
|  | 307 | #define		CSR_2400	0x8		/*  2400 baud */ | 
|  | 308 | #define		CSR_4800	0x9		/*  4800 baud */ | 
|  | 309 | #define		CSR_1800	0xA		/*  1800 baud */ | 
|  | 310 | #define		CSR_9600	0xB		/*  9600 baud */ | 
|  | 311 | #define		CSR_19200	0xC		/* 19200 baud */ | 
|  | 312 | #define		CSR_57600	0xD		/* 57600 baud */ | 
|  | 313 | #define		CSR_EXTBAUD	0xF		/* Extended baud rate (hi_txbaud/hi_rxbaud) */ | 
|  | 314 |  | 
|  | 315 | /* SXCHANNEL.hi_op definitions... */ | 
|  | 316 | #define		OP_RTS		0x01		/* RTS modem output signal */ | 
|  | 317 | #define		OP_DTR		0x02		/* DTR modem output signal */ | 
|  | 318 |  | 
|  | 319 | /* SXCHANNEL.hi_ip definitions... */ | 
|  | 320 | #define		IP_CTS		0x02		/* CTS modem input signal */ | 
|  | 321 | #define		IP_DCD		0x04		/* DCD modem input signal */ | 
|  | 322 | #define		IP_DSR		0x20		/* DTR modem input signal */ | 
|  | 323 | #define		IP_RI		0x40		/* RI modem input signal */ | 
|  | 324 |  | 
|  | 325 | /* SXCHANNEL.hi_state definitions... */ | 
|  | 326 | #define		ST_BREAK	0x01		/* Break received (clear with config) */ | 
|  | 327 | #define		ST_DCD		0x02		/* DCD signal changed state */ | 
|  | 328 |  | 
|  | 329 | /* SXCHANNEL.hi_prtcl definitions... */ | 
|  | 330 | #define		SP_TANY		0x01		/* Transmit XON/XANY (if SP_TXEN enabled) */ | 
|  | 331 | #define		SP_TXEN		0x02		/* Transmit XON/XOFF flow control */ | 
|  | 332 | #define		SP_CEN		0x04		/* Cooking enabled */ | 
|  | 333 | #define		SP_RXEN		0x08		/* Rx XON/XOFF enabled */ | 
|  | 334 | #define		SP_DCEN		0x20		/* DCD / DTR check */ | 
|  | 335 | #define		SP_DTR_RXFLOW	0x40		/* DTR receive flow control */ | 
|  | 336 | #define		SP_PAEN		0x80		/* Parity checking enabled */ | 
|  | 337 |  | 
|  | 338 | /* SXCHANNEL.hi_break definitions... */ | 
|  | 339 | #define		BR_IGN		0x01		/* Ignore any received breaks */ | 
|  | 340 | #define		BR_INT		0x02		/* Interrupt on received break */ | 
|  | 341 | #define		BR_PARMRK	0x04		/* Enable parmrk parity error processing */ | 
|  | 342 | #define		BR_PARIGN	0x08		/* Ignore chars with parity errors */ | 
|  | 343 | #define 	BR_ERRINT	0x80		/* Treat parity/framing/overrun errors as exceptions */ | 
|  | 344 |  | 
|  | 345 | /* SXCHANNEL.par_error definitions.. */ | 
|  | 346 | #define		DIAG_IRQ_RX	0x01		/* Indicate serial receive interrupt (diags only) */ | 
|  | 347 | #define		DIAG_IRQ_TX	0x02		/* Indicate serial transmit interrupt (diags only) */ | 
|  | 348 | #define		DIAG_IRQ_MD	0x04		/* Indicate serial modem interrupt (diags only) */ | 
|  | 349 |  | 
|  | 350 | /* SXCHANNEL.hi_txbaud/hi_rxbaud definitions... (SXDC only) */ | 
|  | 351 | #define		BAUD_75		0x00		/*     75 baud */ | 
|  | 352 | #define		BAUD_115200	0x01		/* 115200 baud */ | 
|  | 353 | #define		BAUD_38400	0x02		/*  38400 baud */ | 
|  | 354 | #define		BAUD_150	0x03		/*    150 baud */ | 
|  | 355 | #define		BAUD_300	0x04		/*    300 baud */ | 
|  | 356 | #define		BAUD_600	0x05		/*    600 baud */ | 
|  | 357 | #define		BAUD_1200	0x06		/*   1200 baud */ | 
|  | 358 | #define		BAUD_2000	0x07		/*   2000 baud */ | 
|  | 359 | #define		BAUD_2400	0x08		/*   2400 baud */ | 
|  | 360 | #define		BAUD_4800	0x09		/*   4800 baud */ | 
|  | 361 | #define		BAUD_1800	0x0A		/*   1800 baud */ | 
|  | 362 | #define		BAUD_9600	0x0B		/*   9600 baud */ | 
|  | 363 | #define		BAUD_19200	0x0C		/*  19200 baud */ | 
|  | 364 | #define		BAUD_57600	0x0D		/*  57600 baud */ | 
|  | 365 | #define		BAUD_230400	0x0E		/* 230400 baud */ | 
|  | 366 | #define		BAUD_460800	0x0F		/* 460800 baud */ | 
|  | 367 | #define		BAUD_921600	0x10		/* 921600 baud */ | 
|  | 368 | #define		BAUD_50		0x11    	/*     50 baud */ | 
|  | 369 | #define		BAUD_110	0x12		/*    110 baud */ | 
|  | 370 | #define		BAUD_134_5	0x13		/*  134.5 baud */ | 
|  | 371 | #define		BAUD_200	0x14		/*    200 baud */ | 
|  | 372 | #define		BAUD_7200	0x15		/*   7200 baud */ | 
|  | 373 | #define		BAUD_56000	0x16		/*  56000 baud */ | 
|  | 374 | #define		BAUD_64000	0x17		/*  64000 baud */ | 
|  | 375 | #define		BAUD_76800	0x18		/*  76800 baud */ | 
|  | 376 | #define		BAUD_128000	0x19		/* 128000 baud */ | 
|  | 377 | #define		BAUD_150000	0x1A		/* 150000 baud */ | 
|  | 378 | #define		BAUD_14400	0x1B		/*  14400 baud */ | 
|  | 379 | #define		BAUD_256000	0x1C		/* 256000 baud */ | 
|  | 380 | #define		BAUD_28800	0x1D		/*  28800 baud */ | 
|  | 381 |  | 
|  | 382 | /* SXCHANNEL.txbreak_state definiions... */ | 
|  | 383 | #define		TXBREAK_OFF	0		/* Not sending break */ | 
|  | 384 | #define		TXBREAK_START	1		/* Begin sending break */ | 
|  | 385 | #define		TXBREAK_START1	2		/* Begin sending break, part 1 */ | 
|  | 386 | #define		TXBREAK_ON	3		/* Sending break */ | 
|  | 387 | #define		TXBREAK_STOP	4		/* Stop sending break */ | 
|  | 388 | #define		TXBREAK_STOP1	5		/* Stop sending break, part 1 */ | 
|  | 389 |  | 
|  | 390 | #endif						/* _sxwindow_h */ | 
|  | 391 |  | 
|  | 392 | /* End of SXWINDOW.H */ | 
|  | 393 |  |