aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000e/hw.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/e1000e/hw.h')
-rw-r--r--drivers/net/e1000e/hw.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/drivers/net/e1000e/hw.h b/drivers/net/e1000e/hw.h
index 6cdb703be951..163c1c0cfee7 100644
--- a/drivers/net/e1000e/hw.h
+++ b/drivers/net/e1000e/hw.h
@@ -193,7 +193,11 @@ enum e1e_registers {
193 E1000_RXCSUM = 0x05000, /* Rx Checksum Control - RW */ 193 E1000_RXCSUM = 0x05000, /* Rx Checksum Control - RW */
194 E1000_RFCTL = 0x05008, /* Receive Filter Control */ 194 E1000_RFCTL = 0x05008, /* Receive Filter Control */
195 E1000_MTA = 0x05200, /* Multicast Table Array - RW Array */ 195 E1000_MTA = 0x05200, /* Multicast Table Array - RW Array */
196 E1000_RA = 0x05400, /* Receive Address - RW Array */ 196 E1000_RAL_BASE = 0x05400, /* Receive Address Low - RW */
197#define E1000_RAL(_n) (E1000_RAL_BASE + ((_n) * 8))
198#define E1000_RA (E1000_RAL(0))
199 E1000_RAH_BASE = 0x05404, /* Receive Address High - RW */
200#define E1000_RAH(_n) (E1000_RAH_BASE + ((_n) * 8))
197 E1000_VFTA = 0x05600, /* VLAN Filter Table Array - RW Array */ 201 E1000_VFTA = 0x05600, /* VLAN Filter Table Array - RW Array */
198 E1000_WUC = 0x05800, /* Wakeup Control - RW */ 202 E1000_WUC = 0x05800, /* Wakeup Control - RW */
199 E1000_WUFC = 0x05808, /* Wakeup Filter Control - RW */ 203 E1000_WUFC = 0x05808, /* Wakeup Filter Control - RW */
@@ -210,6 +214,7 @@ enum e1e_registers {
210 E1000_FACTPS = 0x05B30, /* Function Active and Power State to MNG */ 214 E1000_FACTPS = 0x05B30, /* Function Active and Power State to MNG */
211 E1000_SWSM = 0x05B50, /* SW Semaphore */ 215 E1000_SWSM = 0x05B50, /* SW Semaphore */
212 E1000_FWSM = 0x05B54, /* FW Semaphore */ 216 E1000_FWSM = 0x05B54, /* FW Semaphore */
217 E1000_SWSM2 = 0x05B58, /* Driver-only SW semaphore */
213 E1000_HICR = 0x08F00, /* Host Interface Control */ 218 E1000_HICR = 0x08F00, /* Host Interface Control */
214}; 219};
215 220
@@ -368,6 +373,10 @@ enum e1e_registers {
368#define E1000_DEV_ID_ICH10_R_BM_V 0x10CE 373#define E1000_DEV_ID_ICH10_R_BM_V 0x10CE
369#define E1000_DEV_ID_ICH10_D_BM_LM 0x10DE 374#define E1000_DEV_ID_ICH10_D_BM_LM 0x10DE
370#define E1000_DEV_ID_ICH10_D_BM_LF 0x10DF 375#define E1000_DEV_ID_ICH10_D_BM_LF 0x10DF
376#define E1000_DEV_ID_PCH_M_HV_LM 0x10EA
377#define E1000_DEV_ID_PCH_M_HV_LC 0x10EB
378#define E1000_DEV_ID_PCH_D_HV_DM 0x10EF
379#define E1000_DEV_ID_PCH_D_HV_DC 0x10F0
371 380
372#define E1000_REVISION_4 4 381#define E1000_REVISION_4 4
373 382
@@ -383,6 +392,7 @@ enum e1000_mac_type {
383 e1000_ich8lan, 392 e1000_ich8lan,
384 e1000_ich9lan, 393 e1000_ich9lan,
385 e1000_ich10lan, 394 e1000_ich10lan,
395 e1000_pchlan,
386}; 396};
387 397
388enum e1000_media_type { 398enum e1000_media_type {
@@ -417,6 +427,8 @@ enum e1000_phy_type {
417 e1000_phy_igp_3, 427 e1000_phy_igp_3,
418 e1000_phy_ife, 428 e1000_phy_ife,
419 e1000_phy_bm, 429 e1000_phy_bm,
430 e1000_phy_82578,
431 e1000_phy_82577,
420}; 432};
421 433
422enum e1000_bus_width { 434enum e1000_bus_width {
@@ -720,6 +732,7 @@ struct e1000_host_mng_command_info {
720 732
721/* Function pointers and static data for the MAC. */ 733/* Function pointers and static data for the MAC. */
722struct e1000_mac_operations { 734struct e1000_mac_operations {
735 s32 (*id_led_init)(struct e1000_hw *);
723 bool (*check_mng_mode)(struct e1000_hw *); 736 bool (*check_mng_mode)(struct e1000_hw *);
724 s32 (*check_for_link)(struct e1000_hw *); 737 s32 (*check_for_link)(struct e1000_hw *);
725 s32 (*cleanup_led)(struct e1000_hw *); 738 s32 (*cleanup_led)(struct e1000_hw *);
@@ -733,11 +746,13 @@ struct e1000_mac_operations {
733 s32 (*init_hw)(struct e1000_hw *); 746 s32 (*init_hw)(struct e1000_hw *);
734 s32 (*setup_link)(struct e1000_hw *); 747 s32 (*setup_link)(struct e1000_hw *);
735 s32 (*setup_physical_interface)(struct e1000_hw *); 748 s32 (*setup_physical_interface)(struct e1000_hw *);
749 s32 (*setup_led)(struct e1000_hw *);
736}; 750};
737 751
738/* Function pointers for the PHY. */ 752/* Function pointers for the PHY. */
739struct e1000_phy_operations { 753struct e1000_phy_operations {
740 s32 (*acquire_phy)(struct e1000_hw *); 754 s32 (*acquire_phy)(struct e1000_hw *);
755 s32 (*check_polarity)(struct e1000_hw *);
741 s32 (*check_reset_block)(struct e1000_hw *); 756 s32 (*check_reset_block)(struct e1000_hw *);
742 s32 (*commit_phy)(struct e1000_hw *); 757 s32 (*commit_phy)(struct e1000_hw *);
743 s32 (*force_speed_duplex)(struct e1000_hw *); 758 s32 (*force_speed_duplex)(struct e1000_hw *);
@@ -869,6 +884,7 @@ struct e1000_fc_info {
869struct e1000_dev_spec_82571 { 884struct e1000_dev_spec_82571 {
870 bool laa_is_present; 885 bool laa_is_present;
871 bool alt_mac_addr_is_present; 886 bool alt_mac_addr_is_present;
887 u32 smb_counter;
872}; 888};
873 889
874struct e1000_shadow_ram { 890struct e1000_shadow_ram {