aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/tg3.h
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2010-08-16 13:42:58 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2010-08-16 13:42:58 -0400
commite4862f2f6f5653dfb67f3ba2b6f0bc74516ed51a (patch)
tree1db5a0540a4eecfad9b7daee476b985e82ddc810 /drivers/net/tg3.h
parentec62dbd7eb8e3dddb221da89ecbcea0fc3dee8c1 (diff)
parentb2c1e07b81a126e5846dfc3d36f559d861df59f4 (diff)
Merge branch 'for-2.6.36' into for-2.6.37
Fairly simple conflicts, the most serious ones are the i.MX ones which I suspect now need another rename. Conflicts: arch/arm/mach-mx2/clock_imx27.c arch/arm/mach-mx2/devices.c arch/arm/mach-omap2/board-rx51-peripherals.c arch/arm/mach-omap2/board-zoom2.c sound/soc/fsl/mpc5200_dma.c sound/soc/fsl/mpc5200_dma.h sound/soc/fsl/mpc8610_hpcd.c sound/soc/pxa/spitz.c
Diffstat (limited to 'drivers/net/tg3.h')
-rw-r--r--drivers/net/tg3.h98
1 files changed, 49 insertions, 49 deletions
diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h
index ce9c4918c318..4937bd190964 100644
--- a/drivers/net/tg3.h
+++ b/drivers/net/tg3.h
@@ -53,6 +53,7 @@
53#define TG3PCI_DEVICE_TIGON3_57765 0x16b4 53#define TG3PCI_DEVICE_TIGON3_57765 0x16b4
54#define TG3PCI_DEVICE_TIGON3_57791 0x16b2 54#define TG3PCI_DEVICE_TIGON3_57791 0x16b2
55#define TG3PCI_DEVICE_TIGON3_57795 0x16b6 55#define TG3PCI_DEVICE_TIGON3_57795 0x16b6
56#define TG3PCI_DEVICE_TIGON3_5719 0x1657
56/* 0x04 --> 0x2c unused */ 57/* 0x04 --> 0x2c unused */
57#define TG3PCI_SUBVENDOR_ID_BROADCOM PCI_VENDOR_ID_BROADCOM 58#define TG3PCI_SUBVENDOR_ID_BROADCOM PCI_VENDOR_ID_BROADCOM
58#define TG3PCI_SUBDEVICE_ID_BROADCOM_95700A6 0x1644 59#define TG3PCI_SUBDEVICE_ID_BROADCOM_95700A6 0x1644
@@ -160,6 +161,7 @@
160#define ASIC_REV_57780 0x57780 161#define ASIC_REV_57780 0x57780
161#define ASIC_REV_5717 0x5717 162#define ASIC_REV_5717 0x5717
162#define ASIC_REV_57765 0x57785 163#define ASIC_REV_57765 0x57785
164#define ASIC_REV_5719 0x5719
163#define GET_CHIP_REV(CHIP_REV_ID) ((CHIP_REV_ID) >> 8) 165#define GET_CHIP_REV(CHIP_REV_ID) ((CHIP_REV_ID) >> 8)
164#define CHIPREV_5700_AX 0x70 166#define CHIPREV_5700_AX 0x70
165#define CHIPREV_5700_BX 0x71 167#define CHIPREV_5700_BX 0x71
@@ -231,6 +233,7 @@
231#define PCISTATE_RETRY_SAME_DMA 0x00002000 233#define PCISTATE_RETRY_SAME_DMA 0x00002000
232#define PCISTATE_ALLOW_APE_CTLSPC_WR 0x00010000 234#define PCISTATE_ALLOW_APE_CTLSPC_WR 0x00010000
233#define PCISTATE_ALLOW_APE_SHMEM_WR 0x00020000 235#define PCISTATE_ALLOW_APE_SHMEM_WR 0x00020000
236#define PCISTATE_ALLOW_APE_PSPACE_WR 0x00040000
234#define TG3PCI_CLOCK_CTRL 0x00000074 237#define TG3PCI_CLOCK_CTRL 0x00000074
235#define CLOCK_CTRL_CORECLK_DISABLE 0x00000200 238#define CLOCK_CTRL_CORECLK_DISABLE 0x00000200
236#define CLOCK_CTRL_RXCLK_DISABLE 0x00000400 239#define CLOCK_CTRL_RXCLK_DISABLE 0x00000400
@@ -468,6 +471,7 @@
468#define TX_MODE_FLOW_CTRL_ENABLE 0x00000010 471#define TX_MODE_FLOW_CTRL_ENABLE 0x00000010
469#define TX_MODE_BIG_BCKOFF_ENABLE 0x00000020 472#define TX_MODE_BIG_BCKOFF_ENABLE 0x00000020
470#define TX_MODE_LONG_PAUSE_ENABLE 0x00000040 473#define TX_MODE_LONG_PAUSE_ENABLE 0x00000040
474#define TX_MODE_MBUF_LOCKUP_FIX 0x00000100
471#define MAC_TX_STATUS 0x00000460 475#define MAC_TX_STATUS 0x00000460
472#define TX_STATUS_XOFFED 0x00000001 476#define TX_STATUS_XOFFED 0x00000001
473#define TX_STATUS_SENT_XOFF 0x00000002 477#define TX_STATUS_SENT_XOFF 0x00000002
@@ -1071,10 +1075,8 @@
1071#define TG3_CPMU_HST_ACC 0x0000361c 1075#define TG3_CPMU_HST_ACC 0x0000361c
1072#define CPMU_HST_ACC_MACCLK_MASK 0x001f0000 1076#define CPMU_HST_ACC_MACCLK_MASK 0x001f0000
1073#define CPMU_HST_ACC_MACCLK_6_25 0x00130000 1077#define CPMU_HST_ACC_MACCLK_6_25 0x00130000
1074/* 0x3620 --> 0x362c unused */ 1078/* 0x3620 --> 0x3630 unused */
1075 1079
1076#define TG3_CPMU_STATUS 0x0000362c
1077#define TG3_CPMU_STATUS_PCIE_FUNC 0x20000000
1078#define TG3_CPMU_CLCK_STAT 0x00003630 1080#define TG3_CPMU_CLCK_STAT 0x00003630
1079#define CPMU_CLCK_STAT_MAC_CLCK_MASK 0x001f0000 1081#define CPMU_CLCK_STAT_MAC_CLCK_MASK 0x001f0000
1080#define CPMU_CLCK_STAT_MAC_CLCK_62_5 0x00000000 1082#define CPMU_CLCK_STAT_MAC_CLCK_62_5 0x00000000
@@ -1842,6 +1844,10 @@
1842#define TG3_PCIE_LNKCTL_L1_PLL_PD_DIS 0x00000080 1844#define TG3_PCIE_LNKCTL_L1_PLL_PD_DIS 0x00000080
1843/* 0x7d58 --> 0x7e70 unused */ 1845/* 0x7d58 --> 0x7e70 unused */
1844 1846
1847#define TG3_PCIE_PHY_TSTCTL 0x00007e2c
1848#define TG3_PCIE_PHY_TSTCTL_PCIE10 0x00000040
1849#define TG3_PCIE_PHY_TSTCTL_PSCRAM 0x00000020
1850
1845#define TG3_PCIE_EIDLE_DELAY 0x00007e70 1851#define TG3_PCIE_EIDLE_DELAY 0x00007e70
1846#define TG3_PCIE_EIDLE_DELAY_MASK 0x0000001f 1852#define TG3_PCIE_EIDLE_DELAY_MASK 0x0000001f
1847#define TG3_PCIE_EIDLE_DELAY_13_CLKS 0x0000000c 1853#define TG3_PCIE_EIDLE_DELAY_13_CLKS 0x0000000c
@@ -2030,31 +2036,9 @@
2030 2036
2031 2037
2032/* Currently this is fixed. */ 2038/* Currently this is fixed. */
2033#define TG3_PHY_PCIE_ADDR 0x00
2034#define TG3_PHY_MII_ADDR 0x01 2039#define TG3_PHY_MII_ADDR 0x01
2035 2040
2036 2041
2037/*** Tigon3 specific PHY PCIE registers. ***/
2038
2039#define TG3_PCIEPHY_BLOCK_ADDR 0x1f
2040#define TG3_PCIEPHY_XGXS_BLK1 0x0801
2041#define TG3_PCIEPHY_TXB_BLK 0x0861
2042#define TG3_PCIEPHY_BLOCK_SHIFT 4
2043
2044/* TG3_PCIEPHY_TXB_BLK */
2045#define TG3_PCIEPHY_TX0CTRL1 0x15
2046#define TG3_PCIEPHY_TX0CTRL1_TXOCM 0x0003
2047#define TG3_PCIEPHY_TX0CTRL1_RDCTL 0x0008
2048#define TG3_PCIEPHY_TX0CTRL1_TXCMV 0x0030
2049#define TG3_PCIEPHY_TX0CTRL1_TKSEL 0x0040
2050#define TG3_PCIEPHY_TX0CTRL1_NB_EN 0x0400
2051
2052/* TG3_PCIEPHY_XGXS_BLK1 */
2053#define TG3_PCIEPHY_PWRMGMT4 0x1a
2054#define TG3_PCIEPHY_PWRMGMT4_L1PLLPD_EN 0x0038
2055#define TG3_PCIEPHY_PWRMGMT4_LOWPWR_EN 0x4000
2056
2057
2058/*** Tigon3 specific PHY MII registers. ***/ 2042/*** Tigon3 specific PHY MII registers. ***/
2059#define TG3_BMCR_SPEED1000 0x0040 2043#define TG3_BMCR_SPEED1000 0x0040
2060 2044
@@ -2073,8 +2057,9 @@
2073#define MII_TG3_EXT_STAT 0x11 /* Extended status register */ 2057#define MII_TG3_EXT_STAT 0x11 /* Extended status register */
2074#define MII_TG3_EXT_STAT_LPASS 0x0100 2058#define MII_TG3_EXT_STAT_LPASS 0x0100
2075 2059
2060#define MII_TG3_RXR_COUNTERS 0x14 /* Local/Remote Receiver Counts */
2076#define MII_TG3_DSP_RW_PORT 0x15 /* DSP coefficient read/write port */ 2061#define MII_TG3_DSP_RW_PORT 0x15 /* DSP coefficient read/write port */
2077 2062#define MII_TG3_DSP_CONTROL 0x16 /* DSP control register */
2078#define MII_TG3_DSP_ADDRESS 0x17 /* DSP address register */ 2063#define MII_TG3_DSP_ADDRESS 0x17 /* DSP address register */
2079 2064
2080#define MII_TG3_DSP_TAP1 0x0001 2065#define MII_TG3_DSP_TAP1 0x0001
@@ -2082,6 +2067,7 @@
2082#define MII_TG3_DSP_AADJ1CH0 0x001f 2067#define MII_TG3_DSP_AADJ1CH0 0x001f
2083#define MII_TG3_DSP_AADJ1CH3 0x601f 2068#define MII_TG3_DSP_AADJ1CH3 0x601f
2084#define MII_TG3_DSP_AADJ1CH3_ADCCKADJ 0x0002 2069#define MII_TG3_DSP_AADJ1CH3_ADCCKADJ 0x0002
2070#define MII_TG3_DSP_EXP1_INT_STAT 0x0f01
2085#define MII_TG3_DSP_EXP8 0x0f08 2071#define MII_TG3_DSP_EXP8 0x0f08
2086#define MII_TG3_DSP_EXP8_REJ2MHz 0x0001 2072#define MII_TG3_DSP_EXP8_REJ2MHz 0x0001
2087#define MII_TG3_DSP_EXP8_AEDW 0x0200 2073#define MII_TG3_DSP_EXP8_AEDW 0x0200
@@ -2177,6 +2163,8 @@
2177/* APE shared memory. Accessible through BAR1 */ 2163/* APE shared memory. Accessible through BAR1 */
2178#define TG3_APE_FW_STATUS 0x400c 2164#define TG3_APE_FW_STATUS 0x400c
2179#define APE_FW_STATUS_READY 0x00000100 2165#define APE_FW_STATUS_READY 0x00000100
2166#define TG3_APE_FW_FEATURES 0x4010
2167#define TG3_APE_FW_FEATURE_NCSI 0x00000002
2180#define TG3_APE_FW_VERSION 0x4018 2168#define TG3_APE_FW_VERSION 0x4018
2181#define APE_FW_VERSION_MAJMSK 0xff000000 2169#define APE_FW_VERSION_MAJMSK 0xff000000
2182#define APE_FW_VERSION_MAJSFT 24 2170#define APE_FW_VERSION_MAJSFT 24
@@ -2191,7 +2179,9 @@
2191#define APE_HOST_SEG_LEN_MAGIC 0x0000001c 2179#define APE_HOST_SEG_LEN_MAGIC 0x0000001c
2192#define TG3_APE_HOST_INIT_COUNT 0x4208 2180#define TG3_APE_HOST_INIT_COUNT 0x4208
2193#define TG3_APE_HOST_DRIVER_ID 0x420c 2181#define TG3_APE_HOST_DRIVER_ID 0x420c
2194#define APE_HOST_DRIVER_ID_MAGIC 0xf0035100 2182#define APE_HOST_DRIVER_ID_LINUX 0xf0000000
2183#define APE_HOST_DRIVER_ID_MAGIC(maj, min) \
2184 (APE_HOST_DRIVER_ID_LINUX | (maj & 0xff) << 16 | (min & 0xff) << 8)
2195#define TG3_APE_HOST_BEHAVIOR 0x4210 2185#define TG3_APE_HOST_BEHAVIOR 0x4210
2196#define APE_HOST_BEHAV_NO_PHYLOCK 0x00000001 2186#define APE_HOST_BEHAV_NO_PHYLOCK 0x00000001
2197#define TG3_APE_HOST_HEARTBEAT_INT_MS 0x4214 2187#define TG3_APE_HOST_HEARTBEAT_INT_MS 0x4214
@@ -2209,6 +2199,11 @@
2209#define APE_EVENT_STATUS_STATE_SUSPEND 0x00040000 2199#define APE_EVENT_STATUS_STATE_SUSPEND 0x00040000
2210#define APE_EVENT_STATUS_EVENT_PENDING 0x80000000 2200#define APE_EVENT_STATUS_EVENT_PENDING 0x80000000
2211 2201
2202#define TG3_APE_PER_LOCK_REQ 0x8400
2203#define APE_LOCK_PER_REQ_DRIVER 0x00001000
2204#define TG3_APE_PER_LOCK_GRANT 0x8420
2205#define APE_PER_LOCK_GRANT_DRIVER 0x00001000
2206
2212/* APE convenience enumerations. */ 2207/* APE convenience enumerations. */
2213#define TG3_APE_LOCK_GRC 1 2208#define TG3_APE_LOCK_GRC 1
2214#define TG3_APE_LOCK_MEM 4 2209#define TG3_APE_LOCK_MEM 4
@@ -2539,7 +2534,6 @@ struct tg3_link_config {
2539 /* When we go in and out of low power mode we need 2534 /* When we go in and out of low power mode we need
2540 * to swap with this state. 2535 * to swap with this state.
2541 */ 2536 */
2542 int phy_is_low_power;
2543 u16 orig_speed; 2537 u16 orig_speed;
2544 u8 orig_duplex; 2538 u8 orig_duplex;
2545 u8 orig_autoneg; 2539 u8 orig_autoneg;
@@ -2765,8 +2759,8 @@ struct tg3 {
2765 2759
2766 2760
2767 /* begin "everything else" cacheline(s) section */ 2761 /* begin "everything else" cacheline(s) section */
2768 struct net_device_stats net_stats; 2762 struct rtnl_link_stats64 net_stats;
2769 struct net_device_stats net_stats_prev; 2763 struct rtnl_link_stats64 net_stats_prev;
2770 struct tg3_ethtool_stats estats; 2764 struct tg3_ethtool_stats estats;
2771 struct tg3_ethtool_stats estats_prev; 2765 struct tg3_ethtool_stats estats_prev;
2772 2766
@@ -2780,7 +2774,6 @@ struct tg3 {
2780#define TG3_FLAG_TXD_MBOX_HWBUG 0x00000002 2774#define TG3_FLAG_TXD_MBOX_HWBUG 0x00000002
2781#define TG3_FLAG_RX_CHECKSUMS 0x00000004 2775#define TG3_FLAG_RX_CHECKSUMS 0x00000004
2782#define TG3_FLAG_USE_LINKCHG_REG 0x00000008 2776#define TG3_FLAG_USE_LINKCHG_REG 0x00000008
2783#define TG3_FLAG_USE_MI_INTERRUPT 0x00000010
2784#define TG3_FLAG_ENABLE_ASF 0x00000020 2777#define TG3_FLAG_ENABLE_ASF 0x00000020
2785#define TG3_FLAG_ASPM_WORKAROUND 0x00000040 2778#define TG3_FLAG_ASPM_WORKAROUND 0x00000040
2786#define TG3_FLAG_POLL_SERDES 0x00000080 2779#define TG3_FLAG_POLL_SERDES 0x00000080
@@ -2802,7 +2795,6 @@ struct tg3 {
2802#define TG3_FLAG_TX_RECOVERY_PENDING 0x00200000 2795#define TG3_FLAG_TX_RECOVERY_PENDING 0x00200000
2803#define TG3_FLAG_WOL_CAP 0x00400000 2796#define TG3_FLAG_WOL_CAP 0x00400000
2804#define TG3_FLAG_JUMBO_RING_ENABLE 0x00800000 2797#define TG3_FLAG_JUMBO_RING_ENABLE 0x00800000
2805#define TG3_FLAG_10_100_ONLY 0x01000000
2806#define TG3_FLAG_PAUSE_AUTONEG 0x02000000 2798#define TG3_FLAG_PAUSE_AUTONEG 0x02000000
2807#define TG3_FLAG_CPMU_PRESENT 0x04000000 2799#define TG3_FLAG_CPMU_PRESENT 0x04000000
2808#define TG3_FLAG_40BIT_DMA_BUG 0x08000000 2800#define TG3_FLAG_40BIT_DMA_BUG 0x08000000
@@ -2813,22 +2805,15 @@ struct tg3 {
2813 u32 tg3_flags2; 2805 u32 tg3_flags2;
2814#define TG3_FLG2_RESTART_TIMER 0x00000001 2806#define TG3_FLG2_RESTART_TIMER 0x00000001
2815#define TG3_FLG2_TSO_BUG 0x00000002 2807#define TG3_FLG2_TSO_BUG 0x00000002
2816#define TG3_FLG2_NO_ETH_WIRE_SPEED 0x00000004
2817#define TG3_FLG2_IS_5788 0x00000008 2808#define TG3_FLG2_IS_5788 0x00000008
2818#define TG3_FLG2_MAX_RXPEND_64 0x00000010 2809#define TG3_FLG2_MAX_RXPEND_64 0x00000010
2819#define TG3_FLG2_TSO_CAPABLE 0x00000020 2810#define TG3_FLG2_TSO_CAPABLE 0x00000020
2820#define TG3_FLG2_PHY_ADC_BUG 0x00000040
2821#define TG3_FLG2_PHY_5704_A0_BUG 0x00000080
2822#define TG3_FLG2_PHY_BER_BUG 0x00000100
2823#define TG3_FLG2_PCI_EXPRESS 0x00000200 2811#define TG3_FLG2_PCI_EXPRESS 0x00000200
2824#define TG3_FLG2_ASF_NEW_HANDSHAKE 0x00000400 2812#define TG3_FLG2_ASF_NEW_HANDSHAKE 0x00000400
2825#define TG3_FLG2_HW_AUTONEG 0x00000800 2813#define TG3_FLG2_HW_AUTONEG 0x00000800
2826#define TG3_FLG2_IS_NIC 0x00001000 2814#define TG3_FLG2_IS_NIC 0x00001000
2827#define TG3_FLG2_PHY_SERDES 0x00002000
2828#define TG3_FLG2_CAPACITIVE_COUPLING 0x00004000
2829#define TG3_FLG2_FLASH 0x00008000 2815#define TG3_FLG2_FLASH 0x00008000
2830#define TG3_FLG2_HW_TSO_1 0x00010000 2816#define TG3_FLG2_HW_TSO_1 0x00010000
2831#define TG3_FLG2_SERDES_PREEMPHASIS 0x00020000
2832#define TG3_FLG2_5705_PLUS 0x00040000 2817#define TG3_FLG2_5705_PLUS 0x00040000
2833#define TG3_FLG2_5750_PLUS 0x00080000 2818#define TG3_FLG2_5750_PLUS 0x00080000
2834#define TG3_FLG2_HW_TSO_3 0x00100000 2819#define TG3_FLG2_HW_TSO_3 0x00100000
@@ -2836,10 +2821,6 @@ struct tg3 {
2836#define TG3_FLG2_USING_MSIX 0x00400000 2821#define TG3_FLG2_USING_MSIX 0x00400000
2837#define TG3_FLG2_USING_MSI_OR_MSIX (TG3_FLG2_USING_MSI | \ 2822#define TG3_FLG2_USING_MSI_OR_MSIX (TG3_FLG2_USING_MSI | \
2838 TG3_FLG2_USING_MSIX) 2823 TG3_FLG2_USING_MSIX)
2839#define TG3_FLG2_MII_SERDES 0x00800000
2840#define TG3_FLG2_ANY_SERDES (TG3_FLG2_PHY_SERDES | \
2841 TG3_FLG2_MII_SERDES)
2842#define TG3_FLG2_PARALLEL_DETECT 0x01000000
2843#define TG3_FLG2_ICH_WORKAROUND 0x02000000 2824#define TG3_FLG2_ICH_WORKAROUND 0x02000000
2844#define TG3_FLG2_5780_CLASS 0x04000000 2825#define TG3_FLG2_5780_CLASS 0x04000000
2845#define TG3_FLG2_HW_TSO_2 0x08000000 2826#define TG3_FLG2_HW_TSO_2 0x08000000
@@ -2847,9 +2828,7 @@ struct tg3 {
2847 TG3_FLG2_HW_TSO_2 | \ 2828 TG3_FLG2_HW_TSO_2 | \
2848 TG3_FLG2_HW_TSO_3) 2829 TG3_FLG2_HW_TSO_3)
2849#define TG3_FLG2_1SHOT_MSI 0x10000000 2830#define TG3_FLG2_1SHOT_MSI 0x10000000
2850#define TG3_FLG2_PHY_JITTER_BUG 0x20000000
2851#define TG3_FLG2_NO_FWARE_REPORTED 0x40000000 2831#define TG3_FLG2_NO_FWARE_REPORTED 0x40000000
2852#define TG3_FLG2_PHY_ADJUST_TRIM 0x80000000
2853 u32 tg3_flags3; 2832 u32 tg3_flags3;
2854#define TG3_FLG3_NO_NVRAM_ADDR_TRANS 0x00000001 2833#define TG3_FLG3_NO_NVRAM_ADDR_TRANS 0x00000001
2855#define TG3_FLG3_ENABLE_APE 0x00000002 2834#define TG3_FLG3_ENABLE_APE 0x00000002
@@ -2857,15 +2836,12 @@ struct tg3 {
2857#define TG3_FLG3_5701_DMA_BUG 0x00000008 2836#define TG3_FLG3_5701_DMA_BUG 0x00000008
2858#define TG3_FLG3_USE_PHYLIB 0x00000010 2837#define TG3_FLG3_USE_PHYLIB 0x00000010
2859#define TG3_FLG3_MDIOBUS_INITED 0x00000020 2838#define TG3_FLG3_MDIOBUS_INITED 0x00000020
2860#define TG3_FLG3_PHY_CONNECTED 0x00000080
2861#define TG3_FLG3_RGMII_INBAND_DISABLE 0x00000100 2839#define TG3_FLG3_RGMII_INBAND_DISABLE 0x00000100
2862#define TG3_FLG3_RGMII_EXT_IBND_RX_EN 0x00000200 2840#define TG3_FLG3_RGMII_EXT_IBND_RX_EN 0x00000200
2863#define TG3_FLG3_RGMII_EXT_IBND_TX_EN 0x00000400 2841#define TG3_FLG3_RGMII_EXT_IBND_TX_EN 0x00000400
2864#define TG3_FLG3_CLKREQ_BUG 0x00000800 2842#define TG3_FLG3_CLKREQ_BUG 0x00000800
2865#define TG3_FLG3_PHY_ENABLE_APD 0x00001000
2866#define TG3_FLG3_5755_PLUS 0x00002000 2843#define TG3_FLG3_5755_PLUS 0x00002000
2867#define TG3_FLG3_NO_NVRAM 0x00004000 2844#define TG3_FLG3_NO_NVRAM 0x00004000
2868#define TG3_FLG3_PHY_IS_FET 0x00010000
2869#define TG3_FLG3_ENABLE_RSS 0x00020000 2845#define TG3_FLG3_ENABLE_RSS 0x00020000
2870#define TG3_FLG3_ENABLE_TSS 0x00040000 2846#define TG3_FLG3_ENABLE_TSS 0x00040000
2871#define TG3_FLG3_4G_DMA_BNDRY_BUG 0x00080000 2847#define TG3_FLG3_4G_DMA_BNDRY_BUG 0x00080000
@@ -2873,6 +2849,7 @@ struct tg3 {
2873#define TG3_FLG3_SHORT_DMA_BUG 0x00200000 2849#define TG3_FLG3_SHORT_DMA_BUG 0x00200000
2874#define TG3_FLG3_USE_JUMBO_BDFLAG 0x00400000 2850#define TG3_FLG3_USE_JUMBO_BDFLAG 0x00400000
2875#define TG3_FLG3_L1PLLPD_EN 0x00800000 2851#define TG3_FLG3_L1PLLPD_EN 0x00800000
2852#define TG3_FLG3_5717_PLUS 0x01000000
2876 2853
2877 struct timer_list timer; 2854 struct timer_list timer;
2878 u16 timer_counter; 2855 u16 timer_counter;
@@ -2942,6 +2919,7 @@ struct tg3 {
2942#define TG3_PHY_ID_BCM5718C 0x5c0d8a00 2919#define TG3_PHY_ID_BCM5718C 0x5c0d8a00
2943#define TG3_PHY_ID_BCM5718S 0xbc050ff0 2920#define TG3_PHY_ID_BCM5718S 0xbc050ff0
2944#define TG3_PHY_ID_BCM57765 0x5c0d8a40 2921#define TG3_PHY_ID_BCM57765 0x5c0d8a40
2922#define TG3_PHY_ID_BCM5719C 0x5c0d8a20
2945#define TG3_PHY_ID_BCM5906 0xdc00ac40 2923#define TG3_PHY_ID_BCM5906 0xdc00ac40
2946#define TG3_PHY_ID_BCM8002 0x60010140 2924#define TG3_PHY_ID_BCM8002 0x60010140
2947#define TG3_PHY_ID_INVALID 0xffffffff 2925#define TG3_PHY_ID_INVALID 0xffffffff
@@ -2965,7 +2943,29 @@ struct tg3 {
2965 (X) == TG3_PHY_ID_BCM5755 || (X) == TG3_PHY_ID_BCM5756 || \ 2943 (X) == TG3_PHY_ID_BCM5755 || (X) == TG3_PHY_ID_BCM5756 || \
2966 (X) == TG3_PHY_ID_BCM5906 || (X) == TG3_PHY_ID_BCM5761 || \ 2944 (X) == TG3_PHY_ID_BCM5906 || (X) == TG3_PHY_ID_BCM5761 || \
2967 (X) == TG3_PHY_ID_BCM5718C || (X) == TG3_PHY_ID_BCM5718S || \ 2945 (X) == TG3_PHY_ID_BCM5718C || (X) == TG3_PHY_ID_BCM5718S || \
2968 (X) == TG3_PHY_ID_BCM57765 || (X) == TG3_PHY_ID_BCM8002) 2946 (X) == TG3_PHY_ID_BCM57765 || (X) == TG3_PHY_ID_BCM5719C || \
2947 (X) == TG3_PHY_ID_BCM8002)
2948
2949 u32 phy_flags;
2950#define TG3_PHYFLG_IS_LOW_POWER 0x00000001
2951#define TG3_PHYFLG_IS_CONNECTED 0x00000002
2952#define TG3_PHYFLG_USE_MI_INTERRUPT 0x00000004
2953#define TG3_PHYFLG_PHY_SERDES 0x00000010
2954#define TG3_PHYFLG_MII_SERDES 0x00000020
2955#define TG3_PHYFLG_ANY_SERDES (TG3_PHYFLG_PHY_SERDES | \
2956 TG3_PHYFLG_MII_SERDES)
2957#define TG3_PHYFLG_IS_FET 0x00000040
2958#define TG3_PHYFLG_10_100_ONLY 0x00000080
2959#define TG3_PHYFLG_ENABLE_APD 0x00000100
2960#define TG3_PHYFLG_CAPACITIVE_COUPLING 0x00000200
2961#define TG3_PHYFLG_NO_ETH_WIRE_SPEED 0x00000400
2962#define TG3_PHYFLG_JITTER_BUG 0x00000800
2963#define TG3_PHYFLG_ADJUST_TRIM 0x00001000
2964#define TG3_PHYFLG_ADC_BUG 0x00002000
2965#define TG3_PHYFLG_5704_A0_BUG 0x00004000
2966#define TG3_PHYFLG_BER_BUG 0x00008000
2967#define TG3_PHYFLG_SERDES_PREEMPHASIS 0x00010000
2968#define TG3_PHYFLG_PARALLEL_DETECT 0x00020000
2969 2969
2970 u32 led_ctrl; 2970 u32 led_ctrl;
2971 u32 phy_otp; 2971 u32 phy_otp;