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

📄 tg3.h

📁 linux下从网卡远程启动
💻 H
📖 第 1 页 / 共 5 页
字号:
/* $Id: tg3.h,v 1.3 2003/02/25 06:02:58 ebiederm Exp $ * tg3.h: Definitions for Broadcom Tigon3 ethernet driver. * * Copyright (C) 2001, 2002 David S. Miller (davem@redhat.com) * Copyright (C) 2001 Jeff Garzik (jgarzik@mandrakesoft.com) */#ifndef _T3_H#define _T3_H#include "stdint.h"typedef unsigned long dma_addr_t;/* From mii.h *//* Indicates what features are advertised by the interface. */#define ADVERTISED_10baseT_Half		(1 << 0)#define ADVERTISED_10baseT_Full		(1 << 1)#define ADVERTISED_100baseT_Half	(1 << 2)#define ADVERTISED_100baseT_Full	(1 << 3)#define ADVERTISED_1000baseT_Half	(1 << 4)#define ADVERTISED_1000baseT_Full	(1 << 5)#define ADVERTISED_Autoneg		(1 << 6)#define ADVERTISED_TP			(1 << 7)#define ADVERTISED_AUI			(1 << 8)#define ADVERTISED_MII			(1 << 9)#define ADVERTISED_FIBRE		(1 << 10)#define ADVERTISED_BNC			(1 << 11)/* The following are all involved in forcing a particular link * mode for the device for setting things.  When getting the * devices settings, these indicate the current mode and whether * it was foced up into this mode or autonegotiated. *//* The forced speed, 10Mb, 100Mb, gigabit. */#define SPEED_10		0#define SPEED_100		1#define SPEED_1000		2#define SPEED_INVALID           3/* Duplex, half or full. */#define DUPLEX_HALF		0x00#define DUPLEX_FULL		0x01#define DUPLEX_INVALID          0x02/* Which connector port. */#define PORT_TP			0x00#define PORT_AUI		0x01#define PORT_MII		0x02#define PORT_FIBRE		0x03#define PORT_BNC		0x04/* Which tranceiver to use. */#define XCVR_INTERNAL		0x00#define XCVR_EXTERNAL		0x01#define XCVR_DUMMY1		0x02#define XCVR_DUMMY2		0x03#define XCVR_DUMMY3		0x04/* Enable or disable autonegotiation.  If this is set to enable, * the forced link modes above are completely ignored. */#define AUTONEG_DISABLE		0x00#define AUTONEG_ENABLE		0x01/* Wake-On-Lan options. */#define WAKE_PHY		(1 << 0)#define WAKE_UCAST		(1 << 1)#define WAKE_MCAST		(1 << 2)#define WAKE_BCAST		(1 << 3)#define WAKE_ARP		(1 << 4)#define WAKE_MAGIC		(1 << 5)#define WAKE_MAGICSECURE	(1 << 6) /* only meaningful if WAKE_MAGIC *//* Generic MII registers. */#define MII_BMCR            0x00        /* Basic mode control register */#define MII_BMSR            0x01        /* Basic mode status register  */#define MII_PHYSID1         0x02        /* PHYS ID 1                   */#define MII_PHYSID2         0x03        /* PHYS ID 2                   */#define MII_ADVERTISE       0x04        /* Advertisement control reg   */#define MII_LPA             0x05        /* Link partner ability reg    */#define MII_EXPANSION       0x06        /* Expansion register          */#define MII_DCOUNTER        0x12        /* Disconnect counter          */#define MII_FCSCOUNTER      0x13        /* False carrier counter       */#define MII_NWAYTEST        0x14        /* N-way auto-neg test reg     */#define MII_RERRCOUNTER     0x15        /* Receive error counter       */#define MII_SREVISION       0x16        /* Silicon revision            */#define MII_RESV1           0x17        /* Reserved...                 */#define MII_LBRERROR        0x18        /* Lpback, rx, bypass error    */#define MII_PHYADDR         0x19        /* PHY address                 */#define MII_RESV2           0x1a        /* Reserved...                 */#define MII_TPISTATUS       0x1b        /* TPI status for 10mbps       */#define MII_NCONFIG         0x1c        /* Network interface config    *//* Basic mode control register. */#define BMCR_RESV               0x007f  /* Unused...                   */#define BMCR_CTST               0x0080  /* Collision test              */#define BMCR_FULLDPLX           0x0100  /* Full duplex                 */#define BMCR_ANRESTART          0x0200  /* Auto negotiation restart    */#define BMCR_ISOLATE            0x0400  /* Disconnect DP83840 from MII */#define BMCR_PDOWN              0x0800  /* Powerdown the DP83840       */#define BMCR_ANENABLE           0x1000  /* Enable auto negotiation     */#define BMCR_SPEED100           0x2000  /* Select 100Mbps              */#define BMCR_LOOPBACK           0x4000  /* TXD loopback bits           */#define BMCR_RESET              0x8000  /* Reset the DP83840           *//* Basic mode status register. */#define BMSR_ERCAP              0x0001  /* Ext-reg capability          */#define BMSR_JCD                0x0002  /* Jabber detected             */#define BMSR_LSTATUS            0x0004  /* Link status                 */#define BMSR_ANEGCAPABLE        0x0008  /* Able to do auto-negotiation */#define BMSR_RFAULT             0x0010  /* Remote fault detected       */#define BMSR_ANEGCOMPLETE       0x0020  /* Auto-negotiation complete   */#define BMSR_RESV               0x07c0  /* Unused...                   */#define BMSR_10HALF             0x0800  /* Can do 10mbps, half-duplex  */#define BMSR_10FULL             0x1000  /* Can do 10mbps, full-duplex  */#define BMSR_100HALF            0x2000  /* Can do 100mbps, half-duplex */#define BMSR_100FULL            0x4000  /* Can do 100mbps, full-duplex */#define BMSR_100BASE4           0x8000  /* Can do 100mbps, 4k packets  *//* Advertisement control register. */#define ADVERTISE_SLCT          0x001f  /* Selector bits               */#define ADVERTISE_CSMA          0x0001  /* Only selector supported     */#define ADVERTISE_10HALF        0x0020  /* Try for 10mbps half-duplex  */#define ADVERTISE_10FULL        0x0040  /* Try for 10mbps full-duplex  */#define ADVERTISE_100HALF       0x0080  /* Try for 100mbps half-duplex */#define ADVERTISE_100FULL       0x0100  /* Try for 100mbps full-duplex */#define ADVERTISE_100BASE4      0x0200  /* Try for 100mbps 4k packets  */#define ADVERTISE_RESV          0x1c00  /* Unused...                   */#define ADVERTISE_RFAULT        0x2000  /* Say we can detect faults    */#define ADVERTISE_LPACK         0x4000  /* Ack link partners response  */#define ADVERTISE_NPAGE         0x8000  /* Next page bit               */#define ADVERTISE_FULL (ADVERTISE_100FULL | ADVERTISE_10FULL | \			ADVERTISE_CSMA)#define ADVERTISE_ALL (ADVERTISE_10HALF | ADVERTISE_10FULL | \                       ADVERTISE_100HALF | ADVERTISE_100FULL)/* Link partner ability register. */#define LPA_SLCT                0x001f  /* Same as advertise selector  */#define LPA_10HALF              0x0020  /* Can do 10mbps half-duplex   */#define LPA_10FULL              0x0040  /* Can do 10mbps full-duplex   */#define LPA_100HALF             0x0080  /* Can do 100mbps half-duplex  */#define LPA_100FULL             0x0100  /* Can do 100mbps full-duplex  */#define LPA_100BASE4            0x0200  /* Can do 100mbps 4k packets   */#define LPA_RESV                0x1c00  /* Unused...                   */#define LPA_RFAULT              0x2000  /* Link partner faulted        */#define LPA_LPACK               0x4000  /* Link partner acked us       */#define LPA_NPAGE               0x8000  /* Next page bit               */#define LPA_DUPLEX		(LPA_10FULL | LPA_100FULL)#define LPA_100			(LPA_100FULL | LPA_100HALF | LPA_100BASE4)/* Expansion register for auto-negotiation. */#define EXPANSION_NWAY          0x0001  /* Can do N-way auto-nego      */#define EXPANSION_LCWP          0x0002  /* Got new RX page code word   */#define EXPANSION_ENABLENPAGE   0x0004  /* This enables npage words    */#define EXPANSION_NPCAPABLE     0x0008  /* Link partner supports npage */#define EXPANSION_MFAULTS       0x0010  /* Multiple faults detected    */#define EXPANSION_RESV          0xffe0  /* Unused...                   *//* N-way test register. */#define NWAYTEST_RESV1          0x00ff  /* Unused...                   */#define NWAYTEST_LOOPBACK       0x0100  /* Enable loopback for N-way   */#define NWAYTEST_RESV2          0xfe00  /* Unused...                   *//* From tg3.h */#define TG3_64BIT_REG_HIGH		0x00UL#define TG3_64BIT_REG_LOW		0x04UL/* Descriptor block info. */#define TG3_BDINFO_HOST_ADDR		0x0UL /* 64-bit */#define TG3_BDINFO_MAXLEN_FLAGS		0x8UL /* 32-bit */#define  BDINFO_FLAGS_USE_EXT_RECV	 0x00000001 /* ext rx_buffer_desc */#define  BDINFO_FLAGS_DISABLED		 0x00000002#define  BDINFO_FLAGS_MAXLEN_MASK	 0xffff0000#define  BDINFO_FLAGS_MAXLEN_SHIFT	 16#define TG3_BDINFO_NIC_ADDR		0xcUL /* 32-bit */#define TG3_BDINFO_SIZE			0x10UL#define RX_COPY_THRESHOLD  		256#define RX_STD_MAX_SIZE			1536#define RX_STD_MAX_SIZE_5705		512#define RX_JUMBO_MAX_SIZE		0xdeadbeef /* XXX *//* First 256 bytes are a mirror of PCI config space. */#define TG3PCI_VENDOR			0x00000000#define  TG3PCI_VENDOR_BROADCOM		 0x14e4#define TG3PCI_DEVICE			0x00000002#define  TG3PCI_DEVICE_TIGON3_1		 0x1644 /* BCM5700 */#define  TG3PCI_DEVICE_TIGON3_2		 0x1645 /* BCM5701 */#define  TG3PCI_DEVICE_TIGON3_3		 0x1646 /* BCM5702 */#define  TG3PCI_DEVICE_TIGON3_4		 0x1647 /* BCM5703 */#define TG3PCI_COMMAND			0x00000004#define TG3PCI_STATUS			0x00000006#define TG3PCI_CCREVID			0x00000008#define TG3PCI_CACHELINESZ		0x0000000c#define TG3PCI_LATTIMER			0x0000000d#define TG3PCI_HEADERTYPE		0x0000000e#define TG3PCI_BIST			0x0000000f#define TG3PCI_BASE0_LOW		0x00000010#define TG3PCI_BASE0_HIGH		0x00000014/* 0x18 --> 0x2c unused */#define TG3PCI_SUBSYSVENID		0x0000002c#define TG3PCI_SUBSYSID			0x0000002e#define TG3PCI_ROMADDR			0x00000030#define TG3PCI_CAPLIST			0x00000034/* 0x35 --> 0x3c unused */#define TG3PCI_IRQ_LINE			0x0000003c#define TG3PCI_IRQ_PIN			0x0000003d#define TG3PCI_MIN_GNT			0x0000003e#define TG3PCI_MAX_LAT			0x0000003f#define TG3PCI_X_CAPS			0x00000040#define  PCIX_CAPS_RELAXED_ORDERING	 0x00020000#define  PCIX_CAPS_SPLIT_MASK		 0x00700000#define  PCIX_CAPS_SPLIT_SHIFT		 20#define  PCIX_CAPS_BURST_MASK		 0x000c0000#define  PCIX_CAPS_BURST_SHIFT		 18#define  PCIX_CAPS_MAX_BURST_CPIOB	 2#define TG3PCI_PM_CAP_PTR		0x00000041#define TG3PCI_X_COMMAND		0x00000042#define TG3PCI_X_STATUS			0x00000044#define TG3PCI_PM_CAP_ID		0x00000048#define TG3PCI_VPD_CAP_PTR		0x00000049#define TG3PCI_PM_CAPS			0x0000004a#define TG3PCI_PM_CTRL_STAT		0x0000004c#define TG3PCI_BR_SUPP_EXT		0x0000004e#define TG3PCI_PM_DATA			0x0000004f#define TG3PCI_VPD_CAP_ID		0x00000050#define TG3PCI_MSI_CAP_PTR		0x00000051#define TG3PCI_VPD_ADDR_FLAG		0x00000052#define  VPD_ADDR_FLAG_WRITE		0x00008000#define TG3PCI_VPD_DATA			0x00000054#define TG3PCI_MSI_CAP_ID		0x00000058#define TG3PCI_NXT_CAP_PTR		0x00000059#define TG3PCI_MSI_CTRL			0x0000005a#define TG3PCI_MSI_ADDR_LOW		0x0000005c#define TG3PCI_MSI_ADDR_HIGH		0x00000060#define TG3PCI_MSI_DATA			0x00000064/* 0x66 --> 0x68 unused */#define TG3PCI_MISC_HOST_CTRL		0x00000068#define  MISC_HOST_CTRL_CLEAR_INT	 0x00000001#define  MISC_HOST_CTRL_MASK_PCI_INT	 0x00000002#define  MISC_HOST_CTRL_BYTE_SWAP	 0x00000004#define  MISC_HOST_CTRL_WORD_SWAP	 0x00000008#define  MISC_HOST_CTRL_PCISTATE_RW	 0x00000010#define  MISC_HOST_CTRL_CLKREG_RW	 0x00000020#define  MISC_HOST_CTRL_REGWORD_SWAP	 0x00000040#define  MISC_HOST_CTRL_INDIR_ACCESS	 0x00000080#define  MISC_HOST_CTRL_IRQ_MASK_MODE	 0x00000100#define  MISC_HOST_CTRL_TAGGED_STATUS	 0x00000200#define  MISC_HOST_CTRL_CHIPREV		 0xffff0000#define  MISC_HOST_CTRL_CHIPREV_SHIFT	 16#define  GET_CHIP_REV_ID(MISC_HOST_CTRL) \	 (((MISC_HOST_CTRL) & MISC_HOST_CTRL_CHIPREV) >> \	  MISC_HOST_CTRL_CHIPREV_SHIFT)#define  CHIPREV_ID_5700_A0		 0x7000#define  CHIPREV_ID_5700_A1		 0x7001#define  CHIPREV_ID_5700_B0		 0x7100#define  CHIPREV_ID_5700_B1		 0x7101#define  CHIPREV_ID_5700_B3		 0x7102#define  CHIPREV_ID_5700_ALTIMA		 0x7104#define  CHIPREV_ID_5700_C0		 0x7200#define  CHIPREV_ID_5701_A0		 0x0000#define  CHIPREV_ID_5701_B0		 0x0100#define  CHIPREV_ID_5701_B2		 0x0102#define  CHIPREV_ID_5701_B5		 0x0105#define  CHIPREV_ID_5703_A0		 0x1000#define  CHIPREV_ID_5703_A1		 0x1001#define  CHIPREV_ID_5703_A2		 0x1002#define  CHIPREV_ID_5703_A3		 0x1003#define  CHIPREV_ID_5704_A0		 0x2000#define  CHIPREV_ID_5704_A1		 0x2001#define  CHIPREV_ID_5704_A2		 0x2002#define  CHIPREV_ID_5705_A0		 0x3000#define  CHIPREV_ID_5705_A1		 0x3001#define	 CHIPREV_ID_5705_A2              0x3002#define  CHIPREV_ID_5705_A3              0x3003#define  GET_ASIC_REV(CHIP_REV_ID)	((CHIP_REV_ID) >> 12)#define   ASIC_REV_5700			 0x07#define   ASIC_REV_5701			 0x00#define   ASIC_REV_5703			 0x01#define   ASIC_REV_5704			 0x02#define   ASIC_REV_5705			 0x03#define  GET_CHIP_REV(CHIP_REV_ID)	((CHIP_REV_ID) >> 8)#define   CHIPREV_5700_AX		 0x70#define   CHIPREV_5700_BX		 0x71#define   CHIPREV_5700_CX		 0x72#define   CHIPREV_5701_AX		 0x00#define  GET_METAL_REV(CHIP_REV_ID)	((CHIP_REV_ID) & 0xff)#define   METAL_REV_A0			 0x00#define   METAL_REV_A1			 0x01#define   METAL_REV_B0			 0x00#define   METAL_REV_B1			 0x01#define   METAL_REV_B2			 0x02#define TG3PCI_DMA_RW_CTRL		0x0000006c#define  DMA_RWCTRL_MIN_DMA		 0x000000ff#define  DMA_RWCTRL_MIN_DMA_SHIFT	 0#define  DMA_RWCTRL_READ_BNDRY_MASK	 0x00000700#define  DMA_RWCTRL_READ_BNDRY_DISAB	 0x00000000#define  DMA_RWCTRL_READ_BNDRY_16	 0x00000100#define  DMA_RWCTRL_READ_BNDRY_32	 0x00000200#define  DMA_RWCTRL_READ_BNDRY_64	 0x00000300#define  DMA_RWCTRL_READ_BNDRY_128	 0x00000400#define  DMA_RWCTRL_READ_BNDRY_256	 0x00000500#define  DMA_RWCTRL_READ_BNDRY_512	 0x00000600#define  DMA_RWCTRL_READ_BNDRY_1024	 0x00000700

⌨️ 快捷键说明

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