Single-Chip Ethernet Controller with HP Auto-MDIX Support and PCI Interface
Datasheet
3.4.2
Data Descriptors and Buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 38
3.4.2.1
Receive Descriptors.......................................................................................................
41
3.4.2.2
Transmit descriptors.......................................................................................................
45
3.4.3
Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 49
3.4.4
Transmit Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 50
3.4.5
Receive Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.6
Receive Descriptor Acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.7
Suspend State Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 51
3.4.7.1
Transmit Engine.............................................................................................................
51
3.4.7.2
Receive Engine..............................................................................................................
3.4.8
Stopping Transmission and Reception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.9
TX Buffer Fragmentation Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 52
3.4.9.1 Calculating Worst-Case TX FIFO (MIL) Usage..............................................................
52
3.4.10
DMAC Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.11 DMAC Control and Status Registers (DCSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 52
3.5
10/100 Ethernet MAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 53
3.5.1
Flow Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 54
3.5.1.1
Full-Duplex Flow Control................................................................................................
54
3.5.2
Virtual Local Area Network (VLAN) Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 54
3.5.3
Address Filtering Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 55
3.5.3.1
Perfect Filtering..............................................................................................................
56
3.5.3.2 Hash Only Filtering Mode...............................................................................................
3.5.3.3
Hash Perfect Filtering ....................................................................................................
3.5.3.4
Inverse Filtering .............................................................................................................
3.5.4
Wakeup Frame Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 57
3.5.4.1
Magic Packet Detection .................................................................................................
59
3.5.5
Receive Checksum Offload Engine (RXCOE). . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 60
3.5.5.1
RX Checksum Calculation .............................................................................................
63
3.5.6
Transmit Checksum Offload Engine (TXCOE) . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 63
3.5.6.1
TX Checksum Calculation..............................................................................................
64
3.5.7
MAC Control and Status Registers (MCSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 64
3.6
10/100 Ethernet PHY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 64
3.6.1
100BASE-TX Transmit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 65
3.6.1.1
4B/5B Encoding .............................................................................................................
65
3.6.1.2
Scrambling .....................................................................................................................
66
3.6.1.3 NRZI and MLT3 Encoding .............................................................................................
67
3.6.1.4
100M Transmit Driver.....................................................................................................
3.6.1.5 100M Phase Lock Loop (PLL) .......................................................................................
3.6.2
100BASE-TX Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 67
3.6.2.1
100M Receive Input .......................................................................................................
3.6.2.2 Equalizer, Baseline Wander Correction and Clock and Data Recovery ........................
3.6.2.3 NRZI and MLT-3 Decoding ............................................................................................
68
3.6.2.4
Descrambling .................................................................................................................
3.6.2.5
Alignment .......................................................................................................................
3.6.2.6
5B/4B Decoding .............................................................................................................
3.6.2.7
Receiver Errors ..............................................................................................................
3.6.3
10BASE-T Transmit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 69
3.6.3.1 10M Transmit Data Across the Internal MII Bus ............................................................
69
3.6.3.2
Manchester Encoding ....................................................................................................
3.6.3.3
10M Transmit Drivers.....................................................................................................
3.6.4
10BASE-T Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.4.1 10M Receive Input and Squelch ....................................................................................
3.6.4.2
Manchester Decoding ....................................................................................................
3.6.4.3
Jabber Detection............................................................................................................
70
3.6.5
Auto-negotiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 70
Revision 1.22 (09-25-08)
4
SMSC LAN9420/LAN9420i
DATASHEET