qla3xxx.h

来自「linux 内核源代码」· C头文件 代码 · 共 1,296 行 · 第 1/3 页

H
1,296
字号
	INTERNAL_CHIP_RAP_RR = 0x0000,	INTERNAL_CHIP_RAP_NRM = 0x0004,	INTERNAL_CHIP_RAP_ERM = 0x0008,	INTERNAL_CHIP_RAP_ERMx = 0x000C,	INTERNAL_CHIP_WE = 0x0010,	INTERNAL_CHIP_EF = 0x0020,	INTERNAL_CHIP_FR = 0x0040,	INTERNAL_CHIP_FW = 0x0080,	INTERNAL_CHIP_FI = 0x0100,	INTERNAL_CHIP_FT = 0x0200,};/* portControl */enum {	PORT_CONTROL_DS = 0x0001,	PORT_CONTROL_HH = 0x0002,	PORT_CONTROL_EI = 0x0004,	PORT_CONTROL_ET = 0x0008,	PORT_CONTROL_EF = 0x0010,	PORT_CONTROL_DRM = 0x0020,	PORT_CONTROL_RLB = 0x0040,	PORT_CONTROL_RCB = 0x0080,	PORT_CONTROL_MAC = 0x0100,	PORT_CONTROL_IPV = 0x0200,	PORT_CONTROL_IFP = 0x0400,	PORT_CONTROL_ITP = 0x0800,	PORT_CONTROL_FI = 0x1000,	PORT_CONTROL_DFP = 0x2000,	PORT_CONTROL_OI = 0x4000,	PORT_CONTROL_CC = 0x8000,};/* portStatus */enum {	PORT_STATUS_SM0 = 0x0001,	PORT_STATUS_SM1 = 0x0002,	PORT_STATUS_X = 0x0008,	PORT_STATUS_DL = 0x0080,	PORT_STATUS_IC = 0x0200,	PORT_STATUS_MRC = 0x0400,	PORT_STATUS_NL = 0x0800,	PORT_STATUS_REV_ID_MASK = 0x7000,	PORT_STATUS_REV_ID_1 = 0x1000,	PORT_STATUS_REV_ID_2 = 0x2000,	PORT_STATUS_REV_ID_3 = 0x3000,	PORT_STATUS_64 = 0x8000,	PORT_STATUS_UP0 = 0x10000,	PORT_STATUS_AC0 = 0x20000,	PORT_STATUS_AE0 = 0x40000,	PORT_STATUS_UP1 = 0x100000,	PORT_STATUS_AC1 = 0x200000,	PORT_STATUS_AE1 = 0x400000,	PORT_STATUS_F0_ENABLED = 0x1000000,	PORT_STATUS_F1_ENABLED = 0x2000000,	PORT_STATUS_F2_ENABLED = 0x4000000,	PORT_STATUS_F3_ENABLED = 0x8000000,};/* macMIIMgmtControlReg */enum {	MAC_ADDR_INDIRECT_PTR_REG_RP_MASK = 0x0003,	MAC_ADDR_INDIRECT_PTR_REG_RP_PRI_LWR = 0x0000,	MAC_ADDR_INDIRECT_PTR_REG_RP_PRI_UPR = 0x0001,	MAC_ADDR_INDIRECT_PTR_REG_RP_SEC_LWR = 0x0002,	MAC_ADDR_INDIRECT_PTR_REG_RP_SEC_UPR = 0x0003,	MAC_ADDR_INDIRECT_PTR_REG_PR = 0x0008,	MAC_ADDR_INDIRECT_PTR_REG_SS = 0x0010,	MAC_ADDR_INDIRECT_PTR_REG_SE = 0x0020,	MAC_ADDR_INDIRECT_PTR_REG_SP = 0x0040,	MAC_ADDR_INDIRECT_PTR_REG_PE = 0x0080,};/* macMIIMgmtControlReg */enum {	MAC_MII_CONTROL_RC = 0x0001,	MAC_MII_CONTROL_SC = 0x0002,	MAC_MII_CONTROL_AS = 0x0004,	MAC_MII_CONTROL_NP = 0x0008,	MAC_MII_CONTROL_CLK_SEL_MASK = 0x0070,	MAC_MII_CONTROL_CLK_SEL_DIV2 = 0x0000,	MAC_MII_CONTROL_CLK_SEL_DIV4 = 0x0010,	MAC_MII_CONTROL_CLK_SEL_DIV6 = 0x0020,	MAC_MII_CONTROL_CLK_SEL_DIV8 = 0x0030,	MAC_MII_CONTROL_CLK_SEL_DIV10 = 0x0040,	MAC_MII_CONTROL_CLK_SEL_DIV14 = 0x0050,	MAC_MII_CONTROL_CLK_SEL_DIV20 = 0x0060,	MAC_MII_CONTROL_CLK_SEL_DIV28 = 0x0070,	MAC_MII_CONTROL_RM = 0x8000,};/* macMIIStatusReg */enum {	MAC_MII_STATUS_BSY = 0x0001,	MAC_MII_STATUS_SC = 0x0002,	MAC_MII_STATUS_NV = 0x0004,};enum {	MAC_CONFIG_REG_PE = 0x0001,	MAC_CONFIG_REG_TF = 0x0002,	MAC_CONFIG_REG_RF = 0x0004,	MAC_CONFIG_REG_FD = 0x0008,	MAC_CONFIG_REG_GM = 0x0010,	MAC_CONFIG_REG_LB = 0x0020,	MAC_CONFIG_REG_SR = 0x8000,};enum {	MAC_HALF_DUPLEX_REG_ED = 0x10000,	MAC_HALF_DUPLEX_REG_NB = 0x20000,	MAC_HALF_DUPLEX_REG_BNB = 0x40000,	MAC_HALF_DUPLEX_REG_ALT = 0x80000,};enum {	IP_ADDR_INDEX_REG_MASK = 0x000f,	IP_ADDR_INDEX_REG_FUNC_0_PRI = 0x0000,	IP_ADDR_INDEX_REG_FUNC_0_SEC = 0x0001,	IP_ADDR_INDEX_REG_FUNC_1_PRI = 0x0002,	IP_ADDR_INDEX_REG_FUNC_1_SEC = 0x0003,	IP_ADDR_INDEX_REG_FUNC_2_PRI = 0x0004,	IP_ADDR_INDEX_REG_FUNC_2_SEC = 0x0005,	IP_ADDR_INDEX_REG_FUNC_3_PRI = 0x0006,	IP_ADDR_INDEX_REG_FUNC_3_SEC = 0x0007,	IP_ADDR_INDEX_REG_6 = 0x0008,	IP_ADDR_INDEX_REG_OFFSET_MASK = 0x0030,	IP_ADDR_INDEX_REG_E = 0x0040,};enum {	QL3032_PORT_CONTROL_DS = 0x0001,	QL3032_PORT_CONTROL_HH = 0x0002,	QL3032_PORT_CONTROL_EIv6 = 0x0004,	QL3032_PORT_CONTROL_EIv4 = 0x0008,	QL3032_PORT_CONTROL_ET = 0x0010,	QL3032_PORT_CONTROL_EF = 0x0020,	QL3032_PORT_CONTROL_DRM = 0x0040,	QL3032_PORT_CONTROL_RLB = 0x0080,	QL3032_PORT_CONTROL_RCB = 0x0100,	QL3032_PORT_CONTROL_KIE = 0x0200,};enum {	PROBE_MUX_ADDR_REG_MUX_SEL_MASK = 0x003f,	PROBE_MUX_ADDR_REG_SYSCLK = 0x0000,	PROBE_MUX_ADDR_REG_PCICLK = 0x0040,	PROBE_MUX_ADDR_REG_NRXCLK = 0x0080,	PROBE_MUX_ADDR_REG_CPUCLK = 0x00C0,	PROBE_MUX_ADDR_REG_MODULE_SEL_MASK = 0x3f00,	PROBE_MUX_ADDR_REG_UP = 0x4000,	PROBE_MUX_ADDR_REG_RE = 0x8000,};enum {	STATISTICS_INDEX_REG_MASK = 0x01ff,	STATISTICS_INDEX_REG_MAC0_TX_FRAME = 0x0000,	STATISTICS_INDEX_REG_MAC0_TX_BYTES = 0x0001,	STATISTICS_INDEX_REG_MAC0_TX_STAT1 = 0x0002,	STATISTICS_INDEX_REG_MAC0_TX_STAT2 = 0x0003,	STATISTICS_INDEX_REG_MAC0_TX_STAT3 = 0x0004,	STATISTICS_INDEX_REG_MAC0_TX_STAT4 = 0x0005,	STATISTICS_INDEX_REG_MAC0_TX_STAT5 = 0x0006,	STATISTICS_INDEX_REG_MAC0_RX_FRAME = 0x0007,	STATISTICS_INDEX_REG_MAC0_RX_BYTES = 0x0008,	STATISTICS_INDEX_REG_MAC0_RX_STAT1 = 0x0009,	STATISTICS_INDEX_REG_MAC0_RX_STAT2 = 0x000a,	STATISTICS_INDEX_REG_MAC0_RX_STAT3 = 0x000b,	STATISTICS_INDEX_REG_MAC0_RX_ERR_CRC = 0x000c,	STATISTICS_INDEX_REG_MAC0_RX_ERR_ENC = 0x000d,	STATISTICS_INDEX_REG_MAC0_RX_ERR_LEN = 0x000e,	STATISTICS_INDEX_REG_MAC0_RX_STAT4 = 0x000f,	STATISTICS_INDEX_REG_MAC1_TX_FRAME = 0x0010,	STATISTICS_INDEX_REG_MAC1_TX_BYTES = 0x0011,	STATISTICS_INDEX_REG_MAC1_TX_STAT1 = 0x0012,	STATISTICS_INDEX_REG_MAC1_TX_STAT2 = 0x0013,	STATISTICS_INDEX_REG_MAC1_TX_STAT3 = 0x0014,	STATISTICS_INDEX_REG_MAC1_TX_STAT4 = 0x0015,	STATISTICS_INDEX_REG_MAC1_TX_STAT5 = 0x0016,	STATISTICS_INDEX_REG_MAC1_RX_FRAME = 0x0017,	STATISTICS_INDEX_REG_MAC1_RX_BYTES = 0x0018,	STATISTICS_INDEX_REG_MAC1_RX_STAT1 = 0x0019,	STATISTICS_INDEX_REG_MAC1_RX_STAT2 = 0x001a,	STATISTICS_INDEX_REG_MAC1_RX_STAT3 = 0x001b,	STATISTICS_INDEX_REG_MAC1_RX_ERR_CRC = 0x001c,	STATISTICS_INDEX_REG_MAC1_RX_ERR_ENC = 0x001d,	STATISTICS_INDEX_REG_MAC1_RX_ERR_LEN = 0x001e,	STATISTICS_INDEX_REG_MAC1_RX_STAT4 = 0x001f,	STATISTICS_INDEX_REG_IP_TX_PKTS = 0x0020,	STATISTICS_INDEX_REG_IP_TX_BYTES = 0x0021,	STATISTICS_INDEX_REG_IP_TX_FRAG = 0x0022,	STATISTICS_INDEX_REG_IP_RX_PKTS = 0x0023,	STATISTICS_INDEX_REG_IP_RX_BYTES = 0x0024,	STATISTICS_INDEX_REG_IP_RX_FRAG = 0x0025,	STATISTICS_INDEX_REG_IP_DGRM_REASSEMBLY = 0x0026,	STATISTICS_INDEX_REG_IP_V6_RX_PKTS = 0x0027,	STATISTICS_INDEX_REG_IP_RX_PKTERR = 0x0028,	STATISTICS_INDEX_REG_IP_REASSEMBLY_ERR = 0x0029,	STATISTICS_INDEX_REG_TCP_TX_SEG = 0x0030,	STATISTICS_INDEX_REG_TCP_TX_BYTES = 0x0031,	STATISTICS_INDEX_REG_TCP_RX_SEG = 0x0032,	STATISTICS_INDEX_REG_TCP_RX_BYTES = 0x0033,	STATISTICS_INDEX_REG_TCP_TIMER_EXP = 0x0034,	STATISTICS_INDEX_REG_TCP_RX_ACK = 0x0035,	STATISTICS_INDEX_REG_TCP_TX_ACK = 0x0036,	STATISTICS_INDEX_REG_TCP_RX_ERR = 0x0037,	STATISTICS_INDEX_REG_TCP_RX_WIN_PROBE = 0x0038,	STATISTICS_INDEX_REG_TCP_ECC_ERR_CORR = 0x003f,};enum {	PORT_FATAL_ERROR_STATUS_OFB_RE_MAC0 = 0x00000001,	PORT_FATAL_ERROR_STATUS_OFB_RE_MAC1 = 0x00000002,	PORT_FATAL_ERROR_STATUS_OFB_WE = 0x00000004,	PORT_FATAL_ERROR_STATUS_IFB_RE = 0x00000008,	PORT_FATAL_ERROR_STATUS_IFB_WE_MAC0 = 0x00000010,	PORT_FATAL_ERROR_STATUS_IFB_WE_MAC1 = 0x00000020,	PORT_FATAL_ERROR_STATUS_ODE_RE = 0x00000040,	PORT_FATAL_ERROR_STATUS_ODE_WE = 0x00000080,	PORT_FATAL_ERROR_STATUS_IDE_RE = 0x00000100,	PORT_FATAL_ERROR_STATUS_IDE_WE = 0x00000200,	PORT_FATAL_ERROR_STATUS_SDE_RE = 0x00000400,	PORT_FATAL_ERROR_STATUS_SDE_WE = 0x00000800,	PORT_FATAL_ERROR_STATUS_BLE = 0x00001000,	PORT_FATAL_ERROR_STATUS_SPE = 0x00002000,	PORT_FATAL_ERROR_STATUS_EP0 = 0x00004000,	PORT_FATAL_ERROR_STATUS_EP1 = 0x00008000,	PORT_FATAL_ERROR_STATUS_ICE = 0x00010000,	PORT_FATAL_ERROR_STATUS_ILE = 0x00020000,	PORT_FATAL_ERROR_STATUS_OPE = 0x00040000,	PORT_FATAL_ERROR_STATUS_TA = 0x00080000,	PORT_FATAL_ERROR_STATUS_MA = 0x00100000,	PORT_FATAL_ERROR_STATUS_SCE = 0x00200000,	PORT_FATAL_ERROR_STATUS_RPE = 0x00400000,	PORT_FATAL_ERROR_STATUS_MPE = 0x00800000,	PORT_FATAL_ERROR_STATUS_OCE = 0x01000000,};/* *  port control and status page - page 0 */struct ql3xxx_port_registers {	struct ql3xxx_common_registers CommonRegs;	u32 ExternalHWConfig;	u32 InternalChipConfig;	u32 portControl;	u32 portStatus;	u32 macAddrIndirectPtrReg;	u32 macAddrDataReg;	u32 macMIIMgmtControlReg;	u32 macMIIMgmtAddrReg;	u32 macMIIMgmtDataReg;	u32 macMIIStatusReg;	u32 mac0ConfigReg;	u32 mac0IpgIfgReg;	u32 mac0HalfDuplexReg;	u32 mac0MaxFrameLengthReg;	u32 mac0PauseThresholdReg;	u32 mac1ConfigReg;	u32 mac1IpgIfgReg;	u32 mac1HalfDuplexReg;	u32 mac1MaxFrameLengthReg;	u32 mac1PauseThresholdReg;	u32 ipAddrIndexReg;	u32 ipAddrDataReg;	u32 ipReassemblyTimeout;	u32 tcpMaxWindow;	u32 currentTcpTimestamp[2];	u32 internalRamRWAddrReg;	u32 internalRamWDataReg;	u32 reclaimedBufferAddrRegLow;	u32 reclaimedBufferAddrRegHigh;	u32 tcpConfiguration;	u32 functionControl;	u32 fpgaRevID;	u32 localRamAddr;	u32 localRamDataAutoIncr;	u32 localRamDataNonIncr;	u32 gpOutput;	u32 gpInput;	u32 probeMuxAddr;	u32 probeMuxData;	u32 statisticsIndexReg;	u32 statisticsReadDataRegAutoIncr;	u32 statisticsReadDataRegNoIncr;	u32 PortFatalErrStatus;};/* * port host memory config page - page 1 */struct ql3xxx_host_memory_registers {	struct ql3xxx_common_registers CommonRegs;	u32 reserved[12];	/* Network Request Queue */	u32 reqConsumerIndex;	u32 reqConsumerIndexAddrLow;	u32 reqConsumerIndexAddrHigh;	u32 reqBaseAddrLow;	u32 reqBaseAddrHigh;	u32 reqLength;	/* Network Completion Queue */	u32 rspProducerIndex;	u32 rspProducerIndexAddrLow;	u32 rspProducerIndexAddrHigh;	u32 rspBaseAddrLow;	u32 rspBaseAddrHigh;	u32 rspLength;	/* RX Large Buffer Queue */	u32 rxLargeQConsumerIndex;	u32 rxLargeQBaseAddrLow;	u32 rxLargeQBaseAddrHigh;	u32 rxLargeQLength;	u32 rxLargeBufferLength;	/* RX Small Buffer Queue */	u32 rxSmallQConsumerIndex;	u32 rxSmallQBaseAddrLow;	u32 rxSmallQBaseAddrHigh;	u32 rxSmallQLength;	u32 rxSmallBufferLength;};/* *  port local RAM page - page 2 */struct ql3xxx_local_ram_registers {	struct ql3xxx_common_registers CommonRegs;	u32 bufletSize;	u32 maxBufletCount;	u32 currentBufletCount;	u32 reserved;	u32 freeBufletThresholdLow;	u32 freeBufletThresholdHigh;	u32 ipHashTableBase;	u32 ipHashTableCount;	u32 tcpHashTableBase;	u32 tcpHashTableCount;	u32 ncbBase;	u32 maxNcbCount;	u32 currentNcbCount;	u32 drbBase;	u32 maxDrbCount;	u32 currentDrbCount;};/* * definitions for Semaphore bits in Semaphore/Serial NVRAM interface register */#define LS_64BITS(x)    (u32)(0xffffffff & ((u64)x))#define MS_64BITS(x)    (u32)(0xffffffff & (((u64)x)>>16>>16) )/* * I/O register */enum {	CONTROL_REG = 0,	STATUS_REG = 1,	PHY_STAT_LINK_UP = 0x0004,	PHY_CTRL_LOOPBACK = 0x4000,	PETBI_CONTROL_REG = 0x00,	PETBI_CTRL_ALL_PARAMS = 0x7140,	PETBI_CTRL_SOFT_RESET = 0x8000,	PETBI_CTRL_AUTO_NEG = 0x1000,	PETBI_CTRL_RESTART_NEG = 0x0200,	PETBI_CTRL_FULL_DUPLEX = 0x0100,	PETBI_CTRL_SPEED_1000 = 0x0040,	PETBI_STATUS_REG = 0x01,	PETBI_STAT_NEG_DONE = 0x0020,	PETBI_STAT_LINK_UP = 0x0004,	PETBI_NEG_ADVER = 0x04,	PETBI_NEG_PAUSE = 0x0080,	PETBI_NEG_PAUSE_MASK = 0x0180,	PETBI_NEG_DUPLEX = 0x0020,	PETBI_NEG_DUPLEX_MASK = 0x0060,	PETBI_NEG_PARTNER = 0x05,	PETBI_NEG_ERROR_MASK = 0x3000,	PETBI_EXPANSION_REG = 0x06,	PETBI_EXP_PAGE_RX = 0x0002,	PHY_GIG_CONTROL = 9,	PHY_GIG_ENABLE_MAN = 0x1000,  /* Enable Master/Slave Manual Config*/	PHY_GIG_SET_MASTER = 0x0800,  /* Set Master (slave if clear)*/	PHY_GIG_ALL_PARAMS = 0x0300,	PHY_GIG_ADV_1000F = 0x0200,	PHY_GIG_ADV_1000H = 0x0100,	PHY_NEG_ADVER = 4,	PHY_NEG_ALL_PARAMS = 0x0fe0,	PHY_NEG_ASY_PAUSE =  0x0800,	PHY_NEG_SYM_PAUSE =  0x0400,	PHY_NEG_ADV_SPEED =  0x01e0,	PHY_NEG_ADV_100F =   0x0100,	PHY_NEG_ADV_100H =   0x0080,	PHY_NEG_ADV_10F =    0x0040,	PHY_NEG_ADV_10H =    0x0020,	PETBI_TBI_CTRL = 0x11,	PETBI_TBI_RESET = 0x8000,	PETBI_TBI_AUTO_SENSE = 0x0100,	PETBI_TBI_SERDES_MODE = 0x0010,	PETBI_TBI_SERDES_WRAP = 0x0002,	AUX_CONTROL_STATUS = 0x1c,	PHY_AUX_NEG_DONE = 0x8000,	PHY_NEG_PARTNER = 5,	PHY_AUX_DUPLEX_STAT = 0x0020,	PHY_AUX_SPEED_STAT = 0x0018,	PHY_AUX_NO_HW_STRAP = 0x0004,	PHY_AUX_RESET_STICK = 0x0002,	PHY_NEG_PAUSE = 0x0400,	PHY_CTRL_SOFT_RESET = 0x8000,	PHY_CTRL_AUTO_NEG = 0x1000,	PHY_CTRL_RESTART_NEG = 0x0200,};enum {/* AM29LV Flash definitions	*/	FM93C56A_START = 0x1,/* Commands */	FM93C56A_READ = 0x2,

⌨️ 快捷键说明

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