Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) #ifndef MOXA_H_FILE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) #define MOXA_H_FILE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) #define	MOXA		0x400
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) #define MOXA_GET_IQUEUE 	(MOXA + 1)	/* get input buffered count */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) #define MOXA_GET_OQUEUE 	(MOXA + 2)	/* get output buffered count */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) #define MOXA_GETDATACOUNT       (MOXA + 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) #define MOXA_GET_IOQUEUE	(MOXA + 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) #define MOXA_FLUSH_QUEUE	(MOXA + 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) #define MOXA_GETMSTATUS         (MOXA + 65)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14)  *    System Configuration
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) #define Magic_code	0x404
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20)  *    for C218 BIOS initialization
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) #define C218_ConfBase	0x800
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) #define C218_status	(C218_ConfBase + 0)	/* BIOS running status    */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) #define C218_diag	(C218_ConfBase + 2)	/* diagnostic status      */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) #define C218_key	(C218_ConfBase + 4)	/* WORD (0x218 for C218) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) #define C218DLoad_len	(C218_ConfBase + 6)	/* WORD           */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) #define C218check_sum	(C218_ConfBase + 8)	/* BYTE           */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) #define C218chksum_ok	(C218_ConfBase + 0x0a)	/* BYTE (1:ok)            */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) #define C218_TestRx	(C218_ConfBase + 0x10)	/* 8 bytes for 8 ports    */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) #define C218_TestTx	(C218_ConfBase + 0x18)	/* 8 bytes for 8 ports    */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) #define C218_RXerr	(C218_ConfBase + 0x20)	/* 8 bytes for 8 ports    */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) #define C218_ErrFlag	(C218_ConfBase + 0x28)	/* 8 bytes for 8 ports    */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) #define C218_LoadBuf	0x0F00
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) #define C218_KeyCode	0x218
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) #define CP204J_KeyCode	0x204
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39)  *    for C320 BIOS initialization
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) #define C320_ConfBase	0x800
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) #define C320_LoadBuf	0x0f00
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) #define STS_init	0x05	/* for C320_status        */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) #define C320_status	C320_ConfBase + 0	/* BIOS running status    */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) #define C320_diag	C320_ConfBase + 2	/* diagnostic status      */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) #define C320_key	C320_ConfBase + 4	/* WORD (0320H for C320) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) #define C320DLoad_len	C320_ConfBase + 6	/* WORD           */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) #define C320check_sum	C320_ConfBase + 8	/* WORD           */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) #define C320chksum_ok	C320_ConfBase + 0x0a	/* WORD (1:ok)            */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) #define C320bapi_len	C320_ConfBase + 0x0c	/* WORD           */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) #define C320UART_no	C320_ConfBase + 0x0e	/* WORD           */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) #define C320_KeyCode	0x320
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) #define FixPage_addr	0x0000	/* starting addr of static page  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) #define DynPage_addr	0x2000	/* starting addr of dynamic page */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) #define C218_start	0x3000	/* starting addr of C218 BIOS prg */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) #define Control_reg	0x1ff0	/* select page and reset control */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) #define HW_reset	0x80
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63)  *    Function Codes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) #define FC_CardReset	0x80
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) #define FC_ChannelReset 1	/* C320 firmware not supported */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) #define FC_EnableCH	2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) #define FC_DisableCH	3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) #define FC_SetParam	4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) #define FC_SetMode	5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) #define FC_SetRate	6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) #define FC_LineControl	7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) #define FC_LineStatus	8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) #define FC_XmitControl	9
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) #define FC_FlushQueue	10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) #define FC_SendBreak	11
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) #define FC_StopBreak	12
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) #define FC_LoopbackON	13
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) #define FC_LoopbackOFF	14
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) #define FC_ClrIrqTable	15
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) #define FC_SendXon	16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) #define FC_SetTermIrq	17	/* C320 firmware not supported */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) #define FC_SetCntIrq	18	/* C320 firmware not supported */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) #define FC_SetBreakIrq	19
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) #define FC_SetLineIrq	20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) #define FC_SetFlowCtl	21
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) #define FC_GenIrq	22
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) #define FC_InCD180	23
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) #define FC_OutCD180	24
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) #define FC_InUARTreg	23
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) #define FC_OutUARTreg	24
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) #define FC_SetXonXoff	25
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) #define FC_OutCD180CCR	26
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) #define FC_ExtIQueue	27
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) #define FC_ExtOQueue	28
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) #define FC_ClrLineIrq	29
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) #define FC_HWFlowCtl	30
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) #define FC_GetClockRate 35
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) #define FC_SetBaud	36
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) #define FC_SetDataMode  41
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) #define FC_GetCCSR      43
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) #define FC_GetDataError 45
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) #define FC_RxControl	50
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) #define FC_ImmSend	51
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) #define FC_SetXonState	52
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) #define FC_SetXoffState	53
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) #define FC_SetRxFIFOTrig 54
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) #define FC_SetTxFIFOCnt 55
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) #define FC_UnixRate	56
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) #define FC_UnixResetTimer 57
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) #define	RxFIFOTrig1	0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) #define	RxFIFOTrig4	1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) #define	RxFIFOTrig8	2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) #define	RxFIFOTrig14	3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118)  *    Dual-Ported RAM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) #define DRAM_global	0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) #define INT_data	(DRAM_global + 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) #define Config_base	(DRAM_global + 0x108)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) #define IRQindex	(INT_data + 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) #define IRQpending	(INT_data + 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) #define IRQtable	(INT_data + 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129)  *    Interrupt Status
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) #define IntrRx		0x01	/* receiver data O.K.             */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) #define IntrTx		0x02	/* transmit buffer empty  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) #define IntrFunc	0x04	/* function complete              */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) #define IntrBreak	0x08	/* received break         */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) #define IntrLine	0x10	/* line status change
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) 				   for transmitter                */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) #define IntrIntr	0x20	/* received INTR code             */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) #define IntrQuit	0x40	/* received QUIT code             */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) #define IntrEOF 	0x80	/* received EOF code              */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) #define IntrRxTrigger 	0x100	/* rx data count reach trigger value */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) #define IntrTxTrigger 	0x200	/* tx data count below trigger value */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) #define Magic_no	(Config_base + 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) #define Card_model_no	(Config_base + 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) #define Total_ports	(Config_base + 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) #define Module_cnt	(Config_base + 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) #define Module_no	(Config_base + 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) #define Timer_10ms	(Config_base + 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) #define Disable_IRQ	(Config_base + 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) #define TMS320_PORT1	(Config_base + 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) #define TMS320_PORT2	(Config_base + 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) #define TMS320_CLOCK	(Config_base + 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156)  *    DATA BUFFER in DRAM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) #define Extern_table	0x400	/* Base address of the external table
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) 				   (24 words *    64) total 3K bytes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) 				   (24 words * 128) total 6K bytes */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) #define Extern_size	0x60	/* 96 bytes                       */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) #define RXrptr		0x00	/* read pointer for RX buffer     */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) #define RXwptr		0x02	/* write pointer for RX buffer    */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) #define TXrptr		0x04	/* read pointer for TX buffer     */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) #define TXwptr		0x06	/* write pointer for TX buffer    */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) #define HostStat	0x08	/* IRQ flag and general flag      */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) #define FlagStat	0x0A
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) #define FlowControl	0x0C	/* B7 B6 B5 B4 B3 B2 B1 B0              */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) 				/*  x  x  x  x  |  |  |  |            */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) 				/*              |  |  |  + CTS flow   */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) 				/*              |  |  +--- RTS flow   */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) 				/*              |  +------ TX Xon/Xoff */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) 				/*              +--------- RX Xon/Xoff */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) #define Break_cnt	0x0E	/* received break count   */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) #define CD180TXirq	0x10	/* if non-0: enable TX irq        */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) #define RX_mask 	0x12
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) #define TX_mask 	0x14
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) #define Ofs_rxb 	0x16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) #define Ofs_txb 	0x18
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) #define Page_rxb	0x1A
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) #define Page_txb	0x1C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) #define EndPage_rxb	0x1E
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) #define EndPage_txb	0x20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) #define Data_error	0x22
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) #define RxTrigger	0x28
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) #define TxTrigger	0x2a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) #define rRXwptr 	0x34
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) #define Low_water	0x36
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) #define FuncCode	0x40
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) #define FuncArg 	0x42
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) #define FuncArg1	0x44
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) #define C218rx_size	0x2000	/* 8K bytes */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) #define C218tx_size	0x8000	/* 32K bytes */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) #define C218rx_mask	(C218rx_size - 1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) #define C218tx_mask	(C218tx_size - 1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) #define C320p8rx_size	0x2000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) #define C320p8tx_size	0x8000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) #define C320p8rx_mask	(C320p8rx_size - 1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) #define C320p8tx_mask	(C320p8tx_size - 1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) #define C320p16rx_size	0x2000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) #define C320p16tx_size	0x4000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) #define C320p16rx_mask	(C320p16rx_size - 1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) #define C320p16tx_mask	(C320p16tx_size - 1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) #define C320p24rx_size	0x2000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) #define C320p24tx_size	0x2000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) #define C320p24rx_mask	(C320p24rx_size - 1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) #define C320p24tx_mask	(C320p24tx_size - 1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) #define C320p32rx_size	0x1000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) #define C320p32tx_size	0x1000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) #define C320p32rx_mask	(C320p32rx_size - 1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) #define C320p32tx_mask	(C320p32tx_size - 1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) #define Page_size	0x2000U
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) #define Page_mask	(Page_size - 1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) #define C218rx_spage	3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) #define C218tx_spage	4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) #define C218rx_pageno	1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) #define C218tx_pageno	4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) #define C218buf_pageno	5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) #define C320p8rx_spage	3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) #define C320p8tx_spage	4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) #define C320p8rx_pgno	1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) #define C320p8tx_pgno	4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) #define C320p8buf_pgno	5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) #define C320p16rx_spage 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) #define C320p16tx_spage 4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) #define C320p16rx_pgno	1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) #define C320p16tx_pgno	2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) #define C320p16buf_pgno 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) #define C320p24rx_spage 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) #define C320p24tx_spage 4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) #define C320p24rx_pgno	1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) #define C320p24tx_pgno	1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) #define C320p24buf_pgno 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) #define C320p32rx_spage 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) #define C320p32tx_ofs	C320p32rx_size
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) #define C320p32tx_spage 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) #define C320p32buf_pgno 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253)  *    Host Status
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) #define WakeupRx	0x01
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) #define WakeupTx	0x02
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) #define WakeupBreak	0x08
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) #define WakeupLine	0x10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) #define WakeupIntr	0x20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) #define WakeupQuit	0x40
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) #define WakeupEOF	0x80	/* used in VTIME control */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) #define WakeupRxTrigger	0x100
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) #define WakeupTxTrigger	0x200
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265)  *    Flag status
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) #define Rx_over		0x01
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) #define Xoff_state	0x02
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) #define Tx_flowOff	0x04
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) #define Tx_enable	0x08
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) #define CTS_state	0x10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) #define DSR_state	0x20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) #define DCD_state	0x80
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275)  *    FlowControl
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) #define CTS_FlowCtl	1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) #define RTS_FlowCtl	2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) #define Tx_FlowCtl	4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) #define Rx_FlowCtl	8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) #define IXM_IXANY	0x10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) #define LowWater	128
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) #define DTR_ON		1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) #define RTS_ON		2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) #define CTS_ON		1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) #define DSR_ON		2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) #define DCD_ON		8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) /* mode definition */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) #define	MX_CS8		0x03
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) #define	MX_CS7		0x02
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) #define	MX_CS6		0x01
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) #define	MX_CS5		0x00
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) #define	MX_STOP1	0x00
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) #define	MX_STOP15	0x04
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) #define	MX_STOP2	0x08
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) #define	MX_PARNONE	0x00
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) #define	MX_PAREVEN	0x40
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) #define	MX_PARODD	0xC0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) #define	MX_PARMARK	0xA0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) #define	MX_PARSPACE	0x20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307) #endif