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

📄 skgehw.h

📁 这是Marvell Technology Group Ltd. 4355 (rev 12)网卡在linux下的驱动程序源代码
💻 H
📖 第 1 页 / 共 5 页
字号:
#define P_CF1_PCIE_RST_CLKREQ	BIT_16	/* Enable PCI-E rst generate CLKREQ */#define P_CF1_ENA_CFG_LDR_DONE	BIT_8	/* Enable core level Config loader done */#define P_CF1_ENA_TXBMU_RD_IDLE	BIT_1	/* Enable TX BMU Read  IDLE for ASPM */#define P_CF1_ENA_TXBMU_WR_IDLE	BIT_0	/* Enable TX BMU Write IDLE for ASPM */#define PCIE_CFG1_EVENT_CLK_D3_SET	( \							P_CF1_DIS_REL_EVT_RST | \							P_CF1_REL_LDR_NOT_FIN | \							P_CF1_REL_VMAIN_AVLBL | \							P_CF1_REL_PCIE_RESET | \							P_CF1_GAT_LDR_NOT_FIN | \							P_CF1_GAT_PCIE_RESET | \							P_CF1_PRST_PHY_CLKREQ | \							P_CF1_ENA_CFG_LDR_DONE | \							P_CF1_ENA_TXBMU_RD_IDLE | \							P_CF1_ENA_TXBMU_WR_IDLE)/*	PEX_DEV_CTRL			16 bit	PEX Device Control (Yukon-2) */								/* Bit 15	reserved */#define PEX_DC_MAX_RRS_MSK	(7<<12)	/* Bit 14..12:	Max. Read Request Size */#define PEX_DC_EN_NO_SNOOP	BIT_11S	/* Enable No Snoop */#define PEX_DC_EN_AUX_POW	BIT_10S	/* Enable AUX Power */#define PEX_DC_EN_PHANTOM	BIT_9S	/* Enable Phantom Functions */#define PEX_DC_EN_EXT_TAG	BIT_8S	/* Enable Extended Tag Field */#define PEX_DC_MAX_PLS_MSK	(7<<5)	/* Bit  7.. 5:	Max. Payload Size Mask */#define PEX_DC_EN_REL_ORD	BIT_4S	/* Enable Relaxed Ordering */#define PEX_DC_EN_UNS_RQ_RP	BIT_3S	/* Enable Unsupported Request Reporting */#define PEX_DC_EN_FAT_ER_RP	BIT_2S	/* Enable Fatal Error Reporting */#define PEX_DC_EN_NFA_ER_RP	BIT_1S	/* Enable Non-Fatal Error Reporting */#define PEX_DC_EN_COR_ER_RP	BIT_0S	/* Enable Correctable Error Reporting */#define PEX_DC_MAX_RD_RQ_SIZE(x)	(SHIFT12(x) & PEX_DC_MAX_RRS_MSK)/*	PEX_LNK_CAP			32 bit	PEX Link Capabilities */#define PEX_CAP_MAX_WI_MSK	(0x3f<<4)	/* Bit  9.. 4:	Max. Link Width Mask */#define PEX_CAP_MAX_SP_MSK	0x0f	/* Bit  3.. 0:	Max. Link Speed Mask *//*	PEX_LNK_CTRL			16 bit	PEX Link Control (Yukon-2) */#define PEX_LC_CLK_PM_ENA	BIT_8S	/* Enable Clock Power Management (CLKREQ) */#define PEX_LC_ASPM_LC_L1	BIT_1S	/* Enable ASPM Entry L1  */#define PEX_LC_ASPM_LC_L0S	BIT_0S	/* Enable ASPM Entry L0s */#define PEX_LC_ASPM_LC_MSK	0x03	/* Bit  1.. 0:	ASPM Link Control Mask *//*	PEX_LNK_STAT			16 bit	PEX Link Status (Yukon-2) */								/* Bit 15..13	reserved */#define PEX_LS_SLOT_CLK_CFG	BIT_12S	/* Slot Clock Config */#define PEX_LS_LINK_TRAIN	BIT_11S	/* Link Training */#define PEX_LS_TRAIN_ERROR	BIT_10S	/* Training Error */#define PEX_LS_LINK_WI_MSK	(0x3f<<4)	/* Bit  9.. 4:	Neg. Link Width Mask */#define PEX_LS_LINK_SP_MSK	0x0f	/* Bit  3.. 0:	Link Speed Mask *//*	PEX_UNC_ERR_STAT		32 bit	PEX Uncorrectable Errors Status (Yukon-2) */								/* Bit 31..21	reserved */#define PEX_UNSUP_REQ	BIT_20		/* Unsupported Request Error */									/* ECRC Error (not supported) */#define PEX_MALFOR_TLP	BIT_18		/* Malformed TLP */#define PEX_RX_OV		BIT_17		/* Receiver Overflow (not supported) */#define PEX_UNEXP_COMP	BIT_16		/* Unexpected Completion */									/* Completer Abort (not supported) */#define PEX_COMP_TO		BIT_14		/* Completion Timeout */#define PEX_FLOW_CTRL_P	BIT_13		/* Flow Control Protocol Error */#define PEX_POIS_TLP	BIT_12		/* Poisoned TLP */								/* Bit 11.. 5:	reserved */#define PEX_DATA_LINK_P BIT_4		/* Data Link Protocol Error */								/* Bit  3.. 1:	reserved */									/* Training Error (not supported) */#define PEX_FATAL_ERRORS	(PEX_MALFOR_TLP | PEX_FLOW_CTRL_P | PEX_DATA_LINK_P)/*	Control Register File (Address Map) *//* *	Bank 0 */#define B0_RAP			0x0000	/*  8 bit	Register Address Port */	/* 0x0001 - 0x0003:	reserved */#define B0_CTST			0x0004	/* 16 bit	Control/Status Register */#define B0_LED			0x0006	/*  8 Bit	LED Register */#define B0_POWER_CTRL	0x0007	/*  8 Bit	Power Control reg (YUKON only) */#define B0_ISRC			0x0008	/* 32 bit	Interrupt Source Register */#define B0_IMSK			0x000c	/* 32 bit	Interrupt Mask Register */#define B0_HWE_ISRC		0x0010	/* 32 bit	HW Error Interrupt Src Reg */#define B0_HWE_IMSK		0x0014	/* 32 bit	HW Error Interrupt Mask Reg */#define B0_SP_ISRC		0x0018	/* 32 bit	Special Interrupt Source Reg 1 *//* Special ISR registers (Yukon-2 only) */#define B0_Y2_SP_ISRC2	0x001c	/* 32 bit	Special Interrupt Source Reg 2 */#define B0_Y2_SP_ISRC3	0x0020	/* 32 bit	Special Interrupt Source Reg 3 */#define B0_Y2_SP_EISR	0x0024	/* 32 bit	Enter ISR Register */#define B0_Y2_SP_LISR	0x0028	/* 32 bit	Leave ISR Register */#define B0_Y2_SP_ICR	0x002c	/* 32 bit	Interrupt Control Register *//* B0 XMAC 1 registers (GENESIS only) */#define B0_XM1_IMSK		0x0020	/* 16 bit r/w	XMAC 1 Interrupt Mask Register*/	/* 0x0022 - 0x0027:	reserved */#define B0_XM1_ISRC		0x0028	/* 16 bit ro	XMAC 1 Interrupt Status Reg */	/* 0x002a - 0x002f:	reserved */#define B0_XM1_PHY_ADDR 0x0030	/* 16 bit r/w	XMAC 1 PHY Address Register */	/* 0x0032 - 0x0033:	reserved */#define B0_XM1_PHY_DATA 0x0034	/* 16 bit r/w	XMAC 1 PHY Data Register */	/* 0x0036 - 0x003f:	reserved *//* B0 XMAC 2 registers (GENESIS only) */#define B0_XM2_IMSK		0x0040	/* 16 bit r/w	XMAC 2 Interrupt Mask Register*/	/* 0x0042 - 0x0047:	reserved */#define B0_XM2_ISRC		0x0048	/* 16 bit ro	XMAC 2 Interrupt Status Reg */	/* 0x004a - 0x004f:	reserved */#define B0_XM2_PHY_ADDR 0x0050	/* 16 bit r/w	XMAC 2 PHY Address Register */	/* 0x0052 - 0x0053:	reserved */#define B0_XM2_PHY_DATA 0x0054	/* 16 bit r/w	XMAC 2 PHY Data Register */	/* 0x0056 - 0x005f:	reserved *//* BMU Control Status Registers (Yukon and Genesis) */#define B0_R1_CSR		0x0060	/* 32 bit	BMU Ctrl/Stat Rx Queue 1 */#define B0_R2_CSR		0x0064	/* 32 bit	BMU Ctrl/Stat Rx Queue 2 */#define B0_XS1_CSR		0x0068	/* 32 bit	BMU Ctrl/Stat Sync Tx Queue 1 */#define B0_XA1_CSR		0x006c	/* 32 bit	BMU Ctrl/Stat Async Tx Queue 1*/#define B0_XS2_CSR		0x0070	/* 32 bit	BMU Ctrl/Stat Sync Tx Queue 2 */#define B0_XA2_CSR		0x0074	/* 32 bit	BMU Ctrl/Stat Async Tx Queue 2*/	/* 0x0078 - 0x007f:	reserved *//* *	Bank 1 *	- completely empty (this is the RAP Block window) *	Note: if RAP = 1 this page is reserved *//* *	Bank 2 *//* NA reg = 48 bit Network Address Register, 3x16 or 6x8 bit readable */#define B2_MAC_1		0x0100	/* NA reg	 MAC Address 1 */	/* 0x0106 - 0x0107:	reserved */#define B2_MAC_2		0x0108	/* NA reg	 MAC Address 2 */	/* 0x010e - 0x010f:	reserved */#define B2_MAC_3		0x0110	/* NA reg	 MAC Address 3 */	/* 0x0116 - 0x0117:	reserved */#define B2_CONN_TYP		0x0118	/*  8 bit	Connector type */#define B2_PMD_TYP		0x0119	/*  8 bit	PMD type */#define B2_MAC_CFG		0x011a	/*  8 bit	MAC Configuration / Chip Revision */#define B2_CHIP_ID		0x011b	/*  8 bit	Chip Identification Number */	/* Eprom registers */#define B2_E_0			0x011c	/*  8 bit	EPROM Byte 0 (ext. SRAM size *//* Yukon and Genesis */#define B2_E_1			0x011d	/*  8 bit	EPROM Byte 1 (PHY type) */#define B2_E_2			0x011e	/*  8 bit	EPROM Byte 2 *//* Yukon-2 */#define B2_Y2_CLK_GATE	0x011d	/*  8 bit	Clock Gating (Yukon-2) */#define B2_Y2_HW_RES	0x011e	/*  8 bit	HW Resources (Yukon-2) */#define B2_E_3			0x011f	/*  8 bit	EPROM Byte 3 *//* Yukon and Genesis */#define B2_FAR			0x0120	/* 32 bit	Flash-Prom Addr Reg/Cnt */#define B2_FDP			0x0124	/*  8 bit	Flash-Prom Data Port *//* Yukon-2 */#define B2_Y2_CLK_CTRL	0x0120	/* 32 bit	Core Clock Frequency Control */	/* 0x0125 - 0x0127:	reserved */#define B2_LD_CTRL		0x0128	/*  8 bit	EPROM loader control register */#define B2_LD_TEST		0x0129	/*  8 bit	EPROM loader test register */	/* 0x012a - 0x012f:	reserved */#define B2_TI_INI		0x0130	/* 32 bit	Timer Init Value */#define B2_TI_VAL		0x0134	/* 32 bit	Timer Value */#define B2_TI_CTRL		0x0138	/*  8 bit	Timer Control */#define B2_TI_TEST		0x0139	/*  8 Bit	Timer Test */	/* 0x013a - 0x013f:	reserved */#define B2_IRQM_INI		0x0140	/* 32 bit	IRQ Moderation Timer Init Reg.*/#define B2_IRQM_VAL		0x0144	/* 32 bit	IRQ Moderation Timer Value */#define B2_IRQM_CTRL	0x0148	/*  8 bit	IRQ Moderation Timer Control */#define B2_IRQM_TEST	0x0149	/*  8 bit	IRQ Moderation Timer Test */#define B2_IRQM_MSK		0x014c	/* 32 bit	IRQ Moderation Mask */#define B2_IRQM_HWE_MSK 0x0150	/* 32 bit	IRQ Moderation HW Error Mask */	/* 0x0154 - 0x0157:	reserved */#define B2_TST_CTRL1	0x0158	/*  8 bit	Test Control Register 1 */#define B2_TST_CTRL2	0x0159	/*  8 bit	Test Control Register 2 */	/* 0x015a - 0x015b:	reserved */#define B2_GP_IO		0x015c	/* 32 bit	General Purpose I/O Register */#define B2_I2C_CTRL		0x0160	/* 32 bit	I2C HW Control Register */#define B2_I2C_DATA		0x0164	/* 32 bit	I2C HW Data Register */#define B2_I2C_IRQ		0x0168	/* 32 bit	I2C HW IRQ Register */#define B2_I2C_SW		0x016c	/* 32 bit	I2C SW Port Register *//* Blink Source Counter (GENESIS only) */#define B2_BSC_INI		0x0170	/* 32 bit	Blink Source Counter Init Val */#define B2_BSC_VAL		0x0174	/* 32 bit	Blink Source Counter Value */#define B2_BSC_CTRL		0x0178	/*  8 bit	Blink Source Counter Control */#define B2_BSC_STAT		0x0179	/*  8 bit	Blink Source Counter Status */#define B2_BSC_TST		0x017a	/* 16 bit	Blink Source Counter Test Reg *//* Yukon-2 */#define Y2_PEX_PHY_DATA	0x0170	/* 16 bit	PEX PHY Data Register */#define Y2_PEX_PHY_ADDR	0x0172	/* 16 bit	PEX PHY Address Register */	/* 0x017c - 0x017f:	reserved *//* *	Bank 3 *//* RAM Random Registers */#define B3_RAM_ADDR		0x0180	/* 32 bit	RAM Address, to read or write */#define B3_RAM_DATA_LO	0x0184	/* 32 bit	RAM Data Word (low dWord) */#define B3_RAM_DATA_HI	0x0188	/* 32 bit	RAM Data Word (high dWord) */#define B3_RAM_PARITY	0x018c	/*  8 bit	RAM Parity (Yukon-ECU A1) */#define SELECT_RAM_BUFFER(rb, addr) (addr | (rb << 6))	/* Yukon-2 only */	/* 0x018c - 0x018f:	reserved *//* RAM Interface Registers *//* Yukon-2: use SELECT_RAM_BUFFER() to access the RAM buffer *//* * The HW-Spec. calls this registers Timeout Value 0..11. But this names are * not usable in SW. Please notice these are NOT real timeouts, these are * the number of qWords transferred continuously. */#define B3_RI_WTO_R1	0x0190	/*  8 bit	WR Timeout Queue R1		(TO0) */#define B3_RI_WTO_XA1	0x0191	/*  8 bit	WR Timeout Queue XA1	(TO1) */#define B3_RI_WTO_XS1	0x0192	/*  8 bit	WR Timeout Queue XS1	(TO2) */#define B3_RI_RTO_R1	0x0193	/*  8 bit	RD Timeout Queue R1		(TO3) */#define B3_RI_RTO_XA1	0x0194	/*  8 bit	RD Timeout Queue XA1	(TO4) */#define B3_RI_RTO_XS1	0x0195	/*  8 bit	RD Timeout Queue XS1	(TO5) */#define B3_RI_WTO_R2	0x0196	/*  8 bit	WR Timeout Queue R2		(TO6) */#define B3_RI_WTO_XA2	0x0197	/*  8 bit	WR Timeout Queue XA2	(TO7) */#define B3_RI_WTO_XS2	0x0198	/*  8 bit	WR Timeout Queue XS2	(TO8) */#define B3_RI_RTO_R2	0x0199	/*  8 bit	RD Timeout Queue R2		(TO9) */#define B3_RI_RTO_XA2	0x019a	/*  8 bit	RD Timeout Queue XA2	(TO10) */#define B3_RI_RTO_XS2	0x019b	/*  8 bit	RD Timeout Queue XS2	(TO11) */#define B3_RI_TO_VAL	0x019c	/*  8 bit	Current Timeout Count Val */	/* 0x019d - 0x019f:	reserved */#define B3_RI_CTRL		0x01a0	/* 16 bit	RAM Interface Control Register */#define B3_RI_TEST		0x01a2	/*  8 bit	RAM Interface Test Register */	/* 0x01a3 - 0x01af:	reserved *//* MAC Arbiter Registers (GENESIS only) *//* these are the no. of qWord transferred continuously and NOT real timeouts */#define B3_MA_TOINI_RX1	0x01b0	/*  8 bit	Timeout Init Val Rx Path MAC 1 */#define B3_MA_TOINI_RX2	0x01b1	/*  8 bit	Timeout Init Val Rx Path MAC 2 */#define B3_MA_TOINI_TX1	0x01b2	/*  8 bit	Timeout Init Val Tx Path MAC 1 */#define B3_MA_TOINI_TX2	0x01b3	/*  8 bit	Timeout Init Val Tx Path MAC 2 */#define B3_MA_TOVAL_RX1	0x01b4	/*  8 bit	Timeout Value Rx Path MAC 1 */#define B3_MA_TOVAL_RX2	0x01b5	/*  8 bit	Timeout Value Rx Path MAC 1 */#define B3_MA_TOVAL_TX1	0x01b6	/*  8 bit	Timeout Value Tx Path MAC 2 */#define B3_MA_TOVAL_TX2	0x01b7	/*  8 bit	Timeout Value Tx Path MAC 2 */#define B3_MA_TO_CTRL	0x01b8	/* 16 bit	MAC Arbiter Timeout Ctrl Reg */#define B3_MA_TO_TEST	0x01ba	/* 16 bit	MAC Arbiter Timeout Test Reg */	/* 0x01bc - 0x01bf:	reserved */#define B3_MA_RCINI_RX1	0x01c0	/*  8 bit	Recovery Init Val Rx Path MAC 1 */#define B3_MA_RCINI_RX2	0x01c1	/*  8 bit	Recovery Init Val Rx Path MAC 2 */#define B3_MA_RCINI_TX1	0x01c2	/*  8 bit	Recovery Init Val Tx Path MAC 1 */#define B3_MA_RCINI_TX2	0x01c3	/*  8 bit	Recovery Init Val Tx Path MAC 2 */#define B3_MA_RCVAL_RX1	0x01c4	/*  8 bit	Recovery Value Rx Path MAC 1 */#define B3_MA_RCVAL_RX2	0x01c5	/*  8 bit	Recovery Value Rx Path MAC 1 */#define B3_MA_RCVAL_TX1	0x01c6	/*  8 bit	Recovery Value Tx Path MAC 2 */#define B3_MA_RCVAL_TX2	0x01c7	/*  8 bit	Recovery Value Tx Path MAC 2 */#define B3_MA_RC_CTRL	0x01c8	/* 16 bit	MAC Arbiter Recovery Ctrl Reg */#define B3_MA_RC_TEST	0x01ca	/* 16 bit	MAC Arbiter Recovery Test Reg */	/* 0x01cc - 0x01cf:	reserved *//* Packet Arbiter Registers (GENESIS only) *//* these are real timeouts */#define B3_PA_TOINI_RX1	0x01d0	/* 16 bit	Timeout Init Val Rx Path MAC 1 */	/* 0x01d2 - 0x01d3:	reserved */#define B3_PA_TOINI_RX2	0x01d4	/* 16 bit	Timeout Init Val Rx Path MAC 2 */	/* 0x01d6 - 0x01d7:	reserved */#define B3_PA_TOINI_TX1	0x01d8	/* 16 bit	Timeout Init Val Tx Path MAC 1 */	/* 0x01da - 0x01db:	reserved */#define B3_PA_TOINI_TX2	0x01dc	/* 16 bit	Timeout Init Val Tx Path MAC 2 */	/* 0x01de - 0x01df:	reserved */#define B3_PA_TOVAL_RX1	0x01e0	/* 16 bit	Timeout Val Rx Path MAC 1 */	/* 0x01e2 - 0x01e3:	reserved */#define B3_PA_TOVAL_RX2	0x01e4	/* 16 bit	Timeout Val Rx Path MAC 2 */	/* 0x01e6 - 0x01e7:	reserved */#define B3_PA_TOVAL_TX1	0x01e8	/* 16 bit	Timeout Val Tx Path MAC 1 */	/* 0x01ea - 0x01eb:	reserved */#define B3_PA_TOVAL_TX2	0x01ec	/* 16 bit	Timeout Val Tx Path MAC 2 */	/* 0x01ee - 0x01ef:	reserved */#define B3_PA_CTRL		0x01f0	/* 16 bit	Packet Arbiter Ctrl Register */#define B3_PA_TEST		0x01f2	/* 16 bit	Packet Arbiter Test Register */	/* 0x01f4 - 0x01ff:	reserved *//* *	Bank 4 - 5 *//* Transmit Arbiter Registers MAC 1 and 2, use MR_ADDR() to access */#define TXA_ITI_INI		0x0200	/* 32 bit	Tx Arb Interval Timer Init Val*/#define TXA_ITI_VAL		0x0204	/* 32 bit	Tx Arb Interval Timer Value */#define TXA_LIM_INI		0x0208	/* 32 bit	Tx Arb Limit Counter Init Val */#define TXA_LIM_VAL		0x020c	/* 32 bit	Tx Arb Limit Counter Value */

⌨️ 快捷键说明

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