Ethernet Media Access Controller (EMAC)/ Management Data Input/Output (MDIO) Module User's Guide

www.ti.com
2.10.3 Receive Address Matching
2.10.4 Hardware Receive QOS Support
2.10.5 Host Free Buffer Tracking
Architecture
The receive address block can store up to 32 addresses to be filtered or matched. Before enabling packet
reception, all the address RAM locations should be initialized, including locations to be unused. The
system software is responsible for adding and removing addresses from the RAM.
A MAC address location in RAM is 53 bits wide and consists of:
48 bits of the MAC address.
3 bits for the channel to which a valid address match will be transferred. The channel is a don’t care if
MATCHFILT bit is cleared
A valid bit
A match or filter bit
First, write the index into the address RAM in the MACINDEX register to start writing a MAC address.
Then write the upper 32 bits of the MAC address (MACADDRHI register), and then the lower 16 bits of
MAC address with the VALID and MATCHFILT control bits (MACADDRLO). The valid bit should be
cleared for the unused locations in the receive address RAM.
The most common uses for the receive address sub-module are:
Set EMAC in promiscuous mode, using RXCAFEN and RXPROMCH bits in the RXMBPENABLE
register. Then filter up to 32 individual addresses, which can be both unicast and/or multicast.
Disable the promiscuous mode (RXCAFEN = 0) and match up to 32 individual addresses, multicast
and/or unicast
Hardware receive quality of service (QOS) is supported, when enabled, by the Tag Protocol Identifier
format and the associated Tag Control Information (TCI) format priority field. When the incoming frame
length/type value is equal to 81.00h, the EMAC recognizes the frame as an Ethernet Encoded Tag
Protocol Type. The two octets immediately following the protocol type contain the 16-bit TCI field. Bits
15-13 of the TCI field contain the received frames priority (0 to 7). The received frame is a low-priority
frame, if the priority value is 0 to 3; the received frame is a high-priority frame, if the priority value is 4 to 7.
All frames that have a length/type field value not equal to 81.00h are low-priority frames. Received frames
that contain priority information are determined by the EMAC as:
A 48-bit (6 bytes) destination address equal to:
The destination station's individual unicast address.
The destination station's multicast address (MACHASH1 and MACHASH2).
The broadcast address of all ones.
A 48-byte (6 bytes) source address.
The 16-bit (2 bytes) length/type field containing the value 81.00h.
The 16-bit (2 bytes) TCI field with the priority field in the upper 3 bits.
Data bytes
The 4 bytes CRC.
The receive filter low priority frame threshold register (RXFILTERLOWTHRESH) and the receive channel
n free buffer count registers (RX nFREEBUFFER) are used in conjunction with the priority information to
implement receive hardware QOS. Low-priority frames are filtered if the number of free buffers
(RX nFREEBUFFER) for the frame channel is less than or equal to the filter low threshold
(RXFILTERLOWTHRESH) value. Hardware QOS is enabled by the RXQOSEN bit in the receive
multicast/broadcast/promiscuous channel enable register (RXMBPENABLE).
The host must track free buffers for each enabled channel (including unicast, multicast, broadcast, and
promiscuous), if receive QOS or receive flow control is used. Disabled channel free buffer values are do
not cares. During initialization, the host should write the number of free buffers for each enabled channel
46 Ethernet Media Access Controller (EMAC)/Management Data Input/Output (MDIO) SPRUEQ6 December 2007
Submit Documentation Feedback