aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel/igb/e1000_defines.h
diff options
context:
space:
mode:
authorCarolyn Wyborny <carolyn.wyborny@intel.com>2012-04-06 19:25:19 -0400
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2012-05-12 16:17:13 -0400
commitf96a8a0b78548c0ec06b0b4b438db6ee895d67e9 (patch)
treeb1e6cc64dd55fc46cfb8877aa94db6a7940c1327 /drivers/net/ethernet/intel/igb/e1000_defines.h
parentda02cde1c1ffb798df6159a2252653a9becea51a (diff)
igb: Add Support for new i210/i211 devices.
This patch adds new initialization functions and device support for i210 and i211 devices. Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com> Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/igb/e1000_defines.h')
-rw-r--r--drivers/net/ethernet/intel/igb/e1000_defines.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/igb/e1000_defines.h b/drivers/net/ethernet/intel/igb/e1000_defines.h
index 89eb1f85b9fa..6409f85632f5 100644
--- a/drivers/net/ethernet/intel/igb/e1000_defines.h
+++ b/drivers/net/ethernet/intel/igb/e1000_defines.h
@@ -458,6 +458,7 @@
458#define E1000_ERR_INVALID_ARGUMENT 16 458#define E1000_ERR_INVALID_ARGUMENT 16
459#define E1000_ERR_NO_SPACE 17 459#define E1000_ERR_NO_SPACE 17
460#define E1000_ERR_NVM_PBA_SECTION 18 460#define E1000_ERR_NVM_PBA_SECTION 18
461#define E1000_ERR_INVM_VALUE_NOT_FOUND 19
461 462
462/* Loop limit on how long we wait for auto-negotiation to complete */ 463/* Loop limit on how long we wait for auto-negotiation to complete */
463#define COPPER_LINK_UP_LIMIT 10 464#define COPPER_LINK_UP_LIMIT 10
@@ -595,6 +596,25 @@
595#define E1000_EECD_AUTO_RD 0x00000200 /* NVM Auto Read done */ 596#define E1000_EECD_AUTO_RD 0x00000200 /* NVM Auto Read done */
596#define E1000_EECD_SIZE_EX_MASK 0x00007800 /* NVM Size */ 597#define E1000_EECD_SIZE_EX_MASK 0x00007800 /* NVM Size */
597#define E1000_EECD_SIZE_EX_SHIFT 11 598#define E1000_EECD_SIZE_EX_SHIFT 11
599#define E1000_EECD_FLUPD_I210 0x00800000 /* Update FLASH */
600#define E1000_EECD_FLUDONE_I210 0x04000000 /* Update FLASH done*/
601#define E1000_FLUDONE_ATTEMPTS 20000
602#define E1000_EERD_EEWR_MAX_COUNT 512 /* buffered EEPROM words rw */
603#define E1000_I210_FIFO_SEL_RX 0x00
604#define E1000_I210_FIFO_SEL_TX_QAV(_i) (0x02 + (_i))
605#define E1000_I210_FIFO_SEL_TX_LEGACY E1000_I210_FIFO_SEL_TX_QAV(0)
606#define E1000_I210_FIFO_SEL_BMC2OS_TX 0x06
607#define E1000_I210_FIFO_SEL_BMC2OS_RX 0x01
608#define E1000_EECD_FLUPD_I210 0x00800000 /* Update FLASH */
609#define E1000_EECD_FLUDONE_I210 0x04000000 /* Update FLASH done*/
610#define E1000_FLUDONE_ATTEMPTS 20000
611#define E1000_EERD_EEWR_MAX_COUNT 512 /* buffered EEPROM words rw */
612#define E1000_I210_FIFO_SEL_RX 0x00
613#define E1000_I210_FIFO_SEL_TX_QAV(_i) (0x02 + (_i))
614#define E1000_I210_FIFO_SEL_TX_LEGACY E1000_I210_FIFO_SEL_TX_QAV(0)
615#define E1000_I210_FIFO_SEL_BMC2OS_TX 0x06
616#define E1000_I210_FIFO_SEL_BMC2OS_RX 0x01
617
598 618
599/* Offset to data in NVM read/write registers */ 619/* Offset to data in NVM read/write registers */
600#define E1000_NVM_RW_REG_DATA 16 620#define E1000_NVM_RW_REG_DATA 16
@@ -613,6 +633,16 @@
613#define NVM_CHECKSUM_REG 0x003F 633#define NVM_CHECKSUM_REG 0x003F
614#define NVM_COMPATIBILITY_REG_3 0x0003 634#define NVM_COMPATIBILITY_REG_3 0x0003
615#define NVM_COMPATIBILITY_BIT_MASK 0x8000 635#define NVM_COMPATIBILITY_BIT_MASK 0x8000
636#define NVM_MAC_ADDR 0x0000
637#define NVM_SUB_DEV_ID 0x000B
638#define NVM_SUB_VEN_ID 0x000C
639#define NVM_DEV_ID 0x000D
640#define NVM_VEN_ID 0x000E
641#define NVM_INIT_CTRL_2 0x000F
642#define NVM_INIT_CTRL_4 0x0013
643#define NVM_LED_1_CFG 0x001C
644#define NVM_LED_0_2_CFG 0x001F
645
616 646
617#define E1000_NVM_CFG_DONE_PORT_0 0x040000 /* MNG config cycle done */ 647#define E1000_NVM_CFG_DONE_PORT_0 0x040000 /* MNG config cycle done */
618#define E1000_NVM_CFG_DONE_PORT_1 0x080000 /* ...for second port */ 648#define E1000_NVM_CFG_DONE_PORT_1 0x080000 /* ...for second port */
@@ -639,6 +669,7 @@
639 669
640#define NVM_PBA_OFFSET_0 8 670#define NVM_PBA_OFFSET_0 8
641#define NVM_PBA_OFFSET_1 9 671#define NVM_PBA_OFFSET_1 9
672#define NVM_RESERVED_WORD 0xFFFF
642#define NVM_PBA_PTR_GUARD 0xFAFA 673#define NVM_PBA_PTR_GUARD 0xFAFA
643#define NVM_WORD_SIZE_BASE_SHIFT 6 674#define NVM_WORD_SIZE_BASE_SHIFT 6
644 675
@@ -696,6 +727,7 @@
696#define I82580_I_PHY_ID 0x015403A0 727#define I82580_I_PHY_ID 0x015403A0
697#define I350_I_PHY_ID 0x015403B0 728#define I350_I_PHY_ID 0x015403B0
698#define M88_VENDOR 0x0141 729#define M88_VENDOR 0x0141
730#define I210_I_PHY_ID 0x01410C00
699 731
700/* M88E1000 Specific Registers */ 732/* M88E1000 Specific Registers */
701#define M88E1000_PHY_SPEC_CTRL 0x10 /* PHY Specific Control Register */ 733#define M88E1000_PHY_SPEC_CTRL 0x10 /* PHY Specific Control Register */
@@ -815,6 +847,7 @@
815#define E1000_IPCNFG_EEE_100M_AN 0x00000004 /* EEE Enable 100M AN */ 847#define E1000_IPCNFG_EEE_100M_AN 0x00000004 /* EEE Enable 100M AN */
816#define E1000_EEER_TX_LPI_EN 0x00010000 /* EEE Tx LPI Enable */ 848#define E1000_EEER_TX_LPI_EN 0x00010000 /* EEE Tx LPI Enable */
817#define E1000_EEER_RX_LPI_EN 0x00020000 /* EEE Rx LPI Enable */ 849#define E1000_EEER_RX_LPI_EN 0x00020000 /* EEE Rx LPI Enable */
850#define E1000_EEER_FRC_AN 0x10000000 /* Enable EEE in loopback */
818#define E1000_EEER_LPI_FC 0x00040000 /* EEE Enable on FC */ 851#define E1000_EEER_LPI_FC 0x00040000 /* EEE Enable on FC */
819 852
820/* SerDes Control */ 853/* SerDes Control */