aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/tg3.h
diff options
context:
space:
mode:
authorMatt Carlson <mcarlson@broadcom.com>2007-10-10 21:02:43 -0400
committerDavid S. Miller <davem@davemloft.net>2007-10-10 21:02:43 -0400
commit0d3031d9e674cddd4c09731123ad252294cdf15f (patch)
treefdcfc596ef8c5a996808cf1e701883c6383a7e3f /drivers/net/tg3.h
parent6b91fa02796292c322b20572188c74c1ef5bb02b (diff)
[TG3]: Add 5761 APE support
This patch adds support for the new APE block, present in 5761 chips. APE stands for Application Processing Engine. The primary function of the APE is to process manageability traffic, such as ASF. Signed-off-by: Matt Carlson <mcarlson@broadcom.com> Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/tg3.h')
-rw-r--r--drivers/net/tg3.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h
index 88d08f3ede03..632c2f084c52 100644
--- a/drivers/net/tg3.h
+++ b/drivers/net/tg3.h
@@ -192,6 +192,8 @@
192#define PCISTATE_ROM_RETRY_ENABLE 0x00000040 192#define PCISTATE_ROM_RETRY_ENABLE 0x00000040
193#define PCISTATE_FLAT_VIEW 0x00000100 193#define PCISTATE_FLAT_VIEW 0x00000100
194#define PCISTATE_RETRY_SAME_DMA 0x00002000 194#define PCISTATE_RETRY_SAME_DMA 0x00002000
195#define PCISTATE_ALLOW_APE_CTLSPC_WR 0x00010000
196#define PCISTATE_ALLOW_APE_SHMEM_WR 0x00020000
195#define TG3PCI_CLOCK_CTRL 0x00000074 197#define TG3PCI_CLOCK_CTRL 0x00000074
196#define CLOCK_CTRL_CORECLK_DISABLE 0x00000200 198#define CLOCK_CTRL_CORECLK_DISABLE 0x00000200
197#define CLOCK_CTRL_RXCLK_DISABLE 0x00000400 199#define CLOCK_CTRL_RXCLK_DISABLE 0x00000400
@@ -1560,6 +1562,7 @@
1560#define NIC_SRAM_DATA_CFG_MINI_PCI 0x00001000 1562#define NIC_SRAM_DATA_CFG_MINI_PCI 0x00001000
1561#define NIC_SRAM_DATA_CFG_FIBER_WOL 0x00004000 1563#define NIC_SRAM_DATA_CFG_FIBER_WOL 0x00004000
1562#define NIC_SRAM_DATA_CFG_NO_GPIO2 0x00100000 1564#define NIC_SRAM_DATA_CFG_NO_GPIO2 0x00100000
1565#define NIC_SRAM_DATA_CFG_APE_ENABLE 0x00200000
1563 1566
1564#define NIC_SRAM_DATA_VER 0x00000b5c 1567#define NIC_SRAM_DATA_VER 0x00000b5c
1565#define NIC_SRAM_DATA_VER_SHIFT 16 1568#define NIC_SRAM_DATA_VER_SHIFT 16
@@ -1688,6 +1691,47 @@
1688#define MII_TG3_TEST1_TRIM_EN 0x0010 1691#define MII_TG3_TEST1_TRIM_EN 0x0010
1689#define MII_TG3_TEST1_CRC_EN 0x8000 1692#define MII_TG3_TEST1_CRC_EN 0x8000
1690 1693
1694/* APE registers. Accessible through BAR1 */
1695#define TG3_APE_EVENT 0x000c
1696#define APE_EVENT_1 0x00000001
1697#define TG3_APE_LOCK_REQ 0x002c
1698#define APE_LOCK_REQ_DRIVER 0x00001000
1699#define TG3_APE_LOCK_GRANT 0x004c
1700#define APE_LOCK_GRANT_DRIVER 0x00001000
1701#define TG3_APE_SEG_SIG 0x4000
1702#define APE_SEG_SIG_MAGIC 0x41504521
1703
1704/* APE shared memory. Accessible through BAR1 */
1705#define TG3_APE_FW_STATUS 0x400c
1706#define APE_FW_STATUS_READY 0x00000100
1707#define TG3_APE_HOST_SEG_SIG 0x4200
1708#define APE_HOST_SEG_SIG_MAGIC 0x484f5354
1709#define TG3_APE_HOST_SEG_LEN 0x4204
1710#define APE_HOST_SEG_LEN_MAGIC 0x0000001c
1711#define TG3_APE_HOST_INIT_COUNT 0x4208
1712#define TG3_APE_HOST_DRIVER_ID 0x420c
1713#define APE_HOST_DRIVER_ID_MAGIC 0xf0035100
1714#define TG3_APE_HOST_BEHAVIOR 0x4210
1715#define APE_HOST_BEHAV_NO_PHYLOCK 0x00000001
1716#define TG3_APE_HOST_HEARTBEAT_INT_MS 0x4214
1717#define APE_HOST_HEARTBEAT_INT_DISABLE 0
1718#define APE_HOST_HEARTBEAT_INT_5SEC 5000
1719#define TG3_APE_HOST_HEARTBEAT_COUNT 0x4218
1720
1721#define TG3_APE_EVENT_STATUS 0x4300
1722
1723#define APE_EVENT_STATUS_DRIVER_EVNT 0x00000010
1724#define APE_EVENT_STATUS_STATE_CHNGE 0x00000500
1725#define APE_EVENT_STATUS_STATE_START 0x00010000
1726#define APE_EVENT_STATUS_STATE_UNLOAD 0x00020000
1727#define APE_EVENT_STATUS_STATE_WOL 0x00030000
1728#define APE_EVENT_STATUS_STATE_SUSPEND 0x00040000
1729#define APE_EVENT_STATUS_EVENT_PENDING 0x80000000
1730
1731/* APE convenience enumerations. */
1732#define TG3_APE_LOCK_MEM 4
1733
1734
1691/* There are two ways to manage the TX descriptors on the tigon3. 1735/* There are two ways to manage the TX descriptors on the tigon3.
1692 * Either the descriptors are in host DMA'able memory, or they 1736 * Either the descriptors are in host DMA'able memory, or they
1693 * exist only in the cards on-chip SRAM. All 16 send bds are under 1737 * exist only in the cards on-chip SRAM. All 16 send bds are under
@@ -2163,6 +2207,7 @@ struct tg3 {
2163 void (*write32_mbox) (struct tg3 *, u32, 2207 void (*write32_mbox) (struct tg3 *, u32,
2164 u32); 2208 u32);
2165 void __iomem *regs; 2209 void __iomem *regs;
2210 void __iomem *aperegs;
2166 struct net_device *dev; 2211 struct net_device *dev;
2167 struct pci_dev *pdev; 2212 struct pci_dev *pdev;
2168 2213
@@ -2290,6 +2335,7 @@ struct tg3 {
2290#define TG3_FLG2_PHY_ADJUST_TRIM 0x80000000 2335#define TG3_FLG2_PHY_ADJUST_TRIM 0x80000000
2291 u32 tg3_flags3; 2336 u32 tg3_flags3;
2292#define TG3_FLG3_NO_NVRAM_ADDR_TRANS 0x00000001 2337#define TG3_FLG3_NO_NVRAM_ADDR_TRANS 0x00000001
2338#define TG3_FLG3_ENABLE_APE 0x00000002
2293 2339
2294 struct timer_list timer; 2340 struct timer_list timer;
2295 u16 timer_counter; 2341 u16 timer_counter;