⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3c509.h

📁 minix3.1.1源代码
💻 H
字号:
/***  File:	3c509.h		Jun. 01, 2000****  Author:	Giovanni Falzoni <gfalzoni@inwind.it>****  Interface description for 3Com Etherlink III board.****  $Log: 3c509.h,v $**  Revision 1.1  2005/06/29 10:16:46  beng**  Import of dpeth 3c501/3c509b/.. ethernet driver by**  Giovanni Falzoni <fgalzoni@inwind.it>.****  Revision 2.0  2005/06/26 16:16:46  lsodgf0**  Initial revision for Minix 3.0.6****  $Id: 3c509.h,v 1.1 2005/06/29 10:16:46 beng Exp $*//* Command codes */#define	CMD_GlobalReset		0x0000	/* resets adapter (power up status) */#define	CMD_SelectWindow       (1<<11)	/* select register window */#define	CMD_StartIntXcvr       (2<<11)	/* start internal transciver */#define	CMD_RxDisable	       (3<<11)	/* rx disable */#define	CMD_RxEnable	       (4<<11)	/* rx enable */#define	CMD_RxReset	       (5<<11)	/* rx reset */#define	CMD_RxDiscard	       (8<<11)	/* rx discard top packet */#define	CMD_TxEnable	       (9<<11)	/* tx enable */#define	CMD_TxDisable	      (10<<11)	/* tx disable */#define	CMD_TxReset	      (11<<11)	/* tx reset */#define	CMD_Acknowledge	      (13<<11)	/* acknowledge interrupt */#define	CMD_SetIntMask	      (14<<11)	/* set interrupt mask */#define	CMD_SetStatusEnab     (15<<11)	/* set read zero mask */#define	CMD_SetRxFilter	      (16<<11)	/* set rx filter */#define	CMD_SetTxAvailable    (18<<11)	/* set tx available threshold */#define	CMD_StatsEnable	      (21<<11)	/* statistics enable */#define	CMD_StatsDisable      (22<<11)	/* statistics disable */#define	CMD_StopIntXcvr	      (23<<11)	/* start internal transciver *//* Status register bits (INT for interrupt sources, ST for the rest) */#define	INT_Latch		0x0001	/* interrupt latch */#define	INT_AdapterFail		0x0002	/* adapter failure */#define	INT_TxComplete		0x0004	/* tx complete */#define	INT_TxAvailable		0x0008	/* tx available */#define	INT_RxComplete	 	0x0010	/* rx complete */#define	INT_RxEarly		0x0020	/* rx early */#define	INT_Requested		0x0040	/* interrupt requested */#define	INT_UpdateStats		0x0080	/* update statistics *//* Rx Status register bits */#define	RXS_Error		0x4000	/* error in packet */#define	RXS_Length		0x07FF	/* bytes in RxFIFO */#define	RXS_ErrType		0x3800	/* Rx error type, bit 13-11 */#define	RXS_Overrun		0x0000	/* overrun error */#define	RXS_Oversize		0x0800	/* oversize packet error */#define	RXS_Dribble		0x1000	/* dribble bit (not an error) */#define	RXS_Runt		0x1800	/* runt packet error */#define	RXS_Framing		0x2000	/* framing error */#define	RXS_CRC			0x2800	/* CRC error *//* Tx Status register bits *//* Window Numbers */#define	WNO_Setup		0x0000	/* setup/configuration */#define	WNO_Operating		0x0001	/* operating set */#define	WNO_StationAddress	0x0002	/* station address setup/read */#define	WNO_Diagnostics		0x0004	/* diagnostics */#define	WNO_Statistics		0x0006	/* statistics *//* Register offsets - Window 1 (WNO_Operating) */#define	REG_CmdStatus		0x000E	/* command/status */#define	REG_TxFree		0x000C	/* free transmit bytes */#define	REG_TxStatus		0x000B	/* transmit status (byte) */#define	REG_RxStatus		0x0008	/* receive status */#define	REG_RxFIFO		0x0000	/* RxFIFO read */#define	REG_TxFIFO		0x0000	/* TxFIFO write *//* Register offsets - Window 0 (WNO_Setup) */#define	REG_CfgControl		0x0004	/* configuration control *//* Register offsets - Window 2 (WNO_StationAddress) */#define	REG_SA0_1		0x0000	/* station address bytes 0,1 *//* Register offsets - Window 3 (WNO_FIFO) *//* Register offsets - Window 4 (WNO_Diagnostics) */#define	REG_MediaStatus		0x000A	/* media type/status *//* Register offsets - Window 5 (WNO_Readable) *//* Register offsets - Window 6 (WNO_Statistics) */#define	REG_TxBytes		0x000C	/* tx bytes ok */#define	REG_RxBytes		0x000A	/* rx bytes ok */#define	REG_TxDefer		0x0008	/* tx frames deferred (byte) */#define	REG_RxFrames		0x0007	/* rx frames ok (byte) */#define	REG_TxFrames		0x0006	/* tx frames ok (byte) */#define	REG_RxDiscarded		0x0005	/* rx frames discarded (byte) */#define	REG_TxLate		0x0004	/* tx frames late coll. (byte) */#define	REG_TxSingleColl	0x0003	/* tx frames one coll. (byte) */#define	REG_TxMultColl		0x0002	/* tx frames mult. coll. (byte) */#define	REG_TxNoCD		0x0001	/* tx frames no CDheartbt (byte) */#define	REG_TxCarrierLost	0x0000	/* tx frames carrier lost (byte) *//* Various command arguments */#define	FilterIndividual	0x0001	/* individual address */#define	FilterMulticast		0x0002	/* multicast/group addresses */#define	FilterBroadcast		0x0004	/* broadcast address */#define	FilterPromiscuous	0x0008	/* promiscuous mode *//* Resource Configuration Register bits */#define	EL3_CONFIG_IRQ_MASK	0xF000/* Address Configuration Register bits */#define	EL3_CONFIG_XCVR_MASK	0xC000#define	EL3_CONFIG_IOBASE_MASK	0x001F#define	TP_XCVR			0x0000#define	BNC_XCVR		0xC000#define	AUI_XCVR		0x4000#define	EL3_IO_BASE_ADDR	0x200/* Transmit Preamble *//* Bits in various diagnostics registers */#define	MediaLBeatEnable	0x0080	/* link beat enable (TP) */#define	MediaJabberEnable	0x0040	/* jabber enable (TP) *//* Board identification codes, byte swapped in Rev 0 */#define	EL3_3COM_CODE		0x6D50	/* EISA manufacturer code */#define	EL3_PRODUCT_ID		0x9050	/* Product ID for ISA board *//* EEProm access */#define	EE_3COM_NODE_ADDR	0x00#define	EE_PROD_ID		0x03#define	EE_MANUFACTURING_DATA	0x04#define	EE_3COM_CODE		0x07#define	EE_ADDR_CFG		0x08#define	EE_RESOURCE_CFG		0x09#define	EE_SW_CONFIG_INFO	0x0D#define	EE_PROD_ID_MASK		0xF0FF	/* Mask off revision nibble *//* Contention logic */#define	EL3_READ_EEPROM		0x80#define	EL3_ID_GLOBAL_RESET	0xC0#define	EL3_SET_TAG_REGISTER	0xD0#define	EL3_ACTIVATE_AND_SET_IO	0xE0#define	EL3_ACTIVATE		0xFF/* Software Configuration Register bits *//* Configuration Control Register bits */#define	EL3_EnableAdapter	0x01/* EL3 access macros */#define inb_el3(dep,reg) (inb((dep)->de_base_port+(reg)))#define inw_el3(dep,reg) (inw((dep)->de_base_port+(reg)))#define outb_el3(dep,reg,data) (outb((dep)->de_base_port+(reg),(data)))#define outw_el3(dep,reg,data) (outw((dep)->de_base_port+(reg),(data)))#define SetWindow(win)  \  outw(dep->de_base_port+REG_CmdStatus,CMD_SelectWindow|(win))/** 3c509.h **/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -