diff options
Diffstat (limited to 'drivers/net/3c505.h')
| -rw-r--r-- | drivers/net/3c505.h | 292 | 
1 files changed, 0 insertions, 292 deletions
diff --git a/drivers/net/3c505.h b/drivers/net/3c505.h deleted file mode 100644 index 04df2a9002b..00000000000 --- a/drivers/net/3c505.h +++ /dev/null @@ -1,292 +0,0 @@ -/***************************************************************** - * - *  defines for 3Com Etherlink Plus adapter - * - *****************************************************************/ - -#define ELP_DMA       6 -#define ELP_RX_PCBS   4 -#define ELP_MAX_CARDS 4 - -/* - * I/O register offsets - */ -#define	PORT_COMMAND	0x00	/* read/write, 8-bit */ -#define	PORT_STATUS	0x02	/* read only, 8-bit */ -#define	PORT_AUXDMA	0x02	/* write only, 8-bit */ -#define	PORT_DATA	0x04	/* read/write, 16-bit */ -#define	PORT_CONTROL	0x06	/* read/write, 8-bit */ - -#define ELP_IO_EXTENT	0x10	/* size of used IO registers */ - -/* - * host control registers bits - */ -#define	ATTN	0x80	/* attention */ -#define	FLSH	0x40	/* flush data register */ -#define DMAE	0x20	/* DMA enable */ -#define DIR	0x10	/* direction */ -#define	TCEN	0x08	/* terminal count interrupt enable */ -#define	CMDE	0x04	/* command register interrupt enable */ -#define	HSF2	0x02	/* host status flag 2 */ -#define	HSF1	0x01	/* host status flag 1 */ - -/* - * combinations of HSF flags used for PCB transmission - */ -#define	HSF_PCB_ACK	HSF1 -#define	HSF_PCB_NAK	HSF2 -#define	HSF_PCB_END	(HSF2|HSF1) -#define	HSF_PCB_MASK	(HSF2|HSF1) - -/* - * host status register bits - */ -#define	HRDY	0x80	/* data register ready */ -#define	HCRE	0x40	/* command register empty */ -#define	ACRF	0x20	/* adapter command register full */ -/* #define DIR 	0x10	direction - same as in control register */ -#define	DONE	0x08	/* DMA done */ -#define	ASF3	0x04	/* adapter status flag 3 */ -#define	ASF2	0x02	/* adapter status flag 2 */ -#define	ASF1	0x01	/* adapter status flag 1 */ - -/* - * combinations of ASF flags used for PCB reception - */ -#define	ASF_PCB_ACK	ASF1 -#define	ASF_PCB_NAK	ASF2 -#define	ASF_PCB_END	(ASF2|ASF1) -#define	ASF_PCB_MASK	(ASF2|ASF1) - -/* - * host aux DMA register bits - */ -#define	DMA_BRST	0x01	/* DMA burst */ - -/* - * maximum amount of data allowed in a PCB - */ -#define	MAX_PCB_DATA	62 - -/***************************************************************** - * - *  timeout value - *	this is a rough value used for loops to stop them from - *	locking up the whole machine in the case of failure or - *	error conditions - * - *****************************************************************/ - -#define	TIMEOUT	300 - -/***************************************************************** - * - * PCB commands - * - *****************************************************************/ - -enum { -  /* -   * host PCB commands -   */ -  CMD_CONFIGURE_ADAPTER_MEMORY	= 0x01, -  CMD_CONFIGURE_82586		= 0x02, -  CMD_STATION_ADDRESS		= 0x03, -  CMD_DMA_DOWNLOAD		= 0x04, -  CMD_DMA_UPLOAD		= 0x05, -  CMD_PIO_DOWNLOAD		= 0x06, -  CMD_PIO_UPLOAD		= 0x07, -  CMD_RECEIVE_PACKET		= 0x08, -  CMD_TRANSMIT_PACKET		= 0x09, -  CMD_NETWORK_STATISTICS	= 0x0a, -  CMD_LOAD_MULTICAST_LIST	= 0x0b, -  CMD_CLEAR_PROGRAM		= 0x0c, -  CMD_DOWNLOAD_PROGRAM		= 0x0d, -  CMD_EXECUTE_PROGRAM		= 0x0e, -  CMD_SELF_TEST			= 0x0f, -  CMD_SET_STATION_ADDRESS	= 0x10, -  CMD_ADAPTER_INFO		= 0x11, -  NUM_TRANSMIT_CMDS, - -  /* -   * adapter PCB commands -   */ -  CMD_CONFIGURE_ADAPTER_RESPONSE	= 0x31, -  CMD_CONFIGURE_82586_RESPONSE		= 0x32, -  CMD_ADDRESS_RESPONSE			= 0x33, -  CMD_DOWNLOAD_DATA_REQUEST		= 0x34, -  CMD_UPLOAD_DATA_REQUEST		= 0x35, -  CMD_RECEIVE_PACKET_COMPLETE		= 0x38, -  CMD_TRANSMIT_PACKET_COMPLETE		= 0x39, -  CMD_NETWORK_STATISTICS_RESPONSE	= 0x3a, -  CMD_LOAD_MULTICAST_RESPONSE		= 0x3b, -  CMD_CLEAR_PROGRAM_RESPONSE		= 0x3c, -  CMD_DOWNLOAD_PROGRAM_RESPONSE		= 0x3d, -  CMD_EXECUTE_RESPONSE			= 0x3e, -  CMD_SELF_TEST_RESPONSE		= 0x3f, -  CMD_SET_ADDRESS_RESPONSE		= 0x40, -  CMD_ADAPTER_INFO_RESPONSE		= 0x41 -}; - -/* Definitions for the PCB data structure */ - -/* Data units */ -typedef unsigned char         byte; -typedef unsigned short int    word; -typedef unsigned long int     dword; - -/* Data structures */ -struct Memconf { -	word	cmd_q, -		rcv_q, -		mcast, -		frame, -		rcv_b, -		progs; -}; - -struct Rcv_pkt { -	word	buf_ofs, -		buf_seg, -		buf_len, -		timeout; -}; - -struct Xmit_pkt { -	word	buf_ofs, -		buf_seg, -		pkt_len; -}; - -struct Rcv_resp { -	word	buf_ofs, -		buf_seg, -		buf_len, -		pkt_len, -		timeout, -		status; -	dword	timetag; -}; - -struct Xmit_resp { -	word	buf_ofs, -		buf_seg, -		c_stat, -		status; -}; - - -struct Netstat { -	dword	tot_recv, -		tot_xmit; -	word	err_CRC, -		err_align, -		err_res, -		err_ovrrun; -}; - - -struct Selftest { -	word	error; -	union { -		word ROM_cksum; -		struct { -			word ofs, seg; -		} RAM; -		word i82586; -	} failure; -}; - -struct Info { -	byte	minor_vers, -		major_vers; -	word	ROM_cksum, -		RAM_sz, -		free_ofs, -		free_seg; -}; - -struct Memdump { -       word size, -            off, -            seg; -}; - -/* -Primary Command Block. The most important data structure. All communication -between the host and the adapter is done with these. (Except for the actual -Ethernet data, which has different packaging.) -*/ -typedef struct { -	byte	command; -	byte	length; -	union	{ -		struct Memconf		memconf; -		word			configure; -		struct Rcv_pkt		rcv_pkt; -		struct Xmit_pkt		xmit_pkt; -		byte			multicast[10][6]; -		byte			eth_addr[6]; -		byte			failed; -		struct Rcv_resp		rcv_resp; -		struct Xmit_resp	xmit_resp; -		struct Netstat		netstat; -		struct Selftest		selftest; -		struct Info		info; -		struct Memdump    	memdump; -		byte			raw[62]; -	} data; -} pcb_struct; - -/* These defines for 'configure' */ -#define RECV_STATION	0x00 -#define RECV_BROAD	0x01 -#define RECV_MULTI	0x02 -#define RECV_PROMISC	0x04 -#define NO_LOOPBACK	0x00 -#define INT_LOOPBACK	0x08 -#define EXT_LOOPBACK	0x10 - -/***************************************************************** - * - *  structure to hold context information for adapter - * - *****************************************************************/ - -#define DMA_BUFFER_SIZE  1600 -#define BACKLOG_SIZE      4 - -typedef struct { -	volatile short got[NUM_TRANSMIT_CMDS];	/* flags for -						   command completion */ -	pcb_struct tx_pcb;	/* PCB for foreground sending */ -	pcb_struct rx_pcb;	/* PCB for foreground receiving */ -	pcb_struct itx_pcb;	/* PCB for background sending */ -	pcb_struct irx_pcb;	/* PCB for background receiving */ - -	void *dma_buffer; - -	struct { -		unsigned int length[BACKLOG_SIZE]; -		unsigned int in; -		unsigned int out; -	} rx_backlog; - -	struct { -		unsigned int direction; -		unsigned int length; -		struct sk_buff *skb; -	        void *target; -		unsigned long start_time; -	} current_dma; - -	/* flags */ -	unsigned long send_pcb_semaphore; -	unsigned long dmaing; -	unsigned long busy; - -	unsigned int rx_active;  /* number of receive PCBs */ -        volatile unsigned char hcr_val;  /* what we think the HCR contains */ -        spinlock_t lock;	/* Interrupt v tx lock */ -} elp_device;  | 
