Data Sheet
Ethernet Controller I210 —Power Management
172
Activating PCIe power management wake up requires the following:
• System software writes at configuration time a 1b to the PCI PMCSR.PME_En bit.
• Software device driver clears all pending wake-up status bits in the Wake Up Status (WUS) register.
• The software device driver programs the Wake Up Filter Control (WUFC) register to indicate the
packets that should initiate system wake up and programs the necessary data to the IPv4/v6
Address Table (IP4AT, IP6AT) and the Flexible Host Filter Table (FHFT). It can also set the
WUFC.LNKC bit to cause wake up on link status change.
• Once the I210 wakes the system, the software device driver needs to clear the WUS and WUFC
registers until the next time the system moves to a low power state with wake up enabled.
Normally, after enabling wake up, system software moves the device to D3 low power state by writing
a 11b to the PCI PMCSR.Power State field.
Once wake up is enabled, the I210 monitors incoming packets, first filtering them according to its
standard address filtering method, then filtering them with all of the enabled wake-up filters. If a
packet passes both the standard address filtering and at least one of the enabled wake-up filters, the
I210:
•Sets the PME_Status bit in the PMCSR.
• Asserts PE_WAKE_N (if the PME_En bit in the PMCSR configuration register is set).
• Stores the first 128 bytes of the packet in the Wakeup Packet Memory (WUPM) register.
• Sets one or more bits in the Wake Up Status (WUS) register. Note that the I210 sets more than one
bit if a packet matches more than one filter.
• Sets the packet length in the Wake Up Packet Length (WUPL) register.
Note: If enabled, a link state change wake-up causes similar results. Sets the PMCSR.PME_Status
bit, asserts the PE_WAKE_N signal and sets the relevant bit in the WUS register.
The PE_WAKE_N remains asserted until the operating system either writes a 1b to the
PMCSR.PME_Status bit or writes a 0b to the PMCSR.PME_En bit.
After receiving a wake-up packet, the I210 ignores any subsequent wake-up packets until the software
device driver clears all of the received bits in the Wake Up Status (WUS) register. It also ignores link
change events until the software device driver clears the Link Status Changed (LNKC) bit in the Wake
Up Status (WUS) register.
Note: A wake on link change is not supported when configured to SerDes or 1000BASE-KX mode.
5.6.3 Wake-Up and Proxying Filters
The I210 supports issuing wake-up to Host when device is in D3 or protocol offload (proxying) of
packets using two types of filters:
• Pre-defined filters
• Flexible filters
Each of these filters are enabled if the corresponding bit in the Wake Up Filter Control (WUFC) register
or Proxying Filter Control (PROXYFC) register is set to 1b.
Note: When VLAN filtering is enabled, packets that passed any of the receive wake-up filters should
only cause a wake-up event if they also passed the VLAN filtering.