diff options
Diffstat (limited to 'include/linux/scc.h')
| -rw-r--r-- | include/linux/scc.h | 169 | 
1 files changed, 1 insertions, 168 deletions
diff --git a/include/linux/scc.h b/include/linux/scc.h index 3495bd953cc..c5a00496267 100644 --- a/include/linux/scc.h +++ b/include/linux/scc.h @@ -1,175 +1,9 @@  /* $Id: scc.h,v 1.29 1997/04/02 14:56:45 jreuter Exp jreuter $ */ -  #ifndef	_SCC_H  #define	_SCC_H +#include <uapi/linux/scc.h> -/* selection of hardware types */ - -#define PA0HZP		0x00	/* hardware type for PA0HZP SCC card and compatible */ -#define EAGLE		0x01    /* hardware type for EAGLE card */ -#define PC100		0x02	/* hardware type for PC100 card */ -#define PRIMUS		0x04	/* hardware type for PRIMUS-PC (DG9BL) card */ -#define DRSI		0x08	/* hardware type for DRSI PC*Packet card */ -#define BAYCOM		0x10	/* hardware type for BayCom (U)SCC */ - -/* DEV ioctl() commands */ - -enum SCC_ioctl_cmds { -	SIOCSCCRESERVED = SIOCDEVPRIVATE, -	SIOCSCCCFG, -	SIOCSCCINI, -	SIOCSCCCHANINI, -	SIOCSCCSMEM, -	SIOCSCCGKISS, -	SIOCSCCSKISS, -	SIOCSCCGSTAT, -	SIOCSCCCAL -}; - -/* Device parameter control (from WAMPES) */ - -enum L1_params { -	PARAM_DATA, -	PARAM_TXDELAY, -	PARAM_PERSIST, -	PARAM_SLOTTIME, -	PARAM_TXTAIL, -	PARAM_FULLDUP, -	PARAM_SOFTDCD,		/* was: PARAM_HW */ -	PARAM_MUTE,		/* ??? */ -	PARAM_DTR, -	PARAM_RTS, -	PARAM_SPEED, -	PARAM_ENDDELAY,		/* ??? */ -	PARAM_GROUP, -	PARAM_IDLE, -	PARAM_MIN, -	PARAM_MAXKEY, -	PARAM_WAIT, -	PARAM_MAXDEFER, -	PARAM_TX, -	PARAM_HWEVENT = 31, -	PARAM_RETURN = 255	/* reset kiss mode */ -}; - -/* fulldup parameter */ - -enum FULLDUP_modes { -	KISS_DUPLEX_HALF,	/* normal CSMA operation */ -	KISS_DUPLEX_FULL,	/* fullduplex, key down trx after transmission */ -	KISS_DUPLEX_LINK,	/* fullduplex, key down trx after 'idletime' sec */ -	KISS_DUPLEX_OPTIMA	/* fullduplex, let the protocol layer control the hw */ -}; - -/* misc. parameters */ - -#define TIMER_OFF	65535U	/* to switch off timers */ -#define NO_SUCH_PARAM	65534U	/* param not implemented */ - -/* HWEVENT parameter */ - -enum HWEVENT_opts { -	HWEV_DCD_ON, -	HWEV_DCD_OFF, -	HWEV_ALL_SENT -}; - -/* channel grouping */ - -#define RXGROUP		0100	/* if set, only tx when all channels clear */ -#define TXGROUP		0200	/* if set, don't transmit simultaneously */ - -/* Tx/Rx clock sources */ - -enum CLOCK_sources { -	CLK_DPLL,	/* normal halfduplex operation */ -	CLK_EXTERNAL,	/* external clocking (G3RUH/DF9IC modems) */ -	CLK_DIVIDER,	/* Rx = DPLL, Tx = divider (fullduplex with */ -			/* modems without clock regeneration */ -	CLK_BRG		/* experimental fullduplex mode with DPLL/BRG for */ -			/* MODEMs without clock recovery */ -}; - -/* Tx state */ - -enum TX_state { -	TXS_IDLE,	/* Transmitter off, no data pending */ -	TXS_BUSY,	/* waiting for permission to send / tailtime */ -	TXS_ACTIVE,	/* Transmitter on, sending data */ -	TXS_NEWFRAME,	/* reset CRC and send (next) frame */ -	TXS_IDLE2,	/* Transmitter on, no data pending */ -	TXS_WAIT,	/* Waiting for Mintime to expire */ -	TXS_TIMEOUT	/* We had a transmission timeout */ -}; - -typedef unsigned long io_port;	/* type definition for an 'io port address' */ - -/* SCC statistical information */ - -struct scc_stat { -        long rxints;            /* Receiver interrupts */ -        long txints;            /* Transmitter interrupts */ -        long exints;            /* External/status interrupts */ -        long spints;            /* Special receiver interrupts */ - -        long txframes;          /* Packets sent */ -        long rxframes;          /* Number of Frames Actually Received */ -        long rxerrs;            /* CRC Errors */ -        long txerrs;		/* KISS errors */ -         -	unsigned int nospace;	/* "Out of buffers" */ -	unsigned int rx_over;	/* Receiver Overruns */ -	unsigned int tx_under;	/* Transmitter Underruns */ - -	unsigned int tx_state;	/* Transmitter state */ -	int tx_queued;		/* tx frames enqueued */ - -	unsigned int maxqueue;	/* allocated tx_buffers */ -	unsigned int bufsize;	/* used buffersize */ -}; - -struct scc_modem { -	long speed;		/* Line speed, bps */ -	char clocksrc;		/* 0 = DPLL, 1 = external, 2 = divider */ -	char nrz;		/* NRZ instead of NRZI */	 -}; - -struct scc_kiss_cmd { -	int  	 command;	/* one of the KISS-Commands defined above */ -	unsigned param;		/* KISS-Param */ -}; - -struct scc_hw_config { -	io_port data_a;		/* data port channel A */ -	io_port ctrl_a;		/* control port channel A */ -	io_port data_b;		/* data port channel B */ -	io_port ctrl_b;		/* control port channel B */ -	io_port vector_latch;	/* INTACK-Latch (#) */ -	io_port	special;	/* special function port */ - -	int	irq;		/* irq */ -	long	clock;		/* clock */ -	char	option;		/* command for function port */ - -	char brand;		/* hardware type */ -	char escc;		/* use ext. features of a 8580/85180/85280 */ -}; - -/* (#) only one INTACK latch allowed. */ - - -struct scc_mem_config { -	unsigned int dummy; -	unsigned int bufsize; -}; - -struct scc_calibrate { -	unsigned int time; -	unsigned char pattern; -}; - -#ifdef __KERNEL__  enum {TX_OFF, TX_ON};	/* command for scc_key_trx() */ @@ -248,5 +82,4 @@ struct scc_channel {  	spinlock_t	lock;		/* Channel guard lock */  }; -#endif /* defined(__KERNEL__) */  #endif /* defined(_SCC_H) */  |