1037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#ifndef MOXA_H_FILE
2037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define MOXA_H_FILE
3037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
474d7d97b9e2a090a4b1812b5074ac6c539234ebbJiri Slaby#define	MOXA		0x400
574d7d97b9e2a090a4b1812b5074ac6c539234ebbJiri Slaby#define MOXA_GET_IQUEUE 	(MOXA + 1)	/* get input buffered count */
674d7d97b9e2a090a4b1812b5074ac6c539234ebbJiri Slaby#define MOXA_GET_OQUEUE 	(MOXA + 2)	/* get output buffered count */
774d7d97b9e2a090a4b1812b5074ac6c539234ebbJiri Slaby#define MOXA_GETDATACOUNT       (MOXA + 23)
874d7d97b9e2a090a4b1812b5074ac6c539234ebbJiri Slaby#define MOXA_GET_IOQUEUE	(MOXA + 27)
974d7d97b9e2a090a4b1812b5074ac6c539234ebbJiri Slaby#define MOXA_FLUSH_QUEUE	(MOXA + 28)
1074d7d97b9e2a090a4b1812b5074ac6c539234ebbJiri Slaby#define MOXA_GETMSTATUS         (MOXA + 65)
1174d7d97b9e2a090a4b1812b5074ac6c539234ebbJiri Slaby
12037182346f0991683cc7320a257c3f6089432ceeJiri Slaby/*
13037182346f0991683cc7320a257c3f6089432ceeJiri Slaby *    System Configuration
14037182346f0991683cc7320a257c3f6089432ceeJiri Slaby */
15037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
16037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define Magic_code	0x404
17037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
18037182346f0991683cc7320a257c3f6089432ceeJiri Slaby/*
19037182346f0991683cc7320a257c3f6089432ceeJiri Slaby *    for C218 BIOS initialization
20037182346f0991683cc7320a257c3f6089432ceeJiri Slaby */
21037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C218_ConfBase	0x800
22037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C218_status	(C218_ConfBase + 0)	/* BIOS running status    */
23037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C218_diag	(C218_ConfBase + 2)	/* diagnostic status      */
24037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C218_key	(C218_ConfBase + 4)	/* WORD (0x218 for C218) */
25037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C218DLoad_len	(C218_ConfBase + 6)	/* WORD           */
26037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C218check_sum	(C218_ConfBase + 8)	/* BYTE           */
27037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C218chksum_ok	(C218_ConfBase + 0x0a)	/* BYTE (1:ok)            */
28037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C218_TestRx	(C218_ConfBase + 0x10)	/* 8 bytes for 8 ports    */
29037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C218_TestTx	(C218_ConfBase + 0x18)	/* 8 bytes for 8 ports    */
30037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C218_RXerr	(C218_ConfBase + 0x20)	/* 8 bytes for 8 ports    */
31037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C218_ErrFlag	(C218_ConfBase + 0x28)	/* 8 bytes for 8 ports    */
32037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
33037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C218_LoadBuf	0x0F00
34037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C218_KeyCode	0x218
35037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define CP204J_KeyCode	0x204
36037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
37037182346f0991683cc7320a257c3f6089432ceeJiri Slaby/*
38037182346f0991683cc7320a257c3f6089432ceeJiri Slaby *    for C320 BIOS initialization
39037182346f0991683cc7320a257c3f6089432ceeJiri Slaby */
40037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320_ConfBase	0x800
41037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320_LoadBuf	0x0f00
42037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define STS_init	0x05	/* for C320_status        */
43037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
44037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320_status	C320_ConfBase + 0	/* BIOS running status    */
45037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320_diag	C320_ConfBase + 2	/* diagnostic status      */
46037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320_key	C320_ConfBase + 4	/* WORD (0320H for C320) */
47037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320DLoad_len	C320_ConfBase + 6	/* WORD           */
48037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320check_sum	C320_ConfBase + 8	/* WORD           */
49037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320chksum_ok	C320_ConfBase + 0x0a	/* WORD (1:ok)            */
50037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320bapi_len	C320_ConfBase + 0x0c	/* WORD           */
51037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320UART_no	C320_ConfBase + 0x0e	/* WORD           */
52037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
53037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320_KeyCode	0x320
54037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
55037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FixPage_addr	0x0000	/* starting addr of static page  */
56037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define DynPage_addr	0x2000	/* starting addr of dynamic page */
57037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C218_start	0x3000	/* starting addr of C218 BIOS prg */
58037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define Control_reg	0x1ff0	/* select page and reset control */
59037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define HW_reset	0x80
60037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
61037182346f0991683cc7320a257c3f6089432ceeJiri Slaby/*
62037182346f0991683cc7320a257c3f6089432ceeJiri Slaby *    Function Codes
63037182346f0991683cc7320a257c3f6089432ceeJiri Slaby */
64037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_CardReset	0x80
65037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_ChannelReset 1	/* C320 firmware not supported */
66037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_EnableCH	2
67037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_DisableCH	3
68037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_SetParam	4
69037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_SetMode	5
70037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_SetRate	6
71037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_LineControl	7
72037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_LineStatus	8
73037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_XmitControl	9
74037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_FlushQueue	10
75037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_SendBreak	11
76037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_StopBreak	12
77037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_LoopbackON	13
78037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_LoopbackOFF	14
79037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_ClrIrqTable	15
80037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_SendXon	16
81037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_SetTermIrq	17	/* C320 firmware not supported */
82037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_SetCntIrq	18	/* C320 firmware not supported */
83037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_SetBreakIrq	19
84037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_SetLineIrq	20
85037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_SetFlowCtl	21
86037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_GenIrq	22
87037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_InCD180	23
88037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_OutCD180	24
89037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_InUARTreg	23
90037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_OutUARTreg	24
91037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_SetXonXoff	25
92037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_OutCD180CCR	26
93037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_ExtIQueue	27
94037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_ExtOQueue	28
95037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_ClrLineIrq	29
96037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_HWFlowCtl	30
97037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_GetClockRate 35
98037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_SetBaud	36
99037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_SetDataMode  41
100037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_GetCCSR      43
101037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_GetDataError 45
102037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_RxControl	50
103037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_ImmSend	51
104037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_SetXonState	52
105037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_SetXoffState	53
106037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_SetRxFIFOTrig 54
107037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_SetTxFIFOCnt 55
108037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_UnixRate	56
109037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FC_UnixResetTimer 57
110037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
111037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define	RxFIFOTrig1	0
112037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define	RxFIFOTrig4	1
113037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define	RxFIFOTrig8	2
114037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define	RxFIFOTrig14	3
115037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
116037182346f0991683cc7320a257c3f6089432ceeJiri Slaby/*
117037182346f0991683cc7320a257c3f6089432ceeJiri Slaby *    Dual-Ported RAM
118037182346f0991683cc7320a257c3f6089432ceeJiri Slaby */
119037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define DRAM_global	0
120037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define INT_data	(DRAM_global + 0)
121037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define Config_base	(DRAM_global + 0x108)
122037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
123037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define IRQindex	(INT_data + 0)
124037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define IRQpending	(INT_data + 4)
125037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define IRQtable	(INT_data + 8)
126037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
127037182346f0991683cc7320a257c3f6089432ceeJiri Slaby/*
128037182346f0991683cc7320a257c3f6089432ceeJiri Slaby *    Interrupt Status
129037182346f0991683cc7320a257c3f6089432ceeJiri Slaby */
130037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define IntrRx		0x01	/* receiver data O.K.             */
131037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define IntrTx		0x02	/* transmit buffer empty  */
132037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define IntrFunc	0x04	/* function complete              */
133037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define IntrBreak	0x08	/* received break         */
134037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define IntrLine	0x10	/* line status change
135037182346f0991683cc7320a257c3f6089432ceeJiri Slaby				   for transmitter                */
136037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define IntrIntr	0x20	/* received INTR code             */
137037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define IntrQuit	0x40	/* received QUIT code             */
138037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define IntrEOF 	0x80	/* received EOF code              */
139037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
140037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define IntrRxTrigger 	0x100	/* rx data count reach tigger value */
141037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define IntrTxTrigger 	0x200	/* tx data count below trigger value */
142037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
143037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define Magic_no	(Config_base + 0)
144037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define Card_model_no	(Config_base + 2)
145037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define Total_ports	(Config_base + 4)
146037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define Module_cnt	(Config_base + 8)
147037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define Module_no	(Config_base + 10)
148037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define Timer_10ms	(Config_base + 14)
149037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define Disable_IRQ	(Config_base + 20)
150037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define TMS320_PORT1	(Config_base + 22)
151037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define TMS320_PORT2	(Config_base + 24)
152037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define TMS320_CLOCK	(Config_base + 26)
153037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
154037182346f0991683cc7320a257c3f6089432ceeJiri Slaby/*
155037182346f0991683cc7320a257c3f6089432ceeJiri Slaby *    DATA BUFFER in DRAM
156037182346f0991683cc7320a257c3f6089432ceeJiri Slaby */
157037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define Extern_table	0x400	/* Base address of the external table
158037182346f0991683cc7320a257c3f6089432ceeJiri Slaby				   (24 words *    64) total 3K bytes
159037182346f0991683cc7320a257c3f6089432ceeJiri Slaby				   (24 words * 128) total 6K bytes */
160037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define Extern_size	0x60	/* 96 bytes                       */
161037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define RXrptr		0x00	/* read pointer for RX buffer     */
162037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define RXwptr		0x02	/* write pointer for RX buffer    */
163037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define TXrptr		0x04	/* read pointer for TX buffer     */
164037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define TXwptr		0x06	/* write pointer for TX buffer    */
165037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define HostStat	0x08	/* IRQ flag and general flag      */
166037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FlagStat	0x0A
167037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FlowControl	0x0C	/* B7 B6 B5 B4 B3 B2 B1 B0              */
1687bcf97d1dd88135b58c7adb7c3bfebab55b21a20Jiri Slaby				/*  x  x  x  x  |  |  |  |            */
1697bcf97d1dd88135b58c7adb7c3bfebab55b21a20Jiri Slaby				/*              |  |  |  + CTS flow   */
1707bcf97d1dd88135b58c7adb7c3bfebab55b21a20Jiri Slaby				/*              |  |  +--- RTS flow   */
1717bcf97d1dd88135b58c7adb7c3bfebab55b21a20Jiri Slaby				/*              |  +------ TX Xon/Xoff */
1727bcf97d1dd88135b58c7adb7c3bfebab55b21a20Jiri Slaby				/*              +--------- RX Xon/Xoff */
173037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define Break_cnt	0x0E	/* received break count   */
174037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define CD180TXirq	0x10	/* if non-0: enable TX irq        */
175037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define RX_mask 	0x12
176037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define TX_mask 	0x14
177037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define Ofs_rxb 	0x16
178037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define Ofs_txb 	0x18
179037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define Page_rxb	0x1A
180037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define Page_txb	0x1C
181037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define EndPage_rxb	0x1E
182037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define EndPage_txb	0x20
183037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define Data_error	0x22
184037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define RxTrigger	0x28
185037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define TxTrigger	0x2a
186037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
187037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define rRXwptr 	0x34
188037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define Low_water	0x36
189037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
190037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FuncCode	0x40
191037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FuncArg 	0x42
192037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define FuncArg1	0x44
193037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
194037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C218rx_size	0x2000	/* 8K bytes */
195037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C218tx_size	0x8000	/* 32K bytes */
196037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
197037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C218rx_mask	(C218rx_size - 1)
198037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C218tx_mask	(C218tx_size - 1)
199037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
200037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p8rx_size	0x2000
201037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p8tx_size	0x8000
202037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p8rx_mask	(C320p8rx_size - 1)
203037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p8tx_mask	(C320p8tx_size - 1)
204037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
205037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p16rx_size	0x2000
206037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p16tx_size	0x4000
207037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p16rx_mask	(C320p16rx_size - 1)
208037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p16tx_mask	(C320p16tx_size - 1)
209037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
210037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p24rx_size	0x2000
211037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p24tx_size	0x2000
212037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p24rx_mask	(C320p24rx_size - 1)
213037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p24tx_mask	(C320p24tx_size - 1)
214037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
215037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p32rx_size	0x1000
216037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p32tx_size	0x1000
217037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p32rx_mask	(C320p32rx_size - 1)
218037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p32tx_mask	(C320p32tx_size - 1)
219037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
2202108eba5c531c12f5ae2ed2ef4cee7bf4246897bJiri Slaby#define Page_size	0x2000U
221037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define Page_mask	(Page_size - 1)
222037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C218rx_spage	3
223037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C218tx_spage	4
224037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C218rx_pageno	1
225037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C218tx_pageno	4
226037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C218buf_pageno	5
227037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
228037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p8rx_spage	3
229037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p8tx_spage	4
230037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p8rx_pgno	1
231037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p8tx_pgno	4
232037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p8buf_pgno	5
233037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
234037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p16rx_spage 3
235037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p16tx_spage 4
236037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p16rx_pgno	1
237037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p16tx_pgno	2
238037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p16buf_pgno 3
239037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
240037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p24rx_spage 3
241037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p24tx_spage 4
242037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p24rx_pgno	1
243037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p24tx_pgno	1
244037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p24buf_pgno 2
245037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
246037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p32rx_spage 3
247037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p32tx_ofs	C320p32rx_size
248037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p32tx_spage 3
249037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define C320p32buf_pgno 1
250037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
251037182346f0991683cc7320a257c3f6089432ceeJiri Slaby/*
252037182346f0991683cc7320a257c3f6089432ceeJiri Slaby *    Host Status
253037182346f0991683cc7320a257c3f6089432ceeJiri Slaby */
254037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define WakeupRx	0x01
255037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define WakeupTx	0x02
256037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define WakeupBreak	0x08
257037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define WakeupLine	0x10
258037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define WakeupIntr	0x20
259037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define WakeupQuit	0x40
260037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define WakeupEOF	0x80	/* used in VTIME control */
261037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define WakeupRxTrigger	0x100
262037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define WakeupTxTrigger	0x200
263037182346f0991683cc7320a257c3f6089432ceeJiri Slaby/*
264037182346f0991683cc7320a257c3f6089432ceeJiri Slaby *    Flag status
265037182346f0991683cc7320a257c3f6089432ceeJiri Slaby */
266037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define Rx_over		0x01
267037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define Xoff_state	0x02
268037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define Tx_flowOff	0x04
269037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define Tx_enable	0x08
270037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define CTS_state	0x10
271037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define DSR_state	0x20
272037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define DCD_state	0x80
273037182346f0991683cc7320a257c3f6089432ceeJiri Slaby/*
274037182346f0991683cc7320a257c3f6089432ceeJiri Slaby *    FlowControl
275037182346f0991683cc7320a257c3f6089432ceeJiri Slaby */
276037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define CTS_FlowCtl	1
277037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define RTS_FlowCtl	2
278037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define Tx_FlowCtl	4
279037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define Rx_FlowCtl	8
280037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define IXM_IXANY	0x10
281037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
282037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define LowWater	128
283037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
284037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define DTR_ON		1
285037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define RTS_ON		2
286037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define CTS_ON		1
287037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define DSR_ON		2
288037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define DCD_ON		8
289037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
290037182346f0991683cc7320a257c3f6089432ceeJiri Slaby/* mode definition */
291037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define	MX_CS8		0x03
292037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define	MX_CS7		0x02
293037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define	MX_CS6		0x01
294037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define	MX_CS5		0x00
295037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
296037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define	MX_STOP1	0x00
297037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define	MX_STOP15	0x04
298037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define	MX_STOP2	0x08
299037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
300037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define	MX_PARNONE	0x00
301037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define	MX_PAREVEN	0x40
302037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#define	MX_PARODD	0xC0
303037182346f0991683cc7320a257c3f6089432ceeJiri Slaby
304037182346f0991683cc7320a257c3f6089432ceeJiri Slaby#endif
305