mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-01-13 21:02:35 +00:00
staging: dgap: Merge dgap_fep5.h into dgap_driver.h
There is a lot of cleanup work to do on these digi drivers and merging as much as is possible will make it easier. I also notice that many merged drivers are single source and header. Signed-off-by: Mark Hounschell <markh@compro.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
30580a78a9
commit
fec6c4e0e7
@ -51,7 +51,6 @@
|
|||||||
|
|
||||||
#include "dgap_driver.h"
|
#include "dgap_driver.h"
|
||||||
#include "dgap_pci.h"
|
#include "dgap_pci.h"
|
||||||
#include "dgap_fep5.h"
|
|
||||||
#include "dgap_conf.h"
|
#include "dgap_conf.h"
|
||||||
#include "dgap_parse.h"
|
#include "dgap_parse.h"
|
||||||
#include "dgap_types.h"
|
#include "dgap_types.h"
|
||||||
|
@ -238,6 +238,119 @@
|
|||||||
# define DGAP_UNLOCK(x,y) spin_unlock_irqrestore(&(x), y)
|
# define DGAP_UNLOCK(x,y) spin_unlock_irqrestore(&(x), y)
|
||||||
# define DGAP_TRYLOCK(x,y) spin_trylock(&(x))
|
# define DGAP_TRYLOCK(x,y) spin_trylock(&(x))
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
* FEP memory offsets
|
||||||
|
************************************************************************/
|
||||||
|
#define START 0x0004L /* Execution start address */
|
||||||
|
|
||||||
|
#define CMDBUF 0x0d10L /* Command (cm_t) structure offset */
|
||||||
|
#define CMDSTART 0x0400L /* Start of command buffer */
|
||||||
|
#define CMDMAX 0x0800L /* End of command buffer */
|
||||||
|
|
||||||
|
#define EVBUF 0x0d18L /* Event (ev_t) structure */
|
||||||
|
#define EVSTART 0x0800L /* Start of event buffer */
|
||||||
|
#define EVMAX 0x0c00L /* End of event buffer */
|
||||||
|
#define FEP5_PLUS 0x0E40 /* ASCII '5' and ASCII 'A' is here */
|
||||||
|
#define ECS_SEG 0x0E44 /* Segment of the extended channel structure */
|
||||||
|
#define LINE_SPEED 0x10 /* Offset into ECS_SEG for line speed */
|
||||||
|
/* if the fep has extended capabilities */
|
||||||
|
|
||||||
|
/* BIOS MAGIC SPOTS */
|
||||||
|
#define ERROR 0x0C14L /* BIOS error code */
|
||||||
|
#define SEQUENCE 0x0C12L /* BIOS sequence indicator */
|
||||||
|
#define POSTAREA 0x0C00L /* POST complete message area */
|
||||||
|
|
||||||
|
/* FEP MAGIC SPOTS */
|
||||||
|
#define FEPSTAT POSTAREA /* OS here when FEP comes up */
|
||||||
|
#define NCHAN 0x0C02L /* number of ports FEP sees */
|
||||||
|
#define PANIC 0x0C10L /* PANIC area for FEP */
|
||||||
|
#define KMEMEM 0x0C30L /* Memory for KME use */
|
||||||
|
#define CONFIG 0x0CD0L /* Concentrator configuration info */
|
||||||
|
#define CONFIGSIZE 0x0030 /* configuration info size */
|
||||||
|
#define DOWNREQ 0x0D00 /* Download request buffer pointer */
|
||||||
|
|
||||||
|
#define CHANBUF 0x1000L /* Async channel (bs_t) structs */
|
||||||
|
#define FEPOSSIZE 0x1FFF /* 8K FEPOS */
|
||||||
|
|
||||||
|
#define XEMPORTS 0xC02 /*
|
||||||
|
* Offset in board memory where FEP5 stores
|
||||||
|
* how many ports it has detected.
|
||||||
|
* NOTE: FEP5 reports 64 ports when the user
|
||||||
|
* has the cable in EBI OUT instead of EBI IN.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define FEPCLR 0x00
|
||||||
|
#define FEPMEM 0x02
|
||||||
|
#define FEPRST 0x04
|
||||||
|
#define FEPINT 0x08
|
||||||
|
#define FEPMASK 0x0e
|
||||||
|
#define FEPWIN 0x80
|
||||||
|
|
||||||
|
#define LOWMEM 0x0100
|
||||||
|
#define HIGHMEM 0x7f00
|
||||||
|
|
||||||
|
#define FEPTIMEOUT 200000
|
||||||
|
|
||||||
|
#define ENABLE_INTR 0x0e04 /* Enable interrupts flag */
|
||||||
|
#define FEPPOLL_MIN 1 /* minimum of 1 millisecond */
|
||||||
|
#define FEPPOLL_MAX 20 /* maximum of 20 milliseconds */
|
||||||
|
#define FEPPOLL 0x0c26 /* Fep event poll interval */
|
||||||
|
|
||||||
|
#define IALTPIN 0x0080 /* Input flag to swap DSR <-> DCD */
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
* FEP supported functions
|
||||||
|
************************************************************************/
|
||||||
|
#define SRLOW 0xe0 /* Set receive low water */
|
||||||
|
#define SRHIGH 0xe1 /* Set receive high water */
|
||||||
|
#define FLUSHTX 0xe2 /* Flush transmit buffer */
|
||||||
|
#define PAUSETX 0xe3 /* Pause data transmission */
|
||||||
|
#define RESUMETX 0xe4 /* Resume data transmission */
|
||||||
|
#define SMINT 0xe5 /* Set Modem Interrupt */
|
||||||
|
#define SAFLOWC 0xe6 /* Set Aux. flow control chars */
|
||||||
|
#define SBREAK 0xe8 /* Send break */
|
||||||
|
#define SMODEM 0xe9 /* Set 8530 modem control lines */
|
||||||
|
#define SIFLAG 0xea /* Set UNIX iflags */
|
||||||
|
#define SFLOWC 0xeb /* Set flow control characters */
|
||||||
|
#define STLOW 0xec /* Set transmit low water mark */
|
||||||
|
#define RPAUSE 0xee /* Pause receive */
|
||||||
|
#define RRESUME 0xef /* Resume receive */
|
||||||
|
#define CHRESET 0xf0 /* Reset Channel */
|
||||||
|
#define BUFSETALL 0xf2 /* Set Tx & Rx buffer size avail*/
|
||||||
|
#define SOFLAG 0xf3 /* Set UNIX oflags */
|
||||||
|
#define SHFLOW 0xf4 /* Set hardware handshake */
|
||||||
|
#define SCFLAG 0xf5 /* Set UNIX cflags */
|
||||||
|
#define SVNEXT 0xf6 /* Set VNEXT character */
|
||||||
|
#define SPINTFC 0xfc /* Reserved */
|
||||||
|
#define SCOMMODE 0xfd /* Set RS232/422 mode */
|
||||||
|
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
* Modes for SCOMMODE
|
||||||
|
************************************************************************/
|
||||||
|
#define MODE_232 0x00
|
||||||
|
#define MODE_422 0x01
|
||||||
|
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
* Event flags.
|
||||||
|
************************************************************************/
|
||||||
|
#define IFBREAK 0x01 /* Break received */
|
||||||
|
#define IFTLW 0x02 /* Transmit low water */
|
||||||
|
#define IFTEM 0x04 /* Transmitter empty */
|
||||||
|
#define IFDATA 0x08 /* Receive data present */
|
||||||
|
#define IFMODEM 0x20 /* Modem status change */
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
* Modem flags
|
||||||
|
************************************************************************/
|
||||||
|
# define DM_RTS 0x02 /* Request to send */
|
||||||
|
# define DM_CD 0x80 /* Carrier detect */
|
||||||
|
# define DM_DSR 0x20 /* Data set ready */
|
||||||
|
# define DM_CTS 0x10 /* Clear to send */
|
||||||
|
# define DM_RI 0x40 /* Ring indicator */
|
||||||
|
# define DM_DTR 0x01 /* Data terminal ready */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* All the possible states the driver can be while being loaded.
|
* All the possible states the driver can be while being loaded.
|
||||||
*/
|
*/
|
||||||
@ -564,6 +677,115 @@ struct channel_t {
|
|||||||
wait_queue_head_t ch_sniff_wait;
|
wait_queue_head_t ch_sniff_wait;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
* Command structure definition.
|
||||||
|
************************************************************************/
|
||||||
|
struct cm_t {
|
||||||
|
volatile unsigned short cm_head; /* Command buffer head offset */
|
||||||
|
volatile unsigned short cm_tail; /* Command buffer tail offset */
|
||||||
|
volatile unsigned short cm_start; /* start offset of buffer */
|
||||||
|
volatile unsigned short cm_max; /* last offset of buffer */
|
||||||
|
};
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
* Event structure definition.
|
||||||
|
************************************************************************/
|
||||||
|
struct ev_t {
|
||||||
|
volatile unsigned short ev_head; /* Command buffer head offset */
|
||||||
|
volatile unsigned short ev_tail; /* Command buffer tail offset */
|
||||||
|
volatile unsigned short ev_start; /* start offset of buffer */
|
||||||
|
volatile unsigned short ev_max; /* last offset of buffer */
|
||||||
|
};
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
* Download buffer structure.
|
||||||
|
************************************************************************/
|
||||||
|
struct downld_t {
|
||||||
|
uchar dl_type; /* Header */
|
||||||
|
uchar dl_seq; /* Download sequence */
|
||||||
|
ushort dl_srev; /* Software revision number */
|
||||||
|
ushort dl_lrev; /* Low revision number */
|
||||||
|
ushort dl_hrev; /* High revision number */
|
||||||
|
ushort dl_seg; /* Start segment address */
|
||||||
|
ushort dl_size; /* Number of bytes to download */
|
||||||
|
uchar dl_data[1024]; /* Download data */
|
||||||
|
};
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
* Per channel buffer structure
|
||||||
|
************************************************************************
|
||||||
|
* Base Structure Entries Usage Meanings to Host *
|
||||||
|
* *
|
||||||
|
* W = read write R = read only *
|
||||||
|
* C = changed by commands only *
|
||||||
|
* U = unknown (may be changed w/o notice) *
|
||||||
|
************************************************************************/
|
||||||
|
struct bs_t {
|
||||||
|
volatile unsigned short tp_jmp; /* Transmit poll jump */
|
||||||
|
volatile unsigned short tc_jmp; /* Cooked procedure jump */
|
||||||
|
volatile unsigned short ri_jmp; /* Not currently used */
|
||||||
|
volatile unsigned short rp_jmp; /* Receive poll jump */
|
||||||
|
|
||||||
|
volatile unsigned short tx_seg; /* W Tx segment */
|
||||||
|
volatile unsigned short tx_head; /* W Tx buffer head offset */
|
||||||
|
volatile unsigned short tx_tail; /* R Tx buffer tail offset */
|
||||||
|
volatile unsigned short tx_max; /* W Tx buffer size - 1 */
|
||||||
|
|
||||||
|
volatile unsigned short rx_seg; /* W Rx segment */
|
||||||
|
volatile unsigned short rx_head; /* W Rx buffer head offset */
|
||||||
|
volatile unsigned short rx_tail; /* R Rx buffer tail offset */
|
||||||
|
volatile unsigned short rx_max; /* W Rx buffer size - 1 */
|
||||||
|
|
||||||
|
volatile unsigned short tx_lw; /* W Tx buffer low water mark */
|
||||||
|
volatile unsigned short rx_lw; /* W Rx buffer low water mark */
|
||||||
|
volatile unsigned short rx_hw; /* W Rx buffer high water mark */
|
||||||
|
volatile unsigned short incr; /* W Increment to next channel */
|
||||||
|
|
||||||
|
volatile unsigned short fepdev; /* U SCC device base address */
|
||||||
|
volatile unsigned short edelay; /* W Exception delay */
|
||||||
|
volatile unsigned short blen; /* W Break length */
|
||||||
|
volatile unsigned short btime; /* U Break complete time */
|
||||||
|
|
||||||
|
volatile unsigned short iflag; /* C UNIX input flags */
|
||||||
|
volatile unsigned short oflag; /* C UNIX output flags */
|
||||||
|
volatile unsigned short cflag; /* C UNIX control flags */
|
||||||
|
volatile unsigned short wfill[13]; /* U Reserved for expansion */
|
||||||
|
|
||||||
|
volatile unsigned char num; /* U Channel number */
|
||||||
|
volatile unsigned char ract; /* U Receiver active counter */
|
||||||
|
volatile unsigned char bstat; /* U Break status bits */
|
||||||
|
volatile unsigned char tbusy; /* W Transmit busy */
|
||||||
|
volatile unsigned char iempty; /* W Transmit empty event enable */
|
||||||
|
volatile unsigned char ilow; /* W Transmit low-water event enable */
|
||||||
|
volatile unsigned char idata; /* W Receive data interrupt enable */
|
||||||
|
volatile unsigned char eflag; /* U Host event flags */
|
||||||
|
|
||||||
|
volatile unsigned char tflag; /* U Transmit flags */
|
||||||
|
volatile unsigned char rflag; /* U Receive flags */
|
||||||
|
volatile unsigned char xmask; /* U Transmit ready flags */
|
||||||
|
volatile unsigned char xval; /* U Transmit ready value */
|
||||||
|
volatile unsigned char m_stat; /* RC Modem status bits */
|
||||||
|
volatile unsigned char m_change; /* U Modem bits which changed */
|
||||||
|
volatile unsigned char m_int; /* W Modem interrupt enable bits */
|
||||||
|
volatile unsigned char m_last; /* U Last modem status */
|
||||||
|
|
||||||
|
volatile unsigned char mtran; /* C Unreported modem trans */
|
||||||
|
volatile unsigned char orun; /* C Buffer overrun occurred */
|
||||||
|
volatile unsigned char astartc; /* W Auxiliary Xon char */
|
||||||
|
volatile unsigned char astopc; /* W Auxiliary Xoff char */
|
||||||
|
volatile unsigned char startc; /* W Xon character */
|
||||||
|
volatile unsigned char stopc; /* W Xoff character */
|
||||||
|
volatile unsigned char vnextc; /* W Vnext character */
|
||||||
|
volatile unsigned char hflow; /* C Software flow control */
|
||||||
|
|
||||||
|
volatile unsigned char fillc; /* U Delay Fill character */
|
||||||
|
volatile unsigned char ochar; /* U Saved output character */
|
||||||
|
volatile unsigned char omask; /* U Output character mask */
|
||||||
|
|
||||||
|
volatile unsigned char bfill[13]; /* U Reserved for expansion */
|
||||||
|
|
||||||
|
volatile unsigned char scc[16]; /* U SCC registers */
|
||||||
|
};
|
||||||
|
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
*
|
*
|
||||||
|
@ -1,253 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2003 Digi International (www.digi.com)
|
|
||||||
* Scott H Kilau <Scott_Kilau at digi dot com>
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY, EXPRESS OR IMPLIED; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
||||||
*
|
|
||||||
* NOTE: THIS IS A SHARED HEADER. DO NOT CHANGE CODING STYLE!!!
|
|
||||||
*
|
|
||||||
************************************************************************
|
|
||||||
*** FEP Version 5 dependent definitions
|
|
||||||
************************************************************************/
|
|
||||||
|
|
||||||
#ifndef __DGAP_FEP5_H
|
|
||||||
#define __DGAP_FEP5_H
|
|
||||||
|
|
||||||
/************************************************************************
|
|
||||||
* FEP memory offsets
|
|
||||||
************************************************************************/
|
|
||||||
#define START 0x0004L /* Execution start address */
|
|
||||||
|
|
||||||
#define CMDBUF 0x0d10L /* Command (cm_t) structure offset */
|
|
||||||
#define CMDSTART 0x0400L /* Start of command buffer */
|
|
||||||
#define CMDMAX 0x0800L /* End of command buffer */
|
|
||||||
|
|
||||||
#define EVBUF 0x0d18L /* Event (ev_t) structure */
|
|
||||||
#define EVSTART 0x0800L /* Start of event buffer */
|
|
||||||
#define EVMAX 0x0c00L /* End of event buffer */
|
|
||||||
#define FEP5_PLUS 0x0E40 /* ASCII '5' and ASCII 'A' is here */
|
|
||||||
#define ECS_SEG 0x0E44 /* Segment of the extended channel structure */
|
|
||||||
#define LINE_SPEED 0x10 /* Offset into ECS_SEG for line speed */
|
|
||||||
/* if the fep has extended capabilities */
|
|
||||||
|
|
||||||
/* BIOS MAGIC SPOTS */
|
|
||||||
#define ERROR 0x0C14L /* BIOS error code */
|
|
||||||
#define SEQUENCE 0x0C12L /* BIOS sequence indicator */
|
|
||||||
#define POSTAREA 0x0C00L /* POST complete message area */
|
|
||||||
|
|
||||||
/* FEP MAGIC SPOTS */
|
|
||||||
#define FEPSTAT POSTAREA /* OS here when FEP comes up */
|
|
||||||
#define NCHAN 0x0C02L /* number of ports FEP sees */
|
|
||||||
#define PANIC 0x0C10L /* PANIC area for FEP */
|
|
||||||
#define KMEMEM 0x0C30L /* Memory for KME use */
|
|
||||||
#define CONFIG 0x0CD0L /* Concentrator configuration info */
|
|
||||||
#define CONFIGSIZE 0x0030 /* configuration info size */
|
|
||||||
#define DOWNREQ 0x0D00 /* Download request buffer pointer */
|
|
||||||
|
|
||||||
#define CHANBUF 0x1000L /* Async channel (bs_t) structs */
|
|
||||||
#define FEPOSSIZE 0x1FFF /* 8K FEPOS */
|
|
||||||
|
|
||||||
#define XEMPORTS 0xC02 /*
|
|
||||||
* Offset in board memory where FEP5 stores
|
|
||||||
* how many ports it has detected.
|
|
||||||
* NOTE: FEP5 reports 64 ports when the user
|
|
||||||
* has the cable in EBI OUT instead of EBI IN.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define FEPCLR 0x00
|
|
||||||
#define FEPMEM 0x02
|
|
||||||
#define FEPRST 0x04
|
|
||||||
#define FEPINT 0x08
|
|
||||||
#define FEPMASK 0x0e
|
|
||||||
#define FEPWIN 0x80
|
|
||||||
|
|
||||||
#define LOWMEM 0x0100
|
|
||||||
#define HIGHMEM 0x7f00
|
|
||||||
|
|
||||||
#define FEPTIMEOUT 200000
|
|
||||||
|
|
||||||
#define ENABLE_INTR 0x0e04 /* Enable interrupts flag */
|
|
||||||
#define FEPPOLL_MIN 1 /* minimum of 1 millisecond */
|
|
||||||
#define FEPPOLL_MAX 20 /* maximum of 20 milliseconds */
|
|
||||||
#define FEPPOLL 0x0c26 /* Fep event poll interval */
|
|
||||||
|
|
||||||
#define IALTPIN 0x0080 /* Input flag to swap DSR <-> DCD */
|
|
||||||
|
|
||||||
/************************************************************************
|
|
||||||
* Command structure definition.
|
|
||||||
************************************************************************/
|
|
||||||
struct cm_t {
|
|
||||||
volatile unsigned short cm_head; /* Command buffer head offset */
|
|
||||||
volatile unsigned short cm_tail; /* Command buffer tail offset */
|
|
||||||
volatile unsigned short cm_start; /* start offset of buffer */
|
|
||||||
volatile unsigned short cm_max; /* last offset of buffer */
|
|
||||||
};
|
|
||||||
|
|
||||||
/************************************************************************
|
|
||||||
* Event structure definition.
|
|
||||||
************************************************************************/
|
|
||||||
struct ev_t {
|
|
||||||
volatile unsigned short ev_head; /* Command buffer head offset */
|
|
||||||
volatile unsigned short ev_tail; /* Command buffer tail offset */
|
|
||||||
volatile unsigned short ev_start; /* start offset of buffer */
|
|
||||||
volatile unsigned short ev_max; /* last offset of buffer */
|
|
||||||
};
|
|
||||||
|
|
||||||
/************************************************************************
|
|
||||||
* Download buffer structure.
|
|
||||||
************************************************************************/
|
|
||||||
struct downld_t {
|
|
||||||
uchar dl_type; /* Header */
|
|
||||||
uchar dl_seq; /* Download sequence */
|
|
||||||
ushort dl_srev; /* Software revision number */
|
|
||||||
ushort dl_lrev; /* Low revision number */
|
|
||||||
ushort dl_hrev; /* High revision number */
|
|
||||||
ushort dl_seg; /* Start segment address */
|
|
||||||
ushort dl_size; /* Number of bytes to download */
|
|
||||||
uchar dl_data[1024]; /* Download data */
|
|
||||||
};
|
|
||||||
|
|
||||||
/************************************************************************
|
|
||||||
* Per channel buffer structure
|
|
||||||
************************************************************************
|
|
||||||
* Base Structure Entries Usage Meanings to Host *
|
|
||||||
* *
|
|
||||||
* W = read write R = read only *
|
|
||||||
* C = changed by commands only *
|
|
||||||
* U = unknown (may be changed w/o notice) *
|
|
||||||
************************************************************************/
|
|
||||||
struct bs_t {
|
|
||||||
volatile unsigned short tp_jmp; /* Transmit poll jump */
|
|
||||||
volatile unsigned short tc_jmp; /* Cooked procedure jump */
|
|
||||||
volatile unsigned short ri_jmp; /* Not currently used */
|
|
||||||
volatile unsigned short rp_jmp; /* Receive poll jump */
|
|
||||||
|
|
||||||
volatile unsigned short tx_seg; /* W Tx segment */
|
|
||||||
volatile unsigned short tx_head; /* W Tx buffer head offset */
|
|
||||||
volatile unsigned short tx_tail; /* R Tx buffer tail offset */
|
|
||||||
volatile unsigned short tx_max; /* W Tx buffer size - 1 */
|
|
||||||
|
|
||||||
volatile unsigned short rx_seg; /* W Rx segment */
|
|
||||||
volatile unsigned short rx_head; /* W Rx buffer head offset */
|
|
||||||
volatile unsigned short rx_tail; /* R Rx buffer tail offset */
|
|
||||||
volatile unsigned short rx_max; /* W Rx buffer size - 1 */
|
|
||||||
|
|
||||||
volatile unsigned short tx_lw; /* W Tx buffer low water mark */
|
|
||||||
volatile unsigned short rx_lw; /* W Rx buffer low water mark */
|
|
||||||
volatile unsigned short rx_hw; /* W Rx buffer high water mark */
|
|
||||||
volatile unsigned short incr; /* W Increment to next channel */
|
|
||||||
|
|
||||||
volatile unsigned short fepdev; /* U SCC device base address */
|
|
||||||
volatile unsigned short edelay; /* W Exception delay */
|
|
||||||
volatile unsigned short blen; /* W Break length */
|
|
||||||
volatile unsigned short btime; /* U Break complete time */
|
|
||||||
|
|
||||||
volatile unsigned short iflag; /* C UNIX input flags */
|
|
||||||
volatile unsigned short oflag; /* C UNIX output flags */
|
|
||||||
volatile unsigned short cflag; /* C UNIX control flags */
|
|
||||||
volatile unsigned short wfill[13]; /* U Reserved for expansion */
|
|
||||||
|
|
||||||
volatile unsigned char num; /* U Channel number */
|
|
||||||
volatile unsigned char ract; /* U Receiver active counter */
|
|
||||||
volatile unsigned char bstat; /* U Break status bits */
|
|
||||||
volatile unsigned char tbusy; /* W Transmit busy */
|
|
||||||
volatile unsigned char iempty; /* W Transmit empty event enable */
|
|
||||||
volatile unsigned char ilow; /* W Transmit low-water event enable */
|
|
||||||
volatile unsigned char idata; /* W Receive data interrupt enable */
|
|
||||||
volatile unsigned char eflag; /* U Host event flags */
|
|
||||||
|
|
||||||
volatile unsigned char tflag; /* U Transmit flags */
|
|
||||||
volatile unsigned char rflag; /* U Receive flags */
|
|
||||||
volatile unsigned char xmask; /* U Transmit ready flags */
|
|
||||||
volatile unsigned char xval; /* U Transmit ready value */
|
|
||||||
volatile unsigned char m_stat; /* RC Modem status bits */
|
|
||||||
volatile unsigned char m_change; /* U Modem bits which changed */
|
|
||||||
volatile unsigned char m_int; /* W Modem interrupt enable bits */
|
|
||||||
volatile unsigned char m_last; /* U Last modem status */
|
|
||||||
|
|
||||||
volatile unsigned char mtran; /* C Unreported modem trans */
|
|
||||||
volatile unsigned char orun; /* C Buffer overrun occurred */
|
|
||||||
volatile unsigned char astartc; /* W Auxiliary Xon char */
|
|
||||||
volatile unsigned char astopc; /* W Auxiliary Xoff char */
|
|
||||||
volatile unsigned char startc; /* W Xon character */
|
|
||||||
volatile unsigned char stopc; /* W Xoff character */
|
|
||||||
volatile unsigned char vnextc; /* W Vnext character */
|
|
||||||
volatile unsigned char hflow; /* C Software flow control */
|
|
||||||
|
|
||||||
volatile unsigned char fillc; /* U Delay Fill character */
|
|
||||||
volatile unsigned char ochar; /* U Saved output character */
|
|
||||||
volatile unsigned char omask; /* U Output character mask */
|
|
||||||
|
|
||||||
volatile unsigned char bfill[13]; /* U Reserved for expansion */
|
|
||||||
|
|
||||||
volatile unsigned char scc[16]; /* U SCC registers */
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/************************************************************************
|
|
||||||
* FEP supported functions
|
|
||||||
************************************************************************/
|
|
||||||
#define SRLOW 0xe0 /* Set receive low water */
|
|
||||||
#define SRHIGH 0xe1 /* Set receive high water */
|
|
||||||
#define FLUSHTX 0xe2 /* Flush transmit buffer */
|
|
||||||
#define PAUSETX 0xe3 /* Pause data transmission */
|
|
||||||
#define RESUMETX 0xe4 /* Resume data transmission */
|
|
||||||
#define SMINT 0xe5 /* Set Modem Interrupt */
|
|
||||||
#define SAFLOWC 0xe6 /* Set Aux. flow control chars */
|
|
||||||
#define SBREAK 0xe8 /* Send break */
|
|
||||||
#define SMODEM 0xe9 /* Set 8530 modem control lines */
|
|
||||||
#define SIFLAG 0xea /* Set UNIX iflags */
|
|
||||||
#define SFLOWC 0xeb /* Set flow control characters */
|
|
||||||
#define STLOW 0xec /* Set transmit low water mark */
|
|
||||||
#define RPAUSE 0xee /* Pause receive */
|
|
||||||
#define RRESUME 0xef /* Resume receive */
|
|
||||||
#define CHRESET 0xf0 /* Reset Channel */
|
|
||||||
#define BUFSETALL 0xf2 /* Set Tx & Rx buffer size avail*/
|
|
||||||
#define SOFLAG 0xf3 /* Set UNIX oflags */
|
|
||||||
#define SHFLOW 0xf4 /* Set hardware handshake */
|
|
||||||
#define SCFLAG 0xf5 /* Set UNIX cflags */
|
|
||||||
#define SVNEXT 0xf6 /* Set VNEXT character */
|
|
||||||
#define SPINTFC 0xfc /* Reserved */
|
|
||||||
#define SCOMMODE 0xfd /* Set RS232/422 mode */
|
|
||||||
|
|
||||||
|
|
||||||
/************************************************************************
|
|
||||||
* Modes for SCOMMODE
|
|
||||||
************************************************************************/
|
|
||||||
#define MODE_232 0x00
|
|
||||||
#define MODE_422 0x01
|
|
||||||
|
|
||||||
|
|
||||||
/************************************************************************
|
|
||||||
* Event flags.
|
|
||||||
************************************************************************/
|
|
||||||
#define IFBREAK 0x01 /* Break received */
|
|
||||||
#define IFTLW 0x02 /* Transmit low water */
|
|
||||||
#define IFTEM 0x04 /* Transmitter empty */
|
|
||||||
#define IFDATA 0x08 /* Receive data present */
|
|
||||||
#define IFMODEM 0x20 /* Modem status change */
|
|
||||||
|
|
||||||
/************************************************************************
|
|
||||||
* Modem flags
|
|
||||||
************************************************************************/
|
|
||||||
# define DM_RTS 0x02 /* Request to send */
|
|
||||||
# define DM_CD 0x80 /* Carrier detect */
|
|
||||||
# define DM_DSR 0x20 /* Data set ready */
|
|
||||||
# define DM_CTS 0x10 /* Clear to send */
|
|
||||||
# define DM_RI 0x40 /* Ring indicator */
|
|
||||||
# define DM_DTR 0x01 /* Data terminal ready */
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
|
Loading…
x
Reference in New Issue
Block a user