]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/net/tg3.h
[TG3]: 5784 / 5764 GPHY power down fix
[net-next-2.6.git] / drivers / net / tg3.h
index 632c2f084c52f76a3bb77595fd4e5d35c94e848f..4659697beb4b71a48928fede450a007bf3e701c3 100644 (file)
 #define  CHIPREV_ID_5714_A2             0x9002
 #define  CHIPREV_ID_5906_A1             0xc001
 #define  CHIPREV_ID_5784_A0             0x5784000
+#define  CHIPREV_ID_5761_A0             0x5761000
 #define  GET_ASIC_REV(CHIP_REV_ID)     ((CHIP_REV_ID) >> 12)
 #define   ASIC_REV_5700                         0x07
 #define   ASIC_REV_5701                         0x00
 #define SNDDATAC_MODE                  0x00001000
 #define  SNDDATAC_MODE_RESET            0x00000001
 #define  SNDDATAC_MODE_ENABLE           0x00000002
+#define  SNDDATAC_MODE_CDELAY           0x00000010
 /* 0x1004 --> 0x1400 unused */
 
 /* Send BD ring selector */
 #define TG3_CPMU_CTRL                  0x00003600
 #define  CPMU_CTRL_LINK_IDLE_MODE       0x00000200
 #define  CPMU_CTRL_LINK_AWARE_MODE      0x00000400
-/* 0x3604 --> 0x3800 unused */
+#define  CPMU_CTRL_LINK_SPEED_MODE      0x00004000
+/* 0x3604 --> 0x360c unused */
+
+#define TG3_CPMU_LSPD_1000MB_CLK       0x0000360c
+#define  CPMU_LSPD_1000MB_MACCLK_62_5   0x00000000
+#define  CPMU_LSPD_1000MB_MACCLK_12_5   0x00110000
+#define  CPMU_LSPD_1000MB_MACCLK_MASK   0x001f0000
+/* 0x3610 --> 0x365c unused */
+
+#define TG3_CPMU_MUTEX_REQ             0x0000365c
+#define  CPMU_MUTEX_REQ_DRIVER          0x00001000
+#define TG3_CPMU_MUTEX_GNT             0x00003660
+#define  CPMU_MUTEX_GNT_DRIVER          0x00001000
+/* 0x3664 --> 0x3800 unused */
 
 /* Mbuf cluster free registers */
 #define MBFREE_MODE                    0x00003800
 #define  VCPU_STATUS_DRV_RESET          0x08000000
 
 #define VCPU_CFGSHDW                   0x00005104
+#define  VCPU_CFGSHDW_WOL_ENABLE        0x00000001
+#define  VCPU_CFGSHDW_WOL_MAGPKT        0x00000004
 #define  VCPU_CFGSHDW_ASPM_DBNC                 0x00001000
 
 /* Mailboxes */
 #define TG3_EEPROM_MAGIC_HW            0xabcd
 #define TG3_EEPROM_MAGIC_HW_MSK                0xffff
 
+#define TG3_NVM_DIR_START              0x18
+#define TG3_NVM_DIR_END                        0x78
+#define TG3_NVM_DIRENT_SIZE            0xc
+#define TG3_NVM_DIRTYPE_SHIFT          24
+#define TG3_NVM_DIRTYPE_ASFINI         1
+
 /* 32K Window into NIC internal memory */
 #define NIC_SRAM_WIN_BASE              0x00008000
 
@@ -2394,6 +2417,7 @@ struct tg3 {
 #define PHY_ID_BCM5787                 0xbc050ce0
 #define PHY_ID_BCM5756                 0xbc050ed0
 #define PHY_ID_BCM5784                 0xbc050fa0
+#define PHY_ID_BCM5761                 0xbc050fd0
 #define PHY_ID_BCM5906                 0xdc00ac40
 #define PHY_ID_BCM8002                 0x60010140
 #define PHY_ID_INVALID                 0xffffffff
@@ -2404,10 +2428,11 @@ struct tg3 {
 #define PHY_REV_BCM5411_X0             0x1 /* Found on Netgear GA302T */
 
        u32                             led_ctrl;
-       u32                             pci_cmd;
+       u16                             pci_cmd;
 
        char                            board_part_number[24];
-       char                            fw_ver[16];
+#define TG3_VER_SIZE 32
+       char                            fw_ver[TG3_VER_SIZE];
        u32                             nic_sram_data_cfg;
        u32                             pci_clock_ctrl;
        struct pci_dev                  *pdev_peer;
@@ -2423,7 +2448,8 @@ struct tg3 {
         (X) == PHY_ID_BCM5752 || (X) == PHY_ID_BCM5714 || \
         (X) == PHY_ID_BCM5780 || (X) == PHY_ID_BCM5787 || \
         (X) == PHY_ID_BCM5755 || (X) == PHY_ID_BCM5756 || \
-        (X) == PHY_ID_BCM5906 || (X) == PHY_ID_BCM8002)
+        (X) == PHY_ID_BCM5906 || (X) == PHY_ID_BCM5761 || \
+        (X) == PHY_ID_BCM8002)
 
        struct tg3_hw_stats             *hw_stats;
        dma_addr_t                      stats_mapping;