INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED,
BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED
IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL
DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR
WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT,
COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. Intel products are not intended for use in medical, life saving, life
sustaining, critical control or safety systems, or in nuclear facility applications.
Intel may make changes to specifications and product descriptions at any time, without notice.
Intel Corporation may have patents or pending patent applications, trademarks, copyrights, or other intellectual property rights that
relate to the presented subject matter. The furnishing of documents and other materials and information does not provide any
license, express or implied, by estoppel or otherwise, to any such patents, trademarks, copyrights, or other intellectual property
rights.
Designers must not rely on the absence or characteristics of any features or instructions marked “reserved” or “undefined.” Intel
reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future
changes to them.
Intel processor numbers are not a measure of performance. Processor numbers differentiate features within each processor family,
not across different processor families. See http://www.intel.com/products/processor_number for details.
Hyper-Threading Technology requires a computer system with an Intel
HT Technology enabled chipset, BIOS and operating system. Performance will vary depending on the specific hardware and software
you use. See http://www.intel.com/products/ht/Hyperthreading_more.htm for additional information.
Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.
Copies of documents which have an order number and are referenced in this document, or other Intel literature may be obtained by
calling 1-800-548-4725 or by visiting Intel's website at http://www.intel.com.
Intel and Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other
This document describes the external architecture (including device operation, register definitions, etc.)
for the 82575, a Gigabit Ethernet (GbE) network interface controller.
For introduction to the 82575EB and for an overview, see the Intel® 82575EB GbE Controller
Datasheet.
1.1Register and Bit References
This document refers to device register names with all capital letters. To refer to a specific bit in a
register the convention REGISTER.BIT is used. For example CTRL.FD refers to the Full Duplex Mode bit
in the Device Control Register (CTRL).
1.2Byte and Bit Designations
This document uses “B” to abbreviate quantities of bytes. For example, a 4 KB represents 4096 bytes.
Similarly, “b” is used to represent quantities of bits. For example, 100 Mb/s represents 100 Megabits
per second.
• IEEE standard 802.3, 2002 Edition (Ethernet). Incorporates various IEEE Standards previously
published separately. Institute of Electrical and Electronic Engineers (IEEE).
• IEEE standard 1149.1, 2001 Edition (JTAG). Institute of Electrical and Electronics Engineers (IEEE)
• PCI Express* Base Specification, Rev.1.1RD, November 2004
®
324632-003Intel
Revision: 2.1Software Developer’s Manual and EEPROM Guide
January 201119
• PCI Express* Card Electromechanical Specification, Rev 1.1RD, November 2004
• PICMG3.1 Ethernet/Fiber Channel Over PICMG 3.0 Draft Specification, September 4, 2002, Version
0.90.
• Advanced Configuration and Power Interface Specification, Rev 2.0b, October 2002
• PCI Bus Power Management Interface Specification, Rev. 1.2, March 2004
• PCI Local Bus Specification Revision 2.3 MSI-X ECN
1.4Memory Alignment Terminology
Some 82575 data structures have special memory alignment requirements. This implies that the
starting physical address of a data structure must be aligned as specified in this manual. The following
terms are used for this purpose:
• BYTE alignment: Implies that the physical addresses can be odd or even. Examples: 0FECBD9A1h,
02345ADC6h.
• WORD alignment: Implies that physical addresses must be aligned on even boundaries. For
example, the last nibble of the address can only end in 0, 2, 4, 6, 8, Ah, Ch, or Eh (0FECBD9A2h).
• DWORD (Double-Word) alignment: Implies that the physical addresses can only be aligned on 4byte boundaries. For example, the last nibble of the address can only end in 0, 4, 8, or Ch
(0FECBD9A8h).
• QWORD (Quad-Word) alignment: Implies that the physical addresses can only be aligned on 8byte boundaries. For example, the last nibble of the address can only end in 0 or 8 (0FECBD9A8h).
• PARAGRAPH alignment: Implies that the physical addresses can only be aligned on 16-byte
boundaries. For example, the last nibble must be a 0 (02345ADC0h).
This section provides an overview of the 82575. The following sections give detailed information about
the 82575’s functionality, register description, and initialization sequence. All major interfaces of the
82575 is described in detail.
The following principles shaped the design of the 82575:
1. Provide an Ethernet interface containing a 10/100/1000Mb/s PHY that also supports1000 Base-X
implementations.
2. Provide the highest performance solution possible, based on the following:
— Provide direct access to all memory without using mapping registers
— Minimize the PIO accesses required to manage the 82575
— Minimize the interrupts required to manage the 82575
— Off-load the host processor from simple tasks such as TCP checksum calculations
— Maximize PCIe* efficiency and performance
3. Provide a simple software interface for basic operations.
4. Provide a highly configurable design that can be used effectively in different environments.
2.1External Architecture
Figure 1 shows the external interfaces to the 82575.
®
324632-003Intel
Revision: 2.1Software Developer’s Manual and EEPROM Guide
January 201121
The 82575 contains integrated 10/100/1000 Mb/s-capable Copper PHY's. Each of these PHY's
communicate with its MAC controllers using a standard 10/100/1000Base-T interface internal to the
component to transfer transmit and receive data. A standard MDIO interface, accessible to software via
MAC control registers, is also used to configure and monitor each PHY operation.
2.1.2System Interface
The 82575 provides 4 lanes of PCIe* bus interface working at 2.5 GHz each, this should provide
sufficient bandwidth to support sustained dual port of 1000 Mb/s transfer rates. 48 KB of on-chip
buffering mitigates instantaneous receive bandwidth demands and eliminates transmit under-runs by
buffering the entire outgoing packet prior to transmission.
2.1.3EEPROM Interface
The 82575 provides a four-wire direct interface to a serial EEPROM device such as the 93C46 or
compatible for storing product configuration information. Several words of the data stored in the
EEPROM are automatically accessed by the 82575, after reset, to provide pre-boot configuration data to
the 82575 before it is accessible by the host software. The remainder of the stored information is
accessed by various software modules to report product configuration, serial number and other
parameters.
The 82575 provides an external serial interface to a FLASH device. Accesses to the FLASH are
controlled by the 82575 and are accessible to software as normal PCIe* reads or writes to the FLASH
memory mapping area. The 82575 supports FLASH devices with up to 512 KB of memory
2.1.5Management Interfaces
The 82575 contains two possible interfaces to an external BMC.
• SMBus
•NC-SI
Since the manageability sideband throughput is lower than the network link throughput, the 82575
allocates an 8 KB internal buffer for incoming network packets prior to being send over the sideband
interface. Refer to the 82575 System Management Bus Interface Application Note for detailed
information about the management interface.
2.1.5.1Software Watchdog
In some situations it might be useful to give an indication to the manageability firmware or to external
devices that the 82575 hardware or the driver is not functional. In order to provide this functionality, a
watchdog mechanism is used. This mechanism can be enabled by default, according to the EEPROM
configuration. Once the host driver is up and it determines hardware is functional, it might reset the
watchdog timer to indicate the device is functional. The software device driver then should re-arm the
timer periodically. If the timer is not re-armed after a pre-programmed timeout, an interrupt is given to
firmware and a pre-programmed SDP is raised. The SDP indication is shared between the ports.
The register controlling this feature is WDSETUP. This register enables setting the timeout period and
the activation of this mode. Both get their default from the EEPROM.
The re-arming of the timer is done by setting the WDSWSTS.Dev_functional.
If software needs to trigger the watchdog immediately because it suspects hardware is stuck, it can set
the WDSWSTS.Force_WD bit. It can also give firmware an indication if the watchdog reason using the
WDSWSTS.stuck_reason field.
The SDP that provides the watchdog indication is set using the CTRL.SDP0_WDE. In this mode the
CTRL.SDP0_IODIR should be set to output. The CTRL.SDP0_DATA bit indicates the polarity of the
indication. Setting this bit in one of the cores causes the watchdog indications of both cores to be
indicated on this SDP.
The 82575 has four software-defined pins (SDP pins) per port that can be used for miscellaneous
hardware or software-controllable purposes. These pins and their function are bound to a specific LAN
device (for example, eight SDP pins might not be associated with a single LAN device). These pins can
each be individually configurable to act as either input or output pins. The default direction of each of
®
324632-003Intel
Revision: 2.1Software Developer’s Manual and EEPROM Guide
January 201123
82575EB Gigabit Ethernet Controller
Intel® 82575EB Gigabit Ethernet Controller — LEDs
the four pins is configurable via EEPROM as well as the default value of any pins configured as outputs.
To avoid signal contention, all four pins are set as input pins until after the EEPROM configuration is
loaded.
The use, direction, and values of SDP pins are controlled and accessed using fields in the Device Control
register (CTRL) and Extended Device Control register (CTRL_EXT).
2.1.7LEDs
The 82575 provides four LEDs per port that can be used to indicate different traffic status. The default
setup of the LEDs is done via the EEPROM words 1Ch and 1Fh. The default setup for both ports is the
same. This setup is reflected in the LEDCTL register of each port. Each software device driver can
change its setup individually. For each of the LEDs the following parameters can be defined:
• Mode: Defines which information is reflected by this LED. The encoding is described in the LEDCTL
register.
• Polarity: Defines the polarity of the LED.
• Blink mode: should the LED blink or be stable.
In addition, the blink rate of all LEDs can be defined. The possible rates are 200 ms or 83 ms for each
phase. There is one rate for all LEDs.
2.1.8Network Interfaces
The 82575 MAC provides a complete CSMA/CD function that supports IEEE 802.3
(10 Mb/s), 802.3u (100 Mb/s), 802.3z and 802.3ab (1000 Mb/s) implementations. The 82575 performs
all of the functions required for transmission, reception, and collision handling called out in the
standards.
Each 82575 MAC can be configured to be used as a different media interface. While the most likely
application is expected to be based on use of the internal copper PHY, the 82575 supports the following
potential configurations:
• Internal copper PHY
• External SerDes device such as an optical SerDes (SFP or onboard) or backplane connections.
• External SGMII device. This mode is used for SFP connections or external SGMII PHYs.
Selection between the various configurations is programmable via each MAC's Extended Device Control
register (CTRL_EXT.LINK_MODE bits) and defaulted via EEPROM settings.
2.2DMA Addressing
In appropriate systems, all addresses mastered by the 82575 are 64 bits in order to support systems
that have larger than 32-bit physical addressing. Providing 64-bit addresses eliminates the need for
special segment registers.
Note:Descriptor accesses are not byte swapped.
The following example illustrates data-byte ordering. Bytes for a receive packet arrive in the order
shown from left to right.
There are no alignment restrictions on packet-buffer addresses. The byte address for the major words
is shown on the left. The byte numbers and bit numbers for the PCIe* bus are shown across the top.
Table 1.Little Endian Data Ordering
Byte
Address
00807060504030201
8100f 0e0d0c0b0a09
101817161514131211
18201f1e1d1c1b1a19
630
76543210
2.3Ethernet Addressing
Several registers store Ethernet addresses in the 82575. Two 32-bit registers make up the address: one
is called “high”, and the other is called “low”. For example, the Receive Address Register is comprised of
Receive Address High (RAH) and Receive Address Low (RAL). The least significant bit of the least
significant byte of the address stored in the register (for example, bit 0 of RAL) is the multicast bit. The
LS byte is the first byte to appear on the wire. This notation applies to all address registers, including
the flow control registers.
Figure 2 shows the bit/byte addressing order comparison between what is on the wire and the values in
the unique receive address registers.
Preamble & SFDDestination AddressSource Address
...55D500112233...XXX00AA
Bit 0 of this byte is first on the wire
dest_addr[0]
223300AA0011
Destination address stored
internally as shown here
...
33
001122
00AA
Multicast bit
Figure 2.Example of Address Byte Ordering
The address byte order numbering shown in Figure 2 maps to Table 2. Byte #1 is first on the wire.
®
324632-003Intel
Revision: 2.1Software Developer’s Manual and EEPROM Guide
January 201125
82575EB Gigabit Ethernet Controller
Intel® 82575EB Gigabit Ethernet Controller — Interrupt Control and Tuning
Table 2.Intel® Architecture Byte Ordering
IA Byte #1 (LSB)23456 (MSB)
Byte Value (Hex)00AA00112233
Note:The notation in this manual follows the convention shown in Table 2. For example, the
address in Table 2 indicates 00_AA_00_11_22_33h, where the first byte (00h_) is the first
byte on the wire, with bit 0 of that byte transmitted first.
2.4Interrupt Control and Tuning
The 82575 provides a complete set of interrupts that allow for efficient software management. The
interrupt structure is designed to accomplish the following:
• Make accesses “thread-safe” by using ‘set’ and ‘clear-on-read’ rather than ‘read-modify-write’
operations.
• Correlate between related bits in different registers (for example, ICR)
• Minimize the number of interrupts needed relative to work accomplished.
• Minimize the processing overhead associated with each interrupt.
The interrupt logic consists of the interrupt registers that are described in sections 14.3.34 through
14.3.37.
Two actions minimize the number of interrupts:
1. Reducing the frequency of all interrupts
2. Accepting multiple receive packets before signaling an interrupt.
One interrupt register consolidates all interrupt information eliminating the need for multiple accesses.
Note:The 82575 supports Message Signaled Interrupts per the PCI 2.2, 2.3, and PCIe*
specifications. See Section 4.7.5.1 for details.
2.5Hardware Acceleration Capability
The 82575 provides the ability to offload IP, TCP, and UDP checksum for transmit. The functionality
provided by these features can significantly reduce processor utilization by shifting the burden of the
functions from the driver to the hardware. Features include:
• Jumbo frame support
• Receive and transmit checksum offloading
• TCP segmentation
• Receive fragmented UDP checksum offload
• These features are briefly outlined in the following sections.
Jumbo Frame Support — Intel® 82575EB Gigabit Ethernet Controller
2.5.1Jumbo Frame Support
The 82575 supports jumbo frames to increase performance and decrease CPU utilization. By default,
the 82575 might receive packets with a maximum size of 1522 bytes. If large frame reception is
enabled by the RCTL register, the 82575 supports jumbo packet reception of up to 9018 bytes
(including CRC and headers). On the transmit size, jumbo packets are always supported by the 82575.
It is the responsibility of the software device driver to initiate jumbo packets only when it is configured
to do so.
2.5.2Receive and Transmit Checksum Offloading
The 82575 provides the ability to offload the IP, TCP, and UDP checksum requirements from the
software device driver. For common frame types, the hardware automatically calculates, inserts, and
checks the appropriate checksum values normally handled by software.
For transmits where the 82575 is doing non-TCP segmentation, every transmitted Ethernet packet can
have two checksums calculated and inserted by the 82575. Typically these would be the IPv4 and either
TCP or UDP checksums. The software device driver specifies which portions of the packet are included
in the checksum calculations, and where the calculated values are inserted, via descriptor(s).
For receives, the hardware recognizes the packet type and performs the checksum calculations as well
as error checking automatically. Checksum and error information is provided to software via the receive
descriptor(s). Refer to Section 5.5.1 for details.
2.5.3TCP Segmentation
The 82575 implements a TCP segmentation capability for transmits that enables the software device
driver to offload packet segmentation and encapsulation to the hardware. The software device driver
can send the 82575 the entire IP (IPv6 or IPv6), TCP or UDP message sent down by the Network
Operating System (NOS) for transmission. The 82575 segments the packet into legal Ethernet frames
and transmit them on the wire. By handling the segmentation tasks, the hardware alleviates the
software from handling some of the framing responsibilities. This reduces the overhead on the CPU for
the transmission process thus reducing overall CPU utilization.
2.5.4Receive Fragmented UDP Checksum Offloading
The 82575 provides the ability to offload inbound fragmented UDP packet reassembly. The 82575
provides the partial checksum calculation for each incoming UDP fragment so that the software device
driver is required to sum the partial checksum words for each fragment to produce the complete
checksum. The fragmented UDP checksum offload is provided to IPv4 packets.
2.6Buffer and Descriptor Structure
Software allocates the transmit and receive buffers, and also forms the descriptors that contain
pointers to, and the status of, those buffers. A conceptual ownership boundary exists between the
driver software and the hardware of the buffers and descriptors.
®
324632-003Intel
Revision: 2.1Software Developer’s Manual and EEPROM Guide
January 201127
The software gives the hardware ownership of a queue of buffers for receives. These receive buffers
store data that the software then owns once a valid packet arrives.
For transmits, the software maintains a queue of buffers. The driver software owns a buffer until it is
ready to transmit. The software then commits the buffer to the hardware; the hardware then owns the
buffer until the data is loaded or transmitted in the transmit FIFO.
Descriptors store the following information about the buffers:
• The physical address
• The length
• Status and command information about the referenced buffer
Descriptors contain an end-of-packet field that indicates the last buffer for a packet. Descriptors also
contain packet-specific information indicating the type of packet, and specific operations to perform in
the context of transmitting a packet, such as those for VLAN or checksum offload.
2.7Multiple Transmit Queues
The 82575 supports four transmit descriptor rings (this matches the expected number of processors on
most server platforms).
The priority between the queues can be set and specified in the memory space. Multiple transmit
queues are intended for the following usage models.
Note:If there are more processors than queues, then one queue can be used to service more
than one processor.
2.8iSCSI Boot
This feature consists of adding an iSCSI class code to potentially replace the LAN class code of the
ports. When the system is booting, the BIOS detects this class code and runs SCSI software.
The 82575 reads two control bits out of EEPROM. Each bit affects its respective LAN class code value. If
the bit is 0b (this is the current value of the unused bits) the LAN class code remains as it is (value =
020000 = LAN). If the bit is set to 1b, the LAN class code becomes a SCSI class code (value = 010000
= SCSI). Having this functionality enables programmers to change one port (or two in specific
applications) to a SCSI device type and loads an iSCSI miniport driver for that port. This port also
functions as iSCSI HBA. Default values for these fields in the EEPROM for both ports remain as a
network class type.
In this case, the MAC address and the IP address of the port are used by the iSCSI function.
General Initialization and Reset Operation — Intel® 82575EB Gigabit Ethernet Controller
3.0General Initialization and Reset
Operation
This section lists all necessary initializations and describes the reset commands for the 82575.
3.1Power Up State
When the 82575 powers up, it reads the EEPROM. The EEPROM contains sufficient information to bring
the link up and configure the 82575 for manageability and/or APM wakeup. However, software
initialization is required for normal operation.
3.2Initialization Sequence
The following sequence of commands is typically issued to the 82575 by the software device driver in
order to initialize the 82575 to normal operation. The major initialization steps are:
• Disable Interrupts - see Interrupts during initialization.
• Issue Global Reset and perform General Configuration - see Global Reset and General
Configuration.
• Setup the PHY and the link - see Link Setup Mechanisms and Control/Status Bit Summary.
• Initialize all statistical counters - see Initialization of Statistics.
• Initialize Receive - see Receive Initialization.
• Initialize Transmit - see Transmit Initialization.
• Enable Interrupts - see Interrupts During Initialization.
3.3Interrupts During Initialization
Most drivers disable interrupts during initialization to prevent re-entrancy. Interrupts are disabled by
writing to the IMC and EIMC registers. Note that the interrupts also need to be disabled after issuing a
global reset, so a typical driver initialization flow might be:
• Disable interrupts
• Issue a Global Reset
• Disable interrupts (again)
•…
®
324632-003Intel
Revision: 2.1Software Developer’s Manual and EEPROM Guide
January 201129
82575EB Gigabit Ethernet Controller
Intel® 82575EB Gigabit Ethernet Controller — Global Reset and General Configuration
After the initialization completes, a typical driver enables the desired interrupts by writing to the IMS
and EIMS registers.
3.4Global Reset and General Configuration
The 82575 initialization typically starts with a global reset that puts it into a known state and enables
the software device driver to continue the initialization sequence.
Several values in the Device Control Register (CTRL) need to be set upon power up or after an 82575
reset for normal operation.
• FD should be set per interface negotiation (if done in software), or is set by the hardware if the
interface is Auto-Negotiating. This is reflected in the Device Status Register in the Auto-Negotiating
case.
• Speed is determined via Auto-Negotiation or forced by software if the link is forced. Status
information for speed is also readable in STATUS.
• In SerDes mode, CTRL.ILOS should be set to according to the polarity of the Sig_DET signal.
Set the packet buffer allocation for transmit receive flows in the PBA register. This should be done
before RCTL.RXEN & TCTL.TXEN are set. An ordered disabling of all queues and of the Rx and Tx flows
is required before any change in the packet buffer allocation is done.
If flow control is enabled, program the FCRTL, FCRTH, FCTTV and FCRTV registers.
3.5Receive Initialization
Program the Receive address register(s) per the station address. This can come from the EEPROM or
from any other means (for example, on some systems, this comes from the system PROM not the
EEPROM on the adapter card)
Set up the MTA (Multicast Table Array) per software by zeroing all entries initially and adding in entries
as requested.
Program RCTL with appropriate values. If initializing it at this stage, it is best to leave the receive logic
disabled (EN = 0b) until after the receive descriptor ring has been initialized. If VLANs are not used,
software should clear VFE. Then there is no need to initialize the VFTA. Select the receive descriptor
type.
The following should be done once per receive queue:
• Allocate a region of memory for the receive descriptor list.
• Receive buffers of appropriate size should be allocated and pointers to these buffers should be
stored in the descriptor ring.
• Program the descriptor base address with the address of the region.
• Set the length register to the size of the descriptor ring.
• Program PSRCTL of the queue according to the size of the buffers and the required header handling
• If header split or header replication is required for this queue, program the PSRTYPE register
according to the required headers.
Initialize the Receive Control Register — Intel® 82575EB Gigabit Ethernet Controller
• Enable the queue by setting RXDCTL.ENABLE. In the case of queue zero, the enable bit is set by
default, as such, the ring parameters should be set before RCTL.RXEN is set.
• Program the direction of packets to this queue according to the mode select in MRQC. Packets
directed to a disabled queue are dropped.
3.5.1Initialize the Receive Control Register
To properly receive packets, the receiver should be enabled by setting RCTL.RXEN. This should be done
only after all other setup is accomplished. If software uses the Receive Descriptor Minimum Threshold
Interrupt, that value should be set.
Note:The Receive Descriptor Tail register of the queue (RDT[n]) should not be bumped until the
queue is enabled. This register must also be written after the queue is enabled and the
receiver is enabled.
3.5.2Dynamic Queue Enabling and Disabling
Receive queues can be dynamically enabled or disabled provided the following procedure is followed:
Enabling:
• Follow the per queue initialization previously described.
• If there are still packets in the packet buffer directed to this queue according to previous settings,
they are received after the queue is re-enabled. The software device driver might check if old
packets are still in the internal packet buffer by reading the RDFPCQ# register of the queue.
Disabling:
• Disable the direction of packets to this queue.
• Disable the queue by clearing RXDCTL.ENABLE. The 82575 immediately stops to fetch and write
back descriptors from this queue. The 82575 eventually completes the storage of one buffer
allocated to this queue. Any further packet directed to this queue is dropped. If the currently
processed packet is spread over more than one buffer, all subsequent buffers are not written.
• The 82575 clears RXDCTL.ENABLE only after all pending memory accesses to the descriptor ring or
to the buffers are done. The software device drive should poll this bit before releasing the memory
allocated to this queue.
The Rx path can be disabled only after all Rx queues are disabled.
3.6Transmit Initialization
Program the TCTL register according to the required MAC behavior.
If work in half duplex mode is expected, program the TCTL_EXT.COLD field. For internal PHY mode, the
default value is 41h. For SGMII mode, a value reflecting the 82575 and the PHY SGMII delays should be
used. A suggested value for a typical PHY is 46h for 10 Mb/s and 4Ch for 100 Mb/s.
The following should be done once per transmit queue:
• Allocate a region of memory for the transmit descriptor list.
• Program the descriptor base address with the address of the region.
®
324632-003Intel
Revision: 2.1Software Developer’s Manual and EEPROM Guide
January 201131
• Set the length register to the size of the descriptor ring.
• Program the TXDCTL register with the desired TX descriptor write back policy. Suggested values
are:
— WTHRESH = 1b
— All other fields 0b.
• Set the queue priority using TXDCTL.Priority
• Enable the queue using TXDCTL.ENABLE (queue zero is enabled by default).
Enable the transmit path by setting TCTL. This should be done only after all other settings are done.
3.6.1Dynamic Queue Enabling and Disabling
Transmit queues can be dynamically enabled or disabled provided the following procedure is followed:
Enabling: Follow the per queue initialization previously described.
Disabling:
• Stop storing packet for transmission in this queue.
• Wait until the head of the queue (TDH) is equal to the tail (TDT). For example, the queue is empty.
• Disable the queue by clearing TXDCTL.ENABLE.
The Tx path can be disabled only after all Tx queues are disabled.
3.7Link Setup Mechanisms and Control/Status
Bit Summary
Note:The CTRL_EXT.LINK_MODE value should be set to the desired mode prior to the setting of
the other fields in the link setup procedures.
3.7.1PHY Initialization
Refer to the PHY documentation for the initialization and link setup steps. The software device driver
uses the MDIC register to initialize the PHY and setup the link.
3.7.2MAC/PHY Link Setup (CTRL_EXT.LINK_MODE =
00b)
This section summarizes the various means of establishing proper MAC/PHY link setups, differences in
MAC CTRL register settings for each mechanism, and the relevant MAC status bits. The methods are
ordered in terms of preference (the first mechanism being the most preferred).
• MAC settings automatically based on duplex and speed resolved by PHY
(CTRL.FRCDPLX = 0b, CTRL.FRCSPD = 0b)
CTRL.FD - Don't care; duplex setting is established from PHY's internal indication to the MAC (FDX)
after PHY has auto-negotiated a successful link-up
CTRL.SLU - Must be set to 1b by software to enable communications between MAC and PHY
CTRL.RFCE - Must be set by software after reading flow control resolution from PHY registers
CTRL.TFCE - Must be set by software after reading flow control resolution from PHY registers
CTRL.SPEED - Don't care; speed setting is established from PHY's internal indication to the MAC
(SPD_IND) after PHY has auto-negotiated a successful link-up
STATUS.FD - Reflects the actual duplex setting (FDX) negotiated by the PHY and indicated to MAC
STATUS.LU - Reflects link indication (LINK) from PHY qualified with CTRL.SLU (set to 1b)
STATUS.SPEED - Reflects actual speed setting negotiated by the PHY and indicated to the MAC
(SPD_IND)
• MAC duplex and speed settings forced by software based on resolution of PHY
(CTRL.FRCDPLX = 1b, CTRL.FRCSPD = 1b)
CTRL.FD - Set by software based on reading PHY status register after PHY has auto-negotiated a
successful link-up
CTRL.SLU - Must be set to 1b by software to enable communications between MAC and PHY
CTRL.RFCE - Must be set by software after reading flow control resolution from PHY registers
CTRL.TFCE - Must be set by software after reading flow control resolution from PHY registers
CTRL.SPEED - Set by software based on reading PHY status register after PHY has auto-negotiated a
successful link-up.
STATUS.FD - Reflects the MAC forced duplex setting written to CTRL.FD
STATUS.LU - Reflects link indication (LINK) from PHY qualified with CTRL.SLU (set to 1b)
STATUS.SPEED - Reflects MAC forced speed setting written in CTRL.SPEED
• MAC/PHY duplex and speed settings both forced by software (fully-forced link setup)
(CTRL.FRCDPLX = 1b, CTRL.FRCSPD = 1b, CTRL.SLU = 1b)
CTRL.FD - Set by software to desired full/half duplex operation (must match duplex setting of PHY)
CTRL.SLU - Must be set to 1b by software to enable communications between MAC and PHY. PHY must
also be forced/configured to indicate positive link indication (LINK) to the MAC
CTRL.RFCE - Must be set by software to desired flow-control operation (must match flow-control
settings of PHY)
CTRL.TFCE - Must be set by software to desired flow-control operation (must match flow-control
settings of PHY)
CTRL.SPEED - Set by software to desired link speed (must match speed setting of PHY)
®
324632-003Intel
Revision: 2.1Software Developer’s Manual and EEPROM Guide
January 201133
PCS_LCTL.FDV - Should be set by software to the duplex value established via software priority
resolution
PCS_LCTL.FLV - Should be set by software to 1b when software Auto-Negotiation completes
• Forced-Link (Auto-Negotiation Skipped) (PCS_LCTL. AN_ENABLE = 0b, and no software autonegotiation performed)
CTRL.FD - Duplex is set by software for the desired duplex mode of operation
CTRL.SLU - Must be set to 1b by software to enable communications to the SerDes
CTRL.RFCE - Set by software for the desired mode of operation
CTRL.TFCE - Set by software for the desired mode of operation
CTRL.SPEED - Set by software to desired link speed (must match speed setting of external SGMII PHY)
STATUS.FD - Reflects the value written by software to CTRL.FD
STATUS.LU - Reflects whether loss-of-signal (LOS) from SerDes is indicated, qualified with CTRL.SLU
(set to 1b)
STATUS.SPEED - Reflects MAC forced speed setting, written in CTRL.SPEED
PCS_LCTL.FORCE_LINK - Must be set to 1b by software to enable communications to the SerDes
PCS_LCTL.FSD - Must be set to 1b by software to enable communications to the SerDes
PCS_LCTL.FSV - Set by software to desired link speed (must match speed setting of external SGMII
PHY and CTRL.SPEED)
PCS_LCTL.FDV - Duplex is set by software for the desired duplex mode of operation (must match
duplex setting of external SGMII PHY and CTRL.FD)
PCS_LCTL.FLV - Must be set by software to 1b to enable communications to the SerDes
3.8Reset Operation
The 82575’s reset sources are as follows:
PE_RST_N:
Asserting PE_RST_N indicates that both the power and the PCIe* clock sources are stable. This pin
asserts an internal reset also after a D3cold exit. Most units are reset on the rising edge of PE_RST_N.
The only exception is the GIO unit, which is kept in reset while PE_RST_N is deasserted (level).
Inband PCIe* Reset:
The 82575 generates an internal reset in response to a Physical layer message from the PCIe* or when
the PCIe* link goes down (entry to Polling or Detect state). This reset is equivalent to PCI reset in
previous (PCI) gigabit LAN controllers.
®
324632-003Intel
Revision: 2.1Software Developer’s Manual and EEPROM Guide
January 201137
This is also known as ACPI Reset. The 82575 generates an internal reset on the transition from D3hot
power state to D0 (caused after configuration writes from D3 to D0 power state). Note that this reset is
per function and resets only the function that transitioned from D3hot to D0.
Software Reset:
Software can reset the 82575 by writing the Device Reset bit of the Device Control register (CTRL.RST).
The 82575 re-reads the per-function EEPROM fields after a software reset. Bits that are normally read
from the EEPROM are reset to their default hardware values. Note that this reset is per function and
resets only the function that received the software reset. PCI Configuration space (configuration and
mapping) of the 82575 is unaffected. Prior to issuing a software reset the software device driver needs
to operate the master disable algorithm.
Force TCO:
This reset is generated when manageability logic is enabled. It is only be generated if the Reset on
Force TCO bit of the EEPROM's Management Control word is 1b. In pass through mode it is generated
when receiving a ForceTCO SMB command with bit 1 or bit 7 set. EEPROM Reset:
Writing a 1b to the EEPROM Reset bit of the Extended Device Control Register (CTRL_EXT.EE_RST)
causes the 82575 to re-read the per-function configuration from the EEPROM, setting the appropriate
bits in the registers loaded by the EEPROM.
PHY Reset:
Software can write a 1b to the PHY Reset bit of the Device Control Register (CTRL.PHY_RST) to reset
the internal PHY. The firmware must configure the PHY following a PHY Reset.
The procedure for resetting the PHY by software is as follows:
1. Take PHY ownership using the software semaphore (SWSM.SWESMBI - 05B50h, bit 1 and
SY_FW_SYNC.SW_PHY_SM0/1 - 05B5Ch, bit 1/2).
2. Drive PHY reset.
3. Wait 10 ms
4. Release PHY reset in the CTRL register.
5. Release PHY and EEPROM ownership using the software semaphore (SWSM.SWESMBI - 05B50h, bit
1 and SY_FW_SYNC. SW_PHY_SM0/1, SY_FW_SYNC. SW_EEP_SM - 05B5Ch, bit 1/2/0).
6. Wait for the CFG_DONE (EEMNGCTL.CFG_DONE - 1010h, bit 18).
7. Start configuring the PHY.
Note:Refer to Section 14.0 for a description of software/firmware semaphore usage.
The resets affect the registers and logic listed in Table 3.
PHY Behavior During a Manageability Session: — Intel® 82575EB Gigabit Ethernet Controller
b. IP Address Valid.
c.IPv4 Address Table
d. IPv6 Address Table
e. Flexible Filter Length Table
f.Flexible Filter Mask Table
13. The Other Configuration Registers includes:
— General Registers
— Interrupt Registers
— Receive Registers
— Transmit Registers
— Statistics Registers
— Diagnostic Registers
Of these registers, MTA[n], VFTA[n], WUPM[n], FFMT[n], FFVT[n], TDBAH/TDBAL, and RDBAH/RDVAL
registers have no default value. If the functions associated with the registers are enabled they must be
programmed by software. Once programmed, their value is preserved through all resets as long as
power is applied to the 82575.
Note:In situations where the 82575 is reset using the software reset CTRL.RST, the TX data lines
are forced to all zeros. This causes a substantial number of symbol errors to be detected by
the link partner.
3.8.1PHY Behavior During a Manageability Session:
During some manageability sessions (for example a IDER or SOL session as initiated by an external
BMC), the platform is reset so that it boots from a remote media. This reset must not cause the
Ethernet link to drop since the manageability session will be lost. Also, the Ethernet link should be kept
on continuously during the session for the same reasons. The 82575 limits the cases in which the
internal PHY would restart the link, by masking two types of events from the internal PHY:
• PE_RST_N and PCIe* resets (in-band and link drop) do not reset the PHY during such a
manageability session
• The PHY does not change link speed as a result of a change in power management state to avoid
link loss. For example, the transition to D3hot state is not propagated to the PHY.
— Note that if main power is removed, the PHY is allowed to react to the change in power state
(the PHY might respond in link speed change). The motivation for this exception is to reduce
power when operating on auxiliary power by reducing link speed.
The capability described in this section is disabled by default on Internal_Power_On_Reset. The
Keep_PHY_Link_Up_En bit in the EEPROM must be set to 1b to enable it. Once enabled, the feature is
enabled until the next Internal_Power_On_Reset (the 82575 does not revert to the hardware default
value on PE_RST_N, PCIe* reset, or any other reset but Internal_Power_On_Reset).
When the Keep_PHY_Link_Up bit (veto bit) in the MANC register is set, the following behaviors are
disabled:
• The PHY is not reset on PE_RST_N and PCIe* resets (in-band and link drop). Other reset events are
not affected: Internal_Power_On_Reset, Device Disable, Force TCO, and PHY reset by software.
• The PHY does not change its power state. As a result link speed does not change.
• The 82575 does not initiate configuration of the PHY to avoid losing link.
®
324632-003Intel
Revision: 2.1Software Developer’s Manual and EEPROM Guide
January 201141
82575EB Gigabit Ethernet Controller
Intel® 82575EB Gigabit Ethernet Controller — Initialization of Statistics
The Keep_PHY_Link_Up bit is set by the BMC through a command on the sideband interface. It is
cleared by the external BMC (again, through a command on the sideband interface) when the
manageability session ends. Once the Keep_PHY_Link_Up bit is cleared, the PHY updates its Dx state
and acts accordingly (negotiates its speed).
The Keep_PHY_Link_Up bit is also cleared on de-assertion of the MAIN_PWR_OK input pin.
MAIN_PWR_OK must be de-asserted at least 1 ms before power drops below its 90% value. This allows
enough time to respond before auxiliary power takes over.
The Keep_PHY_Link_Up bit is a R/W bit and can be accessed by host software, but software is not
expected to clear the bit. The bit is cleared in the following cases:
• On Internal_Power_On_Reset
• When the BMC resets or initializes it
• On de-assertion of the MAIN_PWR_OK input pin. The BMC should set the bit again if it wishes to
maintain speed on exit from Dr state.
3.9Initialization of Statistics
Statistics registers are hardware-initialized to values as detailed in each particular register’s
description. The initialization of these registers begins upon transition to D0active power state (when
internal registers become accessible, as enabled by setting the Memory Access Enable of the PCIe*
Command register) and is guaranteed to complete within 1 μs of this transition. Access to statistics
registers prior to this interval might return indeterminate values.
All of the statistical counters are cleared on read and a typical software device driver reads them
(making them zero) as a part of the initialization sequence.
EEPROM and Flash Interface — Intel® 82575EB Gigabit Ethernet Controller
4.0EEPROM and Flash Interface
This section describes the EEPROM and Flash interfaces supported by 82575.
4.1EEPROM Device
The 82575 uses an EEPROM device to store product configuration information. The EEPROM is divided
into three general regions:
• Hardware Accessed — Loaded by the 82575 after power-up, PCI reset de-assertion, a D3 to D0
transition, or a software commanded EEPROM read (CTRL_EXT.EE_RST).
• Manageability Firmware Accessed
— In Pass-Through (PT) mode, loaded by the 82575 in PT mode after power up or a firmware
reset. Refer to the Intel® 82575 GbE Controller System Manageability Interface Application
Note for more information.
• Software Accessed — Used by software only. These registers are listed in this document for
convenience and are only for software and are ignored by the 82575.
The EEPROM interface supports Serial Peripheral Interface (SPI) mode 0 and expects the EEPROM to be
capable of 2 MHz operation.
The 82575 is compatible with many sizes of 4-wire serial EEPROM devices.If PT mode functionality
(SMBus or NC-SI) is desired, a 32 KB (256 Kb) serial SPI-compatible EEPROM is recommended. If no
manageability mode is desired, a 16 KB (128 Kb) serial SPI-compatible EEPROM can be used. All
EEPROMs are accessed in 16-bit words although the EEPROM is designed to also accept 8-bit data
accesses.
The 82575 automatically determines the address size to be used with the SPI EEPROM it is connected
to and sets the EEPROM Size field of the EEPROM/Flash Control (EEC) and Data Register
(EEC.EE_ADDR_SIZE; bit 10). Software uses this size to determine the EEPROM access method. The
exact size of the EEPROM is stored within one of the EEPROM words.
Note:The different EEPROM sizes have two different numbers of address bits (8 bits or 16 bits).
As a result, they must be accessed with a slightly different serial protocol. Software must be
aware of this if it accesses the EEPROM using direct access.
4.1.1Software Accesses
The 82575 provides two different methods for software access to the EEPROM. It can either use the
built-in controller to read the EEPROM or access the EEPROM directly using the EEPROM’s 4-wire
interface.
®
324632-003Intel
Revision: 2.1Software Developer’s Manual and EEPROM Guide
January 201143
82575EB Gigabit Ethernet Controller
Intel® 82575EB Gigabit Ethernet Controller — Signature and CRC Fields
Software can use the EEPROM Read register (EERD) to cause the 82575 to read a word from the
EEPROM that the software can then use. To do this, software writes the address to read into the Read Address field (EERD.ADDR; bits 15:2) and simultaneously writes a 1b to the Start Read bit
(EERD.START; bit 0). The 82575 then reads the word from the EEPROM, sets the Read Done bit
(EERD.DONE; bit 1), and puts the data in the Read Data field (EERD.DATA; bits 31:16). Software can
poll the EEPROM Read register until it sees the Read Done bit set, then use the data from the Read Data
field. Any words read this way are not written to the 82575’s internal registers.
Software can also directly access the EEPROM’s 4-wire interface through the EEPROM/Flash Control
register (EEC). It can use this for reads, writes, or other EEPROM operations.
To directly access the EEPROM, software should follow these steps:
1. Write a 1b to the EEPROM Request bit (EEC.EE_REQ; bit 6).
2. Read the EEPROM Grant bit (EEC.EE_GNT; bit 7) until it becomes 1b. It remains 0b as long as the
hardware is accessing the EEPROM.
3. Write or read the EEPROM using the direct access to the 4-wire interface as defined in the EEPROM/
Flash Control & Data register (EEC). The exact protocol used depends on the EEPROM placed on the
board and can be found in the appropriate datasheet.
4. Write a 0b to the EEPROM Request bit (EEC.EE_REQ; bit 6).
Finally, software can cause the 82575 to re-read part of the hardware accessed fields of the EEPROM
(setting the 82575’s internal registers appropriately) by writing a 1b to the EEPROM Reset bit of the Extended Device Control Register (CTRL_EXT.EE_RST; bit 13).
Note:If the EEPROM does not contain a valid signature, the 82575 assumes 16-bit addressing. In
order to access an EEPROM requiring 8-bit addressing, software must use the direct access
mode.
4.1.2Signature and CRC Fields
The only way the 82575 can discover whether an EEPROM is present is by trying to read the EEPROM.
The 82575 first reads the EEPROM Sizing & Protected field Word at address 12h. The 82575 checks the
signature value for bits 15 and 14. If bit 15 is 0b and bit 14 is 1b, it considers the EEPROM to be
present and valid and reads additional EEPROM words and programs its internal registers based on the
values read. Otherwise, it ignores the values it read from that location and does not read any other
words.
4.1.3EEPROM Recovery
The EEPROM contains fields that if programmed incorrectly might affect the functionality of 82575. The
impact can range from incorrectly setting a function like LED programming, disabling an entire feature
like no manageability or link disconnection, to the inability to access the 82575 via the regular PCIe*
interface.
The 825785 implements a mechanism that enables a recovery from a faulty EEPROM no matter what
the impact is by using an SMBus message that instructs the firmware to invalidate the EEPROM.
Protected EEPROM Space — Intel® 82575EB Gigabit Ethernet Controller
This mechanism uses an SMBus message that the firmware is able to receive in all modes, no matter
what the content of the EEPROM is (even in diagnostic mode). After receiving this kind of message, the
firmware clears the signature of the EEPROM in word 12h bit 15/14 to 00b. Afterwards, the BIOS/
operating system initiates a reset to force an EEPROM auto-load process that fails and enables access
to the 82575.
Firmware is programmed to receive such a command only from a PCIe* reset until one of the functions
changes it status from D0u to D0a. Once one of the functions switches to D0a, it can be safely assumed
that the 82575 is accessible to the host and there is no more need for this function. This reduces the
possibility of malicious software to use this command as a back door and limits the time the firmware
must be active in non-manageability mode.
If the firmware is programmed not to do any other function apart from answering to this command, it
can request clock gating immediately after one of the functions changes it status from D0u to D0a. If
the system goes back down to D0u from D0a, it is undefined whether firmware supports the EEPROM
recovery command.
The Command is sent on a fixed SMBus address of C8h. The format of the command is SMBus Write
Data Byte as follows:
FunctionCommandData Byte
Release EEPROMC7hAAh
Note:This solution requires a controllable SMBus connection to the 82575.
If more than one 82575 is in a state to accept this solution, then all the 82575s on the
board ACKs this command and accepts it. An 82575 supporting this mode should not ACK
this command if it is not in D0u state.
The 82575 is guaranteed to accept the command on the SMBus interface and on address
C8h; however, it might be accepted on other configured interfaces and addresses as well.
After receiving a release EEPROM command, firmware should keep its current state. It is the
responsibility of the programmer updating the EEPROM to send a firmware reset, if required, after the
full EEPROM update process completes.
4.1.4Protected EEPROM Space
The 82575 provides to the host a mechanism for a hidden area in the EEPROM. The hidden area cannot
be accessed via the EEPROM registers in the CSR space. It can be accessed only by the Manageability
(MNG) subsystem. For more information on the MNG subsystem, refer to the 82575 TCO/System Manageability Interface Application Note.
A mechanism to protect part of the EEPROM from host writes is also provided. This mechanism is
controlled by words 2Dh and 2Ch. These words control the start and the end of the read only area.
4.1.5Initial EEPROM Programming
In most applications, initial EEPROM programming is done directly on the EEPROM pins. Nevertheless, it
is desirable to enable existing software utilities (accessing the EEPROM via the host interface) to initially
program the whole EEPROM without breaking the protection mechanism. Following a power-up
®
324632-003Intel
Revision: 2.1Software Developer’s Manual and EEPROM Guide
January 201145
82575EB Gigabit Ethernet Controller
Intel® 82575EB Gigabit Ethernet Controller — Activating the Protection Mechanism
sequence, the 82575 reads the hardware initialization words in the EEPROM. If the signature in word
12h does not equal 01b the EEPROM is assumed as non-programmed. There are two effects for nonvalid signature:
• The 82575 stops reading EEPROM data and sets the relevant registers to default values.
• The 82575 enables access to any location in the EEPROM via the EEPROM CSR registers.
4.1.6Activating the Protection Mechanism
Following an 82575 initialization, it reads the EEPROM. It then turns on the protection mechanism if
word 12h [15:14] contains a valid signature (equals 01b) and bit 4 in word 12h is set (enable
protection). Once the protection mechanism is turned on, words 12h, 2Ch, and 2Dh become writeprotected and the area that is defined by word 12h becomes hidden (for example, read/write
protected) and the area defined by word 2Ch and 2Dh becomes write protected.
Note:No matter what the read only protected area is, words 30h:3Fh (used by the PXE driver)
are writeable unless defined as hidden.
4.1.7Non Permitted Accesses to Protected Areas in
the EEPROM
This section refers to EEPROM accesses via the EEC (bit banging) or EERD (parallel read access)
registers. Following a write access to the write protected areas in the EEPROM, the hardware responds
properly on the PCIe* bus, but does not initiate any access to the EEPROM. Following a read access to
the hidden area in the EEPROM (as defined by word 12h), the hardware does not access the EEPROM
and returns meaningless data to the host.
Note:Using bit banging, the SPI EEPROM can be accessed in a burst mode. For example,
providing an opcode address and then reading or writing data for multiple bytes. The
hardware inhibits an attempt to access the protected EEPROM locations even in burst
accesses.
Software should not access the EEPROM in a Burst Write mode starting in a non protected area and
continue to a protected one. In such a case, it is not guaranteed that the write access to any area ever
takes place.
4.1.8EEPROM-Less Support
The 82575 loads information from the EEPROM non-volatile memory storage into the device registers
during the power-up sequence. If an EEPROM is not present, either by design or by fault, some of the
device registers might not be tuned for normal operation. It is required that the following script be run
immediately after an 82575 reset and before normal operation if an EEPROM is not detected.
Note:These actions are presented without comment because most of the settings involved are
not customer tunable. They must be performed in order, and the loader function is included
as follows. The example code is designed to be extensible to include other hardware
families.
/* Poll the ready bit to see if the MDI read completed */
for (i = 0; i < E1000_GEN_POLL_TIMEOUT; i++) {
usec_delay(5);
regvalue = E1000_READ_REG(reg);
if (regvalue & E1000_GEN_CTL_READY)
break;
}
if (!(regvalue & E1000_GEN_CTL_READY)) {
DEBUGOUT1("Reg %08x did not indicate ready\n", reg);
ret_val = -E1000_ERR_PHY;
}
return ret_val;
}
4.2Flash Interface Operation
The 82575 provides two different methods for software access to the Flash.
Using legacy Flash transactions, the Flash is read from, or written to, each time the host processor
performs a read or a write operation to a memory location that is within the FLASH address mapping or
at boot via accesses in the space indicated by the Expansion ROM Base Address register. All accesses to
the Flash require the appropriate command sequence for the 82575 used. Refer to the specific Flash
data sheet for more details on reading from or writing to Flash.
Accesses to the Flash are based on a direct decode of processor accesses to a memory window defined
in either:
1. The 82575’s Flash Base Address register (PCIe* Control register at offset 14h or 18h).
2. A certain address range of the IOADDR register defined by the IO Base Address register (PCIe*
Control register at offset 18h or 20h).
3. The Expansion ROM Base Address register (PCIe* Control register at offset 30h).
The 82575 controls accesses to the Flash when it decodes a valid access.
Note:Flash read accesses must always be assembled by the 82575 each time the access is
greater than a byte-wide access.
The 82575 byte reads or writes to the Flash take on the order of 2 s. The 82575 continues
to issue retry accesses during this time.
The 82575 supports only byte writes to the Flash.
Another way for software to access the Flash is directly using the Flash's 4-wire interface through the
Flash Access register (FLA). It can use this for reads, writes, or other Flash operations (accessing the
Flash status register, erase, etc.).
®
324632-003Intel
Revision: 2.1Software Developer’s Manual and EEPROM Guide
January 201149
82575EB Gigabit Ethernet Controller
Intel® 82575EB Gigabit Ethernet Controller — Flash Write Control
To directly access the Flash, software needs to:
1. Write a 1b to the Flash Request bit (FLA.FL_REQ)
2. Read the Flash Grant bit (FLA.FL_GNT) until it = 1b. It remains 0b as long as there are other
accesses to the Flash.
3. Write or read the Flash using the direct access to the 4-wire interface as defined in the Flash Access
register (FLA). The exact protocol used depends on the Flash placed on the board and can be found
in the appropriate datasheet.
4. Write a 0b to the Flash Request bit (FLA.FL_REQ).
4.2.1Flash Write Control
The Flash is write controlled by the FWE bits in the EEPROM/FLASH Control and Data register
(EEC.FWE). Note that attempts to write to the Flash device when writes are disabled (FWE = 10b)
should not be attempted. Behavior after such an operation is undefined and can result in component
and/or system hangs.
After sending a one byte write to the Flash, software checks if it can send the next byte to write (check
if the write process in the Flash had finished) by reading the Flash Access register. If the bit
(FLA.FL_BUSY) in this register is set, the current write did not finish. If bit (FLA.FL_BUSY) is cleared,
then software can continue and write the next byte to the Flash.
4.2.2Flash Erase Control
When software needs to erase the Flash, it sets bit FLA.FL_ER in the Flash Access register to 1b (Flash
Erase) and then set bit EEC.FWE in the EEPROM/Flash Control register to 0b.
Hardware gets this command and sends the erase command to the Flash. Note that the erase process
completes automatically. Software should wait for the end of the erase process before any further
access to the Flash. This can be checked by using the Flash Write control mechanism.
The op-code used for erase operation is defined in the FLASHOP register.
Note:Sector erase by software is not supported. In order to delete a sector, the serial (bit bang)
interface should be used.
4.3Shared EEPROM
The 82575 uses a single EEPROM device to configure hardware default parameters for both LAN devices
including Ethernet Individual Addresses (IA), LED behaviors, receive packet-filters for manageability,
and wakeup capability). Certain EEPROM words are used to specify hardware parameters that are LAN
device-independent (such as those which affect circuits behavior). Other EEPROM words are associated
with a specific LAN device. Both LAN devices access the EEPROM to obtain their respective configuration
settings.
4.3.1EEPROM Deadlock Avoidance
The EEPROM is a shared resource between four clients:
EEPROM Map Shared Words — Intel® 82575EB Gigabit Ethernet Controller
• Hardware auto read.
• Accesses of port 0 LAN driver.
• Accesses of port 1 LAN driver.
• Firmware accesses.
All clients can access the EEPROM using parallel access, where hardware implements the actual access
to the EEPROM. Hardware can also schedule these accesses so that all clients get served without
starvation.
However, software and firmware clients can access the EEPROM using bit banging. In this case, there is
a request/grant mechanism that locks the EEPROM to the exclusive usage of one client. If this client is
stuck without releasing the lock, the other clients can no longer access the EEPROM. To avoid this, the
82575 implements a timeout mechanism that releases the grant from a client that did not toggle the
EEPROM bit-bang interface for more than two seconds.
Consequently, if an agent that was granted access to the EEPROM for bit-bang access did not toggle,
the bit bang interface for 500 ms. The agent should check if it still owns the interface before continuing
the bit-banging.
4.3.2EEPROM Map Shared Words
The EEPROM map lists those words configuring either LAN devices or the entire 82575 as LAN 0/LAN 1
Both. Those words configuring a specific LAN’s device parameters are identified as either LAN 0 or LAN
1.
The following EEPROM words warrant additional notes specifically related to dual-LAN support:
Ethernet Address (IA)
(LAN 0/LAN 1 shared)
Initialization Control 1,
Initialization Control 2
(LAN 0/LAN 1 shared)
Initialization Control 3
(LAN 0, LAN 1 unique)
The EEPROM specifies the IA associated with the LAN 0 device and used as the hardware
default of the Receive Address registers for that device. The hardware-default IA for the
LAN 1 device is automatically determined by the same EEPROM word and is set to the value
of {IA
These EEPROM words specify hardware-default values for parameters that apply a single
value to both LAN devices, such as link configuration parameters required for autonegotiation, wakeup settings, PCI/PCI-X bus advertised capabilities, etc.
This EEPROM word configures default values associated with each LAN device's hardware
connections, including which link mode (internal PHY) is used with this LAN device. Because
a separate EEPROM word configures the defaults for each LAN, extra care must be taken to
ensure that the EEPROM image does not specify a resource conflict.
XOR 010000000000h}.
LAN 0
4.4Shared FLASH
The 82575 provides an interface to an external serial Flash/ROM memory device. This Flash/ROM
device can be mapped into memory and/or I/O address space for each LAN device through the use of
Base Address Registers (BARs). Bit 13 of the EEPROM Initialization Control Word 3 associated with each
LAN device selectively disables/enables whether the Flash can be mapped for each LAN device by
controlling the BAR register advertisement and write ability.
®
324632-003Intel
Revision: 2.1Software Developer’s Manual and EEPROM Guide
January 201151
The 82575 implements internal arbitration between Flash accesses initiated through the LAN 0 device
and those initiated through the LAN 1 device. If accesses from both LAN devices are initiated during the
same approximate size window, the first one is served first and only then the next one. Note that the
82575 does not synchronize between the two entities accessing the Flash though contentions caused
from one entity reading and the other modifying the same locations is possible.
To avoid this contention, accesses from both LAN devices should be synchronized using external
software synchronization of the memory or I/O transactions responsible for the access. It might be
possible to ensure contention-avoidance simply by nature of software sequence.
4.4.2Flash Deadlock Avoidance
The flash is a shared resource between the following clients:
• Accesses of port 0 LAN driver
• Accesses of port 1 LAN driver
• BIOS Parallel access via expansion ROM mechanism
• Firmware accesses
All clients can access the EEPROM using parallel access, where hardware implements the actual access
to the flash. Hardware can schedule these accesses so that all the clients get served without starvation.
However, software and hardware clients can access the serial flash using bit banging. In this case, there
is a request/grant mechanism that locks the serial flash to the exclusive usage of one client. If this
client is stuck without releasing the lock, the other clients cannot access the flash. In order to avoid
this, the 82575 implements a timeout mechanism, which releases the grant from a client that did not
toggle the flash bit-bang interface for more than two seconds.
Consequently, if an agent that was granted access to the flash for bit-bang access did not toggle the
bit-bang interface for 500 ms, it should check if it still owns the interface before continuing bit banging.
This mode is enabled by bit 5 in word 0Ah of the EEPROM.
30hPXEMain Setup Options PCI Function 0 (Word 30h)
31hPXEConfiguration Customization Options PCI Function 0 (Word 31h)
32hPXEPXE Version (Word 32h)
33hPXEIBA Capabilities (Word 33h)
34hPXESetup Options PCI Function 1 (Word 34h)
35hPXEConfiguration Customization Options PCI Function 1 (Word 35h)
36hPXEiSCSI Option ROM Version (Word 36h)
37hPXEAlternate MAC Address Pointer (Word 37h)
38hPXESetup Options PCI Function 2 (Word 38h)
Image
Value
LAN 0/1
Both
®
324632-003Intel
82575EB Gigabit Ethernet Controller
Revision: 2.1Software Developer’s Manual and EEPROM Guide
January 201153
Intel® 82575EB Gigabit Ethernet Controller — Hardware Accessed Words
Table 4.82575 EEPROM Map
Word
39hPXEonfiguration Customization Options PCI Function 2 (Word 39h)
3AhPXECSetup Options PCI Function 3 (Word 3Ah)
3BhPXEConfiguration Customization Options PCI Function 3 (Word 3Bh)
3DhiSCSISCSI Boot Configuration Offset (Word 3Dh)
3FhPXEChecksum Word (Word 3Fh)
40h:
4Fh
50h:
53h
54hFWMNG CapabilitiesMNG
55h:
5Ah
5Bh:
. . .
1. This column specifies whether this byte is used by hardware (HW), software (SW) or firmware (FW). EEPROM words can also be
used by Preboot eXecution Environment (PXE) code.
Used
1
By
HWReserved
FWCommon Firmware PointersMNG
FWPT PointersMNG
FWFirmware StructureMNG
High Byte (15:8)Low Byte (7:0)
Image
Value
LAN 0/1
4.5.1Hardware Accessed Words
This section describes the EEPROM words that are loaded by the 82575 hardware. Most of these bits
are located in configuration registers. The words are only read and used if the signature field in the
EEPROM Sizing & Protected Fields (word 12h) is valid.
Note:When changing the default value of a reserved bit, 82575 behavior is undefined.
Hardware Accessed Words — Intel® 82575EB Gigabit Ethernet Controller
Table 5.EEPROM Auto-Load Sequence
Full Reset
012012012
00A00A00A
018
019
01A
01B
026
027
028
029
02A
02B
025
021
01E
015
016
014
024
Reset of
LAN0 Only
Reset of
LAN1 Only
Comments
01C
01F
02C
02D
022
00BLoaded only if load subsystem ID bit is set
00C
00DLoaded only if load device ID bit is set
01D
011
00F00F00F
040
041
®
324632-003Intel
Revision: 2.1Software Developer’s Manual and EEPROM Guide
January 201155
82575EB Gigabit Ethernet Controller
Intel® 82575EB Gigabit Ethernet Controller — Hardware Accessed Words
044
047
04E
04F
000000000
001001001
002002002
020020
010010
02E02E02E
4.5.1.1Ethernet Address (Words 00h – 02h)
The Ethernet Individual Address (IA) is a 6-byte field that must be unique for each Ethernet port and
each copy of the EEPROM image. The first three bytes are vendor specific. The value from this field is
loaded into the Receive Address Register 0 (RAL0/RAH0).
The Ethernet address is loaded for LAN0 and bit 41 (8th MSB) is inverted for LAN1 (bit 0 byte 6 in the
EEPROM = bit 8 in EEPROM word 2.
4.5.1.2Initialization Control 1 (Word 0Ah)
This word read by the 82575 contains initialization values that:
• Set defaults for some internal registers.
• Enable or disable specific features.
• Determine which PCI configuration space values are loaded from the EEPROM.
Table 6.Initialization Control 1 (Word 0Ah)
Bit(s)NameDefaultDescription
15:12Reserved0000bReserved
11FRCSPD1bDefault setting for the Force Speed bit in the Device Control register (CTRL[11]). The
10FD1bDefault for duplex setting. Mapped to Device Control register bit 0. The hardware default
9LRST1bDefault setting for link reset (CTRL[3]). It should set to 0b for hardware to initiate Auto-
8:7Reserved00bReserved.
hardware default value is 1b.
0b = Do not force.
1b = Force.
value is 1b.
0b = Half duplex.
1b = Full duplex.
Negotiation upon power up or assertion of a PCIe* reset without driver intervention. The
hardware default value is 1b.
Hardware Accessed Words — Intel® 82575EB Gigabit Ethernet Controller
Table 6.Initialization Control 1 (Word 0Ah)
Bit(s)NameDefaultDescription
6SDP_
5Deadlock
4ILOS0bDefault setting for the Loss-of-Signal Polarity setting for CTRL[7]. The hardware default
3Power
2Reserved0bReserved.
1Load
0Load
IDDQ_E
N
Timeout
Enable
MNG
Subsystem ID
Vendor/
Device
ID
0bWhen set, SDP keeps their value and direction when the 82575 enters dynamic IDDQ
1bIf set, a device granted access to the EEPROM that does not toggle the interface for more
1bThis bit defines the 82575 power management support:
1bWhen this bit equals 1b, the 82575 loads its PCIe* Subsystem ID and Subsystem Vendor
1bWhen this bit is set to 1b, the 82575 loads its PCIe* device ID from EEPROM words 0Dh,
mode. Otherwise, SDP moves to HighZ and pull up mode in dynamic IDDQ mode.
than 1 second might have the grant revoked.
0b = Disable.
1b - Enable.
value is 0b.
0b = The power management registers set is read only. The 82575 does not execute a
hardware transition to D3. Note: This setting is for testing purposes only.
1b = Full support for power management. For normal operation, this bit must be set to
1b.
ID from the EEPROM words 0Bh and 0Ch.
0b = Do not load.
1b = Load.
11h, and 1Dh.
0b = Do not load.
1b = Load.
4.5.1.3Subsystem ID (Word 0Bh)
If the Load Subsystem IDs bit in the Initialization Control Word 1 (0Ah) is set, this word is used to
initialize the Subsystem ID. Its default value is 0h.
4.5.1.4Subsystem Vendor ID (Word 0Ch)
If the Load Subsystem IDs bit in the Initialization Control Word 1 (0Ah) is set, this word is used to
initialize the Subsystem Vendor ID. Its default value is 8086h.
4.5.1.5Device ID (Word 0Dh, 11h)
If the Load Device IDs bit in the Initialization Control Word 1 (0Ah) is set, this word is used to initialize
the Device ID of LAN0 and LAN1 functions, respectively. Its default value is 10A7h.
4.5.1.6Dummy Device ID (Word 1Dh)
If the Load Device IDs in word 0Ah is set, this word is used to initialize the Device ID of dummy
devices. Its default value is 10A6h
4.5.1.7Initialization Control 2 (Word 0Fh)
This is the second word read by the 82575 and contains additional initialization values that:
®
324632-003Intel
Revision: 2.1Software Developer’s Manual and EEPROM Guide
January 201157
82575EB Gigabit Ethernet Controller
Intel® 82575EB Gigabit Ethernet Controller — Hardware Accessed Words
• Set defaults for some internal registers.
• Enable and disable specific features.
Table 7.Initialization Control 2 (Word 0Fh)
Bit(s)NameDefaultDescription
15APM PME#
Enable
14Reserved0bReserved. Should be set to 0b.
13:12Pause
Capability
11ANE0bThis bit enables Auto-Negotiation and is mapped to PCS_LCTL.AN_ENABLE.
10:8Flash Size
Indication
7DMA Clock
Gating
Enable
6PHY Power
Down
Enable
5Reserved0bReserved.
4CCM PLL
Shutdown
Enable
3L1
Indication
Enable
0bThe APM PME# Enable bit represents the initial value of the Assert PME On APM Wakeup
bit in the Wake Up Control Register (WUC.APMPME).
0b = Disable
1b = Enable
11bThese bits enable the desired PAUSE capability for the advertised configuration base page.
Mapped to PCS_ANADV.ASM.
0b = Disable.
1b = Enable.
000bRequested flash Memory Space:
000b = 64 KB
001b = 128 KB
010b = 256 KB
011b = 512 KB
100b = 1 MB
101b = 2 MB
110b = 4 MB
111b = 8 MB
1bEnables automatic reduction of DMA and MAC frequency. Mapped to STATUS[31]. This bit
is relevant only if the L1 indication enable is set.
0b = Disable.
1b = Enable.
1bThis bit enables the PHY to power down. When it is set, the PHY can enter into a low
power state.
0b = Disable.
1b = Enable.
0bWhen set, the CCM PLL can be shut down in low power states when the PHY is in power-
down (link disconnect). When cleared, the CCM PLL is not shut down in a low-power state.
0b = Disable.
1b = Enable.
0bWhen set, enables idle indication to the L1 mechanism.
Hardware Accessed Words — Intel® 82575EB Gigabit Ethernet Controller
Table 7.Initialization Control 2 (Word 0Fh)
Bit(s)NameDefaultDescription
2SerDesLo
w Power
Enable
1Reserved1bReserved. Should be set to 0b.
0LPLU1bLow Power Link Up
0bWhen this bit is set, the SerDes can enter a low power state when the function is in Dr
state. This bit is mapped to CTRL_EXT[18].
0b = Disabled.
1b = Enabled.
Enables the decrease in link speed in non-D0a states when dictated by power policy and
the power management state. This bit is loaded to each of the PHYs only when LAN0/1
OEM bits disable (word 23 bit 7/8) respectively, are cleared.
0b = Disable.
1b = Enable.
4.5.1.8Software Defined Pins Control (Word 10h)
This word configures initial settings for the Software Definable Pins.
Note:Word 10h is for LAN1.
Table 8.Software Defined Pins Control (Word 10h)
Bit(s)NameDefaultDescription
15SDPDIR[3]0bSDP3 Pin - Initial Direction. This bit configures the initial hardware value of the
14SDPDIR[2]0bSDP2 Pin - Initial Direction. This bit configures the initial hardware value of the
13PHY_in_
LAN_
disable
12Reserved0bReserved. Should be set to 0b.
11LAN_DIS0bLAN Disable. When this bit is set to 1b, the appropriate LAN is disabled.
10LAN_PCI_
DIS
0bDetermines the behavior of the MAC and PHY when a LAN port is disabled through an
0bLAN PCI Disable. When this bit is set to 1b, the appropriate LAN PCI function is disabled.
SDP3_IODIR bit in the Extended Device Control (CTRL_EXT) register following power up.
0 = Input.
1b = Output.
Set to 1b if not using SDP.
SDP2_IODIR bit in the Extended Device Control (CTRL_EXT) register following power up.
0 = Input.
1b = Output.
Set to 1b if not using SDP.
external pin.
0b = MAC and PHY maintain functionality while in LAN Disable (to support
manageability).
1b = MAC and PHY are powered down in LAN Disable (manageability cannot access the
network through this port).
0b = Enable.
1b = Disable.
For example, the LAN is functional for MNG operation but is not connected to the host
through PCIe*.
0b = Enable.
1b = Disable.
®
324632-003Intel
Revision: 2.1Software Developer’s Manual and EEPROM Guide
January 201159
82575EB Gigabit Ethernet Controller
Intel® 82575EB Gigabit Ethernet Controller — Hardware Accessed Words
Table 8.Software Defined Pins Control (Word 10h)
Bit(s)NameDefaultDescription
9SDPDIR[1]0bSDP1 Pin - Initial Direction. This bit configures the initial hardware value of the
8SDPDIR[0]0bSDP0 Pin - Initial Direction. This bit configures the initial hardware value of the
7SDPVAL[3]0bThis bit holds the value of the SDP3 pin (Initial Output Value). It configures the initial
6SDPVAL[2]0bSDP2 Pin - Initial Output Value. This bit configures the initial power on value output of
5WD_SDP00bWhen set, SDP[0] is used as watchdog timeout indication. When reset, it is used as a
4Gigabit
Disable
3Disable
1000 in
non-D0a
2D3COLD_
WAKEUP_
ADVEN
1SDPVAL[1]0bSDP1 Pin - Initial Output Value. This bit configures the initial power on value output of
0SDPVAL[0]0bSDP0 Pin - Initial Output Value. This bit configures the initial power on value output of
0bWhen this bit is set, the Gigabit Ethernet operation is disabled. An example of when this
0bDisables 1000 Mb/s operation in non-D0a states. This bit is for software use. Hardware
1bConfigures the initial hardware default value of the ADVD3WUC bit in the Device Control
SDP1_IODIR bit in the Device Control (CTRL) register following power up.
0b = Input.
1b = Output.
Set to 0b is not using SDP.
SDP00_IODIR bit in the Device Control (CTRL) register following power up.
0b = Input.
1b = Output.
Set to 0b is not using SDP.
power-on value output of SDP3 when it is configured as an output. This is accomplished
by configuring the initial hardware value of the SDP3_DATA bit in the Extended Device
Control (CTRL_EXT) register after power up.
SDP2 (when it is configured as an output) by configuring the initial hardware value of the
SDP2_DATA bit in the Extended Device Control (CTRL_EXT) register after power up.
Software Defined Pin (as per bits 8 and 0). This bit is mapped to SDP0_WDE[21] in the
CTRL register.
0b = SDP0 is used normally as SDP.
1b = SDP0 is used as a watchdog timeout indication.
might be used is if Gigabit Ethernet operation exceeds system power limits. Software
configures this bit only if the LAN1/LAN0 OEM Bit configuration disable (word 23h, bits
8:7) are cleared. Hardware does not use this bit.
0b = Enable.
1b = Disable.
does not use this bit.
0b = Enable.
1b = Disable
register (CTRL) after power up.
0b = Advertised.
1b = Not advertised.
SDP2 (when it is configured as an output) by configuring the initial hardware value of the
SDP1_DATA bit in the Device Control (CTRL) register after power up.
SDP2 (when it is configured as an output) by configuring the initial hardware value of the
SDP0_DATA bit in the Device Control (CTRL) register after power up.
15:14Signature01bThe Signature field indicates to the device that there is a valid EEPROM present. If the
13:10EEPROM
Size
9:5Reserved00000bReserved. Should be set to 00000b.
4Enable
EEPROM
Protectio
n
3:0HEPSize0000bT0000 = No hidden block
0010bThese bits indicate the actual EEPROM size and are mapped to EEC[14:11]:
0bIf set, all EEPROM protection schemes are enabled.
Signature field is not 01b, the other bits in this word are ignored, no further EEPROM read
is performed and default values are used for the configuration space IDs.
0000b = 128 bytes
0001b = 256 bytes
0010b = 512 bytes
0011b = 1 KB
0100b = 2 KB
0101b = 4 KB
0110b = 8 KB
0111b = 16 KB
1000b = 32 KB
1001b - 1011b = Reserved
0001b = 2 bytes
0010b = 4 bytes
0011b = 8 bytes
0100b = 16 bytes
0101b = 32 bytes
0110b = 64 bytes
0111b = 128 bytes
1000b = 256 bytes
1001b = 512 bytes
1010b = 1 KB
1011b = 2 KB
1100b = 4 KB
1101b = 8 KB
1110b -=16 KB
1111b = 32 KB
4.5.1.10Initialization Control 3 (Word 14h, 24h)
This word controls general initialization values. Word 14h is used for LAN1. Word 24 is used for LAN0.
®
324632-003Intel
Revision: 2.1Software Developer’s Manual and EEPROM Guide
January 201161
82575EB Gigabit Ethernet Controller
Intel® 82575EB Gigabit Ethernet Controller — Hardware Accessed Words
Table 10.Initialization Control 3 (Word 14h and 24h High Byte)
Bit(s)NameDefaultDescription
15SerDes
Energy
Source
14I2C SFP
Enable
13LAN
Flash
Disable
12:11Interrupt
Pin
10APM
Enable
9:8Link
Mode
7Expansio
n BAR
Enable
6:5Reserved-Reserved.
4:2Reserved000bReserved.
1Ext_VLAN0bSets the default for CTRL_EXT[26] bit. Indicates that additional VLAN is expected in the
0Keep_
PHY_
Link_Up_
En
0bSerDes Energy Source Detection
When 0b, internal SerDes Rx electrical Idle indication.
When 1b, external LOS signal.
This bit also indicates the source of the signal detect while establishing a link in SerDes
mode.
This bit sets the default value of the CONNSW.ENRGSRC bit.
0bI2C SFP Enable
0b = Disabled. When disabled, the I2C pads are isolated.
1b = Enabled.
Used to set the default value of CTRL_EXT[25].
1bA bit value of 1b disables the Flash logic. The Flash access BAR in the PCI Configuration
0b for LAN
0
1b for LAN
1
1bThis field controls the initial value of Advanced Power Management Wake Up Enable in the
00bThis field controls the initial value of Link Mode bits of the Extended Device Control Register
0bEnable/disable Expansion ROM BAR
0bEnables No PHY Reset when the BMC indicates that the PHY should be kept on. When
space is disabled.
This bit controls the value advertised in the Interrupt Pin field of the PCI Configuration
header for this device and function. A value of 0b reflected in the Interrupt Pin field
indicates that this device uses INTA#; a value of 1b indicates that this device uses INTB#.
If only a single port of the 82575 is enabled, this value is ignored and the Interrupt Pin field
of the enabled port reports INTA# usage.
0 = INT#A
1 = INT#B
2 = INT#C
3 = INT#D
Wake Up Control Register (WUC.APME) and is mapped to CTRL[6] and to WUC[0].
0b = APM wakeup disabled.
1b= =APM wakeup enable.
(CTRL_EXT.LINK_MODE), specifying which link interface and protocol is used by the MAC.
00b = MAC operates in 1000Base-T mode with the internal copper PHY.
01b = MAC operates using internal SerDes module (legacy).
10b = MAC operates in SGMII mode.
11b = MAC operates in internal SerDes mode (recommended).
0b = Enable.
1b = Disable.
system.
1b = Expect additional VLAN in all packets.
0b = Don’t expect additional VLAN.
asserted, this bit prevents the PHY reset signal and the power changes reflected to the PHY
according to the MANC.Keep_PHY_Link_Up value. This bit should be set to the same value
at both words (14h, 24h) to reflect the same option to both LANs.
7:0NFTS50hThis field identifies the number of special sequences for L0s transition to L0.
0bWhen it is set to 1b, the DLLP timer counter is enabled.
0b = Disable.
1b = Enable.
1bSerial Number Capability Enable. Should be set to 1b.
0000bExtra NFTS (Number of Fast Training Signal) that is added to the original requested
number of NFTS (as requested by the upstream component).
4.5.1.16Software Defined Pins Control (Word 20h)
This configures initial settings for the Software Definable Pins.
Note:Word 20h is for LAN0.
Table 15.Software Defined Pins Control (Word 20h)
Bit(s)NameDefaultDescription
15SDPDIR[3]0bSDP3 Pin - Initial Direction. This bit configures the initial hardware value of the
14SDPDIR[2]0bSDP2 Pin - Initial Direction. This bit configures the initial hardware value of the
13PHY_in_
LAN_
disable
12:10Reserved000bReserved. Should be set to 000b.
9SDPDIR[1]0bSDP1 Pin - Initial Direction. This bit configures the initial hardware value of the
0bDetermines the behavior of the MAC and PHY when a LAN port is disabled through an
SDP3_IODIR bit in the Extended Device Control (CTRL_EXT) register following power up.
0b = Input.
1b = Output.
Set to 1b if not using SDP.
SDP2_IODIR bit in the Extended Device Control (CTRL_EXT) register following power up.
0b = Input.
1b = Output.
Set to 1b if not using SDP.
external pin.
0b = MAC and PHY maintain functionality while in LAN Disable (to support
manageability).
1b = MAC and PHY are powered down in LAN Disable (manageability cannot access the
network through this port).
SDP1_IODIR bit in the Device Control (CTRL) register following power up.
0b = Input.
1b = Output.
Set to 0b if not using SDP.
®
324632-003Intel
Revision: 2.1Software Developer’s Manual and EEPROM Guide
January 201165
82575EB Gigabit Ethernet Controller
Intel® 82575EB Gigabit Ethernet Controller — Hardware Accessed Words
Table 15.Software Defined Pins Control (Word 20h)
Bit(s)NameDefaultDescription
8SDPDIR[0]0bSDP0 Pin - Initial Direction. This bit configures the initial hardware value of the
7SDPVAL[3]0bThis bit holds the value of the SDP3 pin (Initial Output Value). It configures the initial
6SDPVAL[2]0bSDP2 Pin - Initial Output Value. This bit configures the initial power on value output of
5WD_SDP00bWhen set, SDP[0] is used as watchdog timeout indication. When reset, it is used as a
4Gigabit
Disable
3Disable
1000 in
non-D0a
2D3COLD_
WAKEUP_
ADVEN
1SDPVAL[1]0bSDP1 Pin - Initial Output Value. This bit configures the initial power on value output of
0SDPVAL[0]0bSDP0 Pin - Initial Output Value. This bit configures the initial power on value output of
0bWhen this bit is set, the Gigabit Ethernet operation is disabled. An example of when this
0bDisables 1000 Mb/s operation in non-D0a states. This bit is for software use. Hardware
1bConfigures the initial hardware default value of the ADVD3WUC bit in the Device Control
SDP00_IODIR bit in the Device Control (CTRL) register following power up.
0b = Input.
1b = Output.
Set to 1b if not using SDP.
power-on value output of SDP3 when it is configured as an output. This is accomplished
by configuring the initial hardware value of the SDP3_DATA bit in the Extended Device
Control (CTRL_EXT) register after power up.
SDP2 (when it is configured as an output) by configuring the initial hardware value of the
SDP2_DATA bit in the Extended Device Control (CTRL_EXT) register after power up.
Software Defined Pin (as per bits 8 and 0). This bit is mapped to SDP0_WDE[21] in the
CTRL register.
0b = SDP0 is used normally as SDP.
1b = SDP0 is used as a watchdog timeout indication.
might be used is if Gigabit Ethernet operation exceeds system power limits. Software
configures this bit only if the LAN1/LAN0 OEM Bit configuration disable (word 23h, bits
8:7) are cleared. Hardware does not use this bit.
0b = Enable.
1b = Disable.
does not use this bit.
0b = Enable.
1b = Disable.
register (CTRL) after power up.
0b = Advertised.
1b = Not advertised.
SDP2 (when it is configured as an output) by configuring the initial hardware value of the
SDP1_DATA bit in the Device Control (CTRL) register after power up.
SDP2 (when it is configured as an output) by configuring the initial hardware value of the
SDP0_DATA bit in the Device Control (CTRL) register after power up.
1bWhen this bit is set to 1b, the PHY can act as a master (upstream component with cross
link functionality).
0b = Disable.
1b = Enable.
0bWhen this bit is set to 1b, the PCIe* LFSR scrambling feature is disabled.
0b = Enable.
1b = Disable.
0bThis field identifies the acknowledgement/no acknowledgement scheme for the 82575.
0b = Scheduled for transmission following any TLP.
1b = Scheduled for transmission according to time-outs specified in the PCIe* specification.
0bThis bit represents the cache line size.
0b = 64 bytes.
1b = 128 bytes.
Note: The value loaded must be equal to the actual cache line size used by the platform as
configured by system software.
01bPCIe* Capability Version
The value of this field is reflected in the two LSBs of the capability version in the PCIe* CAP
register (configuration space - A2h).
Note that this is not the PCIe* version. It is the PCIe* capability version. This version is a
field in the PCIe* capability structure and is not the same as the PCIe* version. It changes
only when the content of the capability structure changes. For example, PCIe* 1.0, 1.0a
and 1.1 all have a capability version of 1. PCIe* 2.0 has a version 2 because it added
registers to the capabilities structures.
1bThis bit represents the status of I/O support (I/O BAR request). When it is set to 1b, I/O is
supported.
0b = Not supported.
1b = Supported.
1bThis bit identifies the status of the default packet size.
0b = 128 bytes.
1b = 256 bytes.
10bThis field identifies the maximum link width.
00b = 1 lane.
01b = 2 lanes.
10b = 4 lanes.
11b = Reserved.
0bWhen this bit is set to 1b, the elastic buffers are activated in a more limited mode (read
and write pointers).
0bWhen this bit equals 1b, the elastic buffers operate under phase-only mode during
electrical idle states.
®
324632-003Intel
Revision: 2.1Software Developer’s Manual and EEPROM Guide
January 201167
82575EB Gigabit Ethernet Controller
Intel® 82575EB Gigabit Ethernet Controller — Hardware Accessed Words
Hardware Accessed Words — Intel® 82575EB Gigabit Ethernet Controller
Table 17.PCIe* Control (Word 1Bh)
Bit(s)NameDefaultDescription
3Reserved0bReserved.
2Electrical
Idle
1:0Latency to
Enter L1
0bElectrical Idle Mask. When set to 1b, disables the check for illegal electrical idle sequence
(for example, eidle ordered set without common mode and vise versa). Also excepts any
of them as a correct eidle sequence.
0b = Enable.
1b = Disable
Note: Specification can be interpreted so that the eidle ordered set is sufficient for
transition to power management states. The use of this bit allows an exception for such
interpretation and avoids the possibility of correct behavior being understood as illegal
sequences.
11bThese bits identify the period in L0s state before transitioning into an L1 state.
This EEPROM word specifies the hardware defaults for the LEDCTL register fields controlling the LED1
(ACTIVITY indication) and LED3 (LINK_1000 indication) output behaviors.
12Reserved0bThis bit is reserved and should be set to 0b.
11:8LED3
Mode
7LED1
Blink
6LED1
Invert
5Reserved0b
4Reserved0bThis bit is reserved and should be set to 0b.
3:0LED1
Mode
1. These bits are read from the EEPROM.
0bThis bit represents the initial value of the LED3_BLINK field. If it equals 0b, the LED is non-
0bThis bit represents the initial value of the LED3_IVRT field. If it equals 0b, it is an active low
1
0111bThis field represents the initial value of the LED3_MODE specifying the event, state, and
1bThis field holds the initial value of LED1_BLINK field and is equal to 0b for non-blinking.
0bThis field holds the initial value of LED1_IVRT field and is equal to 0b for an active low
a
0011bThis field represents the initial value of the LED1_MODE specifying the event, state, and
blinking.
output.
Reserved.
pattern displayed on the LED3 (LINK_1000) output. A value of 0111b (or 7h) causes this to
indicate 1000 Mb/s operation. See Table 19 for all available LED modes.
output.
Reserved.
pattern displayed on the LED1 (ACTIVITY) output. A value of 0011b (3h) causes this to
indicate ACTIVITY state. See Table 19 for all available LED modes.
Note:A value of 0703h is used to configure default hardware LED behavior equivalent to 82544-
based copper Ethernet controllers (LED0=LINK_UP, LED1=blinking ACTIVITY,
LED2=LINK_100, and LED3=LINK_1000).
®
324632-003Intel
Revision: 2.1Software Developer’s Manual and EEPROM Guide
January 201169
82575EB Gigabit Ethernet Controller
Intel® 82575EB Gigabit Ethernet Controller — Hardware Accessed Words
Table 19.LED Mode
ModeSelected ModeSource Indication
0000bLINK_10/1000Asserted when either 10 or 1000 Mb/s link is established and maintained.
0001bLINK_100/1000Asserted when either 100 or 1000 Mb/s link is established and maintained.
0010bLINK_UPAsserted when any speed link is established and maintained.
0011bFILTER_ACTIVITYAsserted when link is established and packets are being transmitted or received that
0100bLINK/ACTIVITYAsserted when link is established and when there is no transmit or receive activity.
0101bLINK_10Asserted when a 10 Mb/s link is established and maintained.
0110bLINK_100Asserted when a 100 Mb/s link is established and maintained.
0111bLINK_1000Asserted when a 1000 Mb/s link is established and maintained.
1000bSDP_MODELED activation is a reflection of the SDP signal. SDP0, SDP1, SDP2, SDP3 are reflected
1001bFULL_DUPLEXAsserted when the link is configured for full duplex operation (de-asserted in half-
1010bCOLLISIONAsserted when a collision is observed.
1011bACTIVITYAsserted when link is established and packets are being transmitted or received.
1100bBUS_SIZEAsserted when the 82575 detects a 1-lane PCIe* connection.
1101bPAUSEDAsserted when the 82575’s transmitter is flow controlled.
1110bLED_ONAlways high (Asserted)
1111bLED_OFFAlways low (De-asserted)
passed MAC filtering.
to LED0, LED1, LED2, LED3 respectively.
duplex).
4.5.1.20Device Revision ID (Word 1Eh)
Table 20.Device Revision ID (Word 1Eh)
Bit(s)NameDefaultDescription
15DEV_OFF_EN0bWhen set, enables the 82575 to enter power down.
0b = Disable.
1b = Enable.
14Reserved1bReserved.
13Reserved0bReserved.
12LAN 1
iSCSI
Enable
11LAN 0
iSCSI
Enable
10:8Reserved0hReserved.
7:0Device
Revision ID
0bWhen set, LAN 1 class code is set to 010000h (SCSI)
When reset, LAN 1 class code is set to 020000h (LAN)
0bWhen set, LAN 0 class code is set to 010000h (SCSI)
When reset, LAN 0 class code is set to 020000h (LAN)
12Reserved0bThis bit is reserved and should be set to 0b.
11:8LED2
7LED0
6LED0
5Global
4Reserved0bThis bit is reserved and should be set to 0b.
3:0LED0
1. These bits are read from the EEPROM.
Blink
Invert
Mode
Blink
Invert
Blink
Mode
Mode
0bThis bit represents the initial value of the LED2_BLINK field. If it equals 0b, the LED is non-
0bThis bit represents the initial value of the LED2_IVRT field. If it equals 0b, it is an active low
1
0110bThis field represents the initial value of the LED2_MODE specifying the event, state, and
0bThis field holds the initial value of LED0_BLINK field and is equal to 0b for non-blinking.
0bThis field holds the initial value of LED0_IVRT field and is equal to 0b for an active low
a
0b
0010bThis field represents the initial value of the LED0_MODE specifying the event, state, and
blinking.
output.
Reserved.
pattern displayed on the LED2 (LINK_1000) output. A value of 0110b (or 6h) causes this to
indicate 100 Mb/s operation. See Table 19 for all available LED modes.
output.
Global Blink Mode
0b = Blink at 200 ms on and 200ms off.
1b = Blink at 83 ms on and 83 ms off.
pattern displayed on the LED0 (ACTIVITY) output. A value of 0010b (2h) causes this to
indicate link up state. See Table 19 for all available LED modes.
Note:A value of 0602h is used to configure default hardware LED behavior equivalent to 82544-
based copper 82575s (LED0=LINK_UP, LED1=blinking ACTIVITY, LED2=LINK_100, and
LED3=LINK_1000).
®
324632-003Intel
Revision: 2.1Software Developer’s Manual and EEPROM Guide
January 201171
82575EB Gigabit Ethernet Controller
Intel® 82575EB Gigabit Ethernet Controller — Hardware Accessed Words
4.5.1.22Functions Control (Word 21h)
Table 22.Functions Control (Word 21h)
Bit(s)NameDefaultDescription
15:13Reserved000bReserved.
12LAN
Function
Select
11:0Reserved0hReserved.
0bWhen both LAN ports are enabled and the LAN function select equals 0b, LAN 0 is routed to
PCI function 0 and LAN 1 is routed to PCI function 1. If the LAN function select bit equals
1b, LAN 0 is routed to PCI function 1 and LAN 1 is routed to PCI function 0. This bit is
mapped to FACTPS[30].
4.5.1.23LAN Power Consumption (Word 22h)
This word is meaningful only if the EEPROM signature in word 0Ah is valid and Power Management is
enabled.
Table 23.LAN Power Consumption (Word 22h)
Bit(s)NameDefaultDescription
15:8LAN D0
Power
7:5Function
0
Common
Power
4:0LAN D3
Power
0hThe value in this field is reflected in the PCI Power Management Data Register of the LAN
functions for D0 power consumption and dissipation (Data_Select = 0 or 4). Power is
defined in 100 mW units and includes the external logic required for the LAN function.
0hThe value in this field is reflected in the PCI Power Management Data Register of function 0
when the Data_Select field is set to 8 (common function). The most significant bits in the
Data Register that reflect the power values are padded with zeros.
0hThe value in this field is reflected in the PCI Power Management Data Register of the LAN
functions for D3 power consumption and dissipation (Data_Select = 3 or 7). Power is
defined in 100 mW units and includes the external logic required for the LAN function. The
most significant bits in the Data Register that reflect the power values are padded with
zeros.
4.5.1.24Management Hardware Configuration Control (Word
23h)
This word contains bits that direct special firmware behavior when configuring the PHY/PCIe*/SerDes.
BitNameDescription
15LAN1_FTCO_DISLAN1 force TCO reset disable (1 disable, 0 enable).
14LAN0_FTCO_DISLAN0 force TCO reset disable (1 disable, 0 enable).
13:10ReservedReserved.
9Firmware Code ExistIf set, indicates to the firmware that there is firmware EEPROM code at address
Hardware Accessed Words — Intel® 82575EB Gigabit Ethernet Controller
6CRC_DISPHY / SERDES / PCIe* CRC disable.
0b = Enable.
1b = Disable.
5LAN1_ROM_DISLAN1 ROM Disable
Disables PHY and SerDes ROM configuration for port 1.
0b = Enable.
1b = Disable.
4LAN0_ROM_DISLAN0 ROM Disable
Disables PHY and SerDes ROM configuration for port 0.
0b = Enable.
1b = Disable.
3MNG_wake_check_disWhen set, indicates that the firmware is always to configure the PHY after power-
up without checking that manageability or wake-up are enabled.
0b = Enable.
1b = Disable.
2PCIe* ROM DisableWhen set, indicates that the firmware is not to configure the PCIe* from the ROM
tables.
0b = Enable.
1b = Disable.
1PHY ROM DisableWhen set, indicates that the firmware is not to configure the PHY of both ports
from the ROM tables.
0b = Enable.
1b = Disable.
0SERDES ROM DisableWhen set, indicates that the firmware is not to configure the SerDes of both ports
from the ROM tables.
0b = Enable.
1b = Disable.
®
324632-003Intel
82575EB Gigabit Ethernet Controller
Revision: 2.1Software Developer’s Manual and EEPROM Guide
January 201173
Intel® 82575EB Gigabit Ethernet Controller — Hardware Accessed Words
4.5.1.25End of RO Area (Word 2Ch
Table 24.End of RO Area (Word 2Ch)
Bit(s)NameDefaultDescription
15Reserved0bReserved.
14:0EORO_
area
0hDefines the end of the area in the EEPROM that is RO. The resolution is one word
and can be up to byte address FFFFh (7FFFh words). A value of zero indicates no
RO area.
4.5.1.26Start of RO Area (Word 2Dh)
Table 25.Start of RO Area (Word 2Dh)
Bit(s)NameDefaultDescription
15Reserved0bReserved.
14:0SORO_
area
0hDefines the start of the area in the EEPROM that is RO. The resolution is one word
and can be up to byte address FFFFh (7FFFh words). Should be smaller or equal to
Word 2Ch.
4.5.1.27Watchdog Configuration (Word 2Eh)
Table 26.Watchdog Configuration (Word 2Eh)
Bit(s)NameDefaultDescription
15Watchdog
Enable
14:11Watchdog
Timeout
10:0Reserved-Reserved.
0bEnable watchdog interrupt.
2hWatchdog timeout period (in seconds).
4.5.1.28VPD Pointer (Word 2Fh)
This word points to the Vital Product Data (VPD) structure. This structure is available for the NIC/LOM
vendor to store it's own data.
4.5.1.29PXE Words (Words 30h:3Eh)
Words 30h through 3Eh have been reserved for configuration and version values to be used by PXE
code. The only exception is word 3Dh. 3Dh is used for iSCSI boot configuration.
4.5.1.29.1Main Setup Options PCI Function 0 (Word 30h)
Hardware Accessed Words — Intel® 82575EB Gigabit Ethernet Controller
The main setup options are stored in word 30h. These options are those that can be changed by the
user via the Control-S setup menu. Word 30h has the following format:
Bit(s)NameDefaultDescription
15:13RFU0x0Reserved. Must be 0.
12:10FSD0x0Bits 12-10 control forcing speed and duplex during driver operation.
Valid values are:
000b – Auto-negotiate
001b – 10Mbps Half Duplex
010b – 100Mbps Half Duplex
011b – Not valid (treated as 000b)
100b – 10Mbps Full Duplex
101b – 100Mbps Full Duplex
111b – 1000Mbps Full Duplex
Only applicable for copper-based adapters. Not applicable to 10GbE.
Default value is 000b.
9RSV0bReserved. Set to 0.
8DSM1bDisplay Setup Message.
If the bit is set to 1, the Press Control-S message is displayed after the title
message.
Default value is 1.
7:6PT0x0Prompt Time.
These bits control how long the CTRL-S setup prompt message is displayed, if
enabled by DIM.
00 = 2 seconds (default)
01 = 3 seconds
10 = 5 seconds
11 = 0 seconds
Note: CTRL-S message is not displayed if 0 seconds prompt time is selected.
5IBD0biSCSI Boot Disable.
4:3DBS0bDefault Boot Selection.
These bits select which device is the default boot device. These bits are only
used if the agent detects that the BIOS does not support boot order selection
or if the MODE field of word 31h is set to MODE_LEGACY.
00 = Network boot, then local boot (default)
01 = Local boot, then network boot
10 = Network boot only
11 = Local boot only
2DEP0bDeprecated. Must be 0.
1:0PS0x0Protocol Select.
These bits select the active boot protocol.
00 = PXE (default value)
01 = RPL (only if RPL is in the flash)
10 = iSCSI Boot primary port (only if iSCSI Boot is using this adapter)
11 = iSCSI Boot secondary port (only if iSCSI Boot is using this adapter)
Only the default value of 00b should be initially programmed into the adapter;
other values should only be set by configuration utilities.
®
324632-003Intel
Revision: 2.1Software Developer’s Manual and EEPROM Guide
January 201175
82575EB Gigabit Ethernet Controller
Intel® 82575EB Gigabit Ethernet Controller — Hardware Accessed Words
4.5.1.29.2Configuration Customization Options PCI Function 0 (Word 31h)
Word 31h of the EEPROM contains settings that can be programmed by an OEM or network
administrator to customize the operation of the software. These settings cannot be changed from within
the Control-S setup menu. The lower byte contains settings that would typically be configured by a
network administrator using an external utility; these settings generally control which setup menu
options are changeable. The upper byte is generally settings that would be used by an OEM to control
the operation of the agent in a LOM environment, although there is nothing in the agent to prevent
their use on a NIC implementation. The default value for this word is 4000h.
Bit(s)NameDefaultFunction
15:14SIG0x1Signature. Must be set to 01 to indicate that this word has been
13RFU0bReserved. Must be 0.
12RFU0bReserved. Must be 0.
11RETRY0bSelects Continuous Retry operation.
10:8MODE0bSelects the agent’s boot order setup mode.
7RFU0bReserved. Must be 0.
6RFU0bReserved. Must be 0.
5DFU0bDisable Flash Update.
programmed by the agent or other configuration software.
If this bit is set, IBA will NOT transfer control back to the BIOS if it fails to
boot due to a network error (such as failure to receive DHCP replies).
Instead, it will restart the PXE boot process again. If this bit is set, the only
way to cancel PXE boot is for the user to press ESC on the keyboard. Retry
will not be attempted due to hardware conditions such as an invalid
EEPROM checksum or failing to establish link.
Default value is 0.
This field changes the agent’s default behavior in order to make it
compatible with systems that do not completely support the BBS and PnP
Expansion ROM standards. Valid values and their meanings are:
000b - Normal behavior. The agent will attempt to detect BBS and PnP
Expansion ROM support as it normally does.
001b - Force Legacy mode. The agent will not attempt to detect BBS or PnP
Expansion ROM supports in the BIOS and will assume the BIOS is not
compliant. The user can change the BIOS boot order in the Setup
Menu.
010b - Force BBS mode. The agent will assume the BIOS is BBS-compliant,
even though it may not be detected as such by the agent’s detection
code. The user can NOT change the BIOS boot order in the Setup
Menu.
011b - Force PnP Int18 mode. The agent will assume the BIOS allows boot
order setup for PnP Expansion ROMs and will hook interrupt 18h (to
inform the BIOS that the agent is a bootable device) in addition to
registering as a BBS IPL device. The user can NOT change the BIOS
boot order in the Setup Menu.
100b - Force PnP Int19 mode. The agent will assume the BIOS allows boot
order setup for PnP Expansion ROMs and will hook interrupt 19h (to
inform the BIOS that the agent is a bootable device) in addition to
registering as a BBS IPL device. The user can NOT change the BIOS
boot order in the Setup Menu.
101b - Reserved for future use. If specified, is treated as a value of 000b.
110b - Reserved for future use. If specified, is treated as a value of 000b.
111b - Reserved for future use. If specified, is treated as a value of 000b.
If this bit is set to 1, the user is not allowed to update the flash image using
PROSet. Default value is 0.
Hardware Accessed Words — Intel® 82575EB Gigabit Ethernet Controller
4DLWS0bDisable Legacy Wakeup Support.
If this bit is set to 1, the user is not allowed to change the Legacy OS
Wakeup Support menu option. Default value is 0.
3DBS0bDisable Boot Selection.
If this bit is set to 1, the user is not allowed to change the boot order menu
option. Default value is 0.
2DPS0bDisable Protocol Select. If set to 1, the user is not allowed to change the
1DTM0bDisable Title Message.
0DSM0bDisable Setup Menu.
boot protocol. Default value is 0.
If this bit is set to 1, the title message displaying the version of the Boot
Agent is suppressed; the Control-S message is also suppressed. This is for
OEMs who do not wish the boot agent to display any messages at system
boot. Default value is 0.
If this bit is set to 1, the user is not allowed to invoke the setup menu by
pressing Control-S. In this case, the EEPROM may only be changed via an
external program. Default value is 0.
4.5.1.29.3 PXE Version (Word 32h)
Word 32h of the EEPROM is used to store the version of the boot agent that is stored in the flash image.
When the Boot Agent loads, it can check this value to determine if any first-time configuration needs to
be performed. The agent then updates this word with its version. Some diagnostic tools to report the
version of the Boot Agent in the flash also read this word. The format of this word is:
Bit(s)Name
15 - 12MAJ0x0PXE Boot Agent Major Version. Default value is 0.
11 – 8MIN0x0PXE Boot Agent Minor Version. Default value is 0.
7 – 0BLD0x0PXE Boot Agent Build Number. Default value is 0.
Hardware
Default
Function
4.5.1.29.4IBA Capabilities (Word 33h)
Word 33h of the EEPROM is used to enumerate the boot technologies that have been programmed into
the flash. This is updated by flash configuration tools and is not updated or read by IBA.
Bit(s)NameDefaultFunction
15 - 14SIG0x1Signature.
Must be set to 01 to indicate that this word has been programmed by the
agent or other configuration software.
13 – 5RFU0bReserved. Must be 0.
4ISCSI0biSCSI Boot is present in flash if set to 1.
3EFI0bEFI UNDI driver is present in flash if set to 1.
2Reserved0bSet to 0.
1UNDI0bPXE UNDI driver is present in flash if set to 1.
0BC0bPXE Base Code is present in flash if set to 1.
4.5.1.29.5Setup Options PCI Function 1 (Word 34h)
This word is the same as word 30h, but for function 1 of the device.
®
324632-003Intel
Revision: 2.1Software Developer’s Manual and EEPROM Guide
January 201177
82575EB Gigabit Ethernet Controller
Intel® 82575EB Gigabit Ethernet Controller — Hardware Accessed Words
4.5.1.29.6Configuration Customization Options PCI Function 1 (Word 35h)
This word is the same as word 31h, but for function 1 of the device.
4.5.1.29.7iSCSI Option ROM Version (Word 36h)
Word 0x36 of the NVM is used to store the version of iSCSI Option ROM updated as the same format as
PXE Version at Word 0x32. The value must be above 0x2000 and the value below (word 0x1FFF = 16
KB NVM size) is reserved. iSCSIUtl, FLAUtil, DMiX update iSCSI Option ROM version if the value is
above 0x2000, 0x0000, or 0xFFFF. The value (0x0040 - 0x1FFF) should be kept and not be overwritten.
4.5.1.29.8Alternate MAC Address Pointer (Word 37h)
This word may point to a location in the EEPROM containing additional MAC addresses used by system
management functions. If the additional MAC addresses are not supported, the word shall be set to
0xFFFF
4.5.1.29.9Setup Options PCI Function 2 (Word 38h)
This word is the same as word 30h, but for function 2 of the device.
4.5.1.29.10Configuration Customization Options PCI Function 2 (Word 39h)
This word is the same as word 31h, but for function 2 of the device.
4.5.1.29.11Setup Options PCI Function 3 (Word 3Ah)
This word is the same as word 30h, but for function 3 of the device.
4.5.1.29.12Configuration Customization Options PCI Function 3 (Word 3Bh)
This word is the same as word 31h, but for function 3 of the device.
Hardware Accessed Words — Intel® 82575EB Gigabit Ethernet Controller
Reserved34Reserved for future use.
BELOW FIELDS ARE
PER PORT.
Flags2Bit 00h Enable DHCP
0 – Use static configurations from this structure
1 – Overrides configurations retrieved from DHCP.
Bit 01h Enable DHCP for getting iSCSI target information.
0 – Use static target configuration
1 – Use DHCP to get target information by the Option 17 Root Path.
Bit 02h – 03h Authentication Type
00 – none
01 – one way chap
02 – mutual chap
Bit 04h – 05h Ctrl-D setup menu
00 – enabled
03 – disabled, skip Ctrl-D entry
Bit 06h – 07h Reserved
Bit 08h – 09h ARP Retries
Retry value
Bit 0Ah – 0Fh ARP Timeout
Timeout value for each try
Initiator IP4Initiator DHCP flag;
not set This field should contain the initiator IP address.
set this field is ignored.
Subnet Mask4Initiator DHCP flag;
not set This field should contain the subnet mask.
set this field is ignored.
Gateway IP4Initiator DHCP flag;
not set This field should contain the gateway IP address.
set If DHCP bit is set this field is ignored.
Boot LUN2Target DHCP flag;
not set iSCSI target LUN number should be specified.
set this field is ignored.
Target IP4Target DHCP flag;
not set IP address of iSCSI target.
set this field is ignored.
Target Port2Target DHCP flag;
not set TCP port used by iSCSI target. Default is 3260.
set this field is ignored.
Target Name255 + 1 Target DHCP flag;
not set iSCSI target name should be specified.
set this field is ignored.
CHAP Password16 + 2 The minimum CHAP secret must be 12 octets and maximum CHAP secret size is
16. The last 2 bytes are null alignment padding.
CHAP User Name127 + 1The user name must be non-null value and maximum size of user name allowed
is 127 characters.
®
324632-003Intel
82575EB Gigabit Ethernet Controller
Revision: 2.1Software Developer’s Manual and EEPROM Guide
January 201179
Intel® 82575EB Gigabit Ethernet Controller — Hardware Accessed Words
Reserved2Reserved
Mutual CHAP Password16 + 2 The minimum mutual CHAP secret must be 12 octets and maximum mutual
Reserved160Reserved for future use.
CHAP secret size is 16. The last 2 bytes are null alignment padding.
The maximum amount of boot configuration information that is stored is 834 bytes (417 words);
however, the iSCSI boot implementation can limit this value in order to work with a smaller EEPROM.
Variable length fields are used to limit the total amount of EEPROM that is used for iSCSI boot
information. Each field is preceded by a single byte that indicates how much space is available for that
field. For example, if the Initiator Name field is being limited to 128 bytes, then it is preceded with a
single byte with the value of 128. The following field begins at 128 bytes after the beginning of the
Initiator Name field regardless of the actual size of the field. The variable length fields must be NULL
terminated unless they reach the maximum size specified in the length byte.
4.5.1.29.14Checksum Word (Word 3Fh)
The checksum word (0x3F) is used to ensure that the base EEPROM image is a valid image. The value
of this word should be calculated such that after adding all the words (0x00:0x3F), including the
checksum word itself, the sum should be 0xBABA. The initial value in the 16-bit summing register
should be 0x0000 and the carry bit should be ignored after each addition.
Note:Hardware does not calculate the word 0x3F checksum during EEPROM write; it must be
calculated by software independently and included in the EEPROM write data. Hardware
does not compute a checksum over words 0x00:0x3F during EEPROM reads in order to
determine validity of the EEPROM image; this field is provided strictly for software
verification of EEPROM validity. All hardware configurations based on word 0x00:0x3F
content is based on the validity of the Signature field of EEPROM Initialization Control Word
1 (Signature must be 01b).
11:8IPv6Indicates if the IPv6 address filter registers (MIPAF)
7:4ReservedReserved.
3:0IPv4Indicates if the IPv4 address filters (MIPAF) contains a
contain valid IPv6 addresses. Bit 8 corresponds to address
0, etc. Bit 11 (filter 3) applies only when IPv4 address
filters are not enabled (MANC.EN_IPv4_FILTER=0b).
valid IPv4 address. These bits apply only when IPv4
address filters are enabled (MANC.EN_IPv4_FILTER=1b)
PT LAN Configuration Structure — Intel® 82575EB Gigabit Ethernet Controller
4.6.7.17LAN0 MAC Value MSB (Offset 2Fh)
BitNameDescription
15:0ReservedReserved.
4.6.7.18LAN0 MANC Value LSB (Offset 30h)
BitNameDescription
15:9ReservedReserved.
8Enable IPv4 Address FiltersWhen set, the last 128 bits of the MIPAF register are used
7Enable Xsum Filtering to MNGWhen this bit is set, only packets that pass the L3 and L4
6ReservedReserved.
5Enable MNG Packets to Host
Memory
4:0ReservedReserved.
to store four IPv4 addresses for IPv4 filtering. When
cleared, these bits store a single IPv6 filter.
checksum are send to the MNG block.
This bit enables the functionality of the MANC2H register.
When set, the packets that are specified in the MANC2H
registers are also sent to host memory if they pass the
manageability filters.
Five words in the EEPROM image are reserved for compatibility information. New bits within these fields
will be defined as the need arises for determining software compatibility between various hardware
revisions.
4.7.2PBA Number (Words 08h, 09h)
The nine-digit Printed Board Assembly (PBA) number used for Intel manufactured Network Interface
Cards (NICs) is stored in EEPROM.
Through the course of hardware ECOs, the suffix field is incremented. The purpose of this information is
to enable customer support (or any user) to identify the revision level of a product.
Network driver software should not rely on this field to identify the product or its capabilities.
PBA numbers have exceeded the length that can be stored as HEX values in two words. For newer NICs,
the high word in the PBA Number Module is a flag (0xFAFA) indicating that the actual PBA is stored in a
separate PBA block. The low word is a pointer to the starting word of the PBA block.
The following shows the format of the PBA Number Module field for new products.
PBA NumberWord 0x8Word 0x9
G23456-003FAFAPointer to PBA Block
The following provides the format of the PBA block; pointed to by word 0x9 above:
Word OffsetDescription
0x0 Length in words of the PBA Block (default is 0x6)
0x1 ... 0x5PBA Number stored in hexadecimal ASCII values.
The new PBA block contains the complete PBA number and includes the dash and the first digit of the 3digit suffix which were not included previously. Each digit is represented by its hexadecimal-ASCII
values.
The following shows an example PBA number (in the new style):
PBA Number
G23456-00300064732333435362D303033
Word Offset 0Word
Specifies 6
words
Offset 1
G23456-003
Word
Offset 2
Word
Offset 3
Word
Offset 4
Word
Offset 5
Older NICs have PBA numbers starting with [A,B,C,D,E] and are stored directly in words 0x8-0x9. The
dash in the PBA number is not stored; nor is the first digit of the 3-digit suffix (the first digit is always
0b for older products).
®
324632-003Intel
Revision: 2.1Software Developer’s Manual and EEPROM Guide
January 201199