Small Form Factor Single-Chip Ethernet Controller With HP Auto-MDIX Support
Small Form Factor Single-Chip Ethernet Controller With HP Auto-MDIX Support
Small Form Factor Single-Chip Ethernet Controller With HP Auto-MDIX Support
Errata
An errata sheet, describing minor operational differences from the data sheet and recommended workarounds, may exist for cur-
rent devices. As device/documentation issues become known to us, we will publish an errata sheet. The errata will specify the
revision of silicon and revision of document to which it applies.
To determine if an errata sheet exists for a particular device, please check with one of the following:
• Microchip’s Worldwide Web site; http://www.microchip.com
• Your local Microchip sales office (see last page)
When contacting a sales office, please specify which device, revision of silicon and data sheet (include -literature number) you are
using.
Table of Contents
1.0 General Description ........................................................................................................................................................................ 4
2.0 Pin Description and Configuration .................................................................................................................................................. 8
3.0 Functional Description .................................................................................................................................................................. 15
4.0 Internal Ethernet PHY ................................................................................................................................................................... 57
5.0 Register Description ...................................................................................................................................................................... 66
6.0 Timing Diagrams ......................................................................................................................................................................... 114
7.0 Operational Characteristics ......................................................................................................................................................... 125
8.0 Package Information ................................................................................................................................................................... 132
Appendix A: Data Sheet Revision History ......................................................................................................................................... 134
System Memory
System Memory
System
Peripherals
Magnetics Ethernet
Microprocessor/
Microcontroller
LAN9210
LEDS/GPIO
25MHz
XTAL
EEPROM
(Optional)
The Microchip LAN9210 integrated 10/100 MAC/PHY controller is a peripheral chip that performs the function of trans-
lating parallel data from a host controller into Ethernet packets. The LAN9210 Ethernet MAC/PHY controller is designed
and optimized to function in an embedded environment. All communication is performed with programmed I/O transac-
tions using the simple SRAM-like host interface bus.
The diagram shown above, describes a typical system configuration of the LAN9210 in a typical embedded environ-
ment.
The LAN9210 is a general purpose, platform independent, Ethernet controller. The LAN9210 consists of four major func-
tional blocks. The four blocks are:
• 10/100 Ethernet PHY
• 10/100 Ethernet MAC
• RX/TX FIFOs
• Host Bus Interface (HBI)
25MHz
+3.3V EEPROM
(Optional )
RX Checksum
2kB to 14kB Offload Engine
Host Bus Interface Configurable TX FIFO
(HBI) TX Checksum
Offload Engine
16-bit SRAM I/F
PIO
TX Status FIFO
10/100 10/100
Controller
Ethernet Ethernet LAN
RX Status FIFO
MAC PHY
IRQ Interrupt
FIFO _SEL Controller MIL - RX Elastic
2kB to 14kB Buffer - 128 bytes
Configurable RX FIFO
GP Timer MIL - TX Elastic
Buffer - 2K bytes
EECLK/GPO4**
EEDIO/GPO3**
VDD_CORE
nRESET
VDD_IO
EECS
PME
D0
D1
D2
D3
D4
D5
D6
42
41
40
39
38
37
36
35
34
33
32
31
30
29
IRQ 43 28 D7
TPO- 44 27 D8
TPO+ 45 26 D9
VDD_A33 46
LAN9210 25 D10
TPI- 47
56 PIN QFN 24 VDD_IO
VDD_A33 49 22 D12
VSS
EXRES1 50 21 D13
VDD_A33 51 20 D14
AMDIX_EN 52 19 D15
VDD_A18 53 18 VDD_IO
XTAL2 54 17 nCS
XTAL1/CLKIN** 55 16 nWR
VDD_IO 56 15 nRD
10
11
12
13
14
1
9
A7
A6
A5
A4
A3
A2
A1
VDD_IO
GPIO0/nLED1**
GPIO1/nLED2**
GPIO2/nLED3**
FIFO_SEL
VDD_CORE
NC
Buffer #
Name Symbol Description
Type Pins
Host Address A[7:1] IS 7 7-bit Address Port. Used to select Internal CSR’s and
TX and RX FIFOs.
Write Strobe nWR IS 1 Active low strobe to indicate a write cycle. This signal,
qualified with nCS, is also used to wakeup the
LAN9210 when it is in a reduced power state.
Chip Select nCS IS 1 Active low signal used to qualify read and write
operations. This signal qualified with nWR is also used
to wakeup the LAN9210 when it is in a reduced power
state.
FIFO Select FIFO_SEL IS 1 When driven high all accesses to the LAN9210 are to
the RX or TX Data FIFOs. In this mode, the A[7:3]
upper address inputs are ignored.
Buffer
Name Symbol # Pins Description
Type
Note: The pin names for the twisted pair pins shown above apply to a normal connection. If HP Auto-MDIX is
enabled and a reverse connection is detected, or a reverse connection is manually selected, the input pins
become outputs, and vice-versa, as indicated in the descriptions.
Buffer
Name Symbol # Pins Description
Type
EEPROM Data, EEDIO/GPO3/ I/O8 1 EEPROM Data: This bi-directional pin can be
GPO3, TX_EN, TX_EN/TX_CLK connected to a serial EEPROM DIO. This is
TX_CLK optional.
Buffer
Name Symbol # Pins Description
Type
Crystal 1, Clock In XTAL1/CLKIN lCLK 1 External 25MHz Crystal Input. This pin can also
be connected to single-ended TTL oscillator
(CLKIN). If this method is implemented, XTAL2
should be left unconnected.
Buffer
Name Symbol # Pins Description
Type
General Purpose GPIO[2:0]/ IS/O12/ 3 General Purpose I/O data: These three
I/O data, nLED[3:1] OD12 general-purpose signals are fully programmable
nLED1 (Speed as either push-pull output, open-drain output or
Indicator), input by writing the GPIO_CFG configuration
nLED2 (Link & register in the CSR’s. They are also multiplexed
as GP LED connections.
Activity Indicator), GPIO signals are Schmitt-triggered inputs.
nLED3 (Full- When configured as LED outputs these signals
Duplex are open-drain.
Indicator).
nLED1 (Speed Indicator). This signal is driven
low when the operating speed is 100Mb. During
auto-negotiation, when the cable is
disconnected, and during 10Mbs operation, this
signal is driven high.
+3.3V I/O Power VDD_IO P 5 +3.3V I/O logic power supply pins
+3.3V Analog VDD_A33 P 3 +3.3V analog power supply pins. See Note 2-1.
Power
+1.8V Analog VDD_A18 P 1 +1.8V analog power supply pin. This pin must
Power be connected externally to VDD_CORE. See
Note 2-1.
Core Voltage VDD_CORE P 2 +1.8 V from internal core regulator. Both pins
Decoupling must be connected together externally. Each
pin requires a 0.01uF decoupling capacitor. In
addition, pin 2 requires a bulk 4.7uF capacitor
(<2 Ohm ESR) in parallel. These pins must not
be used to supply power to other external
devices. See Note 2-1.
Note 2-1 Please refer to Application Note AN16.6 - “Migrating from LAN9215 to the LAN9210/LAN9211” for
additional details.
6 A7 20 D14 34 D2 48 TPI+
7 A6 21 D13 35 D1 49 VDD_A33
8 A5 22 D12 36 D0 50 EXRES1
12 A1 26 D9 40 EECLK/GPO4 54 XTAL2
14 NC 28 D7 42 nRESET 56 VDD_IO
EXPOSED PAD
MUST BE CONNECTED TO VSS
Type Description
I Input pin
AI Analog input
AO Analog output
0 0 1 0 0 Inverse Filtering
X 1 0 X X Promiscuous
The MAC supports four programmable filters that support many different receive packet patterns. If remote wake-up
mode is enabled, the remote wake-up function receives all frames addressed to the MAC. It then checks each frame
against the enabled filter and recognizes the frame as a remote wake-up frame if it passes the wakeup frame filter reg-
ister’s address filtering and CRC value match.
In order to determine which bytes of the frames should be checked by the CRC module, the MAC uses a programmable
byte mask and a programmable pattern offset for each of the four supported filters.
The pattern’s offset defines the location of the first byte that should be checked in the frame. Since the destination
address is checked by the address filtering Function, the pattern offset is always greater than 12.
The byte mask is a 31-bit field that specifies whether or not each of the 31 contiguous bytes within the frame, beginning
in the pattern offset, should be checked. If bit j in the byte mask is set, the detection logic checks byte offset +j in the
frame. In order to load the Wake-up Frame Filter register, the host LAN driver software must perform eight writes to the
Wake-up Frame Filter register (WUFF). The Diagram shown in Table 3-2, "Wake-Up Frame Filter Register Structure"
below, shows the wake-up frame filter register’s structure.
Note 3-1 Wake-up frame detection can be performed when the LAN9210 is in the D0 or D1 power states. In
the D0 state, wake-up frame detection is enabled when the WUEN bit is set.
Note 3-2 Wake-up frame detection, as well as Magic Packet detection, is always enabled and cannot be
disabled when the device enters the D1 state.
Note 3-3 When wake-up frame detection is enabled via the WUEN bit of the WUCSR—Wake-up Control and
Status Register, a broadcast wake-up frame will wake-up the device despite the state of the Disable
Broadcast Frame (BCAST) bit in the MAC_CR—MAC Control Register.
The Filter i Byte Mask defines which incoming frame bytes Filter i will examine to determine whether or not this is a
wake-up frame. Table 3-3, describes the byte mask’s bit fields.
Field Description
30:0 Byte Mask: If bit j of the byte mask is set, the CRC machine processes byte number pattern - (offset
+ j) of the incoming frame. Otherwise, byte pattern - (offset + j) is ignored.
The Filter i command register controls Filter i operation. Table 3-4 shows the Filter I command register.
Filter i Commands
Field Description
3 Address Type: Defines the destination address type of the pattern. When bit is set, the pattern
applies
only to multicast frames. When bit is cleared, the pattern applies only to unicast frames.
2:1 RESERVED
0 Enable Filter: When bit is set, Filter i is enabled, otherwise, Filter i is disabled.
The Filter i Offset register defines the offset in the frame’s destination address field from which the frames are examined
by Filter i. Table 3-5 describes the Filter i Offset bit fields.
Field Description
7:0 Pattern Offset: The offset of the first byte in the frame on which CRC is checked for wake-up frame
recognition. The minimum value of this field must be 12 since there should be no CRC check for
the destination address and the source address fields. The MAC checks the first offset byte of the
frame for CRC and checks to determine whether the frame is a wake-up frame. Offset 0 is the first
byte of the incoming frame's destination address.
The Filter i CRC-16 register contains the CRC-16 result of the frame that should pass Filter i.
Table 3-6 describes the Filter i CRC-16 bit fields.
Field Description
15:0 Pattern CRC-16: This field contains the 16-bit CRC value from the pattern and the byte mask
programmed to the wake-up filter register Function. This value is compared against the CRC
calculated on the incoming frame, and a match indicates the reception of a wakeup frame.
In Magic Packet mode, the Power Management Logic constantly monitors each frame addressed to the node for a spe-
cific Magic Packet pattern. It checks only packets with the MAC’s address or a broadcast address to meet the Magic
Packet requirement. The Power Management Logic checks each received frame for the pattern 48h
FF_FF_FF_FF_FF_FF after the destination and source address field.
Then the Function looks in the frame for 16 repetitions of the MAC address without any breaks or interruptions. In case
of a break in the 16 address repetitions, the PMT Function scans for the 48'hFF_FF_FF_FF_FF_FF pattern again in the
incoming frame.
The 16 repetitions may be anywhere in the frame but must be preceded by the synchronization stream. The device will
also accept a multicast frame, as long as it detects the 16 duplications of the MAC address. If the MAC address of a
node is 00h 11h 22h 33h 44h 55h, then the MAC scans for the following data sequence in an Ethernet: Frame.
Destination Address Source Address ……………FF FF FF FF FF FF
00 11 22 33 44 55 00 11 22 33 44 55 00 11 22 33 44 55 00 11 22 33 44 55
00 11 22 33 44 55 00 11 22 33 44 55 00 11 22 33 44 55 00 11 22 33 44 55
00 11 22 33 44 55 00 11 22 33 44 55 00 11 22 33 44 55 00 11 22 33 44 55
00 11 22 33 44 55 00 11 22 33 44 55 00 11 22 33 44 55 00 11 22 33 44 55
…CRC
It should be noted that Magic Packet detection can be performed when LAN9210 is in the D0 or D1 power states. In the
D0 state, “Magic Packet” detection is enabled when the MPEN bit is set. In the D1 state, Magic Packet detection, as
well as wake-up frame detection, are automatically enabled when the device enters the D1 state.
T
F
Y
DST SRC Frame Data C
P
S
E
Calculate Checksum
In mode 1, the RXCOE supports VLAN tags and a SNAP header. In this mode the RXCOE calculates the checksum at
the start of L3 packet. The VLAN1 tag register is used by the RXCOE to indicate what protocol type is to be used to
indicate the existence of a VLAN tag. This value is typically 8100h.
Example frame configurations:
p
F
r
DST SRC L3 Packet C
o
S
t
0 1 2 3
8 t
V F
1 y
DST SRC I L3 Packet C
0 p
D S
0 e
0 1 2 3 4
FIGURE 3-5: ETHERNET FRAME WITH LENGTH FIELD AND SNAP HEADER
S S
L N N F
DST SRC e A A L3 Packet C
n P P S
0 1
0 1 2 3 4 5
FIGURE 3-6: ETHERNET FRAME WITH VLAN TAG AND SNAP HEADER
S S
8
V L N N F
1
DST SRC I e A A L3 Packet C
0
Dn P P S
0
0 1
0 1 2 3 4 5 6
FIGURE 3-7: ETHERNET FRAME WITH MULTIPLE VLAN TAGS AND SNAP HEADER
S S
8 8
V V L N N F
1 1
DST SRC I I e A A L3 Packet C
0 0
D Dn P P S
0 0
0 1
0 1 2 4 5 6 7 8
The RXCOE supports a maximum of two VLAN tags. If there are more than two VLAN tags, the VLAN protocol identifier
for the third tag is treated as an Ethernet type field. The checksum calculation will begin immediately after the type field.
The RXCOE resides in the RX path within the MAC. As the RXCOE receives an Ethernet frame it calculates the 16-bit
checksum. The RXCOE passes the Ethernet frame to the RX Data FIFO with the checksum appended to the end of the
frame. The RXCOE inserts the checksum immediately after the last byte of the Ethernet frame. The packet length field
in the RX status word (refer to Section 3.13.3) will indicate that the frame size has increased by two bytes to accommo-
date the checksum.
Setting the RXCOE_EN bit in the COE_CR—Checksum Offload Engine Control Register enables the RXCOE, while
the RXCOE_MODE bit selects the operating mode. When the RXCOE is disabled, the received data is simply passed
through the RXCOE unmodified.
Note:
• Software applications must stop the receiver and flush the RX data path before changing the state of the
RXCOE_EN or RXCOE_MODE bits.
• When the RXCOE is enabled, automatic pad stripping must be disabled (bit 8 (PADSTR) of the MAC_CR—MAC
Control Register) and vice versa. These functions cannot be enabled simultaneously.
Field Description
31:28 RESERVED
15:12 RESERVED
Note:
• When the TXCOE is enabled, the third DWORD of the pre-pended packet is not transmitted. However, 4 bytes
must be added to the packet length field in TX Command ‘B’.
• The TX checksum preamble must be DWORD-aligned (i.e., the two least significant bits of the Data Start Offset
fields in TX Command “A” must be zero). Any valid buffer end alignment setting can be used.
• Software applications must stop the transmitter and flush the TX data path before changing the state of the
TXCOE_EN bit. However, the CK bit of TX Command ‘B’ can be set or cleared on a per-packet basis.
Note: When the TX checksum offload feature is invoked, if the calculated checksum is 0000h, it is left unaltered.
UDP checksums are optional under IPv4, and a zero checksum calculated by the TX checksum offload
feature will erroneously indicate to the receiver that no checksum was calculated, however, the packet will
typically not be rejected by the receiver. Under IPv6, however, according to RFC 2460, the UDP checksum
is not optional. A calculated checksum that yields a result of zero must be changed to FFFFh for insertion
into the UDP header. IPv6 receivers discard UDP packets containing a zero checksum. Thus, this feature
must not be used for UDP checksum calculation under IPv6.
Note: CSR and status FIFO accesses are not affected by the FPORTEND and FSELEND endianess select bits.
FPO R TEN D FIFO Port Endian O rdering D irect FIFO A ccess Endian FSELEN D
(H W _C FG [29]) Logic O rdering Logic (H W _C FG [28])
D [15:0]
(H ost D ata B us)
Data path operations for the various supported endianess and word swap configurations are illustrated in Figure 3-9.
Table 3-8, "Endian Ordering Logic Operation" illustrates the byte ordering applied by the endian logic for each type of
host access. This figure and table assume an internal byte ordering of 3-2-1-0, where ‘3’ is the most significant byte
(data[31:24]) and ‘0’ is the least significant byte (data[7:0]).
WORD_SWAP != FFFF_FFFFh
BIG ENDIAN LITTLE ENDIAN
(FPORTEND = 1 for Data FIFO port access on addresses 00h-3Ch) (FPORTEND = 0 for Data FIFO port access on addresses 00h-3Ch)
AND/OR (FSELEND = 1 for Data FIFO direct access when FIFO_SEL=1) AND/OR (FSELEND = 0 for Data FIFO direct access when FIFO_SEL=1)
3 2 1 0 3 2 1 0
A[1] = 1 0 1 A[1] = 1 3 2
A[1] = 0 2 3 A[1] = 0 1 0
15 8 7 0 15 8 7 0
WORD_SWAP = FFFF_FFFFh
BIG ENDIAN LITTLE ENDIAN
(FPORTEND = 1 for Data FIFO port access on addresses 00h-3Ch) (FPORTEND = 0 for Data FIFO port access on addresses 00h-3Ch)
AND/OR (FSELEND = 1 for Data FIFO direct access when FIFO_SEL=1) AND/OR (FSELEND = 0 for Data FIFO direct access when FIFO_SEL=1)
3 2 1 0 3 2 1 0
A[1] = 1 2 3 A[1] = 1 1 0
A[1] = 0 0 1 A[1] = 0 3 2
15 8 7 0 15 8 7 0
A1=1 3 2 3 2 3 2
FPORTEND=0
WORD_SWAP != FFFF_FFFFh
FSELEND=0 A1=0 1 0 1 0 1 0
A1=1 0 1 3 2 3 2
FPORTEND=1
FSELEND=0
A1=0 2 3 1 0 1 0
A1=1 3 2 0 1 3 2
FPORTEND=0
FSELEND=1 A1=0 1 0 2 3 1 0
A1=1 0 1 0 1 3 2
FPORTEND=1
FSELEND=1
A1=0 2 3 2 3 1 0
A1=1 1 0 1 0 1 0
FPORTEND=0
WORD_SWAP = FFFF_FFFFh
FSELEND=0 A1=0 3 2 3 2 3 2
A1=1 2 3 1 0 1 0
FPORTEND=1
FSELEND=0 A1=0 0 1 3 2 3 2
A1=1 1 0 2 3 1 0
PORTEND=0
FSELEND=1
A1=0 3 2 0 1 3 2
A1=1 2 3 2 3 1 0
PORTEND=1
FSELEND=1
A1=0 0 1 0 1 3 2
Note: The EEPROM device powers-up in the erase/write disabled state. To modify the contents of the EEPROM
the host must first issue the EWEN command.
If an operation is attempted, and an EEPROM device does not respond within 30mS, the LAN9210 will timeout, and the
EPC timeout bit (EPC_TO) in the E2P_CMD register will be set.
Figure 3-10, "EEPROM Access Flow Diagram" illustrates the host accesses required to perform an EEPROM Read or
Write operation.
Idle Idle
Write
Write Data
Command
Register
Register
Write Read
Command Command
Register Register
Busy Bit = 0
Read
Read Data
Command
Busy Bit = 0 Register
Register
The host can disable the EEPROM interface through the GPIO_CFG register. When the interface is disabled, the EEDIO
and ECLK signals can be used as general-purpose outputs, or they may be used to monitor internal MII signals.
tCSL
EECS
EECLK
EEDIO (OUTPUT) 1 1 1 A6 A0
EEDIO (INPUT)
ERAL (Erase All): If erase/write operations are enabled in the EEPROM, this command will initiate a bulk erase of the
entire EEPROM.The EPC_TO bit is set if the EEPROM does not respond within 30ms.
tCSL
EECS
EECLK
EEDIO (OUTPUT) 1 0 0 1 0
EEDIO (INPUT)
EWDS (Erase/Write Disable): After issued, the EEPROM will ignore erase and write commands. To re-enable
erase/write operations issue the EWEN command.
tCSL
EECS
EECLK
EEDIO (OUTPUT) 1 0 0 0 0
EEDIO (INPUT)
EWEN (Erase/Write Enable): Enables the EEPROM for erase and write operations. The EEPROM will allow erase and
write operations until the “Erase/Write Disable” command is sent, or until power is cycled.
Note: The EEPROM device will power-up in the erase/write-disabled state. Any erase or write operations will fail
until an Erase/Write Enable command is issued.
tCSL
EECS
EECLK
EEDIO (OUTPUT) 1 0 0 1 1
EEDIO (INPUT)
READ (Read Location): This command will cause a read of the EEPROM location pointed to by EPC Address
(EPC_ADDR). The result of the read is available in the E2P_DATA register.
tCSL
EECS
EECLK
EEDIO (OUTPUT) 1 1 0 A6 A0
EEDIO (INPUT) D7 D0
WRITE (Write Location): If erase/write operations are enabled in the EEPROM, this command will cause the contents
of the E2P_DATA register to be written to the EEPROM location selected by the EPC Address field (EPC_ADDR). The
EPC_TO bit is set if the EEPROM does not respond within 30ms.
tCSL
EECS
EECLK
EEDIO (OUTPUT) 1 0 1 A6 A0 D7 D0
EEDIO (INPUT)
WRAL (Write All): If erase/write operations are enabled in the EEPROM, this command will cause the contents of the
E2P_DATA register to be written to every EEPROM memory location. The EPC_TO bit is set if the EEPROM does not
respond within 30ms.
tCSL
EECS
EECLK
EEDIO (OUTPUT) 1 0 0 0 1 D7 D0
EEDIO (INPUT)
Table 3-9, "Required EECLK Cycles", shown below, shows the number of EECLK cycles required for each EEPROM
operation.
ERASE 10
ERAL 10
EWDS 10
EWEN 10
READ 18
WRITE 18
WRAL 18
When the LAN9210 is in a power saving state (D1 or D2), a write cycle to the BYTE_TEST register will return the
LAN9210 to the D0 state. Table 7-2, “Power Consumption Device and System Components,” on page 127 and Table 7-
2, “Power Consumption Device and System Components,” on page 127, shows the power consumption values for each
power state.
Note 3-5 When the LAN9210 is in a power saving state, a write of any data to the BYTE_TEST register will
wake-up the device. DO NOT PERFORM WRITES TO OTHER ADDRRESSES while the READY bit
in the PMT_CTRL register is cleared.
3.10.2.1 D1 Sleep
Power consumption is reduced in this state by disabling clocks to portions of the internal logic as shown in Table 3-10.
In this mode the clock to the internal PHY and portions of the MAC are still operational. This state is entered when the
host writes a '01' to the PM_MODE bits in the Power Management (PMT_CTRL) register. The READY bit in PMT_CTRL
is cleared when entering the D1 state.
Wake-up frame and Magic Packet detection are automatically enabled in the D1 state. If properly enabled via the
WOL_EN and PME_EN bits, the LAN9210 will assert the PME hardware signal upon the detection of the wake-up frame
or magic packet. The LAN9210 can also assert the host interrupt (IRQ) on detection of a wake-up frame or magic packet.
Upon detection, the WUPS field in PMT_CTRL will be set to a 10b.
Note 3-6 The PME interrupt status bit (PME_INT) in the INT_STS register is set regardless of the setting of
PME_EN.
Note 3-7 Wake-up frame and Magic Packet detection is automatically enabled when entering the D1 state. For
wake-up frame detection, the wake-up frame filter must be programmed before entering the D1 state
(see Section 3.5, "Wake-up Frame Detection," on page 18). If used, the host interrupt and PME signal
must be enabled prior to entering the D1 state.
A write to the BYTE_TEST register, regardless of whether a wake-up frame or Magic Packet was detected, will return
LAN9210 to the D0 state and will reset the PM_MODE field to the D0 state. As noted above, the host is required to check
the READY bit and verify that it is set before attempting any other reads or writes of the device.
Note 3-8 The host must only perform read accesses prior to the ready bit being set.
Once the READY bit is set, the LAN9210 is ready to resume normal operation. At this time the WUPS field can be
cleared.
3.10.2.2 D2 Sleep
In this state, as shown in Table 3-10, all clocks to the MAC and host bus are disabled and the PHY is placed in a reduced
power state. To enter this state, the EDPWRDOWN bit in register 17 of the PHY (Mode Control/Status register) must be
set. This places the PHY in the Energy Detect mode. The PM_MODE bits in the PMT_CTRL register must then be set
to 10b. Upon setting the PM_MODE bits, the LAN9210 will enter the D2 sleep state. The READY bit in PMT_CTRL is
cleared when entering the D2 state.
Note 3-9 If carrier is present when this state is entered detection will occur immediately.
If properly enabled via the ED_EN and PME_EN bits, the LAN9210 will assert the PME hardware signal upon detection
of a valid carrier. Upon detection, the WUPS field in PMT_CTRL will be set to a 01b.
Note 3-10 The PME interrupt status bit on the INT_STS register (PME_INT) is set regardless of the setting of
PME_EN.
A write to the BYTE_TEST register, regardless of whether a carrier was detected, will return the LAN9210 to the D0
state and will reset the PM_MODE field to the D0 state. As noted above, the host is required to check the READY bit
and verify that it is set before attempting any other reads or writes of the device. Before the LAN9210 is fully awake from
this state the EDPWRDOWN bit in register 17 of the PHY must be cleared in order to wake the PHY. Do not attempt to
clear the EDPWRDOWN bit until the READY bit is set. After clearing the EDPWRDOWN bit the LAN9210 is ready to
resume normal operation. At this time the WUPS field can be cleared.
D0 D1 D2
Device Block
(Normal Operation) (WOL) (Energy Detect)
KEY
CLOCK ON
FULL OFF
WUFR
WOL _EN
WUEN
WUPS
MPR
MPEN ED_EN
WUPS
phy_int
Other System
Interrupts
PME_INT
IRQ
Denotes a level‐triggered "sticky" status bit
PME_INT_EN
IRQ_EN
50ms PME
PME_EN
LOGIC
PME_IND
PME_POL
PME_TYPE
Note: For proper operation, the LAN9210 must be reset on power-up via the hardware reset input (nRESET) or
soft reset (SRST). To accomplish this, nRESET should be asserted for the minimum period of 30ms at
power-up. Alternatively, a soft reset may be performed following power-up by setting the SRST bit of the
HW_CFG register once the READY bit in the PMT_CTRL register has been set. Refer to Section 3.11.1,
"Hardware Reset Input (nRESET)" and Section 3.11.3, "Soft Reset (SRST)" for additional information.
HBI
NASR EEPROM MAC Config.
Note PHY
Reset Source PLL Registers MIL MAC ADDR. Reload Straps
3- Note 3-11
Note 3-13 Note 3-12 Latched
13
nRESET X X X X X X X X
SRST X X X X
PHY_RST X
Note 3-11 After any PHY reset, the application should wait until the "Link Status" bit in the PHY's "Basic Status
Register" (PHY Reg. 1.2) is set before attempting to transmit data, otherwise data written to the TX
FIFO will only be sent when the Link Status returns to "Up".
Note 3-12 After a power-up, nRESET or SRST, the LAN9210 will automatically check for the presence of an
external EEPROM. After any of these resets the application must verify that the EPC Busy Bit
(E2P_CMD, bit 31) is cleared before attempting to access the EEPROM, or change the function of
the GPO/GPIO signals, or before modifying the ADDRH or ADDRL registers in the MAC.
Note 3-13 HBI - “Host Bus Interface”, NASR - Not affected by software reset.
APPLICATION NOTE: Under normal conditions, the READY bit in PMT_CTRL will be set (high -”1”) after an internal
reset (22ms). If the software driver polls this bit and it is not set within 100ms, then an error
condition occurred.
APPLICATION NOTE: Under normal conditions, the READY bit in PMT_CTRL will be set (high -”1”) immediately. If
the software driver polls this bit and it is not set within 100ms, then an error condition
occurred.
APPLICATION NOTE: Under normal conditions, the READY bit in PMT_CTRL will be set (high -”1”) within 2 ms. If
the software driver polls this bit and it is not set within 100ms, then an error condition
occurred.
APPLICATION NOTE: Under normal conditions, the READY bit in PMT_CTRL will be set (high -”1”) immediately,
(within 2 s). If the software driver polls this bit and it is not set within 100ms, then an error
condition occurred.
3.11.4.2 PHY Soft Reset via PHY Basic Control Register (PHY Reg. 0.15)
The PHY Reg. 0.15 Soft Reset is initiated by writing a ‘1’ to bit 15 of the PHY’s Basic Control Register. This self-clearing
bit will return to ‘0’ at which time the PHY reset is complete.
the Burst length regardless of the actual packet length. When configured to do so, the LAN9210 will accept extra data
at the end of the packet and will remove the extra padding before transmitting the packet. The LAN9210 automatically
removes data up to the boundary specified in the Buffer End Alignment field specified in each TX command.
The host can instruct the LAN9210 to issue an interrupt when the buffer has been fully loaded into the TX FIFO con-
tained in the LAN9210 and transmitted. This feature is enabled through the TX command ‘Interrupt on Completion’ field.
Upon completion of transmission, irrespective of success or failure, the status of the transmission is written to the TX
status FIFO. TX status is available to the host and may be read using PIO operations. An interrupt can be optionally
enabled by the host to indicate the availability of a programmable number TX status DWORDS.
Before writing the TX command and payload data to the TX FIFO, the host must check the available TX FIFO space by
performing a PIO read of the TX_FIFO_INF register. The host must ensure that it does not overfill the TX FIFO or the
TX Error (TXE) flag will be asserted.
The host proceeds to write the TX command by first writing TX command ‘A’, then TX command ‘B’. After writing the
command, the host can then move the payload data into the TX FIFO. TX status DWORD’s are stored in the TX status
FIFO to be read by the host at a later time upon completion of the data transmission onto the wire.
init
Idle TX Status
Available
Read TX
Status
Check (optional)
available
FIFO
space
Write
TX
Command
Write
Start
Padding
(optional)
Write
Buffer
Host Write
31 0
Order
1st TX Command 'A'
2nd TX Command 'B'
3rd Optional offset DWORD0
.
.
.
Optional offset DWORDn
.
.
.
.
.
Figure 3-20, "TX Buffer Format", shows the TX Buffer as it is written into the LAN9210. It should be noted that not all of
the data shown in this diagram is actually stored in the TX data FIFO. This must be taken into account when calculating
the actual TX data FIFO usage. Please refer to Section 3.12.5, "Calculating Actual TX Data FIFO Usage," on page 46
for a detailed explanation on calculating the actual TX data FIFO usage.
Bits Description
31 Interrupt on Completion. When set, the TXDONE flag will be asserted when the current buffer has
been fully loaded into the TX FIFO. This flag may be optionally mapped to a host interrupt.
30:26 Reserved. These bits are reserved. Always write zeros to this field to provide future compatibility.
25:24 Buffer End Alignment. This field specifies the alignment that must be maintained on the last data
transfer of a buffer. The host will add extra DWORDs of data up to the alignment specified in the
table below. The LAN9210 will remove the extra DWORDs. This mechanism can be used to maintain
cache line alignment on host processors.
0 0 4-byte alignment
0 1 16-byte alignment
1 0 32-byte alignment
1 1 Reserved
23:21 Reserved. These bits are reserved. Always write zeros to this field to provide future compatibility
20:16 Data Start Offset (bytes). This field specifies the offset of the first byte of TX data. The offset value
can be anywhere from 0 bytes to 31 a Byte offset.
15:14 Reserved. These bits are reserved. Always write zeros to this field to provide future compatibility
13 First Segment (FS). When set, this bit indicates that the associated buffer is the first segment of the
packet.
12 Last Segment. When set, this bit indicates that the associated buffer is the last segment of the
packet
11 Reserved. These bits are reserved. Always write zeros to this field to provide future compatibility.
10:0 Buffer Size (bytes). This field indicates the number of bytes contained in the buffer following this
command. This value, along with the Buffer End Alignment field, is read and checked by the
LAN9210 and used to determine how many extra DWORD’s were added to the end of the Buffer. A
running count is also maintained in the LAN9210 of the cumulative buffer sizes for a given packet.
This cumulative value is compared against the Packet Length field in the TX command ‘B’ word and
if they do not correlate, the TXE flag is set.
Note: The buffer size specified does not include the buffer end alignment padding or data start
offset added to a buffer.
Bits Description
31:16 Packet Tag. The host should write a unique packet identifier to this field. This identifier is added to
the corresponding TX status word and can be used by the host to correlate TX status words with
their corresponding packets.
Note: The use of packet tags is not required by the hardware. This field can be used by the LAN
software driver for any application. Packet Tags is one application example.
15 Reserved. This bit is reserved. Always write zeros to this bit to provide future compatibility.
14 TX Checksum Enable (CK). When this bit is set in conjunction with the first segment (FS) bit in TX
Command ‘A’ and the TX checksum offload engine enable bit (TXCOE_EN) in the COE_CR—
Checksum Offload Engine Control Register, the TX checksum offload engine (TXCOE) will calculate
a L3 checksum for the associated frame.
13 Add CRC Disable. When set, the automatic addition of the CRC is disabled.
12 Disable Ethernet Frame Padding. When set, this bit prevents the automatic addition of padding to
an Ethernet frame of less than 64 bytes. The CRC field is also added despite the state of the Add
CRC Disable field.
11 Reserved. These bits are reserved. Always write zeros to this field to provide future compatibility.
10:0 Packet Length (bytes). This field indicates the total number of bytes in the current packet. This
length does not include the offset or padding. If the Packet Length field does not match the actual
number of bytes in the packet the Transmitter Error (TXE) flag will be set.
TX data is contiguous until the end of the buffer. The buffer may end on a byte boundary. Unused bytes at the end of
the packet will not be sent to the MIL for transmission.
The Buffer End Alignment field in TX command ‘A’ specifies the alignment that must be maintained for the associated
buffer. End alignment may be specified as 4-, 16-, or 32-byte. The host processor is responsible for adding the additional
data to the end of the buffer. The hardware will automatically remove this extra data.
The MIL operates in store-and-forward mode and has specific rules with respect to fragmented packets. The total space
consumed in the TX FIFO (MIL) must be limited to no more than 2KB - 3 DWORDs (2,036 bytes total). Any transmit
packet that is so highly fragmented that it takes more space than this must be un-fragmented (by copying to a driver-
supplied buffer) before the transmit packet can be sent to the LAN9210.
One approach to determine whether a packet is too fragmented is to calculate the actual amount of space that it will
consume, and check it against 2,036 bytes. Another approach is to check the number of buffers against a worst-case
limit of 86 (see explanation below).
Bits Description
31:16 Packet TAG. Unique identifier written by the host into the Packet Tag field of the TX command ‘B’
word. This field can be used by the host to correlate TX status words with the associated TX packets.
15 Error Status (ES). When set, this bit indicates that the Ethernet controller has reported an error. This
bit is the logical OR of bits 11, 10, 9, 8, 2, 1 in this status word.
14:12 Reserved. These bits are reserved. Always write zeros to this field to provide future compatibility.
11 Loss of Carrier. When set, this bit indicates the loss of carrier during transmission.
10 No Carrier. When set, this bit indicates that the carrier signal from the transceiver was not present
during transmission.
Note: During 10/100 Mbps full-duplex transmission, the value of this bit is invalid and should be
ignored.
9 Late Collision. When set, indicates that the packet transmission was aborted after the collision
window of 64 bytes.
8 Excessive Collisions. When set, this bit indicates that the transmission was aborted after 16
collisions while attempting to transmit the current packet.
7 Reserved. This bit is reserved. Always write zeros to this field to provide future compatibility.
6:3 Collision Count. This counter indicates the number of collisions that occurred before the packet was
transmitted. It is not valid when excessive collisions (bit 8) is also set.
Bits Description
2 Excessive Deferral. If the deferred bit is set in the control register, the setting of the excessive
deferral bit indicates that the transmission has ended because of a deferral of over 24288 bit times
during transmission.
1 Reserved. This bit is reserved. Always write zero to this bit to provide future compatibility.
0 Deferred. When set, this bit indicates that the current packet transmission was deferred.
3.12.6.1 TX Example 1
In this example a single, 111-Byte Ethernet packet will be transmitted. This packet is divided into three buffers. The three
buffers are as follows:
Buffer 0:
• 7-Byte “Data Start Offset”
• 79-Bytes of payload data
• 16-Byte “Buffer End Alignment”
Buffer 1:
• 0-Byte “Data Start Offset”
• 15-Bytes of payload data
• 16-Byte “Buffer End Alignment”
Buffer 2:
• 10-Byte “Data Start Offset”
• 17-Bytes of payload data
• 16-Byte “Buffer End Alignment”
Figure 3-21, "TX Example 1" illustrates the TX command structure for this example, and also shows how data is passed
to the TX data FIFO.
79-Byte Payload
79-Byte Payload
Pad DWORD 1
10-Byte
EndPadding
TX Command'A'
31 0
TX Com m and 'A' 15-Byte Payload
TX Command'A'
Buffer End Alignment = 1
Data Start Offset = 0 TX Command'B'
First Segment = 0
Last Segment = 0 TX Command'A'
Buffer Size = 15
15-Byte Payload
TX Com m and 'B'
Packet Length = 111 1B
17-Byte Payload
31 0
TX Com m and 'A'
10-Byte
TXOffset
End Command 'A'
Padding
Buffer End Alignment = 1
Data Start Offset = 10 TX Command'B'
First Segment = 0
Last Segment = 1 10-Byte NOTE: Extra bytes
Buffer Size = 17 Data Start Offset betw een buffers are
not transmitted
TX Com m and 'B'
Packet Length = 111
17-Byte PayloadData
5-Byte EndPadding
3.12.6.2 TX Example 2
In this example, a single 183-Byte Ethernet packet will be transmitted. This packet is in a single buffer as follows:
• 2-Byte “Data Start Offset”
• 183-Bytes of payload data
• 4-Byte “Buffer End Alignment”
Figure 3-22, "TX Example 2" illustrates the TX command structure for this example, and also shows how data is passed
to the TX data FIFO. Note that the packet resides in a single TX Buffer, therefore both the FS and LS bits are set in TX
command ‘A’.
TX Command 'B'
Packet Length = 183
3B End Padding
NOTE: Extra bytes between buffers
are not transmitted
3.12.6.3 TX Example 3
In this example a single, 111-Byte Ethernet packet will be transmitted with a TX checksum. This packet is divided into
four buffers. The four buffers are as follows:
Buffer 0:
• 4-Byte “Data Start Offset”
• 4-Byte Checksum Preamble
• 16-Byte “Buffer End Alignment”
Buffer 1:
• 7-Byte “Data Start Offset”
• 79-Bytes of payload data
• 16-Byte “Buffer End Alignment”
Buffer 2:
• 0-Byte “Data Start Offset”
• 15-Bytes of payload data
• 16-Byte “Buffer End Alignment”
Buffer 3:
• 10-Byte “Data Start Offset”
• 17-Bytes of payload data
• 16-Byte “Buffer End Alignment”
Figure 3-21, "TX Example 1" illustrates the TX command structure for this example, and also shows how data is passed
to the TX data FIFO.
Note: In order to perform a TX checksum calculation on the associated packet, bit 14 (CK) of the TX Command
‘B’ must be set in conjunction with bit 13 (FS) of TX Command ‘A’ and bit 16 (TXCOE_EN) of the COE_CR
register. For more information, refer to Section 3.6.3, "Transmit Checksum Offload Engine (TXCOE)".
TX Command 'B'
Packet Length = 115
TX Checksum Enable = 1
79-Byte Payload
79-Byte Payload
Pad DWORD 1
TX Command 'A'
10-Byte
End Padding 15-Byte Payload
31 0
TX Command 'A' TX Command 'A' TX Command 'A'
Buffer End Alignment = 1
Data Start Offset = 0 TX Command 'B'
First Segment = 0
Last Segment = 0
Buffer Size = 15 17-Byte Payload
15-Byte Payload
TX Command 'B'
Packet Length = 115 1B
TX Checksum Enable = 1
31 0
TX Command 'A'
10-Byte
TX Offset
End Command 'A'
Padding
Buffer End Alignment = 1
Data Start Offset = 10 TX Command 'B'
First Segment = 0 NOTE: Extra bytes
Last Segment = 1 10-Byte between buffers are
Buffer Size = 17 Data Start Offset not transmitted
TX Command 'B'
Packet Length = 115
TX Checksum Enable = 1
init
Idle
RX Interrupt
Read RX
Status
DWORD
Read RX
Packet
init
Read
RX_FIFO_
INf
Read RX
Status
DWORD
Host Read
Order 31 0
1st Optional offset DWORD0
2nd .
.
.
.
.
.
Figure 3-27 shows the RX packet format when the RX checksum is enabled. The RX checksum data appended to the
data payload is treated just as an additional 4-bytes within the RX Data FIFO. The RX checksum is enabled by setting
the RXCOE_EN bit in the COE_CR—Checksum Offload Engine Control Register. For more information on the RX
checksum, refer to Section 3.6.1, "Receive Checksum Offload Engine (RXCOE)".
Host Read
Order 31 0
1st Optional offset DWORD0
2nd .
.
.
.
.
.
Bits Description
30 Filtering Fail. When set, this bit indicates that the associated frame failed the address recognizing
filtering.
29:16 Packet Length. The size, in bytes, of the corresponding received frame.
15 Error Status (ES). When set this bit indicates that the MIL has reported an error. This bit is the
Internal logical “or” of bits 11,7,6 and 1.
13 Broadcast Frame. When set, this bit indicates that the received frame has a Broadcast address.
12 Length Error (LE). When set, this bit indicates that the actual length does not match with the
length/type field of the received frame.
11 Runt Frame. When set, this bit indicates that frame was prematurely terminated before the collision
window (64 bytes). Runt frames are passed on to the host only if the Pass Bad Frames bit MAC_CR
Bit [16] is set.
10 Multicast Frame. When set, this bit indicates that the received frame has a Multicast address.
Bits Description
7 Frame Too Long. When set, this bit indicates that the frame length exceeds the maximum Ethernet
specification of 1518 bytes. This is only a frame too long indication and will not cause the frame
reception to be truncated.
6 Collision Seen. When set, this bit indicates that the frame has seen a collision after the collision
window. This indicates that a late collision has occurred.
5 Frame Type. When set, this bit indicates that the frame is an Ethernet-type frame (Length/Type field
in the frame is greater than 1500). When reset, it indicates the incoming frame was an 802.3 type
frame. This bit is not set for Runt frames less than 14 bytes.
4 Receive Watchdog time-out. When set, this bit indicates that the incoming frame is greater than
2048 bytes through 2560 bytes, therefore expiring the Receive Watchdog Timer.
3 MII Error. When set, this bit indicates that a receive error (RX_ER asserted) was detected during
frame reception.
2 Dribbling Bit. When set, this bit indicates that the frame contained a non-integer multiple of 8 bits.
This error is reported only if the number of dribbling bits in the last byte is 4 in the MII operating mode,
or at least 3 in the 10 Mbps operating mode. This bit will not be set when the collision seen bit[6] is
set. If set and the CRC error bit[1] is cleared, then the packet is considered to be valid.
1 CRC Error. When set, this bit indicates that a CRC error was detected. This bit is also set when the
RX_ER pin is asserted during the reception of a frame even though the CRC may be correct. This bit
is not valid if the received frame is a Runt frame, or a late collision was detected or when the
Watchdog Time-out occurs.
100M
TX_CLK
PLL
MAC
NRZI MLT-3 Tx
NRZI MLT-3 MLT-3 Magnetics
Converter Converter Driver
MLT-3
11000 J First nibble of SSD, translated to “0101” Sent for rising TX_EN
following IDLE, else RX_ER
01101 T First nibble of ESD, causes de-assertion Sent for falling TX_EN
of CRS if followed by /R/, else assertion
of RX_ER
4.2.2 SCRAMBLING
Repeated data patterns (especially the IDLE code-group) can have power spectral densities with large narrow-band
peaks. Scrambling the data helps eliminate these peaks and spread the signal power more uniformly over the entire
channel bandwidth. This uniform spectral density is required by FCC regulations to prevent excessive EMI from being
radiated by the physical wiring.
The scrambler also performs the Parallel In Serial Out conversion (PISO) of the data.
100M
RX_CLK
PLL
MAC
25MHz by
Internal 25MHz 4B/5B 5 bits Descrambler
MII 25MHz by 4 bits MII
by 4 bits Decoder and SIPO
DSP: Timing
NRZI MLT-3
NRZI MLT-3 recovery, Equalizer
Converter Converter
and BLW Correction
A/D
MLT-3 Magnetics MLT-3 RJ45 MLT-3 CAT-5
Converter
6 bit Data
4.3.2 EQUALIZER, BASELINE WANDER CORRECTION AND CLOCK AND DATA RECOVERY
The 6 bits from the ADC are fed into the DSP block. The equalizer in the DSP section compensates for phase and ampli-
tude distortion caused by the physical channel consisting of magnetics, connectors, and CAT- 5 cable. The equalizer
can restore the signal for any good-quality CAT-5 cable between 1m and 150m.
If the DC content of the signal is such that the low-frequency components fall below the low frequency pole of the iso-
lation transformer, then the droop characteristics of the transformer will become significant and Baseline Wander (BLW)
on the received signal will result. To prevent corruption of the received data, the PHY corrects for BLW and can receive
the ANSI X3.263-1995 FDDI TP-PMD defined “killer packet” with no bit errors.
The 100M PLL generates multiple phases of the 125MHz clock. A multiplexer, controlled by the timing unit of the DSP,
selects the optimum phase for sampling the data. This is used as the received recovered clock. This clock is used to
extract the serial data from the received signal.
4.3.4 DESCRAMBLING
The descrambler performs an inverse function to the scrambler in the transmitter and also performs the Serial In Parallel
Out (SIPO) conversion of the data.
During reception of IDLE (/I/) symbols. the descrambler synchronizes its descrambler key to the incoming stream. Once
synchronization is achieved, the descrambler locks on this key and is able to descramble incoming data.
Special logic in the descrambler ensures synchronization with the remote PHY by searching for IDLE symbols within a
window of 4000 bytes (40us). This window ensures that a maximum packet size of 1514 bytes, allowed by the IEEE
802.3 standard, can be received with no interference. If no IDLE-symbols are detected within this time-period, receive
operation is aborted and the descrambler re-starts the synchronization process.
The descrambler can be bypassed by setting bit 0 of register 31.
4.3.5 ALIGNMENT
The de-scrambled signal is then aligned into 5-bit code-groups by recognizing the /J/K/ Start-of-Stream Delimiter (SSD)
pair at the start of a packet. Once the code-word alignment is determined, it is stored and utilized until the next start of
frame.
4.6 Auto-negotiation
The purpose of the Auto-negotiation function is to automatically configure the PHY to the optimum link parameters
based on the capabilities of its link partner. Auto-negotiation is a mechanism for exchanging configuration information
between two link-partners and automatically selecting the highest performance mode of operation supported by both
sides. Auto-negotiation is fully defined in clause 28 of the IEEE 802.3 specification.
Once auto-negotiation has completed, information about the resolved link can be passed back to the controller via the
internal Serial Management Interface (SMI). The results of the negotiation process are reflected in the Speed Indication
bits in register 31, as well as the Link Partner Ability Register (Register 5).
The auto-negotiation protocol is a purely physical layer activity and proceeds independently of the MAC controller.
The advertised capabilities of the PHY are stored in register 4 of the SMI registers. The default advertised by the PHY
is determined by user-defined on-chip signal options.
The following blocks are activated during an Auto-negotiation session:
• Auto-negotiation (digital)
• 100M ADC (analog)
• 100M PLL (analog)
• 100M equalizer/BLW/clock recovery (DSP)
• 10M SQUELCH (analog)
• 10M PLL (analog)
• 10M Transmitter (analog)
When enabled, auto-negotiation is started by the occurrence of one of the following events:
• Hardware reset
• Software reset
• Power-down reset
• Link status down
• Setting register 0, bit 9 high (auto-negotiation restart)
On detection of one of these events, the PHY begins auto-negotiation by transmitting bursts of Fast Link Pulses (FLP).
These are bursts of link pulses from the 10M transmitter. They are shaped as Normal Link Pulses and can pass uncor-
rupted down CAT-3 or CAT-5 cable. A Fast Link Pulse Burst consists of up to 33 pulses. The 17 odd-numbered pulses,
which are always present, frame the FLP burst. The 16 even-numbered pulses, which may be present or absent, contain
the data word being transmitted. Presence of a data pulse represents a “1”, while absence represents a “0”.
The data transmitted by an FLP burst is known as a “Link Code Word.” These are defined fully in IEEE 802.3 clause 28.
In summary, the PHY advertises 802.3 compliance in its selector field (the first 5 bits of the Link Code Word). It adver-
tises its technology ability according to the bits set in register 4 of the SMI registers.
There are 4 possible matches of the technology abilities. In the order of priority these are:
• 100M full-duplex (Highest priority)
• 100M half-duplex
• 10M full-duplex
• 10M half-duplex
If the full capabilities of the PHY are advertised (100M, full-duplex), and if the link partner is capable of 10M and 100M,
then auto-negotiation selects 100M as the highest performance mode. If the link partner is capable of half and full-duplex
modes, then auto-negotiation selects full-duplex as the highest performance operation.
Once a capability match has been determined, the link code words are repeated with the acknowledge bit set. Any dif-
ference in the main content of the link code words at this time will cause auto-negotiation to re-start. Auto-negotiation
will also re-start if not all of the required FLP bursts are received.
Writing register 4 bits [8:5] allows software control of the capabilities advertised by the PHY. Writing register 4 does not
automatically re-start auto-negotiation. Register 0, bit 9 must be set before the new abilities will be advertised. Auto-
negotiation can also be disabled via software by clearing register 0, bit 12.
The LAN9210 does not support “Next Page" capability.
CRS Behavior
Mode Speed Duplex Activity
(Note 4-1)
CRS Behavior
Mode Speed Duplex Activity
(Note 4-1)
Note 4-1 The LAN9210 10/100 PHY internal CRS signal operates in two modes: Active and Low. When in
Active mode, the internal CRS will transition high and low upon line activity, where a high value
indicates a carrier has been detected. In Low mode, the internal CRS stays low and does not indicate
carrier detection. The internal CRS signal and No Carrier (bit 10 of the TX Status word) cannot be
used as a verification method of transmitted packets when transmitting in 10/100 Mbps full-duplex
mode.
4.8 HP Auto-MDIX
HP Auto-MDIX facilitates the use of CAT-3 (10 Base-T) or CAT-5 (100 Base-T) media UTP interconnect cable without
consideration of interface wiring scheme. If a user plugs in either a direct connect LAN cable, or a cross-over patch
cable, as shown in Figure 4-3, the Microchip LAN9210 Auto-MDIX PHY is capable of configuring the TPO and TPI
twisted pair pins for correct transceiver operation.
The internal logic of the device detects the TX and RX pins of the connecting device. Since the RX and TX line pairs
are interchangeable, special PCB design considerations are needed to accommodate the symmetrical magnetics and
termination of an Auto-MDIX design.
The Auto-MDIX function can be disabled through an internal register 27.15, or the external control pins AMDIX_EN.
When disabled the TX and RX pins can be configured with the Channel Select (CH_SELECT) pin as desired.
The figure below shows the signal names at the RJ-45 connector, The mapping of these signals to the pins on
the LAN9210 is as follows:
TXP = TPO+
TXN = TPO-
RXP = TPI+
RXN = TPI-
FCh
RESERVED
B4h
EEPROM Port
B0h
ACh
A8h
MAC CSRPort
A4h
A0h
50h
4Ch TX Status FIFO PEEK
48h TX Status FIFO Port
44h RX Status FIFO PEEK
40h RX Status FIFO Port
3Ch
24h
20h TX Data FIFO Port
1Ch
04h
Base + 00h RX Data FIFO Port
Symbol Description
RO Read Only: If a register is read only, writes to this register have no effect.
R/W Read/Write: A register with this attribute can be read and written
R/WC Read/Write Clear: A register bit with this attribute can be read and written. However, a write of a 1
clears (sets to 0) the corresponding bit and a write of a 0 has no effect.
RC Read to Clear: A register bit with this attribute is cleared when read.
SC Self-Clearing
Reserved Certain bits within registers are listed as “Reserved”. Unless stated otherwise, these bits must be
Bits written with zeros for future compatibility. The values of these bits are not guaranteed when read.
Reserved Certain configuration registers within the LAN9210 are listed as “Reserved”. These registers are not
Registers guaranteed to return any particular value when read. These registers must not be written to or
modified by system failure; doing so could result in failure of the device and system.
Default At Reset - System reset or Software Reset - internal registers are set to their default states.
States The default states provide a minimum level of functionality needed to successfully bring up a system,
but do not necessarily provide desired or optimal configuration of the device. It is the responsibility
of the system initialization software to properly determine the operating parameters and optional
system features that are applicable, and to program the LAN9210 registers accordingly.
Base Address +
Symbol Register Name Default
Offset
This register contains the ID and Revision fields for this design.
31-16 Chip ID. This read-only field identifies this design RO 9210h
This register configures and indicates the state of the IRQ signal.
31:24 Interrupt Deassertion Interval (INT_DEAS). This field determines the R/W 0
Interrupt Request Deassertion Interval in multiples of 10 microseconds.
Setting this field to zero causes the device to disable the INT_DEAS
Interval, reset the interval counter, and issue any pending interrupts. If a
new, non-zero value is written to this field, any subsequent interrupts will
obey the new setting.
Note: This field does not apply to the PME interrupt.
23-15 Reserved RO -
12 Master Interrupt (IRQ_INT). This read-only bit indicates the state of the RO 0
internal IRQ line, regardless of the setting of the IRQ_EN bit, or the state
of the interrupt de-assertion function. When this bit is high, one of the
enabled interrupts is currently active.
11-9 Reserved RO -
8 IRQ Enable (IRQ_EN) – This bit controls the final interrupt output to the R/W 0
IRQ pin. When clear, the IRQ output is disabled and permanently
deasserted. This bit has no effect on any internal interrupt status bits.
7-5 Reserved RO -
4 IRQ Polarity (IRQ_POL) – When cleared, enables the IRQ line to R/W 0
function as an active low output. When set, the IRQ output is active high. NASR
When IRQ is configured as an open-drain output this field is ignored,
and the interrupt output is always active low.
3-1 Reserved RO -
0 IRQ Buffer Type (IRQ_TYPE) – When cleared, enables IRQ to function R/W 0
as an open-drain buffer for use in a Wired-Or Interrupt configuration. NASR
When set, the IRQ output is a Push-Pull driver. When configured as an
open-drain output the IRQ_POL field is ignored, and the interrupt output
is always active low.
This register contains the current status of the generated interrupts. Writing a 1 to the corresponding bits acknowledges
and clears the interrupt.
30-26 Reserved RO -
22 Reserved RO 0
21 TX IOC Interrupt (TX_IOC). When a buffer with the IOC flag set has R/WC 0
finished being loaded into the TX FIFO, this interrupt is generated.
20 RX DMA Interrupt (RXD_INT). This interrupt is issued when the amount R/WC 0
of data programmed in the RX DMA Count (RX_DMA_CNT) field of the
RX_CFG register has been transferred out of the RX FIFO.
19 GP Timer (GPT_INT). This interrupt is issued when the General Purpose R/WC 0
timer wraps past zero to FFFFh.
14 Receiver Error (RXE). Indicates that the receiver has encountered an R/WC 0
error. Please refer to Section 3.13.5, "Receiver Errors," on page 56 for a
description of the conditions that will cause an RXE.
12:11 Reserved RO -
10 TX Data FIFO Overrun Interrupt (TDFO). Generated when the TX data R/WC 0
FIFO is full, and another write is attempted.
9 TX Data FIFO Available Interrupt (TDFA). Generated when the TX data R/WC 0
FIFO available space is greater than the programmed level.
8 TX Status FIFO Full Interrupt (TSFF). Generated when the TX Status R/WC 0
FIFO is full.
7 TX Status FIFO Level Interrupt (TSFL). Generated when the TX Status R/WC 0
FIFO reaches the programmed level.
5 Reserved RO -
4 RX Status FIFO Full Interrupt (RSFF). Generated when the RX Status R/WC 0
FIFO is full.
3 RX Status FIFO Level Interrupt (RSFL). Generated when the RX Status R/WC 0
FIFO reaches the programmed level.
2-0 GPIO [2:0] (GPIOx_INT). Interrupts are generated from the GPIO’s. R/WC 000
These interrupts are configured through the GPIO_CFG register.
This register contains the interrupt masks for IRQ. Writing 1 to any of the bits enables the corresponding interrupt as a
source for IRQ. Bits in the INT_STS register will still reflect the status of the interrupt source regardless of whether the
source is enabled as an interrupt in this register.
30:26 Reserved RO -
22 Reserved RO 0
12:11 Reserved RO -
5 Reserved RO -
This register can be used to determine the byte ordering of the current configuration
This register configures the limits where the FIFO Controllers will generate system interrupts.
31-24 TX Data Available Level. The value in this field sets the level, in number R/W 48h
of 64 Byte blocks, at which the TX FIFO Available interrupt (TFDA) will be
generated. When the TX data FIFO free space is greater than this value a
TX FIFO Available interrupt (TDFA) will be generated.
23-16 TX Status Level. The value in this field sets the level, in number of R/W 00h
DWORDs, at which the TX Status FIFO Level interrupt (TSFL) will be
generated. When the TX Status FIFO used space is greater than this value
an TX Status FIFO Level interrupt (TSFL) will be generated.
15-8 Reserved RO -
7-0 RX Status Level. The value in this field sets the level, in number of R/W 00h
DWORDs, at which the RX Status FIFO Level interrupt (RSFL) will be
generated. When the RX Status FIFO used space is greater than this value
an RX Status FIFO Level interrupt (RSFL) will be generated.
31:30 RX End Alignment. This field specifies the alignment that must be R/W 00b
maintained on the last data transfer of a buffer. The LAN9210 will add
extra DWORDs of data up to the alignment specified in the table below.
The host is responsible for removing these extra DWORDs. This
mechanism can be used to maintain cache line alignment on host
processors.
Please refer to Table 5-2 for bit definitions
Note: The desired RX End Alignment must be set before reading a
packet. The RX end alignment can be changed between read-
ing receive packets, but must not be changed if the packet is
partially read.
29-28 Reserved RO -
27-16 RX DMA Count (RX_DMA_CNT). This 12-bit field indicates the amount R/W 000h
of data, in DWORDS, to be transferred out of the RX data FIFO before
asserting the RXD_INT. After being set, this field is decremented for each
DWORD of data that is read from the RX data FIFO. This field can be
overwritten with a new value before it reaches zero.
14-13 Reserved RO -
12-8 RX Data Offset (RXDOFF). This field controls the offset value, in bytes, R/W 00000
that is added to the beginning of an RX data packet. The start of the valid
data will be shifted by the number of bytes specified in this field. An offset
of 0-31 bytes is a valid number of offset bytes.
Note: The two LSBs of this field (D[9:8]) must not be modified while
the RX is running. The receiver must be halted, and all data
purged before these two bits can be modified. The upper three
bits (DWORD offset) may be modified while the receiver is run-
ning. Modifications to the upper bits will take affect on the next
DWORD read.
7-0 Reserved RO -
0 0 4-byte alignment
0 1 16-byte alignment
1 0 32-byte alignment
1 1 Reserved
This register controls the transmit functions on the LAN9210 Ethernet Controller.
31-16 Reserved. RO -
13-3 Reserved RO -
2 TX Status Allow Overrun (TXSAO). When this bit is cleared, data R/W 0
transmission is suspended if the TX Status FIFO becomes full. Setting this
bit high allows the transmitter to continue operation with a full TX Status
FIFO.
Note: This bit does not affect the operation of the TX Status FIFO Full
interrupt.
1 Transmitter Enable (TX_ON). When this bit is set (1), the transmitter is R/W 0
enabled. Any data in the TX FIFO will be sent. This bit is cleared
automatically when STOP_TX is set and the transmitter is halted.
0 Stop Transmitter (STOP_TX). When this bit is set (1), the transmitter will SC 0
finish the current frame, and will then stop transmitting. When the transmitter
has stopped this bit will clear. All writes to this bit are ignored while this bit
is high.
Note: The transmitter and receiver must be stopped before writing to this register. Refer to Section 3.12.8, "Stop-
ping and Starting the Transmitter," on page 51 and Section 3.13.4, "Stopping and Starting the Receiver,"
on page 56 for details on stopping the transmitter and receiver.
31 Reserved RO -
30 Reserved RO -
29 FIFO Port Endian Ordering (FPORTEND). This control bit determines the R/W 0
endianess of RX and TX data FIFO host accesses when accessed through NASR
the RX/TX Data FIFO ports, including the alias addresses (any access from
00h to 3Ch). When this bit is cleared, data FIFO port accesses utilize little
endian byte ordering. When this bit is set, data FIFO port accesses utilize
big endian byte ordering. Please refer to section Section 3.7.3, "Mixed
Endian Support," on page 26 for more information on this feature.
28 Direct FIFO Access Endian Ordering (FSELEND). This control bit R/W 0
determines the endianess of RX and TX data FIFO host accesses when NASR
accessed using the FIFO_SEL signal. When this bit is cleared, FIFO_SEL
accesses utilize little endian byte ordering. When this bit is set, FIFO_SEL
accesses utilize big endian byte ordering. Please refer to section Section
3.7.3, "Mixed Endian Support," on page 26 for more information on this
feature.
27-25 Reserved RO -
24 AMDIX_EN Strap State. This read-only bit reflects the state of the RO AMDIX
AMDIX_EN strap pin (pin 73). This pin can be overridden by PHY Registers Strap
27.15 and 27.13 Pin
23-21 Reserved RO
20 Must Be One (MBO). This bit must be set to “1” for normal device R/W 0
operation.
16-19 TX FIFO Size (TX_FIF_SZ). Sets the size of the TX FIFOs in 1KB values R/W 5h
to a maximum of 14KB. The TX Status FIFO consumes 512 bytes of the
space allocated by TX_FIF_SIZ, and the TX data FIFO consumes the
remaining space specified by TX_FIF_SZ. The minimum size of the TX
FIFOs is 2KB (TX data and status combined). The TX data FIFO is used for
both TX data and TX commands.
The RX Status and data FIFOs consume the remaining space, which is
equal to 16KB – TX_FIF_SIZ. See Section 5.3.9.1, "Allowable settings for
Configurable FIFO Memory Allocation," on page 77 for more information.
15-2 Reserved RO -
0 Soft Reset (SRST). Writing 1 generates a software initiated reset. This reset SC 0
generates a full reset of the MAC CSR’s. The SCSR’s (system command
and status registers) are reset except for any NASR bits. Soft reset also
clears any TX or RX errors (TXE/RXE). This bit is self-clearing.
Note:
• Do not attempt a soft reset unless the PHY is fully awake and opera-
tional. After a PHY reset, or when returning from a reduced power state,
the PHY must given adequate time to return to the operational state
before a soft reset can be issued.
• The LAN9210 must always be read at least once after power-up, reset,
or upon return from a power-saving state or write operations will not
function.
Note: The RX data FIFO is considered full 4 DWORDs before the length that is specified in the HW_CFG register.
TX Data FIFO Size TX Status FIFO RX Data FIFO Size RX Status FIFO
TX_FIF_SZ
(Bytes) Size (Bytes) (Bytes) Size (Bytes)
TX Data FIFO Size TX Status FIFO RX Data FIFO Size RX Status FIFO
TX_FIF_SZ
(Bytes) Size (Bytes) (Bytes) Size (Bytes)
31 RX Data FIFO Fast Forward (RX_FFWD): Writing a ‘1’ to this bit causes R/W 0b
the RX data FIFO to fast-forward to the start of the next frame. This bit will SC
remain high until the RX data FIFO fast-forward operation has completed.
No reads should be issued to the RX data FIFO while this bit is high.
Note: Please refer to section “Receive Data FIFO Fast Forward” on
page 53 for detailed information regarding the use of RX_FFWD.
30-0 Reserved RO -
This register contains the used space in the receive FIFOs of the LAN9210 Ethernet Controller.
31-24 Reserved RO -
23-16 RX Status FIFO Used Space (RXSUSED). Indicates the amount of space RO 00h
in DWORDs, used in the RX Status FIFO.
15-0 RX Data FIFO Used Space (RXDUSED).). Reads the amount of space in RO 0000h
bytes, used in the RX data FIFO. For each receive frame, this field is
incremented by the length of the receive data rounded up to the nearest
DWORD (if the payload does not end on a DWORD boundary).
This register contains the free space in the transmit data FIFO and the used space in the transmit status FIFO in the
LAN9210.
31-24 Reserved RO -
23-16 TX Status FIFO Used Space (TXSUSED). Indicates the amount of space RO 00h
in DWORDS used in the TX Status FIFO.
15-0 TX Data FIFO Free Space (TDFREE). Reads the amount of space in bytes, RO 1200h
available in the TX data FIFO. The application should never write more data
than is available, as indicated by this value.
This register controls the Power Management features. This register can be read while the LAN9210 is in a power sav-
ing mode.
Note: The LAN9210 must always be read at least once after power-up, reset, or upon return from a power-saving
state or write operations will not function.
31:14 RESERVED RO -
13-12 Power Management Mode (PM_MODE) – These bits set the LAN9210 into SC 00b
the appropriate Power Management mode. Special care must be taken when
modifying these bits.
Encoding:
11 RESERVED RO -
10 PHY Reset (PHY_RST) – Writing a ‘1’ to this bit resets the PHY. The internal SC 0b
logic automatically holds the PHY reset for a minimum of 100us. When the
PHY is released from reset, this bit is automatically cleared. All writes to this
bit are ignored while this bit is high.
9 Wake-On-Lan Enable (WOL_EN) – When set, the PME signal (if enabled R/W 0b
with PME_EN) will be asserted in accordance with the PME_IND bit upon a
WOL event. When set, the PME_INT will also be asserted upon a WOL
event, regardless of the setting of the PME_EN bit.
8 Energy-Detect Enable (ED_EN) - When set, the PME signal (if enabled with R/W 0b
PME_EN) will be asserted in accordance with the PME_IND bit upon an
Energy-Detect event. When set, the PME_INT will also be asserted upon an
Energy Detect event, regardless of the setting of the PME_EN bit.
7 RESERVED RO -
6 PME Buffer Type (PME_TYPE) – When cleared, enables PME to function R/W 0b
as an open-drain buffer for use in a Wired-Or configuration. When set, the NASR
PME output is a Push-Pull driver. When configured as an open-drain output
the PME_POL field is ignored, and the output is always active low.
5-4 WAKE-UP Status (WUPS) – This field indicates the cause of a wake-up R/WC 00
event detection as follows
WUPS bits are cleared by writing a ‘1’ to the appropriate bit. The device must
return to the D0 state (READY bit set) before these bits can be cleared.
Note: In order to clear this bit, it is required that all event sources be
cleared as well. The event sources are described in FIGURE 3-18:
PME and PME_INT Signal Generation on page 38.
3 PME indication (PME_IND). The PME signal can be configured as a pulsed R/W 0b
output or a static signal, which is asserted upon detection of a wake-up
event.
When set, the PME signal will pulse active for 50mS upon detection of a
wake-up event.
When clear, the PME signal is driven continuously upon detection of a wake-
up event.
2 PME Polarity (PME_POL). This bit controls the polarity of the PME signal. R/W 0b
When set, the PME output is an active high signal. When reset, it is active NASR
low. When PME is configured as an open-drain output this field is ignored,
and the output is always active low.
1 PME Enable (PME_EN). When set, this bit enables the external PME signal. R/W 0b
This bit does not affect the PME interrupt (PME_INT).
0 Device Ready (READY). When set, this bit indicates that LAN9210 is ready RO -
to be accessed. This register can be read when LAN9210 is in any power
management mode. Upon waking from any power management mode,
including power-up, the host processor can interrogate this field as an
indication when LAN9210 has stabilized and is fully alive. Reads and writes
of any other address are invalid until this bit is set.
Note: With the exception of HW_CFG and PMT_CTRL, read access to
any internal resources is forbidden while the READY bit is cleared.
Note: On power-up, this bit can be polled to indicate when a valid soft
reset (SRST) can be performed.
31 Reserved RO -
30:28 LED[3:1] enable (LEDx_EN). A ‘1’ sets the associated pin as an LED R/W 000
output. When cleared low, the pin functions as a GPIO signal.
LED1/GPIO0 – bit 28
LED2/GPIO1 – bit 29
LED3/GPIO2 – bit 30
27 Reserved RO -
26:24 GPIO Interrupt Polarity 0-2 (GPIO_INT_POL). When set high, a high logic R/W 000
level on the corresponding GPIO pin will set the corresponding INT_STS
register bit. When cleared low, a low logic level on the corresponding GPIO
pin will set the corresponding INT_STS register bit.
GPIO Interrupts must also be enabled in GPIOx_INT_EN in the INT_EN
register.
GPIO0 – bit 24
GPIO1 – bit 25
GPIO2 – bit 26
Note: GPIO inputs must be active for greater than 40nS to be recognized
as interrupt inputs.
23 Reserved RO -
22:20 EEPROM Enable (EEPR_EN). The value of this field determines the R/W 000
function of the external EEDIO and EECLK:
Please refer to Table 5-4 for the EEPROM Enable bit function definitions.
Note: The host must not change the function of the EEDIO and EECLK
pins when an EEPROM read or write cycle is in progress. Do not
use reserved settings.
19 Reserved RO -
18:16 GPIO Buffer Type 0-2 (GPIOBUFn). When set, the output buffer for the R/W 000
corresponding GPIO signal is configured as a push/pull driver. When
cleared, the corresponding GPIO set configured as an open-drain driver.
GPIO0 – bit 16
GPIO1 – bit 17
GPIO2 – bit 18
15:11 Reserved RO -
10:8 GPIO Direction 0-2 (GPDIRn). When set, enables the corresponding GPIO R/W 0000
as output. When cleared the GPIO is enabled as an input.
GPIO0 – bit 8
GPIO1 – bit 9
GPIO2 – bit 10
7:5 Reserved RO -
4:3 GPO Data 3-4 (GPODn). The value written is reflected on GPOn. R/W 00
GPO3 – bit 3
GPO4 – bit 4
2:0 GPIO Data 0-2 (GPIODn). When enabled as an output, the value written is R/W 000
reflected on GPIOn. When read, GPIOn reflects the current state of the
corresponding GPIO pin.
GPIO0 – bit 0
GPIO1 – bit 1
GPIO2 – bit 2
0 0 0 EEDIO EECLK
0 0 1 GPO3 GPO4
0 1 0 Reserved
0 1 1 GPO3 RX_DV
1 0 0 Reserved
1 0 1 TX_EN GPO4
1 1 0 TX_EN RX_DV
1 1 1 TX_CLK RX_CLK
This register configures the General Purpose timer. The GP Timer can be configured to generate host interrupts at inter-
vals defined in this register.
31-30 Reserved RO -
29 GP Timer Enable (TIMER_EN). When a one is written to this bit the GP R/W 0
Timer is put into the run state. When cleared, the GP Timer is halted. On
the 1 to 0 transition of this bit the GPT_LOAD field will be preset to FFFFh.
28-16 Reserved RO -
15-0 General Purpose Timer Pre-Load (GPT_LOAD). This value is pre-loaded R/W FFFFh
into the GP-Timer.
31-16 Reserved RO -
15-0 General Purpose Timer Current Count (GPT_CNT). This 16-bit field RO FFFFh
reflects the current value of the GP Timer.
This register controls how words from the host data bus are mapped to the CSRs and Data FIFOs inside the LAN9210.
The LAN9210 always sends data from the Transmit Data FIFO to the network so that the low order word is sent first,
and always receives data from the network to the Receive Data FIFO so that the low order word is received first.
31:0 Word Swap. If this field is set to 00000000h, or anything except R/W 00000000h
0xFFFFFFFFh, the LAN9210 maps words with address bit A[1]=1 to the NASR
high order words of the CSRs and Data FIFOs, and words with address bit
A[1]=0 to the low order words of the CSRs and Data FIFOs. If this field is
set to 0xFFFFFFFFh, the LAN9210 maps words with address bit A[1]=1 to
the low order words of the CSRs and Data FIFOs, and words with address
bit A[1]=0 to the high order words of the CSRs and Data FIFOs.
Note: Word swap is used in conjunction with the mixed endian function-
ality to determine the final byte ordering. Refer to Section 3.7.3,
"Mixed Endian Support" for more information.
This register indicates the number of receive frames that have been dropped.
31-0 RX Dropped Frame Counter (RX_DFC). This counter is incremented every RC 00000000h
time a receive frame is dropped. RX_DFC is cleared on any read of this
register.
An interrupt can be issued when this counter passes through its halfway
point (7FFFFFFFh to 80000000h).
This register is used to control the read and write operations with the MAC CSR’s.
31 CSR Busy. When a 1 is written into this bit, the read or write operation is SC 0
performed to the specified MAC CSR. This bit will remain set until the
operation is complete. In the case of a read this means that the host can
read valid data from the data register. The MAC_CSR_CMD and
MAC_CSR_DATA registers should not be modified until this bit is cleared.
30 R/nW. When set, this bit indicates that the host is requesting a read R/W 0
operation. When clear, the host is performing a write.
29-8 Reserved. RO -
7-0 CSR Address. The 8-bit value in this field selects which MAC CSR will be R/W 00h
accessed with the read or write operation.
This register is used in conjunction with the MAC_CSR_CMD register to perform read and write operations with the MAC
CSR’s.
31-0 MAC CSR Data. Value read from or written to the MAC CSR’s. R/W 00000000h
This register configures the mechanism that controls both the automatic, and software-initiated transmission of pause
frames and back pressure.
Note: The LAN9210 will not transmit pause frames or assert back pressure if the transmitter is disabled.
31:24 Reserved RO -
23:16 Automatic Flow Control High Level (AFC_HI). Specifies, in multiples of R/W 00h
64 bytes, the level at which flow control will trigger. When this limit is
reached the chip will apply back pressure or will transmit a pause frame as
programmed in bits [3:0] of this register.
During half-duplex operation each incoming frame that matches the criteria
in bits [3:0] of this register will be jammed for the period set in the
BACK_DUR field.
15:8 Automatic Flow Control Low Level (AFC_LO). Specifies, in multiples of R/W 00h
64 bytes, the level at which a pause frame is transmitted with a pause time
setting of zero. When the amount of data in the RX data FIFO falls below
this level the pause frame is transmitted. A pause time value of zero
instructs the other transmitting device to immediately resume transmission.
The zero time pause frame will only be transmitted if the RX data FIFO had
reached the AFC_HI level and a pause frame was sent. A zero pause time
frame is sent whenever automatic flow control in enabled in bits [3:0] of this
register.
Note: When automatic flow control is enabled the AFC_LO setting must
always be less than the AFC_HI setting.
3 Flow Control on Multicast Frame (FCMULT). When this bit is set, the R/W 0
LAN9210 will assert back pressure when the AFC level is reached and a
multicast frame is received. This field has no function in full-duplex mode.
2 Flow Control on Broadcast Frame (FCBRD). When this bit is set, the R/W 0
LAN9210 will assert back pressure when the AFC level is reached and a
broadcast frame is received. This field has no function in full-duplex mode.
1 Flow Control on Address Decode (FCADD). When this bit is set, the R/W 0
LAN9210 will assert back pressure when the AFC level is reached and a
frame addressed to the LAN9210 is received. This field has no function in
full-duplex mode.
0 Flow Control on Any Frame (FCANY). When this bit is set, the LAN9210 R/W 0
will assert back pressure, or transmit a pause frame when the AFC level is
reached and any frame is received. Setting this bit enables full-duplex flow
control when the LAN9210 is operating in full-duplex mode.
When this mode is enabled during half-duplex operation, the Flow Controller
does not decode the MAC address and will send a pause frame upon
receipt of a valid preamble (i.e., immediately at the beginning of the next
frame after the RX data FIFO level is reached).
When this mode is enabled during full-duplex operation, the Flow Controller
will immediately instruct the MAC to send a pause frame when the RX data
FIFO level is reached. The MAC will queue the pause frame transmission
for the next available window.
Backpressure Duration
0h 5uS 7.2uS
1h 10uS 12.2uS
2h 15uS 17.2uS
3h 25uS 27.2uS
4h 50uS 52.2uS
5h 100uS 102.2uS
6h 150uS 152.2uS
7h 200uS 202.2uS
8h 250uS 252.2uS
9h 300uS 302.2uS
Ah 350uS 352.2uS
Bh 400uS 402.2uS
Ch 450uS 452.2uS
Dh 500uS 502.2uS
Eh 550uS 552.2uS
Fh 600uS 602.2uS
This register is used to control the read and write operations with the Serial EEPROM.
31 EPC Busy: When a 1 is written into this bit, the operation specified in the SC 0
EPC command field is performed at the specified EEPROM address. This
bit will remain set until the operation is complete. In the case of a read this
means that the host can read valid data from the E2P data register. The
E2P_CMD and E2P_DATA registers should not be modified until this bit is
cleared. In the case where a write is attempted and an EEPROM is not
present, the EPC Busy remains busy until the EPC Time-out occurs. At that
time the busy bit is cleared.
Note: EPC busy will be high immediately following power-up or reset.
After the EEPROM controller has finished reading (or attempting
to read) the MAC address from the EEPROM the EPC Busy bit is
cleared.
30-28 EPC command. This field is used to issue commands to the EEPROM R/W 0
controller. The EPC will execute commands when the EPC Busy bit is set.
A new command must not be issued until the previous command completes.
This field is encoded as follows:
0 0 0 READ
0 0 1 EWDS
0 1 0 EWEN
0 1 1 WRITE
1 0 0 WRAL
1 0 1 ERASE
1 1 0 ERAL
1 1 1 Reload
READ (Read Location): This command will cause a read of the EEPROM
location pointed to by EPC Address. The result of the read is available in
the E2P_DATA register.
EWDS (Erase/Write Disable): After issued, the EEPROM will ignore erase
and write commands. To re-enable erase/write operations issue the EWEN
command.
EWEN (Erase/Write Enable): Enables the EEPROM for erase and write
operations. The EEPROM will allow erase and write operations until the
Erase/Write Disable command is sent, or until power is cycled.
Note: The EEPROM device will power-up in the erase/write-disabled
state. Any erase or write operations will fail until an Erase/Write
Enable command is issued.
27-10 Reserved. RO -
8 MAC Address Loaded. When set, this bit indicates that a valid EEPROM R/WC -
was found, and that the MAC address programming has completed
normally. This bit is set after a successful load of the MAC address after
power-up, or after a RELOAD command has completed
7-0 EPC Address. The 8-bit value in this field is used by the EEPROM R/W 00h
Controller to address the specific memory location in the Serial EEPROM.
This is a Byte aligned address.
This register is used in conjunction with the E2P_CMD register to perform read and write operations with the Serial
EEPROM.
31-8 Reserved RO -
7:0 EEPROM Data. Value read from or written to the EEPROM. R/W 00h
This register establishes the RX and TX operation modes and controls for address filtering and packet filtering.
Bits Description
31 Receive All Mode (RXALL). When set, all incoming packets will be received and passed on to the
address filtering Function for processing of the selected filtering mode on the received frame. Address
filtering then occurs and is reported in Receive Status. When reset, only frames that pass Destination
Address filtering will be sent to the Application.
30-24 Reserved
23 Disable Receive Own (RCVOWN). When set, the MAC disables the reception of frames when the
MII TX_EN signal is asserted. The MAC blocks the transmitted frame on the receive path. When reset,
the MAC receives all packets the PHY gives, including those transmitted by the MAC.This bit should
be reset when the Full Duplex Mode bit is set.
22 Reserved
21 Loopback operation Mode (LOOPBK). Selects the loop back operation modes for the MAC. This is
only for full duplex mode
1’b0: Normal: No feedback
1’b1: Internal: Through MII
In internal loopback mode, the TX frame is received by the Internal MII interface, and sent back to
the MAC without being sent to the PHY.
Note: When enabling or disabling the loopback mode it can take up to 10s for the mode change
to occur. The transmitter and receiver must be stopped and disabled when modifying the
LOOPBK bit. The transmitter or receiver should not be enabled within10s of modifying the
LOOPBK bit.
20 Full Duplex Mode (FDPX). When set, the MAC operates in Full-Duplex mode, in which it can transmit
and receive simultaneously. In Full-Duplex mode, the heartbeat check is disabled and the heartbeat
fail status should thus be ignored.
19 Pass All Multicast (MCPAS). When set, indicates that all incoming frames with a Multicast destination
address (first bit in the destination address field is 1) are received. Incoming frames with physical
address (Individual Address/Unicast) destinations are filtered and received only if the address matches
the MAC Address.
18 Promiscuous Mode (PRMS). When set, indicates that any incoming frame is received regardless of
its destination address.
17 Inverse filtering (INVFILT). When set, the address check Function operates in Inverse filtering mode.
This is valid only during Perfect filtering mode.
16 Pass Bad Frames (PASSBAD). When set, all incoming frames that passed address filtering are
received, including runt frames and collided frames.
15 Hash Only Filtering mode (HO). When set, the address check Function operates in the Imperfect
Address Filtering mode both for physical and multicast addresses
14 Reserved
Bits Description
13 Hash/Perfect Filtering Mode (HPFILT). When reset (0), the LAN9210 will implement a perfect
address filter on incoming frames according the address specified in the MAC address register.
When set (1), the address check Function does imperfect address filtering of multicast incoming
frames according to the hash table specified in the multicast hash table register.
If the Hash Only Filtering mode (HO) bit is set (1), then the physical (IA) are imperfect filtered too. If
the Hash Only Filtering mode (HO) bit is reset (0), then the IA addresses are perfect address filtered
according to the MAC Address register
12 Late Collision Control (LCOLL). When set, enables retransmission of the collided frame even after
the collision period (late collision). When reset, the MAC disables frame transmission on a late
collision. In any case, the Late Collision status is appropriately updated in the Transmit Packet status.
11 Disable Broadcast Frames (BCAST). When set, disables the reception of broadcast frames. When
reset, forwards all broadcast frames to the application.
Note: When wake-up frame detection is enabled via the WUEN bit of the WUCSR—Wake-up Con-
trol and Status Register, a broadcast wake-up frame will wake-up the device despite the
state of this bit.
10 Disable Retry (DISRTY). When set, the MAC attempts only one transmission. When a collision is
seen on the bus, the MAC ignores the current frame and goes to the next frame and a retry error is
reported in the Transmit status. When reset, the MAC attempts 16 transmissions before signaling a
retry error.
9 Reserved
8 Automatic Pad Stripping (PADSTR). When set, the MAC strips the pad field on all incoming frames,
if the length field is less than 46 bytes. The FCS field is also stripped, since it is computed at the
transmitting station based on the data and pad field characters, and is invalid for a received frame
that has had the pad characters stripped. Receive frames with a 46-byte or greater length field are
passed to the Application unmodified (FCS is not stripped). When reset, the MAC passes all incoming
frames to the host unmodified.
Note: When PADSTR is enabled, the RX Checksum Offload Engine must be disabled (bit 0
(RXCOE_EN) of the COE_CR—Checksum Offload Engine Control Register) and vice versa.
These functions cannot be enabled simultaneously.
Bits Description
7-6 BackOff Limit (BOLMT). The BOLMT bits allow the user to set its back-off limit in a relaxed or
aggressive mode. According to IEEE 802.3, the MAC has to wait for a random number [r] of slot-
times** after it detects a collision, where:
(eq.1)0 < r < 2K
The exponent K is dependent on how many times the current frame to be transmitted has been retried,
as follows:
(eq.2)K = min (n, 10) where n is the current number of retries.
If a frame has been retried three times, then K = 3 and r= 8 slot-times maximum. If it has been retried
12 times, then K = 10, and r = 1024 slot-times maximum.
An LFSR (linear feedback shift register) 20-bit counter emulates a 20bit random number generator,
from which r is obtained. Once a collision is detected, the number of the current retry of the current
frame is used to obtain K (eq.2). This value of K translates into the number of bits to use from the
LFSR counter. If the value of K is 3, the MAC takes the value in the first three bits of the LFSR counter
and uses it to count down to zero on every slot-time. This effectively causes the MAC to wait eight
slot-times. To give the user more flexibility, the BOLMT value forces the number of bits to be used
from the LFSR counter to a predetermined value as in the table below.
2’b00 10
2’b01 8
2’b10 4
2’b11 1
Thus, if the value of K = 10, the MAC will look at the BOLMT if it is 00, then use the lower ten bits of the LFSR
counter for the wait countdown. If the BOLMT is 10, then it will only use the value in the first four bits for the
wait countdown, etc.
**Slot-time = 512 bit times. (See IEEE 802.3 Spec., Secs. 4.2.3.25 and 4.4.2.1)
5 Deferral Check (DFCHK). When set, enables the deferral check in the MAC. The MAC will abort the
transmission attempt if it has deferred for more than 24,288 bit times. Deferral starts when the
transmitter is ready to transmit, but is prevented from doing so because the CRS is active. Defer time
is not cumulative. If the transmitter defers for 10,000 bit times, then transmits, collides, backs off, and
then has to defer again after completion of back-off, the deferral timer resets to 0 and restarts. When
reset, the deferral check is disabled in the MAC and the MAC defers indefinitely.
4 Reserved
3 Transmitter enable (TXEN). When set, the MAC’s transmitter is enabled and it will transmit frames
from the buffer onto the cable.
When reset, the MAC’s transmitter is disabled and will not transmit any frames.
2 Receiver Enable (RXEN). When set (1), the MAC’s receiver is enabled and will receive frames from
the internal PHY.
When reset, the MAC’s receiver is disabled and will not receive any frames from the internal PHY.
1-0 Reserved
The MAC Address High register contains the upper 16-bits of the physical address of the MAC. The contents of this
register are optionally loaded from the EEPROM at power-on through the EEPROM Controller if a programmed
EEPROM is detected. The least significant byte of this register (bits [7:0]) is loaded from address 0x05 of the EEPROM.
The second byte (bits [15:8]) is loaded from address 0x06 of the EEPROM. Please refer to Section 4.6 for more infor-
mation on the EEPROM. Section 5.4.3 details the byte ordering of the ADDRL and ADDRH registers with respect to the
reception of the Ethernet physical address.
Bits Description
31-16 Reserved
15-0 Physical Address [47:32]. This field contains the upper 16-bits (47:32) of the Physical Address of
the LAN9210 device. The content of this field is undefined until loaded from the EEPROM at power-
on. The host can update the contents of this field after the initialization process has completed.
The MAC Address Low register contains the lower 32 bits of the physical address of the MAC. The contents of this reg-
ister are optionally loaded from the EEPROM at power-on through the EEPROM Controller if a programmed EEPROM
is detected. The least significant byte of this register (bits [7:0]) is loaded from address 0x01 of the EEPROM. The most
significant byte of this register is loaded from address 0x04 of the EEPROM. Please refer to Section 4.6 for more infor-
mation on the EEPROM.
Bits Description
31-0 Physical Address [31:0]. This field contains the lower 32 bits (31:0) of the Physical Address of the
LAN9210 device. The content of this field is undefined until loaded from the EEPROM at power-on.
The host can update the contents of this field after the initialization process has completed.
Table 5-7 below illustrates the byte ordering of the ADDRL and ADDRH registers with respect to the reception of the
Ethernet physical address. Also shown is the correlation between the EEPROM addresses and ADDRL and ADDRH
registers.
As an example, if the desired Ethernet physical address is 12-34-56-78-9A-BC, the ADDRL and ADDRH registers would
be programmed as shown in Table 5-2. The values required to automatically load this configuration from the EEPROM
are also shown.
31 24 23 16 15 8 7 0
0x06 0xBC
xx xx 0xBC 0x9A 0x05 0x9A
0x04 0x78
ADDRH
0x03 0x56
31 24 23 16 15 8 7 0 0x02 0x34
0x01 0x12
0x78 0x56 0x34 0x12
0x00 0xA5
ADDRL EEPROM
Note: By convention, the left most byte of the Ethernet address (in this example 0x12) is the most significant byte
and is transmitted/received first.
The 64-bit Multicast table is used for group address filtering. For hash filtering, the contents of the destination address
in the incoming frame is used to index the contents of the Hash table. The most significant bit determines the register
to be used (Hi/Low), while the other five bits determine the bit within the register. A value of 00000 selects Bit 0 of the
Multicast Hash Table Lo register and a value of 11111 selects the Bit 31 of the Multicast Hash Table Hi register.
If the corresponding bit is 1, then the multicast frame is accepted. Otherwise, it is rejected. If the “Pass All Multicast” (MCPAS)
bit is set (1), then all multicast frames are accepted regardless of the multicast hash values.
The Multicast Hash Table Hi register contains the higher 32 bits of the hash table and the Multicast Hash Table Low
register contains the lower 32 bits of the hash table.
Bits Description
This register defines the lower 32-bits of the Multicast Hash Table. Please refer to Table 5.4.4, "HASHH—Multicast Hash
Table High Register" for further details.
Bits Description
Bits Description
31-16 Reserved
15-11 PHY Address: For every access to this register, this field must be set to 00001b.
10-6 MII Register Index (MIIRINDA): These bits select the desired MII register in the PHY.
5-2 Reserved
1 MII Write (MIIWnR): Setting this bit tells the PHY that this will be a write operation using the MII data
register. If this bit is not set, this will be a read operation, packing the data in the MII data register.
0 MII Busy (MIIBZY): This bit must be polled to determine when the MII register access is complete.
This bit must read a logical 0 before writing to this register and MII data register.
The LAN driver software must set (1) this bit in order for the LAN9210 to read or write any of the MII
PHY registers.
During a MII register access, this bit will be set, signifying a read or write access is in progress. The
MII data register must be kept valid until the MAC clears this bit during a PHY write operation. The
MII data register is invalid until the MAC has cleared this bit during a PHY read operation.
This register contains either the data to be written to the PHY register specified in the MII Access Register, or the read
data from the PHY register whose index is specified in the MII Access Register.
Bits Description
31-16 Reserved
15-0 MII Data. This contains the 16-bit value read from the PHY read operation or the 16-bit data value to
be written to the PHY before an MII write operation.
This register controls the generation and reception of the Control (Pause command) frames by the MAC’s flow control
block. The control frame fields are selected as specified in the 802.3x Specification and the Pause-Time value from this
register is used in the “Pause Time” field of the control frame. In full-duplex mode the FCBSY bit is set until the control
frame is transferred onto the cable. In half-duplex mode FCBSY is set while back pressure is being asserted. The host
has to make sure that the Busy bit is cleared before writing the register. The Pass Control Frame bit (FCPASS) does
not affect the sending of the frames, including Control Frames, to the Application Interface. The Flow Control Enable
(FCEN) bit enables the receive portion of the Flow Control block.
This register is used in conjunction with the AFC_CFG register in the Slave CSRs to configure flow control. Software
flow control is initiated using the AFC_CFG register.
Note: The LAN9210 will not transmit pause frames or assert back pressure if the transmitter is disabled.
Bits Description
31-16 Pause Time (FCPT). This field indicates the value to be used in the PAUSE TIME field in the control
frame. This field must be initialized before full-duplex automatic flow control is enabled.
15-3 Reserved
2 Pass Control Frames (FCPASS). When set, the MAC will pass the pause frame to the host. The
Application must accept or discard a received frame based on the Packet Filter control bit. The MAC
receives, decodes and performs the Pause function when a valid Pause frame is received in Full-
Duplex mode and when flow control is enabled (FCE bit set). When reset, the MAC resets the Packet
Filter bit in the Receive packet status.
The MAC always passes the data of all frames it receives (including Flow Control frames) to the
Application. Frames that do not pass Address filtering, as well as frames with errors, are passed to
the Application. The Application must discard or retain the received frame’s data based on the
received frame’s STATUS field. Filtering modes (Promiscuous mode, for example) take precedence
over the FCPASS bit.
1 Flow Control Enable (FCEN). When set, enables the MAC Flow Control function. The MAC decodes
all incoming frames for control frames; if it receives a valid control frame (PAUSE command), it
disables the transmitter for a specified time (Decoded pause time x slot time). When reset, the MAC
flow control function is disabled; the MAC does not decode frames for control frames.
Note: Flow Control is applicable when the MAC is set in Full Duplex Mode. In Half-Duplex mode,
this bit enables the Backpressure function to control the flow of received frames to the MAC.
0 Flow Control Busy (FCBSY). This bit is set high whenever a pause frame or back pressure is being
transmitted. This bit should read logical 0 before writing to the Flow Control (FLOW) register. During
a transfer of Control Frame, this bit continues to be set, signifying that a frame transmission is in
progress. After the PAUSE control frame’s transmission is complete, the MAC resets to 0.
Note:
• When writing this register the FCBSY bit must always be zero.
• Applications must always write a zero to this bit
This register contains the VLAN tag field to identify VLAN1 frames. For VLAN frames the legal frame length is increased
from 1518 bytes to 1522 bytes.
Bits Description
31-16 Reserved
15-0 VLAN1 Tag Identifier (VTI1). This contains the VLAN Tag field to identify the VLAN1 frames. This
field is compared with the 13th and 14th bytes of the incoming frames for VLAN1 frame detection.
If used, this register must be set to 0x8100.
This register contains the VLAN tag field to identify VLAN2 frames. For VLAN frames the legal frame length is increased
from 1518 bytes to 1522 bytes.
Bits Description
31-16 Reserved
15-0 VLAN2 Tag Identifier (VTI2). This contains the VLAN Tag field to identify the VLAN2 frames. This
field is compared with the 13th and 14th bytes of the incoming frames for VLAN2 frame detection.If
used, this register must be set to 0x8100.
Offset: B Attribute: WO
Bits Description
31-0 Wake-Up Frame Filter (WFF). Wake-Up Frame Filter (WFF). The Wake-up frame filter is configured
through this register using an indexing mechanism. After hardware reset, or soft reset, the MAC loads
the first value written to this location to the first DWORD in the Wake-up frame filter (filter 0 byte
mask). The second value written to this location is loaded to the second DWORD in the wake-up
frame filter (filter 1 byte mask) and so on. Once all eight DWORDs have been written, the internal
pointer will once again point to the first entry and the filter entries can be modified in the same manner.
Note: This is a write-only register.
This register contains data pertaining to the MAC’s remote wake-up status and capabilities.
Bits Description
31-10 Reserved
9 Global Unicast Enable (GUE). When set, the MAC wakes up from power-saving mode on receipt of
a global unicast frame. A global unicast frame has the MAC Address [0] bit set to 0.
8-7 Reserved
6 Remote Wake-Up Frame Received (WUFR). The MAC, upon receiving a valid Remote Wake-up
frame, sets this bit.
5 Magic Packet Received (MPR). The MAC, upon receiving a valid Magic Packet, sets this bit.
4-3 Reserved
2 Wake-Up Frame enabled (WUEN). When set, Remote Wake-Up mode is enabled and the MAC is
capable of detecting wake-up frames as programmed in the wake-up frame filter.
1 Magic Packet Enable (MPEN). When set, Magic Packet Wake-up mode is enabled.
0 Reserved
This register controls the transmit and receive checksum offload engines.
Bits Description
31-17 Reserved
16 TX Checksum Offload Engine Enable (TXCOE_EN). This bit enables/disables the Transmit COE.
This bit may only be changed if the TX data path is disabled.
15-2 Reserved
1 RX Checksum Offload Engine Mode (RXCOE_MODE) This register indicates whether the RXCOE
will check for VLAN tags or a SNAP header prior to beginning its checksum calculation. In its default
mode, the calculation will always begin 14 bytes into the frame.
0 RX Checksum Offload Engine Enable (RXCOE_EN). This bit enables/disables the Receive COE.
This bit may only be changed if the RX data path is disabled.
Note: The NASR (Not Affected by Software Reset) designation is only applicable when bit 15 of the PHY Basic
Control Register (Reset) is set.
Index
Register Name
(In Decimal)
15 Reset. 1 = software reset. Bit is self-clearing. For best results, when setting RW/SC 0
this bit do not set other bits in this register.
13 Speed Select. 1 = 100Mbps, 0 = 10Mbps. Ignored if Auto Negotiation is RW See Note 5-1
enabled (0.12 = 1).
10 Reserved RO 0
8 Duplex Mode. 1 = full duplex, 0 = half duplex. Ignored if Auto Negotiation RW See Note 5-1
is enabled (0.12 = 1).
6-0 Reserved RO 0
Note 5-1 The default value of this bit is determined by the auto-negotiation process.
12 10Base-T Full Duplex. 1 = 10Mbps with full duplex 0 = no 10Mbps with full RO 1
duplex ability
10-6 Reserved RO 0
15-0 PHY ID Number. Assigned to the 3rd through 18th bits of the RO 0x0007h
Organizationally Unique Identifier (OUI), respectively.
15-10 PHY ID Number Assigned to the 19th through 24th bits of the OUI. RO 0xC0C3h
15:14 Reserved RO 00
12 Reserved R/W 0
9 Reserved RO 0
Note 5-2 When both symmetric PAUSE and asymmetric PAUSE support are advertised (value of 11), the
device will only be configured to, at most, one of the two settings upon auto-negotiation completion.
15 Next Page. 1 = next page capable, 0 = no next page ability. This device RO 0
does not support next page ability.
14 Acknowledge. 1 = link code word received from partner 0 = link code word RO 0
not yet received
Note: This bit will always read 0
12 Reserved RO 0
15:5 Reserved RO 0
1 ENERGYON. Indicates whether energy is detected. This bit goes to a “0” if RO See Note 5-3
no valid energy is detected within 256ms. Reset to “1” by hardware reset,
unaffected by SW reset.
Note 5-3 The default value of this bit will vary dependent on the current link state of the line.
7:5 MODE: PHY Mode of operation. Refer to Table 5-9 for more details. RW, 111
NASR
[13,12,10,8] [8,7,6,5]
110 Reserved - Do not set the LAN9210 in this mode. N/A N/A
Note 5-4 When MODE=111, the register 0 bits 13 and 8 are variable dependent on the auto-negotiated speed
and duplex.
10 VCOOFF_LP: Forces the Receive PLL 10M to lock on the reference clock RW, 0
at all times: NASR
0 - Receive PLL 10M can lock on reference or line as needed (normal
operation)
1 - Receive PLL 10M is locked on the reference clock.
In this mode 10M data packets cannot be received.
3:0 Reserved: Read only - Writing to these bits have no effect. RO XXXXb
4 INT4. 1= Link Down (link status negated), 0= not source of interrupt RO/LH See Note 5-5
0 Reserved. RO/LH 0
Note 5-5 The default value of this bit will vary dependent on the current link state of the line.
15 - 13 Reserved RO 000b
Note 5-6 The default value of this bit is determined by the auto-negotiation process.
ID_REV 0 0
IRQ_CFG 165 1
INT_STS 165 1
INT_EN 165 1
BYTE_TEST 0 0
FIFO_INT 165 1
RX_CFG 165 1
TX_CFG 165 1
HW_CFG 165 1
RX_DP_CTRL 165 1
RX_FIFO_INF 0 0
TX_FIFO_INF 165 1
PMT_CTRL 330 2
GPIO_CFG 165 1
GPT_CFG 165 1
GPT_CNT 165 1
WORD_SWAP 165 1
FREE_RUN 330 2
RX_DROP 0 0
MAC_CSR_CMD 165 1
MAC_CSR_DATA 165 1
AFC_CFG 165 1
E2P_CMD 165 1
E2P_DATA 165 1
Note 6-1 This restriction is only applicable after a fast-forward operation has been completed and the
RX_FFWD bit has been cleared. Refer to Section 3.13.1.1, "Receive Data FIFO Fast Forward," on
page 53 for more information.
Note: Some registers have restrictions on the timing of back-to-back, write-read and read-read cycles.
A[7:1]
nCS, nRD
Data Bus
Note: A PIO Read cycle begins when both nCS and nRD are asserted. The cycle ends when either or both nCS
and nRD are deasserted. They may be asserted and deasserted in any order. Parameters tcsh and tcsl must
be extended using wait states to meet the tcycle minimum.
A[7:5]
A[4:1]
nCS, nRD
Data Bus
Note: A PIO Burst Read cycle begins when both nCS and nRD are asserted. The cycle ends when either or both
nCS and nRD are deasserted. They may be asserted and deasserted in any order.
FIFO_SEL
A[2:1]
nCS, nRD
Data Bus
Note: An RX Data FIFO Direct PIO Read cycle begins when both nCS and nRD are asserted. The cycle ends
when either or both nCS and nRD are de-asserted. They may be asserted and de-asserted in any order.
Parameters tcsh and tcsl must be extended using wait states to meet the tcycle minimum.
FIGURE 6-4: RX DATA FIFO DIRECT PIO BURST READ CYCLE TIMING
FIFO_SEL
A[2:1]
nCS, nRD
Data Bus
TABLE 6-6: RX DATA FIFO DIRECT PIO BURST READ CYCLE TIMING
Note: An RX Data FIFO Direct PIO Burst Read cycle begins when both nCS and nRD are asserted. The cycle
ends when either or both nCS and nRD are deasserted. They may be asserted and deasserted in any
order.
A[7:1]
nCS, nWR
Data Bus
Note: A PIO Write cycle begins when both nCS and nWR are asserted. The cycle ends when either or both nCS
and nWR are deasserted. They may be asserted and deasserted in any order. Parameters tcsh and tcsl
must be extended using wait states to meet the tcycle minimum.
FIFO_SEL
A[2:1]
nCS, nWR
Data Bus
Note: A TX Data FIFO Direct PIO Write cycle begins when both nCS and nWR are asserted. The cycle ends
when either or both nCS and nWR are deasserted. They may be asserted and deasserted in any order.
Parameters tcsh and tcsl must be extended using wait states to meet the tcycle minimum.
T6.1
nRESET
T6.2 T6.3
Configuration
signals
T6.4
Output drive
Note: Power dissipation is determined by operating frequency, temperature, and supply voltage, as well as exter-
nal source/sink requirements.
10BASE-T Operation
100BASE-TX Operation
Note 7-6 D0 = Normal Operation, D1 = WOL (Wake On LAN mode), D2= Low Power Energy Detect.
Note: The power measurements list below were taken under the following conditions:
Note: Power dissipation is determined by operating frequency, temperature, and supply voltage, as well as exter-
nal source/sink requirements.
10BASE-T Operation
100BASE-TX Operation
Note: The current measurements listed below were taken under the following conditions:
Note: Current consumption is determined by operating frequency, temperature, and supply voltage, as well as
external source/sink requirements.
Note: Above values do not include the supply current for the magnetics. Based on the recommended implemen-
tation, the maximum supply current needed for the magnetics is 108mA.
O8 Type Buffer
Peak Differential Output Voltage VPPH 950 - 1050 mVpk Note 7-9
High
Peak Differential Output Voltage VPPL -950 - -1050 mVpk Note 7-9
Low
Signal Rise & Fall Time TRF 3.0 - 5.0 nS Note 7-9
Note 7-9 Measured at the line side of the transformer, line replaced by 100 (+/- 1%) resistor.
Note 7-10 Offset from16 nS pulse width at 50% of pulse peak
Note 7-11 Measured differentially.
Note 7-13 The maximum allowable values for Frequency Tolerance and Frequency Stability are application
dependent. Since any particular application must meet the IEEE +/-50 PPM Total PPM Budget, the
combination of these two values must be approximately +/-45 PPM (allowing for aging).
Note 7-14 Frequency Deviation Over Time is also referred to as Aging.
Note 7-15 The total deviation for the Transmitter Clock Frequency is specified by IEEE 802.3u as
+/- 50 PPM.
Note 7-16 This number includes the pad, the bond wire and the lead frame. PCB capacitance is not included
in this value. The XTAL1/CLKIN and XTAL2 pin and PCB capacitance values are required to
accurately calculate the value of the two external load capacitors. These two external load capacitors
determine the accuracy of the 25.000 MHz frequency.
DS00002415A-page 133
LAN9210
Section 5.3.23, "E2P_CMD Corrected MAC Address Loaded (bit 8) type from
– EEPROM Command “RO” to “R/WC”
Register," on page 89
Table 7-7 on page 131 Updated crystal specifications:
Drive Level: 300uW
ESR: 50 Ohms.
Rev. 2.3 Note 7-8 on page 130 Note following I/O Buffer Characteristics table
(08-18-08) modified:
Table 7-3 on page 128 Added 1.8V Analog Supply Current (VDD_A18)
into the VDD_IO supply current and removed the
1.8V row.
Rev. 2.1 Section 1.1, "Block Removed the system memory block and arrow
(05-13-08) Diagram" above the microprocessor/ microcontroller
Rev. 2.0 Section 7.6, "DC Electrical Input leakage current values added
(04-11-08) Specifications," on page 129
Rev. 1.92 2.0 Pin Description and Pin assignment information re-organized into
(10-22-07) Configuration on page 8 separate table.
Transmit Checksum Offload Note added indicating the proper usage of the TX
Engine (TXCOE) section of checksum preamble (DWORD alignment).
Section 3.0, "Functional
Description," on page 15.
EECLK pin description in Note added to EECLK pin description to indicate
2.0 Pin Description and proper usage.
Configuration on page 8
CUSTOMER SUPPORT
Users of Microchip products can receive assistance through several channels:
• Distributor or Representative
• Local Sales Office
• Field Application Engineer (FAE)
• Technical Support
Customers should contact their distributor, representative or field application engineer (FAE) for support. Local sales
offices are also available to help customers. A listing of sales offices and locations is included in the back of this docu-
ment.
Technical support is available through the web site at: http://www.microchip.com/support
Device: LAN9210
Note the following details of the code protection feature on Microchip devices:
• Microchip products meet the specification contained in their particular Microchip Data Sheet.
• Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the
intended manner and under normal conditions.
• There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our
knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip’s Data
Sheets. Most likely, the person doing so is engaged in theft of intellectual property.
• Microchip is willing to work with the customer who is concerned about the integrity of their code.
• Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not
mean that we are guaranteeing the product as “unbreakable.”
Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our
products. Attempts to break Microchip’s code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts
allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act.
Information contained in this publication regarding device applications and the like is provided only for your convenience and may be
superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO
REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR
OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE,
MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Micro-
chip devices in life support and/or safety applications is entirely at the buyer’s risk, and the buyer agrees to defend, indemnify and hold
harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or
otherwise, under any Microchip intellectual property rights unless otherwise stated.
Trademarks
The Microchip name and logo, the Microchip logo, AnyRate, AVR, AVR logo, AVR Freaks, BeaconThings, BitCloud, CryptoMemory, CryptoRF,
dsPIC, FlashFlex, flexPWR, Heldo, JukeBlox, KEELOQ, KEELOQ logo, Kleer, LANCheck, LINK MD, maXStylus, maXTouch, MediaLB, megaAVR,
MOST, MOST logo, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 logo, Prochip Designer, QTouch, RightTouch, SAM-BA, SpyNIC,
SST, SST Logo, SuperFlash, tinyAVR, UNI/O, and XMEGA are registered trademarks of Microchip Technology Incorporated in the U.S.A. and
other countries.
ClockWorks, The Embedded Control Solutions Company, EtherSynch, Hyper Speed Control, HyperLight Load, IntelliMOS, mTouch, Precision
Edge, and Quiet-Wire are registered trademarks of Microchip Technology Incorporated in the U.S.A.
Adjacent Key Suppression, AKS, Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, BodyCom, chipKIT, chipKIT logo, CodeGuard,
CryptoAuthentication, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net, Dynamic Average Matching, DAM, ECAN,
EtherGREEN, In-Circuit Serial Programming, ICSP, Inter-Chip Connectivity, JitterBlocker, KleerNet, KleerNet logo, Mindi, MiWi, motorBench,
MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM, PICDEM.net, PICkit,
PICtail, PureSilicon, QMatrix, RightTouch logo, REAL ICE, Ripple Blocker, SAM-ICE, Serial Quad I/O, SMART-I.S., SQI, SuperSwitcher,
SuperSwitcher II, Total Endurance, TSHARC, USBCheck, VariSense, ViewSpan, WiperLock, Wireless DNA, and ZENA are trademarks of
Microchip Technology Incorporated in the U.S.A. and other countries.
SQTP is a service mark of Microchip Technology Incorporated in the U.S.A.
Silicon Storage Technology is a registered trademark of Microchip Technology Inc. in other countries.
GestIC is a registered trademark of Microchip Technology Germany II GmbH & Co. KG, a subsidiary of Microchip Technology Inc., in other
countries.
All other trademarks mentioned herein are property of their respective companies.
© 2006-2017, Microchip Technology Incorporated, All Rights Reserved.
ISBN: 9781522415152
QUALITY MANAGEMENT SYSTEM Microchip received ISO/TS-16949:2009 certification for its worldwide
headquarters, design and wafer fabrication facilities in Chandler and
CERTIFIED BY DNV Tempe, Arizona; Gresham, Oregon and design centers in California
and India. The Company’s quality system processes and procedures
== ISO/TS 16949 ==
are for its PIC® MCUs and dsPIC® DSCs, KEELOQ® code hopping
devices, Serial EEPROMs, microperipherals, nonvolatile memory and
analog products. In addition, Microchip’s quality system for the design
and manufacture of development systems is ISO 9001:2000 certified.