linux/drivers/net/ethernet/i825xx/3c527.h
Jeff Kirsher 1159788592 i825xx: Move the Intel 82586/82593/82596 based drivers
Move the drivers that use the i82586/i82593/i82596 chipsets into
drivers/net/ethernet/i825xx/ and make the necessary Kconfig and
Makefile changes.  There were 4 3Com drivers which were initially
moved into 3com/, which now reside in i825xx since they all used
the i82586 chip.

CC: Philip Blundell <philb@gnu.org>
CC: Russell King <linux@arm.linux.org.uk>
CC: <aris@cathedrallabs.org>
CC: Donald Becker <becker@scyld.com>
CC: Chris Beauregard <cpbeaure@undergrad.math.uwaterloo.ca>
CC: Richard Procter <rnp@paradise.net.nz>
CC: Andries Brouwer <aeb@cwi.nl>
CC: "M.Hipp" <hippm@informatik.uni-tuebingen.de>
CC: Richard Hirst <richard@sleepie.demon.co.uk>
CC: Sam Creasey <sammy@oh.verio.com>
CC: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-08-10 20:04:12 -07:00

81 lines
1.4 KiB
C

/*
* 3COM "EtherLink MC/32" Descriptions
*/
/*
* Registers
*/
#define HOST_CMD 0
#define HOST_CMD_START_RX (1<<3)
#define HOST_CMD_SUSPND_RX (3<<3)
#define HOST_CMD_RESTRT_RX (5<<3)
#define HOST_CMD_SUSPND_TX 3
#define HOST_CMD_RESTRT_TX 5
#define HOST_STATUS 2
#define HOST_STATUS_CRR (1<<6)
#define HOST_STATUS_CWR (1<<5)
#define HOST_CTRL 6
#define HOST_CTRL_ATTN (1<<7)
#define HOST_CTRL_RESET (1<<6)
#define HOST_CTRL_INTE (1<<2)
#define HOST_RAMPAGE 8
#define HALTED 0
#define RUNNING 1
struct mc32_mailbox
{
u16 mbox;
u16 data[1];
} __packed;
struct skb_header
{
u8 status;
u8 control;
u16 next; /* Do not change! */
u16 length;
u32 data;
} __packed;
struct mc32_stats
{
/* RX Errors */
u32 rx_crc_errors;
u32 rx_alignment_errors;
u32 rx_overrun_errors;
u32 rx_tooshort_errors;
u32 rx_toolong_errors;
u32 rx_outofresource_errors;
u32 rx_discarded; /* via card pattern match filter */
/* TX Errors */
u32 tx_max_collisions;
u32 tx_carrier_errors;
u32 tx_underrun_errors;
u32 tx_cts_errors;
u32 tx_timeout_errors;
/* various cruft */
u32 dataA[6];
u16 dataB[5];
u32 dataC[14];
} __packed;
#define STATUS_MASK 0x0F
#define COMPLETED (1<<7)
#define COMPLETED_OK (1<<6)
#define BUFFER_BUSY (1<<5)
#define CONTROL_EOP (1<<7) /* End Of Packet */
#define CONTROL_EOL (1<<6) /* End of List */
#define MCA_MC32_ID 0x0041 /* Our MCA ident */