ixgbe/base: set SFP probing retries
[dpdk.git] / lib / librte_pmd_e1000 / e1000 / e1000_hw.h
index 5c42b8c..4dd92a3 100644 (file)
@@ -1,6 +1,6 @@
 /*******************************************************************************
 
-Copyright (c) 2001-2012, Intel Corporation
+Copyright (c) 2001-2014, Intel Corporation
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
@@ -128,6 +128,10 @@ struct e1000_hw;
 #define E1000_DEV_ID_PCH_D_HV_DC               0x10F0
 #define E1000_DEV_ID_PCH2_LV_LM                        0x1502
 #define E1000_DEV_ID_PCH2_LV_V                 0x1503
+#define E1000_DEV_ID_PCH_LPT_I217_LM           0x153A
+#define E1000_DEV_ID_PCH_LPT_I217_V            0x153B
+#define E1000_DEV_ID_PCH_LPTLP_I218_LM         0x155A
+#define E1000_DEV_ID_PCH_LPTLP_I218_V          0x1559
 #define E1000_DEV_ID_82576                     0x10C9
 #define E1000_DEV_ID_82576_FIBER               0x10E6
 #define E1000_DEV_ID_82576_SERDES              0x10E7
@@ -160,7 +164,12 @@ struct e1000_hw;
 #define E1000_DEV_ID_I210_FIBER                        0x1536
 #define E1000_DEV_ID_I210_SERDES               0x1537
 #define E1000_DEV_ID_I210_SGMII                        0x1538
+#define E1000_DEV_ID_I210_COPPER_FLASHLESS     0x157B
+#define E1000_DEV_ID_I210_SERDES_FLASHLESS     0x157C
 #define E1000_DEV_ID_I211_COPPER               0x1539
+#define E1000_DEV_ID_I354_BACKPLANE_1GBPS      0x1F40
+#define E1000_DEV_ID_I354_SGMII                        0x1F41
+#define E1000_DEV_ID_I354_BACKPLANE_2_5GBPS    0x1F45
 #define E1000_DEV_ID_DH89XXCC_SGMII            0x0438
 #define E1000_DEV_ID_DH89XXCC_SERDES           0x043A
 #define E1000_DEV_ID_DH89XXCC_BACKPLANE                0x043C
@@ -207,10 +216,12 @@ enum e1000_mac_type {
        e1000_ich10lan,
        e1000_pchlan,
        e1000_pch2lan,
+       e1000_pch_lpt,
        e1000_82575,
        e1000_82576,
        e1000_82580,
        e1000_i350,
+       e1000_i354,
        e1000_i210,
        e1000_i211,
        e1000_vfadapt,
@@ -232,6 +243,7 @@ enum e1000_nvm_type {
        e1000_nvm_eeprom_spi,
        e1000_nvm_eeprom_microwire,
        e1000_nvm_flash_hw,
+       e1000_nvm_invm,
        e1000_nvm_flash_sw
 };
 
@@ -385,6 +397,10 @@ union e1000_rx_desc_extended {
 };
 
 #define MAX_PS_BUFFERS 4
+
+/* Number of packet split data buffers (not including the header buffer) */
+#define PS_PAGE_BUFFERS        (MAX_PS_BUFFERS - 1)
+
 /* Receive Descriptor - Packet Split */
 union e1000_rx_desc_packet_split {
        struct {
@@ -409,7 +425,8 @@ union e1000_rx_desc_packet_split {
                } middle;
                struct {
                        __le16 header_status;
-                       __le16 length[3];     /* length of buffers 1-3 */
+                       /* length of buffers 1-3 */
+                       __le16 length[PS_PAGE_BUFFERS];
                } upper;
                __le64 reserved;
        } wb; /* writeback */
@@ -681,11 +698,6 @@ struct e1000_mac_operations {
        void (*rar_set)(struct e1000_hw *, u8*, u32);
        s32  (*read_mac_addr)(struct e1000_hw *);
        s32  (*validate_mdi_setting)(struct e1000_hw *);
-       s32  (*mng_host_if_write)(struct e1000_hw *, u8*, u16, u16, u8*);
-       s32  (*mng_write_cmd_header)(struct e1000_hw *hw,
-                                    struct e1000_host_mng_command_header*);
-       s32  (*mng_enable_host_if)(struct e1000_hw *);
-       s32  (*wait_autoneg)(struct e1000_hw *);
        s32  (*acquire_swfw_sync)(struct e1000_hw *, u16);
        void (*release_swfw_sync)(struct e1000_hw *, u16);
 };
@@ -919,6 +931,15 @@ struct e1000_shadow_ram {
 
 #define E1000_SHADOW_RAM_WORDS         2048
 
+#if defined(NAHUM6LP_HW) && defined(ULP_SUPPORT)
+/* I218 PHY Ultra Low Power (ULP) states */
+enum e1000_ulp_state {
+       e1000_ulp_state_unknown,
+       e1000_ulp_state_off,
+       e1000_ulp_state_on,
+};
+
+#endif /* NAHUM6LP_HW && ULP_SUPPORT */
 struct e1000_dev_spec_ich8lan {
        bool kmrn_lock_loss_workaround_enabled;
        struct e1000_shadow_ram shadow_ram[E1000_SHADOW_RAM_WORDS];
@@ -927,6 +948,12 @@ struct e1000_dev_spec_ich8lan {
        bool nvm_k1_enabled;
        bool eee_disable;
        u16 eee_lp_ability;
+#if defined(NAHUM6LP_HW) && defined(ULP_SUPPORT)
+       enum e1000_ulp_state ulp_state;
+#endif /* NAHUM6LP_HW && ULP_SUPPORT */
+       u16 lat_enc;
+       u16 max_ltr_enc;
+       bool smbus_disable;
 };
 
 struct e1000_dev_spec_82575 {
@@ -934,8 +961,11 @@ struct e1000_dev_spec_82575 {
        bool global_device_reset;
        bool eee_disable;
        bool module_plugged;
+       bool clear_semaphore_once;
        u32 mtu;
        struct sfp_e1000_flags eth_flags;
+       u8 media_port;
+       bool media_changed;
 };
 
 struct e1000_dev_spec_vf {