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

📄 niceeprom.h

📁 3com3c905网卡驱动程序
💻 H
字号:
/*******************************************************************************
*** Note: Copy rights resevered to Beijing Pacific Linkair Communications Co. 
***
*** File Name: Eeprom.h
*** Purpose  : EEPROM Accessing Layer and some other Definitions 
***
*** Author   : Guangzhao Tian
*** Modified : By Guangzhao Tian at 2000/9/7
***
**/

#define EEPROM_TIMEOUT		20	 /* NIC_Delay(EEPROM_TIMEOUT) usec */
#define EEPROM_WAITTIMES    5    /* no more than EEPROM_WAITTIMES loop, that's 
                                  EEPROM_WAITTIMES * NIC_Delay(EEPROM_TIMEOUT), 
                                  long enough for any EEPROM command finish,
                                 which is no longer than 11ms (write and erase) */

/****************************************************************
*** Fllowing are EEPROM Contents registers
**/

 /* 3Com Node Address */
#define EEPROM_NODE_ADDRESS_WORD_0		0x00
#define EEPROM_NODE_ADDRESS_WORD_1		0x01
#define EEPROM_NODE_ADDRESS_WORD_2		0x02

#define EEPROM_DEVICE_ID			    0x03
/*  Possible values:
        0x9055 - PCI 10/100 Mbps; shared 10BASE-T/100BASE-TX connector.
        0x9056 - PCI 10/100 Mbps; shared 10BASE-T/100BASE-T4 connector.
        0x9004 - PCI 10BASE-T (TPO)
        0x9005 - PCI 10BASE-T/10BASE-2/AUI(COMBO)
        0x9006 - PCI 10BASE-T/10BASE-2/(TPC)
*/
#define EEPROM_MANUFACTURING_DATE	    	0x04
#define EEPROM_MANUFACTURING_DIVISION		0x05
#define EEPROM_MANUFACTURING_PRODUCT_CODE	0x06 

#define EEPROM_MANUFACTURING_ID			    0x07   /* value==0x6d50 */

#define EEPROM_PCI_PARAMETERS_1			    0x08
     /*define bits of EEPROM_PCI_PARAMETERS_1 registers*/
        #define EEPROM_PCI_PARAMETERS_Fast                 0x0001; /* bit0 differnt in*/
        #define EEPROM_PCI_PARAMETERS_d3Hot                0x0001; /* differnt NICs */
        #define EEPROM_PCI_PARAMETERS_Lower1Meg            0x0002;
        #define EEPROM_PCI_PARAMETERS_DisableMemoryBase    0x0004;
        #define EEPROM_PCI_PARAMETERS_D3SupportCold        0x0008;
        #define EEPROM_PCI_PARAMETERS_D1Support            0x0010;
        #define EEPROM_PCI_PARAMETERS_D2Support            0x0020;
        #define EEPROM_PCI_PARAMETERS_MinimumGrant         0x03c0;
        #define EEPROM_PCI_PARAMETERS_MaximumLatency       0xfc00;

#define EEPROM_ROM_INFORMATION			    0x09 /*value == 0x0000*/

/****** OEM Node address */
#define EEPROM_OEM_NODE_ADDRESS_WORD_0		0x0A
#define EEPROM_OEM_NODE_ADDRESS_WORD_1		0x0B
#define EEPROM_OEM_NODE_ADDRESS_WORD_2		0x0C

#define EEPROM_SOFTWARE_INFORMATION_1		0x0D
    #define EEPROM_SOFTINFO1_LINKBEATDISABLED       BIT_14
	#define EEPROM_SOFTINFO1_FULLDUPLEXENABLED      BIT_15

#define EEPROM_COMPATABILITY_WORD 		    0x0E
     /* #define EEPROM_COMPATABILITY_LEVEL		0x00 */
 
#define EEPROM_SOFTWARE_INFORMATION_2	    0x0F
       /*#define ENABLE_MWI_WORK			        0x0020*/

#define EEPROM_CAPABILITIES_WORD		    0x10
	/* Bits in the capabilities word */
 	#define EEPROM_CAPABILITIES_PNP		        0x0001
	#define EEPROM_CAPABILITIES_FULL_DUPLEX	    0x0002
	#define EEPROM_CAPABILITIES_LARGE_PKTS	    0x0004
	#define EEPROM_CAPABILITIES_SLAVE_DMA	    0x0008
	#define EEPROM_CAPABILITIES_SECOND_DMA	    0x0010
	#define EEPROM_CAPABILITIES_FULL_BM		    0x0020
	#define EEPROM_CAPABILITIES_FRAG_BM		    0x0040
	#define EEPROM_CAPABILITIES_CRC_PASSTHRU	0x0080
	#define EEPROM_CAPABILITIES_TXDONE		    0x0100
	#define EEPROM_CAPABILITIES_NO_TXLENGTH	    0x0200
	#define EEPROM_CAPABILITIES_RX_REPEAT	    0x0400
	#define EEPROM_CAPABILITIES_SNOOPING	    0x0800
	#define EEPROM_CAPABILITIES_100MBPS		    0x1000
	#define EEPROM_CAPABILITIES_PWRMGMT		    0x2000

#define EEPROM_RESERVED_LOCATION		   0x11

#define EEPROM_INTERNAL_CONFIG_WORD_0	   0x12
#define EEPROM_INTERNAL_CONFIG_WORD_1	   0x13

#define EEPROM_ANALOG_DIAGNOSTICS		   0x14
#define EEPROM_SOFTWARE_INFORMATION_3	   0x15
	#define EEPROM_GENERIC_MII                  0x00
    #define EEPROM_100BASE_T4_MII               0x01
    #define EEPROM_10BASE_T_MII                 0x02         
    #define EEPROM_100BASE_TX_MII               0x03
    #define EEPROM_10_BASE_T_AUTONEGOTIATION    0x04
    #define EEPROM_100_BASE_TX_AUTONEGOTIATION  0x04                  

/* Cyclone NICs Specific Registers*/
#define EEPROM_LANWORKS_DATA               0x16  /*LAN Works Data*/ 
#define EEPROM_SUBVENDORID                 0x17  /*Subsystem Vendor ID, that's 10b7*/
#define EEPROM_SUBSYSTEMID                 0x18  /*Subsytem ID*/
#define EEPROM_MEDIAOPTIONS                0x19  /*Media Options*/
/***end of Cyclone Specific Regs***/
  
/** Locations 0x1E - 0x1F are reserved. */

#define EEPROM_CHECKSUM_1			       0x20

/***
********* end of EEPROM Contents *********
***/

/********* Followings are definitions not used yet *******************/
/*Locations 0x21 - 0x2F are reserved.*/
#define EEPROM_SOS_PINS_1_TO_4			0x21
#define EEPROM_SOS_PINS_5_TO_7			0x22

/* Locations 0x00 - 0xFD are flexible format locations (4kb EEPROMs)*/
#define EEPROM_CHECKSUM_2_UPPER			0xFE
#define EEPROM_CHECKSUM_2_LOWER			0xFF

/* Locations 0x00 - 0x3FD are flexible format locations (16Kb EEPROMs)*/
#define EEPROM_CHECKSUM_3_UPPER                0x3FE
#define EEPROM_CHECKSUM_3_LOWER                0x3FF
#define EEPROM_COMMAND_MASK			0xE000
#define EEPROM_COMMAND_AUTOINIT_DONE		0xE000
#define EEPROM_COMMAND_PCI_CONFIG_WRITE		0xA000
#define EEPROM_COMMAND_REGISTER_WRITE		0x6000
#define EEPROM_COMMAND_TX_FIFO_WRITE		0x2000
#define EEPROM_CURRENT_WINDOW_MASK		0x7000
#define EEPROM_ADDRESS_MASK			0x00FF
#define EEPROM_TX_BYTE_COUNT			0x03FF
#define EEPROM_FLEXIBLE_FORMAT_START		0x40
#define EEPROM_WORD_ACCESS			0x1000

#define MAX_FLEX_EEPROM_SIZE			2048

#define EEPROM_WINDOW_0				(0x0 << 0x8)
#define EEPROM_WINDOW_1				(0x1 << 0x8)
#define EEPROM_WINDOW_2				(0x2 << 0x8)	
#define EEPROM_WINDOW_3				(0x3 << 0x8)
#define EEPROM_WINDOW_4				(0x4 << 0x8)
#define EEPROM_WINDOW_5				(0x5 << 0x8)	
#define EEPROM_WINDOW_6				(0x6 << 0x8)
#define EEPROM_WINDOW_7				(0x7 << 0x8)

/***
******  End of EEPROM.h ****** 
**********************************************************************/

⌨️ 快捷键说明

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