Data Sheet

Ethernet Controller I210 — Programming Interface
406
8.5 Flow Control Register Descriptions
8.5.1 Flow Control Address Low - FCAL (0x0028; RO)
Flow control packets are defined by 802.3X to be either a unique multicast address or the station
address with the EtherType field indicating PAUSE. The FCA registers provide the value hardware uses
to compare incoming packets against, to determine that it should PAUSE its output.
The FCAL register contains the lower bits of the internal 48-bit Flow Control Ethernet address. All 32
bits are valid. Software can access the High and Low registers as a register pair if it can perform a 64-
bit access to the PCIe bus. The complete flow control multicast address is: 0x01_80_C2_00_00_01;
where 0x01 is the first byte on the wire, 0x80 is the second, etc.
Note: Any packet matching the contents of {FCAH, FCAL, FCT} when CTRL.RFCE is set is acted on
by the I210. Whether flow control packets are passed to the host (software) depends on the
state of the RCTL.DPF bit.
8.5.2 Flow Control Address High - FCAH (0x002C; RO)
This register contains the upper bits of the 48-bit Flow Control Ethernet address. Only the lower 16 bits
of this register have meaning. The complete Flow Control address is {FCAH, FCAL}.
The complete flow control multicast address is: 0x01_80_C2_00_00_01; where 0x01 is the first byte
on the wire, 0x80 is the second, etc.
8.5.3 Flow Control Type - FCT (0x0030; R/W)
This register contains the Type field that hardware matches to recognize a flow control packet. Only the
lower 16 bits of this register have meaning. This register should be programmed with 0x88_08. The
upper byte is first on the wire FCT[15:8].
Field Bit(s) Initial Value Description
FCAL 31:0 0x00C28001 Flow Control Address Low.
Field Bit(s) Initial Value Description
FCAH 15:0 0x0100
Flow Control Address High.
Should be programmed with 0x01_00.
Reserved 31:16 0x0
Reserved.
Write 0x0, ignore on read.
Field Bit(s) Initial Value Description
FCT 15:0 0x8808 Flow Control Type.
Reserved 31:16 0x0
Reserved.
Write 0x0, ignore on read.