Two Port 10/100 Managed Ethernet Switch with 16-Bit Non-PCI CPU Interface
Datasheet
SMSC LAN9311/LAN9311i 117 Revision 1.4 (08-19-08)
DATASHEET
9.4.4 Inverse Filtering
In inverse filtering, the Host MAC packet filter accepts incoming frames (from switch Port 0) with a
destination address not matching the perfect address (i.e., the value programmed into the Host MAC
Address High Register (HMAC_ADDRH) and the Host MAC Address Low Register (HMAC_ADDRL))
and rejects frames with destination addresses matching the perfect address.
For all filtering modes, when the MCPAS bit of the Host MAC Control Register (HMAC_CR) is set, all
multicast frames are accepted. When the PRMS bit is set, all frames are accepted regardless of their
destination address. This includes all broadcast frames as well.
9.5 Wake-up Frame Detection
Setting the Wake-Up Frame Enable bit (WUEN) in the Host MAC Wake-up Control and Status Register
(HMAC_WUCSR), places the Host MAC in the wake-up frame detection mode. In this mode, normal
data reception is disabled, and detection logic within the Host MAC examines received data for the
pre-programmed wake-up frame patterns. The Host MAC can be programmed to notify the host of the
wake-up frame detection with the assertion of the host interrupt (IRQ) or power management event
(PME) signal. Upon detection, the Wake-Up Frame Received bit (WUFR) in the HMAC_WUCSR
register is set. When the host clears the WUEN bit, the Host MAC will resume normal receive
operation.
Before putting the Host MAC into the wake-up frame detection state, the host must provide the
detection logic with a list of sample frames and their corresponding byte masks. This information must
be written into the Host MAC Wake-up Frame Filter Register (HMAC_WUFF). The wake-up frame filter
is configured through this register using an index mechanism. After power-on reset, hardware reset,
or soft reset, the Host MAC loads the first value written to the HMAC_WUFF register to the first
DWORD in the wake-up frame filter (filter 0 byte mask). The second value written to this register is
loaded to the second DWORD in the wake-up frame filter (filter 1 byte mask) and so on for all eight
DWORDs. The wake-up frame filter functionally is described below.
The Host MAC supports four programmable wake-up filters that support many different receive packet
patterns. If remote wake-up mode is enabled, the remote wake-up function receives all frames
addressed to the Host MAC. It then checks each frame against the enabled filter and recognizes the
frame as a remote wake-up frame if it passes the wakeup frame filter register’s address filtering and
CRC value match.
In order to determine which bytes of the frames should be checked by the CRC module, the Host MAC
uses a programmable byte mask and a programmable pattern offset for each of the four supported
filters.
The pattern’s offset defines the location of the first byte that should be checked in the frame. Since
the destination address is checked by the address filtering function, the pattern offset is always greater
than 12.
The byte mask is a 31-bit field that specifies whether or not each of the 31 contiguous bytes within
the frame, beginning in the pattern offset, should be checked. If bit j in the byte mask is set, the
detection logic checks byte offset +j in the frame. In order to load the wake-up frame filter, the host
must perform eight writes to the Host MAC Wake-up Frame Filter Register (HMAC_WUFF). Table 9.2
shows the wake-up frame filter register’s structure.
Note: The switch fabric must be configured to pass wake-up packets to the Host MAC for this function
to operate properly.
Note: When wake-up frame detection is enabled via the WUEN bit of the Host MAC Wake-up Control
and Status Register (HMAC_WUCSR), a broadcast wake-up frame will wake-up the device
despite the state of the Disable Broadcast Frames (BCAST) bit in the Host MAC Control
Register (HMAC_CR).