[17/70] net/e1000/base: add new wakeup/proxy registers for i225
Checks
Commit Message
I225 expands wakeup and proxy capabilities compared to previous
generations. The new capabilities are exposed via additional registers.
Signed-off-by: Dima Ruinskiy <dima.ruinskiy@intel.com>
Signed-off-by: Guinan Sun <guinanx.sun@intel.com>
---
drivers/net/e1000/base/e1000_defines.h | 18 +++++++++++++++++-
drivers/net/e1000/base/e1000_regs.h | 11 +++++++++++
2 files changed, 28 insertions(+), 1 deletion(-)
@@ -1515,8 +1515,23 @@
#define E1000_INVM_DEFAULT_AL 0x202F
#define E1000_INVM_AUTOLOAD 0x0A
#define E1000_INVM_PLL_WO_VAL 0x0010
-
#endif /* NO_I225_SUPPORT */
+/* Proxy Filter Control Extended */
+#define E1000_PROXYFCEX_MDNS 0x00000001 /* mDNS */
+#define E1000_PROXYFCEX_MDNS_M 0x00000002 /* mDNS Multicast */
+#define E1000_PROXYFCEX_MDNS_U 0x00000004 /* mDNS Unicast */
+#define E1000_PROXYFCEX_IPV4_M 0x00000008 /* IPv4 Multicast */
+#define E1000_PROXYFCEX_IPV6_M 0x00000010 /* IPv6 Multicast */
+#define E1000_PROXYFCEX_IGMP 0x00000020 /* IGMP */
+#define E1000_PROXYFCEX_IGMP_M 0x00000040 /* IGMP Multicast */
+#define E1000_PROXYFCEX_ARPRES 0x00000080 /* ARP Response */
+#define E1000_PROXYFCEX_ARPRES_D 0x00000100 /* ARP Response Directed */
+#define E1000_PROXYFCEX_ICMPV4 0x00000200 /* ICMPv4 */
+#define E1000_PROXYFCEX_ICMPV4_D 0x00000400 /* ICMPv4 Directed */
+#define E1000_PROXYFCEX_ICMPV6 0x00000800 /* ICMPv6 */
+#define E1000_PROXYFCEX_ICMPV6_D 0x00001000 /* ICMPv6 Directed */
+#define E1000_PROXYFCEX_DNS 0x00002000 /* DNS */
+
/* Proxy Filter Control */
#define E1000_PROXYFC_D0 0x00000001 /* Enable offload in D0 */
#define E1000_PROXYFC_EX 0x00000004 /* Directed exact proxy */
@@ -1526,6 +1541,7 @@
#define E1000_PROXYFC_IPV4 0x00000040 /* Directed IPv4 Enable */
#define E1000_PROXYFC_IPV6 0x00000080 /* Directed IPv6 Enable */
#define E1000_PROXYFC_NS 0x00000200 /* IPv6 Neighbor Solicitation */
+#define E1000_PROXYFC_NS_DIRECTED 0x00000400 /* Directed NS Proxy Ena */
#define E1000_PROXYFC_ARP 0x00000800 /* ARP Request Proxy Ena */
/* Proxy Status */
#define E1000_PROXYS_CLEAR 0xFFFFFFFF /* Clear */
@@ -476,6 +476,17 @@
#define E1000_IP6AT 0x05880 /* IPv6 Address Table - RW Array */
#define E1000_WUPL 0x05900 /* Wakeup Packet Length - RW */
#define E1000_WUPM 0x05A00 /* Wakeup Packet Memory - RO A */
+#define E1000_WUPM_EXT 0x0B800 /* Wakeup Packet Memory Extended - RO Array */
+#define E1000_WUFC_EXT 0x0580C /* Wakeup Filter Control Extended - RW */
+#define E1000_WUS_EXT 0x05814 /* Wakeup Status Extended - RW1C */
+#define E1000_FHFTSL 0x05804 /* Flex Filter Indirect Table Select - RW */
+#define E1000_PROXYFCEX 0x05590 /* Proxy Filter Control Extended - RW1C */
+#define E1000_PROXYEXS 0x05594 /* Proxy Extended Status - RO */
+#define E1000_WFUTPF 0x05500 /* Wake Flex UDP TCP Port Filter - RW Array */
+#define E1000_RFUTPF 0x05580 /* Range Flex UDP TCP Port Filter - RW */
+#define E1000_RWPFC 0x05584 /* Range Wake Port Filter Control - RW */
+#define E1000_WFUTPS 0x05588 /* Wake Filter UDP TCP Status - RW1C */
+#define E1000_WCS 0x0558C /* Wake Control Status - RW1C */
#define E1000_PBACL 0x05B68 /* MSIx PBA Clear - Read/Write 1's to clear */
#define E1000_FFLT 0x05F00 /* Flexible Filter Length Table - RW Array */
#define E1000_HOST_IF 0x08800 /* Host Interface */