Single-Chip Ethernet Controller
with HP Auto-MDIX Support
and PCI Interface
PRODUCT FEATURES
Highlights
Optimized fo r embedded applications with 32-bit
RISC CPUs
Integra ted descriptor based scatter-gather DMA and
IRQ deassertion timer effectively increase network
throughput and reduce CPU loading
Integra ted Ethernet MAC with full-duplex support
Integra ted 10/100 Ethernet PHY with HP Auto-MDIX
support
3 2-bit, 33MHz, PCI 3.0 compliant interface
Re duced power operating modes with PCI Power
Management Specification 1.1 compliance
Sup ports multiple audio & video streams over
Ethernet
Target Applications
Ca ble, satellite, and IP set-top boxes
Digital televisions
Di gital video recorders
Ho me gateways
Di gital media clients/servers
Industrial au tomation systems
Indu strial/single board PC
Kio sk/POS enterprise equipment
Key Benefits
Integra ted High-Performance 10/100 Ethernet
Controller
— Fully compliant with IEEE802.3/802.3u
— Integrated Ethernet MAC and PHY
— 10BASE-T and 100BASE-TX support
— Full- and half-duplex support
— Full-duplex flow control
— Preamble generation and removal
— Automatic 32-bit CRC generation and checking
— Automatic payload padding and pad removal
— Loop-back modes
— Flexible address filtering modes
– One 48-bit perfect address
– 64 hash-filtered multicast addresses
– Pass all multicast
Datasheet
– Promiscuous mode
– Inverse filtering
– Pass all incoming with status report
— Wakeup packet support
— Integrated 10/100 Ethernet PHY
– Auto-negotiation
– Automatic polarity detection and correction
– Supports HP Auto-MDIX
– Supports energy-detect power down
— Support for 3 status LEDs
— Receive and transmit TCP checksum offload
PCI Interface
— PCI Local Bus Specification Revision 3.0 compliant
— 32-bit/33-MHz PCI bus
— Descriptor based scatter-gather DMA enables zero-
copy drivers
C omprehensive Power Management Features
— Supports PCI Bus Power Management Interface
Specification, Revision 1.1
— Supports optional wake from D3cold
(via configuration strap option when Vaux is available)
— Wake on LAN
— Wake on link status change (energy detect)
— Magic packet wakeup
Gene ral Purpose I/O
— 3 programmable GPIO pins
— 2 GPO pins
Su pport for Optional EEPROM
— Serial interface provided for EEPROM
— Used to store PCI and MAC address configuration
values
Misce llaneous Features
— Big/Little/Mixed endian support for registers,
descriptors, and buffers
— IRQ deassertion timer
— General purpose timer
Si ngle 3.3V Power Supply
— Integrated 1.8V regulator
Packaging
— Available in 128-pin VTQFP Lead-free RoHS Compliant
package
Environmental
— Available in commercial & industrial temperature ranges
construction purposes is not necessarily given. Although the information has been checked and is believed to be accurate, no responsibility is assumed for inaccuracies. SMSC
reserves the right to make changes to specifications and product descriptions at any time without notice. Contact your local SMSC sales office to obtain the latest specifications
before placing your product order. The provision of this information does not convey to the purchaser of the described semiconductor devices any licenses under any patent
rights or other intellectual property rights of SMSC or others. All sales are expressly conditional on your agreement to the terms and conditions of the most recently da ted
version of SMSC's standard Terms of Sale Agreement dated before the date of your order (the "Terms of Sale Agreement"). The product may contain design defects or errors
known as anomalies which may cause the product's functions to deviate from published specifications. Anomaly sheets are available upon request. SMSC products are not
designed, intended, authorized or warranted for use in any life support or other application where product failure could cause or contribute to personal injury or severe property
damage. Any and all such uses without prior written approval of an Officer of SMSC and further testing and/or modification will be fully at the risk of the customer. Copies of
this document or other SMSC literature, as well as the Terms of Sale Agreement, may be obtained by visiting SMSC’s website at http://www.smsc.com. SMSC is a registered
trademark of Standard Microsystems Corporation (“SMSC”). Product names and company names are the trademarks of their respective holders.
SMSC DISCLAIMS AND EXCLUDES ANY AND ALL WARRANTIES, INCLUDING WITHOUT LIMITATION ANY AND ALL IMPLIED WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND AGAINST INFRINGEMENT AND THE LIKE, AND ANY AND ALL WARRANTIES ARISING FROM ANY COURSE
OF DEALING OR USAGE OF TRADE. IN NO EVENT SHALL SMSC BE LIABLE FOR ANY DIRECT, INCIDENTAL, INDIRECT, SPECIAL, PUNITIVE, OR CONSEQUENTIAL
DAMAGES; OR FOR LOST DATA, PROFITS, SAVINGS OR REVENUES OF ANY KIND; REGARDLESS OF THE FORM OF ACTION, WHETHER BASED ON CONTRACT;
TORT; NEGLIGENCE OF SMSC OR OTHERS; STRICT LIABILITY; BREACH OF WARRANTY; OR OTHERWISE; WHETHER OR NOT ANY REMEDY OF BUYER IS HELD
TO HAVE FAILED OF ITS ESSENTIAL PURPOSE, AND WHETHER OR NOT SMSC HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
Revision 1.22 (09-25-08)2SMSC LAN9420/LAN9420i
DATASHEET
Single-Chip Ethernet Controller with HP Auto-MDIX Support and PCI Interface
LAN9420/LAN9420i is a full-featured, Fast Ethernet controller which allows for the easy and costeffective integration of Fast Ethernet into a PCI-based system. A system configuration diagram of
LAN9420/LAN9420i in a typical embedded environment can be seen in Figure 1.1, followed by an
internal block diagram of LAN9420/LAN9420i in Figure 1.2. LAN9420/LAN9420i consists of a PCI
Local Bus Specification Revision 3.0 compliant interface
Ethernet PHY.
LAN9420/LAN9420i provides full IEEE 802.3 compliance and all internal compo nents support full/halfduplex 10BASE-T, 100BASE-TX, and manual full-duplex flow control. The descriptor based scattergather DMA supports usage of zero-copy drivers, effectively increasing throughput while decreasing
Host load. The integrated IRQ deassertion timer allows a minimum IRQ deassertion time to be set,
providing reduced Host load and greater control over service routines. Automatic 32-bit CRC
generation/checking, automatic payload padding, and 2K jumbo packets (2048 byte) are supported.
Big, little, and mixed endian support provides independent control over regi ster, descriptor, and buffer
endianess. This feature enables easy integration into various ARM/MIPS/PowerPC designs.
LAN9420/LAN9420i supports the PCI Bus Power Management Interface Specification Revision 1.1 and
provides the optional ability to generate wake events in the D3cold state when Vaux is available. Wake
on LAN, wake on link status change (energy detect), and magic packet wakeup detection are also
supported, allowing for a range of power management options.
Single-Chip Ethernet Controller with HP Auto-MDIX Support and PCI Interface
Datasheet
, DMA Controller, Ethernet MAC, and 10/100
LAN9420/LAN9420i contains an EEPROM controller for connection to an optional EEPROM. This
allows for the automatic loading of static configuration data upon power-up or reset. When connected,
the EEPROM can be configured to load a predetermined MAC address, the PCI SSID, and the PCI
SSVID of LAN9420/LAN9420i.
In addition to the primary functionality described above, LAN9420/LAN9420i provides additional
features designed for extended functionality. These include a multipurpose 16-bit configurable General
Purpose Timer (GPT), a Free-Run Counter, a 3-pin configurable GPIO/LED interface, and 2 GPO pins.
All aspects of LAN9420/LAN9420i are managed via a set of memory mapped control and status
registers.
LAN9420/LAN9420i’s performance and features make it an ideal solution for many applications in the
consumer electronics, enterprise, and industrial automation markets. Targeted applications include: set
top boxes (cable, satellite and IP), digital televisions, digital video recorders, home gateways, digital
media clients/servers, industrial automation systems, industrial single board PCs, and kiosk/POS
enterprise equipment.
Revision 1.22 (09-25-08)12SMSC LAN9420/LAN9420i
DATASHEET
Single-Chip Ethernet Controller with HP Auto-MDIX Support and PCI Interface
Datasheet
1.3PCI Bridge
LAN9420/LAN9420i implements a PCI Local Bus Specification Revision 3.0 compliant interface,
supporting the PCI Bus Power Management Interface Specification Revision 1.1.It provides the PCI
Configuration Space Control and Status registers used to configure LAN9420/LAN9420i for PCI de vice
operation. Please refer to Section 3.2, "PCI Bridge (PCIB)," on page 23 for more information.
1.4DMA Controller
The DMA controller consists of independent Transmit and Receive engines and a control and status
register (CSR) space. The Transmit Engine transfers data from Host memory to the MAC Interface
Layer (MIL) while the Receive Engine transfers data from the MIL to Host memory. The controller
utilizes descriptors to efficiently move data from source to destination with minimal processor
intervention. Descriptors are DWORD aligned data structures in system memory that inform the DMA
controller of the location of data buffers in Host memory and also provide a mechanism for
communicating the status to the Host CPU. The DMA controller has been desig ned for packet-oriented
data transfer, such as frames in Ethernet. Zero copy DMA transfer is supported. Copy operations for
the purpose of data re-alignment are not required in the case where buffers are fragmented or not
aligned to a DWORD boundary. The controller can be programmed to interrupt the Host on the
occurrence of particular events, such as frame transmit or receive transfer completed, and other
normal, as well as error, conditions. Please refer to Section 3.4, "DMA Controller (DMAC)," on page 38
for more information.
1.5Ethernet MAC
The transmit and receive data paths are separate within the 10/100 Ethernet MAC, allowi ng the hi ghest
performance, especially in full duplex mode. The data paths connect to the PCI Bridge via a DMA
engine. The MAC also implements a CSR space used by the Host to obtain status and control its
operation. The MAC Interface Layer (MIL), within the MAC, contains a 2K Byte transmit and receive
FIFO. The MIL supports store and forward and operate on second frame mode for minimum interpacket gap. Please refer to Section 3.5, "10/100 Ethernet MAC," on page 53 for more information.
1.6Ethernet PHY
The PHY implements an IEEE 802.3 physical layer for twisted pair Ethernet applications. It can be
configured for either 100 Mbps (100BASE-TX) or 10 Mbps (10BASE-T) Ethernet operation in either full
or half duplex configurations. The PHY block includes support for auto-negotiation, auto-polarity
correction and Auto-MDIX. Minimal external components are required for the utilization of the
integrated PHY. Please refer to Section 3.6, "10/100 Ethernet PHY," on page 64 for more information.
1.7System Control Block
The System Control Block provides the following additional elements for system operation. These
elements are controlled via its System Control and Status Registers (SCSR). Please refer to Section
3.3, "System Control Block (SCB)," on page 28 for more information.
1.7.1Interrupt Controller
The Interrupt Controller (INT) can be programmed to issue a PCI interrupt to the Host on the
occurrence of various events. Please refer to Section 3.3.1, "Inte rrupt Controller," on page 28 for more
information.
SMSC LAN9420/LAN9420i13Revision 1.22 (09-25-08)
DATASHEET
Single-Chip Ethernet Controller with HP Auto-MDIX Support and PCI Interface
1.7.2PLL and Power Management
LAN9420/LAN9420i interfaces with a 25MHz crystal oscillator from which all internal clocks, with the
exception of PCI clock, are generated. The internal clocks are all genera ted by the PLL and Power
Management blocks. Various power savings modes exists that allow for the clocks to be shut down.
These modes are defined by the power state of the PCI function. Please refer to Section 3.7 , "Power
Management," on page 73 for more information.
1.7.3EEPROM Controller
LAN9420/LAN9420i provides support for an optional EEPROM via the EEPROM Controller. Please
refer to Section 3.3.5, "EEPROM Controller (EPC)," on page 31 for more information.
1.7.4GPIO/LED Controller
The 3-bit GPIO and 2-bit GPO (Multiplexed on the LED and EEPROM Pins) interface is managed by
the GPIO/LED Controller. It is accessible via the System Control and Status Registers (SCSR). The
GPIO signals can function as inputs, push-pull outputs and open drain outputs. The GPIOs can also
be configured to trigger interrupts with programmable polarity. The GPOs are outputs only and have
no means of generating interrupts.
Please refer to Section 4.2.5, "General Purpose Input/Output Config uration Register (GPIO_CFG)," on
page 92 for more information.
Datasheet
1.7.5General Purpose Timer
The General Purpose Timer has no dedicated function within LAN9420/LAN9420i and may be
programmed to issue a timed interrupt. Please refer to Section 3.3.3, "General Purpose Timer (GPT),"
on page 30 for more information.
1.7.6Free Run Counter
The Free Run Counter has no dedicated function w ithin LAN9420/LAN9420i and may be used by the
software drivers as a timebase. Please refer to Section 3.3.4, "Free-Run Counter (FRC)," on page 31
for more information.
1.8Control and Status Registers (CSR)
LAN9420/LAN9420i’s functions are controlled and monitored by the Host via the Con trol and Status
Registers (CSR). This register space includes registers that control and monitor the DMA controller
(DMA Control and Status Registers - DCSR), the MAC (MAC Control and Status Registers - MCSR),
the PHY (accessed indirectly through the MAC via the MII_ACCESS and MII_DATA registers), and the
elements of the System Control Block via the System Control and Status Registers (SCSR). The CSR
may be accessed be via I/O or memory operations. Big or Little Endian access is also configu rable.
Revision 1.22 (09-25-08)14SMSC LAN9420/LAN9420i
DATASHEET
Single-Chip Ethernet Controller with HP Auto-MDIX Support and PCI Interface
1PCI IDSELIDSELIPCIPCI IDSEL
1PCI RequestnREQOPCIPCI Re quest
1PCI GrantnGNTIPCIPCI Grant
1PCI Power
1Power GoodPWRGOODIS
1V
Ready
Ready
Select
Error
Error
Management
Event
DetectionVAUXDETIS
AUX
AD[31:0]IPCI/
nCBE[3:0]IPCI/
nIRDYIPCI/
nTRDYIPCI/
nDEVSELIPCI/
nPERRIPCI/
nSERRIPCI/
nPMEOPCIPCI Power Management Event
BUFFER
TYPEDESCRIPTION
OPCI
OPCI
OPCI
OPCI
OPCI
OPCI
OPCI
OPCI
OPCI
OPCI
(PD)
(PD)
PCI Cycle Frame
PCI Address and Data Bus
PCI Bus Command and Byte Enables
PCI Initiator Ready
PCI Target Ready
PCI Stop
PCI Device Select
PCI Parity
PCI Parity Error
PCI System Error
Note:This pin is an open drain output.
Note:This pin is a tri-state output.
Note:This pin is an open drain output.
PCI Bus Power Good: This pin is used to sense the
presence of PCI bus power during the D3 power
management state.
Note:This pin is pulled low through an internal pull-
down resistor
PCI Auxiliary Voltage Sense: This pin is used to sense
the presence of a 3.3V auxiliary supply in order to define
the PME support available.
Note:This pin is pulled low through an internal pull-
down resistor
Datasheet
Revision 1.22 (09-25-08)16SMSC LAN9420/LAN9420i
DATASHEET
Single-Chip Ethernet Controller with HP Auto-MDIX Support and PCI Interface
Datasheet
T able 2.2 EEPROM
NUM
PINSNAMESYMBOL
EEPROM DataEEDIOIS/O8EEPROM Data: This bi-directional pin can be connected
GPO3GPO3O8General Purpose Output 3: This pin can also function
1
TX_ENTX_ENO8TX_EN Signal Monitor: This pin can also be configured
TX_CLKTX_CLKO8TX_CLK Signal Monitor: This pin can also be configured
EEPROM Chip
1
Select
EEPROM
EECSO8Serial EEPROM Chip Select.
EECLKIS/O8
Clock
GPO4GPO4O8General Purpose Output 4: This pin can also function
1
RX_DVRX_DVO8RX_DV Signal Monitor: This pin can also be configured
RX_CLKRX_CLKO8RX_CLK Signal Monitor: This pin can also be
BUFFER
TYPEDESCRIPTION
to an optional serial EEPROM DIO.
as a general purpose output. The EECS pin is deasserted
so as to never unintentionally access the serial EEPROM.
to monitor the TX_EN signal on the internal MII port. The
EECS pin is deasserted so as to never unintentionally
access the serial EEPROM.
to monitor the TX_CLK signal on the internal MII port.
The EECS pin is deasserted so as to never
unintentionally access the serial EEPROM.
EEPROM Clock: Serial EEPROM Clock pin
(PU)
Note 2.1
as a general purpose output. The EECS pin is deasserted
so as to never unintentionally access the serial EEPROM.
to monitor the RX_DV signal on the internal MII port. The
EECS pin is deasserted so as to never unintentionally
access the serial EEPROM.
configured to monitor the RX_CLK signal on the internal
MII port. The EECS pin is deasserted so as to never
unintentionally access the serial EEPROM.
Note 2.1This pin is used for factory testing and is latched on power up. This pin is pulled high
through an internal resistor and must not be pulled low externally. This pin must be
augmented with an external resistor when connected to a load. The value of the resistor
must be such that the pin reaches its valid level before de-assertion of PCInRST following
power up. The “IS” input buffer type is enabled only during power up. The “IS” input buffer
type is disabled at all other times.
SMSC LAN9420/LAN9420i17Revision 1.22 (09-25-08)
DATASHEET
NUM
PINSNAMESYMBOL
General
GPIO0IS/O12/
Purpose I/O
data 0
1
nLED1 (Speed
nLED1OD12nLED1 (Speed Indicator): This pin can also function as
Indicator)
General
GPIO1IS/O12/
Purpose I/O
data 1
nLED2 (Link &
1
Activity
Indicator)
General
nLED2OD12nLED2 (Link & Activity Indicator): This pin can also
GPIO2IS/O12/
Purpose I/O
data 2
1
nLED3 (Full-
nLED3OD12nLED3 (Full-Duplex Indicator): This pin can also
Duplex
Indicator)
Single-Chip Ethernet Controller with HP Auto-MDIX Support and PCI Interface
Ta bl e 2.3 GPIO and LED Pins
BUFFER
TYPEDESCRIPTION
General Purpose I/O data 0: This general-purpose pin is
OD12
fully programmable as either push-pull output, open-drain
output or input by writing the GPIO_CFG configuration
register in the SCSR. GPIO pins are Schmitt-triggered
inputs.
the Ethernet speed indicator LED and is driven low when
the operating speed is 100Mbs, during auto-negotiatio n,
and when the cable is disconnected. This pin is drive n
high only during 10Mbs operation.
General Purpose I/O data 1: This general-purpose pin is
OD12
fully programmable as either push-pull output, open-drain
output or input by writing the GPIO_CFG configuration
register in the SCSR. GPIO pins are Schmitt-triggered
inputs.
function as the Ethernet Link and Activity Indicator LED
and is driven low (LED on) when LAN9420/LAN9420i
detects a valid link. This pin is pulsed high (LED off) for
80mS whenever transmit or receive activity is detected.
This pin is then driven low again for a minimum of 80mS,
after which time it will repeat the process if TX or RX
activity is detected. Effectively, LED2 is activated solid for
a link. When transmit or receive activity is sensed, LED2
will flash as an activity indicator.
General Purpose I/O data 2: This general-purpose pin is
OD12
fully programmable as either push-pull output, open-drain
output or input by writing the GPIO_CFG configuration
register in the SCSR. GPIO pins are Schmitt-triggered
inputs.
function as the Ethernet Full-Duplex Indicator LED and is
driven low when the link is operating in full-duple x mode.
Datasheet
Table 2.4 Configuration Pins
NUM
PINSNAMESYMBOL
1
Enable
AutoMDIX
AUTOMDIX_ENIS
BUFFER
TYPEDESCRIPTION
AutoMDIX Enable: Enables Auto-MDIX. Pull high or
(PU)
leave unconnected to enable Auto-MDIX, pull low to
disable Auto-MDIX.
Revision 1.22 (09-25-08)18SMSC LAN9420/LAN9420i
DATASHEET
Single-Chip Ethernet Controller with HP Auto-MDIX Support and PCI Interface
Datasheet
Table 2.5 PLL and Ethernet PHY Pins
NUM
PINSNAMESYMBOL
Crystal InputXIICLKCrystal Input: External 25MHz crystal input. This pin
1
1
1
Crystal
Output
Ethernet TX
Data Out
XOOCLKCry stal Output: External 25MHz crystal output.
TPO-AIOEthernet Transmit Data Out Negative: The transmit
Negative
1
Ethernet TX
Data Out
TPO+AIOEthernet Transmit Data Out Positive: The transmit
Positive
1
Ethernet RX
Data In
TPI-AIOEtherne t Receive Data In Negative: The receive data
Negative
1
Ethernet RX
Data In
TPI+AIOEthernet Receive Data In Positive: The receive data
Positive
1
PHY Bias
External
EXRESAIExternal PHY Bias Resistor: Used for the internal
Resistor
BUFFER
TYPEDESCRIPTION
can also be driven by a single-ended clock oscillator.
When this method is used, XO should be left
unconnected.
data outputs may be swapped internally with receive
data inputs when Auto-MDIX is enabled.
data outputs may be swapped internally with receive
data inputs when Auto-MDIX is enabled.
inputs may be swapped internally with transmit data
outputs when Auto-MDIX is enabled.
inputs may be swapped internally with transmit data
outputs when Auto-MDIX is enabled.
PHY bias circuits. Connect to an external 12.4K 1.0%
resistor to ground.
SMSC LAN9420/LAN9420i19Revision 1.22 (09-25-08)
DATASHEET
Single-Chip Ethernet Controller with HP Auto-MDIX Support and PCI Interface
Ta ble 2.6 Power and Ground Pins
Datasheet
NUM
PINSNAMESYMBOL
+3.3V
2
Analog
Power
VDD33AP+3.3V Analog Power Supply
Supply
+1.8V PLL
VDD18PLLP+1.8V PLL Power Supply: This pin must be connected
Power
1
1
1
Supply
+1.8V TX
Power
Supply
+3.3V
Master Bias
Power
VDD18TXP+1.8V Transmitter Power Supply: This pin must be
VDD33BIASP+3.3V Master Bias Power Supply
Supply
15
+3.3V I/O
Power
VDD33IOP+3.3V Power Supply for I/O Pins and Internal
BUFFER
TYPEDESCRIPTION
Refer to the LAN9420/LAN9420i application note for
connection information.
to VDD18CORE for proper operation.
Refer to the LAN9420/LAN9420i application note for
additional connection information.
connected to VDD18CORE for proper operation.
Refer to the LAN9420/LAN9420i application note for
additional connection information.
Refer to the LAN9420/LAN9420i application note for
additional connection information.
Regulator
Refer to the LAN9420/LAN9420i application note for
additional connection information.
21GroundVSSPCommon Ground for I/O Pins, Core, and Analog
Circuitry
3
+1.8V Core
Power
VDD18COREPDigital Core +1.8V Power Supply Output from
Internal Regulator
Refer to the LAN9420/LAN9420i application note for
additional connection information.
Table 2.7 No-Connect Pins
NUM
PINSNAMESYMBOL
BUFFER
TYPEDESCRIPTION
17No ConnectNC-No Connect: These pins must be left floating for
normal device operation.
Revision 1.22 (09-25-08)20SMSC LAN9420/LAN9420i
DATASHEET
Single-Chip Ethernet Controller with HP Auto-MDIX Support and PCI Interface
Single-Chip Ethernet Controller with HP Auto-MDIX Support and PCI Interface
2.2Buffer Types
BUFFER TYPEDESCRIPTION
ISSchmitt-triggered Input
O8Output with 8mA sink and 8mA source curre nt
O12Output with 12mA sink and 12mA source current
OD12Open-drain output with 12mA sink current
IPCIPCI compliant Input
OPCIPCI compliant Output
Datasheet
PU50uA (typical) internal pull-up. Unless otherwise noted in the pin description, internal pull-ups
PD50uA (typical) internal pull-down. Unless otherwise note d in the pin description, internal pull-
AIAnalog Input
AIOAnalo g bi-directional
ICLKCrystal oscillator input
OCLKCrystal oscillator output
PPower and Ground pin
are always enabled.
Note:Internal pull-up resistors prevent unconnected inputs from floating. Do not rely on
internal resistors to drive signals external to LAN9420/LAN9420i. W hen connected
to a load that must be pulled high, an external resistor must be added.
downs are always enabled.
Note:Internal pull-down resistors prevent unconnected inputs from floating. Do not rely
on internal resistors to drive signals external to LAN9420/LAN9420i. When
connected to a load that must be pulled low, an external resistor must be added.
Revision 1.22 (09-25-08)22SMSC LAN9420/LAN9420i
DATASHEET
Single-Chip Ethernet Controller with HP Auto-MDIX Support and PCI Interface
Datasheet
Chapter 3 Functional Description
3.1Functional Overview
The LAN9420/LAN9420i Ethernet Controller consists of five major fun ctional blocks. These blocks are:
PCI Bridge (PCIB)
System Control Block (SCB)
DMA Controller (DMAC)
10/100 Ethernet MAC
10/100 Ethernet PHY
The following sections discuss the features of each block. A block diagram of LAN9420/LAN 9420i is
shown in Figure 1.2 LAN9420/LAN 9420i Internal Block Diagram on page 11.
3.2PCI Bridge (PCIB)
The PCI Bridge (PCIB) facilitates LAN9420/LAN9420i’s operation on a PCI bus as a device. It has the
following features:
PCI Master Interface: This interface connects LAN9420/LAN9420i to the PCI bus when it is
functioning as a PCI Master. It is used by the DMA engines to directly access the PCI Host’s memory.
PCI Target Interface: This interface connects LAN9420/LAN9420i to the PCI bus when it is functioning
as a PCI Ta rget. It provides access to PCI Configuratio n Space Control and Status Register (CONFIG
CSR), and access to the Control and Status Registers (CSR) via I/O or Non-Prefetchable (NP) memory
accesses. In addition, Big/Little Endian support for the registers may be selected.
PCI Power Management Support: LAN9420/LAN9420i supports PCI Bus Power Management
Interface Specification Rev. 1.1. Refer to Section 3.7, "Power Management," on page 73 for more
information.
Interrupt Gating Logic: This logic controls assertion of the nINT signal to the Host system.
PCI Configuration Space Control and Status Registers (CONFIG CSR): The Host system controls
and monitors the LAN9420/LAN9420i device using registers in this space.
SMSC LAN9420/LAN9420i23Revision 1.22 (09-25-08)
DATASHEET
Single-Chip Ethernet Controller with HP Auto-MDIX Support and PCI Interface
3.2.1PCI Bridge (PCIB) Block Diagram
PCI Bridge (PCIB)
Datasheet
PCI
nPME
nINT
PCI Master
PCI Target
PME Gating
Interrupt Gating
Figure 3.1 PCI Bridge Block Diagram
PCI
Configuration
Space CSR
To/From DMAC Arbiter
To/From CSR Blocks
PM Related Signals
(To/From PM)
PM Signal (From PM)
r
(
F
o
)
m
T
I
N
Q
I
R
Revision 1.22 (09-25-08)24SMSC LAN9420/LAN9420i
DATASHEET
Single-Chip Ethernet Controller with HP Auto-MDIX Support and PCI Interface
Datasheet
3.2.2PCI Interface Environments
The PCIB supports only Device operation. It functions as a simple bridge, permitting
LAN9420/LAN9420i to act as a master/target PCI device on the PCI bus. The Host performs PCI
arbitration and is responsible for initializing configuration space for all devices on the bus. Figure 3.2
illustrates Device operation.
Host
System
PCI
Bus
PCI
Component
PCI
Component
PCIB
LAN9420
PCI
Component
Figure 3.2 Device Operation
3.2.3PCI Master Interface
The PCI Master Interface is used by the DMA engines to directly access the PCI Host’s memory. It is
used by the TX and RX DMA Controllers to access Host descriptor ring elements and Host DMA
buffers. No address translation occurs, as these entities are contained within the Host, which allocates
them within the flat PCI address space.
3.2.3.1PCI Master Transaction Errors
In the event of an error during a descriptor read or during a tra nsmit data read, the DMA controller will
generate a Master Bus Error Interrupt (MBERR_INT).
When an MBERR_INT is asserted, all subsequent transactions from the DMAC will be aborted. In
order to cleanly recover from this condition, a software reset or H/W reset must be performed. A
software reset is accomplished by setting the SRST bit of the BUS_MODE register.
Note: It is guaranteed that the MBERR_INT will be reported on the frame upon which the error
occurred as follows:
- Errors on descriptor reads will be aborted immediately.
- Errors on TX data will be reported either upon the data or the close descrip tor (if the error
occurs on the last data transfer).
- DMA RX data and descriptor write operations are posted and will therefore not generate the
MBERR_INT.
SMSC LAN9420/LAN9420i25Revision 1.22 (09-25-08)
DATASHEET
Single-Chip Ethernet Controller with HP Auto-MDIX Support and PCI Interface
3.2.4PCI Target Interface
The PCI target interface implements the address spaces listed in Table 3.1.
Table 3.1 PCI Address Spaces
SPACESIZERESOURCE
Configuration256 bytesPCI standard and PCIB-specific registers
BAR0...BAR2RESERVED
BAR31 KBControl and Status Registers (Non-prefetchable area)
BAR4256BControl and Status Registers (I/O area)
BAR5RESERVED
Expansion ROM-RESERVED
The PCI Configuration space is used to identify PCI Devices, configure memory ranges, and manage
interrupts. The Host initializes and configures the PCI Device during a plug-and-play process.
Datasheet
The PCI Target Interface supports 32-bit slave accesses only. Non 32-bit PCI target reads to
LAN9420/LAN9420i will result in a full 32-bit read. Non 32-bit PCI target writes to LAN9420/L AN9420i
will be silently discarded.
3.2.4.1PCI Configuration Space Registers
PCI Configuration Space Registers include the standard PCI header registers and PCIB extensions to
implement power management control/status registers. See Section 4.6, "PCI Configuration Space
CSR (CONFIG CSR)," on page 149 for further details. These registers exist in the co nfiguration space.
3.2.4.2Control and Status Registers (CSR)
The PCI Target Interface all ows PCI bus masters to directly access the LAN9420/LAN9420i Control
and Status registers via memory or I/O operations. Each set of operations has an associated address
range that defines it as follows:
The non-prefetchable (NP) address range is mapped in BAR3. No data prefetch is performed when
serving PCI transactions targeting this address range.
The I/O address range is mapped in BAR4.
3.2.4.2.1CSR ENDIA NNESS
The Non-Prefetchable address range contains a double mapping of the CSR. These mappings all ow
the registers to be accessed in little endian or big endian order. Figure 3.3, "CSR Double Endian
Mapping" illustrates the mapping. BA is the base address, as specified by BAR3.
Revision 1.22 (09-25-08)26SMSC LAN9420/LAN9420i
DATASHEET
Single-Chip Ethernet Controller with HP Auto-MDIX Support and PCI Interface
Datasheet
.
BA + 3FCh
CSR - Big Endian (512 Bytes)
BA + 200h
BA + 1FCh
CSR - Little Endian (512 Bytes)
BA (BAR3)
Figure 3.3 CSR Double Endian Mapping
3.2.4.2.2I/O MAPPING OF CSR
The I/O BAR (BAR4) is double mapped over the CSR space with the non-pre fetchable area. The CSR
big endian space is disabled, as the Host processors (Intel x86) that use the I/O BAR are little endian.
Note: A comparison of Figure 3.3 with Figure 3.4 indicates only the first 256 bytes of CSR little endian
space is addressable via the I/O BAR.
.
BA + 0FCh
CSR - Little Endian ( 256 Bytes)
BA (BAR4)
Figure 3.4 I/O Bar Mapping
3.2.4.3PCI Target Interface Transaction Errors
If the Host system attempts an unsupported cycle type when accessing the CSR via the PCI Target
Interface, a slave transaction error will result and the PCI Target Interface will generate a Slave Bus
Error Interrupt (SBERR_INT), if enabled. CSR may only be read or written as DWORD quantities and
any other type of access is unsupported and will result in the assertion of SBERR_INT. Non-DWORD
reads will return a DWORD while non-DWORD writes are silently discarded. In order to cleanly recover
from this condition, a software reset or H/W reset must be performed. A so ftware reset is accomplished
by setting the SRST bit of the BUS_MODE register.
3.2.4.4PCI Discard Timer
When the PCI master performs a read of LAN9420/LAN9420i, the PCI Bridge will fetch the data and
acknowledge the PCI transfer when data is available. If the PCI master malfunctions and does
complete the transaction within 32768 PCI clocks, LAN9420/LAN9420i wil l flush the data to prevent a
potential bus lock-up.
3.2.5Interrupt Gating Logic
I/O BAR and nonprefetchable memory
are double mapped to
the CSR space
One set of interrupts exists: PCI Host interrupts (PCI interrupts from LAN9420/LAN9420i to the PCI
Host). PCI Host interrupts result from the assertion of the internal IRQ signal from the Interrupt
Controller. Refer to Section 3.3.1, "Interrupt Controller," on page 28 for sources of this interrupt.
Figure 3.5 illustrates how interrupts are sourced by the Interrupt Controller to the PCIB and are
propagated to the Host. The Interrupt is passed on to the Host only when the Host has e nabled it by
setting bit 10 in the PCI Device Command Register. The Host may obtain interrupt status by reading
SMSC LAN9420/LAN9420i27Revision 1.22 (09-25-08)
DATASHEET
Single-Chip Ethernet Controller with HP Auto-MDIX Support and PCI Interface
Datasheet
Bit 3 of the PCI Device Status Register. The PCI Device Status Register and PCI Device Command
Register are standard registers in PCI Configuration Space. Please refer to Section 4.6, "PCI
Configuration Space CSR (CONFIG CSR)," on page 149 for details.
PCIB
Bit 3
PCI Device
Interrupt
Controller
IRQ
Status Register
RW
Bit 10
PCI Device
Command Register
nINT
(To Host)
Figure 3.5 Interrupt Generation
3.3System Control Block (SCB)
The System Control Block includes an interrupt controller, wake detection logic, a general-purpose
timer, a free-run counter and system control and status registers.
Interrupt Controller: The interrupt controller can be programmed to interrupt the Host system
applications on the occurrence of various events. The interrupt is routed to the Host system via the
PCIB.
Wake Detection Logic: This logic detects the occurrence of an enabled wake event and asserts the
PCI nPME signal, if enabled.
General Purpose Timer (GPT): The general purpose timer can be configured to generate a system
interrupt upon timeout.
Free-Run Counter (FRC): A 32-bit free-running counter with a 160 ns resolution.
EEPROM Controller (EPC): An optional, external, Serial EEPROM may be used to store the default
values for the MAC address, PCI Subsystem ID, and PCI Subsystem Vendor ID. In addition, it may
also be used for general data storage. The EEPROM controller provides LAN9420/LAN9420i access
to the EEPROM and permits the Host to read, write and erase its contents.
System Control and Status Registers (SCSR): These registers control system functions that are not
specific to the DMAC, MAC or PHY.
3.3.1Interrupt Controller
The Interrupt Controller handles the routing of all internal interrupt sources. Interrupts enter the
controller from various modules within LAN9420/LAN9420i. The Interrupt Controller drives the interrupt
request (IRQ) output to the PCI Bridge. The Interrupt Controller i s capable of generating PCI interrupts
on detection of the following internal events:
Single-Chip Ethernet Controller with HP Auto-MDIX Support and PCI Interface
Datasheet
General-purpose timer interrupt (GPT_INT)
General purpose Input/Output interrupt (GPIOx_INT)
Software interrupt (SW_INT)
Master bus error interrupt (MBERR_INT)
Slave bus error interrupt (SBERR_INT)
Wake event detection (WAKE_INT)
A Block diagram of the Interrupt Controller is shown in Figure 3.6
.
Interrupt Controller
SW_INT
(INT_STS Register)
0 to 1
DETECT
PHY_INT
RO
(INT_STS Register)
DMAC_INT
RO
(INT_STS Register)
WAKE_INT
RO
(INT_STS Register)
INT_DEAS[7:0]
(INT_CFG Register)
INT_DEAS_CLR
(INT_CFG Register)
Master Bus Error
Interrupt
Slave Bus Error
Interrupt
GPIO2 Interrupt
GPIO1 Interrupt
GPIO0 Interrupt
GP Timer Interrupt
PHY Interrupt
DMAC Interrupt
Wake Event Interrupt
SW_INT_EN
(INT_CTL Register)
MBERR_INT_EN
(INT_CTL Register)
SBERR_INT_EN
(INT_CTL Register)
GPIO2_INT_EN
(INT_CTL Register)
GPIO1_INT_EN
(INT_CTL Register)
GPIO0_INT_EN
(INT_CTL Register)
GPT_INT_EN
(INT_CTL Register)
PHY_INT_EN
(INT_CTL Register)
WAKE_INT_EN
(INT_CTL Register)
RW
MBERR_INT
(INT_STS Register)
RW
SBERR_INT
(INT_STS Register)
RW
GPIO2_INT
(INT_STS Register)
RW
GPIO1_INT
(INT_STS Register)
RW
GPIO0_INT
(INT_STS Register)
RW
GPT_INT
(INT_STS Register)
RW
RW
RW
RWRO
DEASSERTION
RW
TIMER
IRQ_EN
(INT_CTL Register)
IRQ_INT
(INT_CFG Register)
RW
RO
INT_DEAS_STS
(INT_CFG Register)
IRQ
(PCIB)
Figure 3.6 Interrupt Contr oller Block Diagram
The Interrupt Controller control and status register are contained within the System Control and Status
Registers (SCSR) block. The interrupt status register (INT_STS) reflects the current state of the
interrupt sources prior to qualification with their associated enables. The SW_INT, MBERR_INT,
SBERR_INT, GPIOx_INT, and GPT_INT are latched, and are cleared through the SCSR block upon a
SMSC LAN9420/LAN9420i29Revision 1.22 (09-25-08)
DATASHEET
Single-Chip Ethernet Controller with HP Auto-MDIX Support and PCI Interface
Datasheet
write of '1' to the corresponding status bit in the INT_STS register. The remaining interrupts are cleared
from the source CSR.
The Interrupt Controller receives the wake event detection interrupt (WAKE_INT) from the wake
detection logic. If enabled, the wake detection logic is able to generate an interrupt to the PCI Bridge
on detection of a MAC wakeup event (Wakeup Frame or Magic Packet), or on an Ethernet link status
change (energy detect).
Note: LAN9420/LAN9 420i can optionally generate a PCI interrupt in addition to assertion of nPME
on detection of a power management event. Generation of a PCI interrupt is not the typical
usage.
Unlike the other interrupt sources, the software interrupt (SW_INT) is asserted on a 0-to-1 transition
of its enable bit (SW_INT_EN). The DMAC interrupt is enabled in the DMA controller. All other
Interrupts are enabled through the INT_EN register. Setting an enable bit high enables the
corresponding interrupt as a source of the IRQ.
The Interrupt Controller contains an interrupt de-assertion timer. This timer guarantees a minimum
interrupt de-assertion period for the IRQ. The de-assertion timer has a resolution of 10us and is
programmable through the INT_CFG SCSR (refer to Section 4.2.4, "Interrupt Configuration Register
(INT_CFG)," on page 91). A setting of all zeros disables the de-assertion timer. The state of the
interrupt de-assertion timer is reflected by the interrupt de-assertion timer status bit (INT_DEAS_STS)
bit in the IRQ_CFG register. When this bit is set, the de-assertion timer is currently in a de-assertion
interval, and, with the exception of the WAKE_INT, all pending interrupts are blocked.
Note: The interrupt de-assertion timer does not affect WAKE_INT. This interrupt event is able to
assert IRQ regardless of the state of the de-assertion timer.
The IRQ_INT status bit in the INT_CFG register reflects the aggregate status of all interrupt sources.
If this status bit is set, one or more enabled interrupts are active. The IRQ_INT status bit is not affected
by the de-assertion timer.
The IRQ output is enabled/disabled by the IRQ_EN enable bit in the INT_CT L register. When this bit
is cleared, with the exception of WAKE_INT, all interrupts to the PCI Bridge are disabled. When set,
interrupts to the PCI Bridge are enabled.
Note: The IRQ_EN does not affect WAKE_INT. This interrupt event is able to assert IRQ regardless
of the state of IRQ_EN.
3.3.2Wake Event Detection Logic
LAN9420/LAN9420i supports the ability to generate wake interrupts on detection of a Magic Packet,
Wakeup Frame or Ethernet link status change (energy detect). When enabled to do so, the wake event
detection logic generates an interrupt to the Interrupt Controller. Refer to Section 3.7.6, "Detecting
Power Management Events," on page 80 for more info rmation on the wake event interrupt.
Wakeup frame detection must be enabled in the MAC before detection can occur. Likewise, the energy
detect interrupt must be enabled in the PHY before this interrupt can be used.
3.3.3General Purpose Timer (GPT)
The General Purpose Timer is a programmable device that can be used to generate periodic system
interrupts. The resolution of this timer is 100uS.
The GP Timer loads the GPT_CNT Register with the value in the GPT_LOAD field and begins counting
when the TIMER_EN bit is asserted (1). On a chip-level reset, or when the TIMER_EN bit changes
from asserted (1) to de-asserted (0), the GPT_LOAD field is initialized to FFFFh. The GPT_CNT
register is also initialized to FFFFh on a reset. Software can write the pre-load value into the
GPT_LOAD field at any time (e.g., before or after the TIMER_EN bit is asserted). The GPT Enable bit
TIMER_EN is located in the GPT_CFG register.
Revision 1.22 (09-25-08)30SMSC LAN9420/LAN9420i
DATASHEET
Loading...
+ 139 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.