82559 Fast Ethernet* Multifunction PCI/ CardBus Controller Networking Silicon Datasheet Product Features Optimum Integration for Lowest Cost Solution -- Integrated IEEE 802.3 10BASE-T and 100BASE-TX compatible PHY -- Glueless 32-bit PCI master interface -- Glueless CardBus master interface -- Modem interface for combination solutions in PCI, CardBus, and MiniPCI designs -- PXE Support in Combo Designs -- 128 Kbyte Flash interface -- Integrated power management functions -- Thin BGA 15mm2 package Wired for Management and Reduced Total Cost of Ownership -- Wired for Management support -- System Management Bus support for Total Cost of Ownership support -- Power management capabilities -- ACPI and PCI Power Management standards compliance -- Wake on "interesting" packets and link status change support -- Magic Packet* support -- Remote power up support High Performance Networking Functions -- Chained memory structure similar to the 82558, 82557, and 82596 -- Improved dynamic transmit chaining with multiple priorities transmit queues -- Backward compatible software to the 82558 and 82557 -- Full Duplex support at both 10 and 100 Mbps -- IEEE 802.3u Auto-Negotiation support -- 3 Kbyte transmit and 3 Kbyte receive FIFOs -- Fast back-to-back transmission support with minimum interframe spacing -- IEEE 802.3x 100BASE-TX Flow Control support -- Adaptive Technology -- TCP/UDP checksum offload capabilities Low Power Features -- Low power 3.3 V device -- Efficient dynamic standby mode -- Deep power down support -- Clockrun protocol support Order Number: 743892-004 Revision 2.2 May 2001 Information in this document is provided in connection with Intel products. No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted by this document. Except as provided in Intel's Terms and Conditions of Sale for such products, Intel assumes no liability whatsoever, and Intel disclaims any express or implied warranty, relating to sale and/or use of Intel products including liability or warranties relating to fitness for a particular purpose, merchantability, or infringement of any patent, copyright or other intellectual property right. Intel products are not intended for use in medical, life saving, or life sustaining applications. Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The 82559 may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request. Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order. Copies of documents which have an ordering number and are referenced in this document, or other Intel literature may be obtained by calling 1-800548-4725 or by visiting Intel's website at http://www.intel.com. Copyright (c) 2001, Intel Corporation. * Other product and corporate names may be trademarks of other companies and are used only for explanation and to the owners' benefit, without intent to infringe. Datasheet Networking Silicon -- 82559 Contents 1.0 Introduction......................................................................................................................... 1 1.1 1.2 1.3 2.0 82559 Architectural Overview ............................................................................................3 2.1 2.2 2.3 2.4 3.0 3.3 3.4 3.5 3.6 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 82559 Initialization............................................................................................... 15 4.1.1 Initialization Effects on 82559 Units ....................................................... 15 4.1.2 Initialization Effects on TCO Functionality .............................................. 16 PCI and CardBus Interface ................................................................................. 16 4.2.1 82559 Bus Operations............................................................................ 16 4.2.2 PCI Mode Pin ......................................................................................... 25 4.2.3 Clockrun Signal ...................................................................................... 25 4.2.4 Power Management Event and Card Status Change Signals................ 26 PCI Power Management .....................................................................................26 4.3.1 Power States ..........................................................................................26 4.3.2 Wake-up Events .....................................................................................31 CardBus Power Management ............................................................................. 32 Wake on LAN (Preboot Wake-up) .......................................................................32 Parallel Flash/Modem Interface........................................................................... 33 Serial EEPROM Interface.................................................................................... 33 10/100 Mbps CSMA/CD Unit............................................................................... 36 4.8.1 Full Duplex ............................................................................................. 37 4.8.2 Flow Control ........................................................................................... 37 4.8.3 Address Filtering Modifications .............................................................. 37 4.8.4 VLAN Support ........................................................................................ 37 Media Independent Interface (MII) Management Interface .................................38 82559 Physical Layer Functional Description ..................................................................39 5.1 Datasheet Signal Type Definitions ......................................................................................... 7 PCI Bus and CardBus Interface Signals ............................................................... 7 3.2.1 Address and Data Signals ....................................................................... 7 3.2.2 Interface Control Signals .........................................................................8 3.2.3 System and Power Management Signals ...............................................9 Local Memory Interface Signals .......................................................................... 10 System Management Bus (SMB) Interface Signals ........................................... 12 Testability Port Signals ....................................................................................... 12 PHY Signals ....................................................................................................... 12 82559 Media Access Control Functional Description....................................................... 15 4.1 5.0 Parallel Subsystem Overview................................................................................3 FIFO Subsystem Overview ................................................................................... 4 10/100 Mbps Serial CSMA/CD Unit Overview ......................................................5 10/100 Mbps Physical Layer Unit.......................................................................... 5 Signal Descriptions............................................................................................................. 7 3.1 3.2 4.0 82559 Overview .................................................................................................... 1 Features, Enhancements, and Changes to the 82559 from the 82558................. 1 Enhancements to the 82559 C-Step ..................................................................... 2 100BASE-TX PHY Unit ....................................................................................... 39 iii 82559 -- Networking Silicon 5.2 5.3 5.4 6.0 82559 Modem Functionality ............................................................................................. 49 6.1 6.2 6.3 7.0 System Functionality with a TCO Controller ....................................................... 51 System Functionality without a TCO Controller .................................................. 53 TCO Interface...................................................................................................... 53 7.3.1 SMB Alert Signal (SMBALRT#).............................................................. 53 7.3.2 Alert Response Address (ARA) Cycle.................................................... 54 PCI and CardBus Configuration Registers....................................................................... 55 8.1 iv PCI Address Mapping to the Modem .................................................................. 49 Modem Read and Write Cycles .......................................................................... 49 Modem and Preboot eXtension Environment Coexistence................................. 49 6.3.1 Programming Details.............................................................................. 49 6.3.2 Support Circuitry .................................................................................... 50 82559 TCO Functionality ................................................................................................. 51 7.1 7.2 7.3 8.0 5.1.1 100BASE-TX Transmit Clock Generation .............................................. 39 5.1.2 100BASE-TX Transmit Blocks ............................................................... 39 5.1.3 100BASE-TX Receive Blocks ................................................................ 42 5.1.4 100BASE-TX Collision Detection ........................................................... 43 5.1.5 100BASE-TX Link Integrity and Auto-Negotiation Solution.................... 43 5.1.6 Auto 10/100 Mbps Speed Selection ....................................................... 43 10BASE-T Functionality ...................................................................................... 44 5.2.1 10BASE-T Transmit Clock Generation................................................... 44 5.2.2 10BASE-T Transmit Blocks.................................................................... 44 5.2.3 10BASE-T Receive Blocks..................................................................... 44 5.2.4 10BASE-T Collision Detection................................................................ 45 5.2.5 10BASE-T Link Integrity ......................................................................... 45 5.2.6 10BASE-T Jabber Control Function ....................................................... 45 5.2.7 10BASE-T Full Duplex ........................................................................... 46 Auto-Negotiation Functionality ............................................................................ 46 5.3.1 Description ............................................................................................. 46 5.3.2 Parallel Detect and Auto-Negotiation ..................................................... 46 LED Description .................................................................................................. 47 Function 0: LAN (Ethernet) PCI Configuration Space ......................................... 55 8.1.1 PCI Vendor ID and Device ID Registers ................................................ 55 8.1.2 PCI Command Register ......................................................................... 56 8.1.3 PCI Status Register................................................................................ 57 8.1.4 PCI Revision ID Register........................................................................ 58 8.1.5 PCI Class Code Register ....................................................................... 58 8.1.6 PCI Cache Line Size Register................................................................ 58 8.1.7 PCI Latency Timer ................................................................................. 59 8.1.8 PCI Header Type ................................................................................... 59 8.1.9 PCI Base Address Registers.................................................................. 59 8.1.10 Base Address Registry Summary .......................................................... 61 8.1.11 CardBus Card Information Structure (CIS) Pointer ................................ 61 8.1.12 PCI Subsystem Vendor ID and Subsystem ID Registers....................... 61 8.1.13 Capability Pointer ................................................................................... 62 8.1.14 Interrupt Line Register............................................................................ 62 8.1.15 Interrupt Pin Register ............................................................................. 62 8.1.16 Minimum Grant Register ........................................................................ 62 Datasheet Networking Silicon -- 82559 8.2 9.0 Control/Status Registers .................................................................................................. 71 9.1 9.2 9.3 10.0 LAN (Ethernet) Control/Status Registers ............................................................ 71 9.1.1 System Control Block Status Word ........................................................ 73 9.1.2 System Control Block Command Word .................................................. 73 9.1.3 System Control Block General Pointer ................................................... 74 9.1.4 PORT ..................................................................................................... 74 9.1.5 Flash Control Register............................................................................ 74 9.1.6 EEPROM Control Register ..................................................................... 74 9.1.7 Management Data Interface Control Register ........................................74 9.1.8 Receive Direct Memory Access Byte Count........................................... 74 9.1.9 Early Receive Interrupt........................................................................... 75 9.1.10 Flow Control Register ............................................................................. 75 9.1.11 Power Management Driver Register ...................................................... 75 9.1.12 General Control Register........................................................................ 76 9.1.13 General Status Register .........................................................................76 9.1.14 Ethernet Card Status Change Registers ................................................ 76 Statistical Counters ............................................................................................. 79 Modem Control/Status Registers ........................................................................ 81 9.3.1 Modem Base Memory Addressing ......................................................... 81 9.3.2 Modem Base I/O Addressing ................................................................. 82 9.3.3 Modem CardBus CSTCHG Registers ....................................................82 PHY Unit Registers .......................................................................................................... 85 10.1 Datasheet 8.1.17 Maximum Latency Register.................................................................... 63 8.1.18 Capability ID Register............................................................................. 63 8.1.19 Next Item Pointer.................................................................................... 63 8.1.20 Power Management Capabilities Register .............................................63 8.1.21 Power Management Control/Status Register (PMCSR)......................... 64 8.1.22 Data Register ......................................................................................... 64 Function 1: Modem PCI Configuration Space ..................................................... 66 8.2.1 Modem Configuration ID Register .......................................................... 66 8.2.2 Modem Command Register ................................................................... 67 8.2.3 Modem Status Register .......................................................................... 67 8.2.4 Modem Revision ID Register..................................................................68 8.2.5 Modem Header Type Register ............................................................... 68 8.2.6 Modem I/O Base Address Register........................................................ 68 8.2.7 Modem Memory Base Address Register................................................ 68 8.2.8 Modem CardBus CIS Pointer ................................................................. 68 8.2.9 Modem Subsystem Vendor ID Register ................................................. 68 8.2.10 Modem Subsystem ID Register.............................................................. 69 8.2.11 Modem Capabilities Pointer ................................................................... 69 8.2.12 Modem Interrupt Register.......................................................................69 8.2.13 Modem Power Management Capabilities Register ................................ 69 8.2.14 Modem Power Management Control/Status Register ............................ 69 8.2.15 Modem Data Register ............................................................................ 69 8.2.16 Modem Support in PCI Mode ................................................................. 70 MDI Registers 0 - 7 ............................................................................................. 85 10.1.1 Register 0: Control Register Bit Definitions ........................................... 85 10.1.2 Register 1: Status Register Bit Definitions ............................................ 86 v 82559 -- Networking Silicon 10.1.3 10.1.4 10.1.5 10.1.6 10.2 10.3 11.0 82559 Test Port Functionality .......................................................................................... 93 11.1 11.2 11.3 12.0 Absolute Maximum Ratings ................................................................................ 97 DC Specifications ............................................................................................... 97 AC Specifications .............................................................................................. 101 Timing Specifications ........................................................................................ 102 12.4.1 Clocks Specifications ........................................................................... 102 12.4.2 Timing Parameters ............................................................................... 103 Package and Pinout Information .................................................................................... 111 13.1 13.2 vi Introduction ......................................................................................................... 93 Asynchronous Test Mode ................................................................................... 93 Test Function Description ................................................................................... 93 11.3.1 Tristate ................................................................................................... 93 11.3.2 NAND Tree............................................................................................. 93 Electrical and Timing Specifications................................................................................. 97 12.1 12.2 12.3 12.4 13.0 Register 2: PHY Identifier Register Bit Definitions ................................ 87 Register 3: PHY Identifier Register Bit Definitions ................................ 87 Register 4: Auto-Negotiation Advertisement Register Bit Definitions .... 87 Register 5: Auto-Negotiation Link Partner Ability Register Bit Definitions . 87 10.1.7 Register 6: Auto-Negotiation Expansion Register Bit Definitions .......... 88 MDI Registers 8 - 15 ........................................................................................... 88 MDI Register 16 - 31 ........................................................................................... 88 10.3.1 Register 16: PHY Unit Status and Control Register Bit Definitions ....... 88 10.3.2 Register 17: PHY Unit Special Control Bit Definitions ........................... 89 10.3.3 Register 18: PHY Address Register ....................................................... 90 10.3.4 Register 19: 100BASE-TX Receive False Carrier Counter Bit Definitions 90 10.3.5 Register 20: 100BASE-TX Receive Disconnect Counter Bit Definitions ... 90 10.3.6 Register 21: 100BASE-TX Receive Error Frame Counter Bit Definitions . 90 10.3.7 Register 22: Receive Symbol Error Counter Bit Definitions .................. 91 10.3.8 Register 23: 100BASE-TX Receive Premature End of Frame Error Counter Bit Definitions 91 10.3.9 Register 24: 10BASE-T Receive End of Frame Error Counter Bit Definitions 91 10.3.10 Register 25: 10BASE-T Transmit Jabber Detect Counter Bit Definitions .. 91 10.3.11 Register 26: Equalizer Control and Status Bit Definitions ...................... 91 10.3.12 Register 27: PHY Unit Special Control Bit Definitions ........................... 92 Package Information ......................................................................................... 111 Pinout Information ............................................................................................. 112 13.2.1 82559 Pin Assignments ...................................................................... 112 13.2.2 82559 Ball Grid Array Diagram ........................................................... 114 Datasheet Networking Silicon -- 82559 Figures 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 82559 Block Diagram ............................................................................................3 Control/Status Register I/O Read Cycle .............................................................. 17 Control/Status Register I/O Write Cycle .............................................................. 18 Flash Buffer Read Cycle .....................................................................................19 Flash Buffer Write Cycle...................................................................................... 20 PCI Retry Cycle................................................................................................... 21 Memory Read Burst Cycle .................................................................................. 22 Memory Write Burst Cycle................................................................................... 22 Isolate Signal Behavior to PCI Power Good Signal.............................................28 82559 Initialization Upon PCI RST# and ISOLATE#........................................... 30 64-word EEPROM Read Instruction Waveform .................................................. 34 82559 EEPROM Format .....................................................................................35 NRZ to MLT-3 Encoding Diagram .......................................................................41 Conceptual Transmit Differential Waveform........................................................ 41 Auto-Negotiation and Parallel Detect ..................................................................47 Two and Three LED Schematic Diagram............................................................ 48 Modem Read/Write Cycles.................................................................................. 49 Support Circuitry Example................................................................................... 50 SMB Session....................................................................................................... 53 Slave Request for Data Transfer .........................................................................54 PCI Configuration Registers................................................................................ 55 PCI Command Register ...................................................................................... 56 PCI Status Register............................................................................................. 57 Cache Line Size Register.................................................................................... 58 Base Address Register for Memory Mapping...................................................... 59 Base Address Register for I/O Mapping .............................................................. 60 Modem PCI Configuration Registers................................................................... 66 82559 Control/Status Register ............................................................................ 71 RBIAS100 Resistance Versus Transmitter Current ............................................ 99 RBIAS10 Resistance Versus Transmitter Current ............................................ 100 PCI/CardBus Clock Waveform .......................................................................... 102 Output Timing Measurement Conditions........................................................... 103 Input Timing Measurement Conditions.............................................................. 103 Flash/Modem Timings for a Read Cycle ........................................................... 106 Flash/Modem Timings for a Write Cycle ........................................................... 106 EEPROM Timings ............................................................................................. 107 10BASE-T NLP Timings.................................................................................... 108 Auto-Negotiation FLP Timings .......................................................................... 108 Dimension Diagram for the 82559 196-pin BGA ............................................... 111 82559 Ball Grid Array Diagram ......................................................................... 114 1 2 3 4 5 EEPROM Words Field Descriptions.................................................................... 35 4B/5B Encoder .................................................................................................... 39 Magnetics Modules ............................................................................................. 42 PCI Command Register Bits ............................................................................... 56 PCI Status Register Bits...................................................................................... 57 Tables Datasheet vii 82559 -- Networking Silicon 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 viii Base Address Register Functionalities ............................................................... 61 82559 ID Fields Programming ............................................................................ 62 Power Management Capability Register ............................................................. 63 Power Management Control and Status Register ............................................... 64 82559 B-step Ethernet Data Register ................................................................. 64 82559 C-step Ethernet Data Register ................................................................. 65 Power Management Control and Status Register ............................................... 67 Modem Status Register....................................................................................... 67 Modem Revision Register ................................................................................... 68 Ethernet Data Register........................................................................................ 69 Power Management Driver Register ................................................................... 75 General Control Register .................................................................................... 76 General Status Register ...................................................................................... 76 LAN Function Event Register .............................................................................. 77 LAN Function Event Mask Register .................................................................... 77 LAN Function Present State Register ................................................................. 78 LAN Force Event Register .................................................................................. 79 82558 Statistical Counters .................................................................................. 79 Modem Function Event Mask Register ............................................................... 83 Modem Function Present State Register ............................................................ 83 NAND Tree Chains ............................................................................................. 94 General DC Specifications .................................................................................. 97 PCI/CardBus Interface DC Specifications ........................................................... 97 SMB Interface DC Specifications ........................................................................ 98 Flash/Modem/EEPROM Interface DC Specifications ......................................... 98 LED Voltage/Current Characteristics .................................................................. 99 100BASE-TX Voltage/Current Characteristics .................................................... 99 10BASE-T Voltage/Current Characteristics ...................................................... 100 AC Specifications for PCI Signaling .................................................................. 101 AC Specifications for CardBus Signaling .......................................................... 101 AC Specifications for Local Bus Signaling ........................................................ 101 PCI/CardBus Clock Specifications .................................................................... 102 X1 Clock Specifications..................................................................................... 102 Measure and Test Condition Parameters ......................................................... 103 PCI/CardBus Timing Parameters ...................................................................... 104 Flash Timing Parameters .................................................................................. 105 EEPROM Timing Parameters ........................................................................... 107 10BASE-T NLP Timing Parameters .................................................................. 108 Auto-Negotiation FLP Timing Parameters ........................................................ 108 100Base-TX Transmitter AC Specification........................................................ 109 Flash Timing Parameters .................................................................................. 109 82559 Pin Assignments .................................................................................... 112 Datasheet Networking Silicon -- 82559 Revision History Revision Date Datasheet Revision Description Jan. 1999 1.0 First release. May 1999 2.0 * Preliminary 82559 C-step updates: * Added Section 1.3, "Enhancements to the 82559 C-Step" * Changed resistance values for RBIAS pins in Section 3.6, "PHY Signals" * Changed signal names (Section 3.4, "System Management Bus (SMB) Interface Signals"): * Alert Bus Data: ALERTD (previously) to SMBD * Alert Bus Clock: ALERTCLK (previously) to SMBCLK * Bus Alert: BUSALRT (previously) to SMBALRT * Changed value of PCI power management in the Capability ID Register from 01H to 02H (Section 8.1.18, "Capability ID Register") * Changed value of bits 18:16 in the Power Management Capabilities Register from 001b to 010b (Section 8.1.20, "Power Management Capabilities Register") * Changed power consumption values in Table 15. Ethernet Data Register in Section 8.1.22, "Data Register" * Changed name of Modem Capabilities Pointer (Modem Cap_Ptr) register in PCI Configuration space to Modem (Section 8.2, "Function 1: Modem PCI Configuration Space") * Added Section 11.0, "82559 Test Port Functionality" Mar. 2000 2.1 Modified text description for the Voltage Input/Output signal in Section 3.2.3, "System and Power Management Signals" May 2001 2.2 * Updated value of the 10 K pull-up resistor to 100 K for the Isolate signal (Section 3.2.3, "System and Power Management Signals"). * Added note to Section 3.3, "Local Memory Interface Signals" to leave unused Flash Address and Data pins floating. * Added Revision ID for the 82559 C-step (09H) in Section 8.1.4, "PCI Revision ID Register" * Corrected values in Table 32 "100BASE-TX Voltage/Current Characteristics" and Table 33 "10BASE-T Voltage/Current Characteristics" for the Input Differential Accept and Reject Peak Voltages. ix 82559 -- Networking Silicon Note: x This page left intentionally blank. Datasheet Networking Silicon -- 82559 1.0 Introduction 1.1 82559 Overview The 82559 is Intel's second generation fully integrated 10BASE-T/100BASE-TX LAN solution. The 82559 consists of both the Media Access Controller (MAC) and the physical layer (PHY) interface combined into a single component solution. The 82559 builds on the basic functionality of the 82558. In addition to the 82558, the 82559 has added new features and enhancements: * * * * Host-side CardBus interface Enhanced power management implementation Enhanced Total Cost of Ownership (TCO) support Optimized Flash or modem interface support The 32-bit PCI/CardBus controller provides enhanced scatter-gather bus mastering capabilities and enables the 82559 to perform high speed data transfers over the PCI bus and CardBus. Its bus master capabilities enable the component to process high level commands and perform multiple operations, which lowers CPU utilization by off-loading communication tasks from the CPU. Two large transmit and receive FIFOs of 3 Kbyte each help prevent data underruns and overruns while waiting for bus accesses. This enables the 82559 to transmit data with minimum interframe spacing (IFS). The 82559 can operate in either full duplex or half duplex mode. In full duplex mode the 82559 adheres with the IEEE 802.3x Flow Control specification. Half duplex performance is enhanced by a proprietary collision reduction mechanism. The 82559 includes a simple PHY interface to the wire transformer at rates of 10BASE-T and 100BASE-TX enables reduction in cost, real estate and design complexity. Its Auto-Negotiation capability for speed, duplex, and flow control mode reduces cost, real estate, and design complexity. The 82559 also includes an interface to a serial (4-pin) EEPROM and a parallel interface to a 128 Kbyte Flash memory. The EEPROM provides power-on initialization for hardware and software configuration parameters. The parallel port can be used as either a Flash memory interface or an ISA-like interface for modem. Combined with a Total Cost of Ownership (TCO) controller, the 82559 can help reduce the total cost of ownership in network environments. The device includes a System Management Bus (SMB) interface enabling the TCO controller to communicate with a management agent on the network. 1.2 Features, Enhancements, and Changes to the 82559 from the 82558 * Glueless 32-bit PCI bus master interface * Support for latchless Flash interface with up to 128 Kbyte of Flash addressing * Glueless CardBus master interface Datasheet 1 82559 -- Networking Silicon * Modem interface for combination solution (LAN and modem) in PCI and CardBus designs * Low power consumption for LAN/modem combination designs to meet CardBus power requirements * Compliance with Advanced Configuration and Power Interface and PCI Power Management specifications * * * * Support for wake-up on interesting packets and link status change Support for remote power-up using Wake on LAN* (WOL) technology Deep power-down mode support Support of Total Cost of Ownership (TCO) management interface and Wired for Management (WfM) * Backward compatible software with 82558 and 82557 * TCP/UDP checksum offload capabilities * Support for Intel's Adaptive Technology The following is a list of changes that were made from the 82558 B-step Fast Ethernet Controller to the 82559 Fast Ethernet Multifunction PCI/CardBusController. * Use of 3.3 V power supply (82559) versus 5 V power supply * Individual Address, Multicast Address, and ARP wake-up events merged into extended programmable wake-up packet command and removed from the CSMA command * * * * * 1.3 Receive collision bit in the RFD status word replaced with a TCO indication bit SMB port implemented to support TCO management interface PHY identifier in MII Register 3 modified External PHY support removed PHY-based flow control removed (802.3x flow control was not removed) Enhancements to the 82559 C-Step The success of the 82559 B-step in mobile designs has spurred the addition of several new features to the device. These enhancements integrate new capabilities into the 82559 for both CardBus and MiniPCI system designs: * Reducing the declared Flash window requirement to 128 bytes from 1 Mbyte. * Adding glueless support for PXE Flash ROM in LAN/modem combination designs by adding an external gating signal 2 Datasheet Networking Silicon -- 82559 2.0 82559 Architectural Overview Figure 1 is a high level block diagram of the 82559. It is divided into five main subsystems: a parallel subsystem, a FIFO subsystem, the Total Cost of Ownership (TCO) subsystem, the 10/100 Mbps Carrier Sense Multiple Access with Collision Detect (CSMA/CD) unit, and the 10/100 Mbps physical layer (PHY) unit. Local Memory/ Modem Interface SMB Interface PCI Target and Flash/Modem/EEPROM Interface SMB Interface 3 Kbyte Tx FIFO Four Channel Addressing Unit DMA PCI/ CardBus Interface PCI Bus Interface Unit (BIU) Data Interface Unit (DIU) Micromachine FIFO Control Dual Ported FIFO 3 Kbyte Rx FIFO 10/100 Mbps CSMA/CD 100BASE-TX/ 10BASE-T PHY TPE Interface Figure 1. 82559 Block Diagram 2.1 Parallel Subsystem Overview The parallel subsystem is broken down into several functional blocks: a PCI bus master interface, a micromachine processing unit and its corresponding microcode ROM, and a PCI Target Control/ Flash/EEPROM/Modem interface. The parallel subsystem also interfaces to the FIFO subsystem, passing data (such as transmit, receive, and configuration data) and command and status parameters between these two blocks. The dual function LAN and modem interface provides a complete glueless connection to the PCI bus and is compliant with the PCI Bus Specification, Revision 2.2. The 82559 provides 32 bits of addressing and data, as well as the complete control interface to operate on a PCI bus. As a PCI target, it follows the PCI configuration format which allows all accesses to the 82559 to be automatically mapped into free memory and I/O space upon initialization of a PCI system. For processing of transmit and receive frames, the 82559 operates as a master on the PCI bus, initiating zero wait state transfers for accessing these data parameters. The 82559 Control/Status Register Block is part of the PCI target element. The Control/Status Register block consists of the following 82559 internal control registers: System Control Block (SCB), PORT, Flash Control, EEPROM Control, Modem Control and Management Data Interface (MDI) Control. The micromachine is an embedded processing unit contained in the 82559 that enables Adaptive Technology. The micromachine accesses the 82559 microcode ROM working its way through the operation codes, opcodes (or instructions), contained in the ROM to perform its functions. Parameters accessed from memory such as pointers to data buffers are also used by the Datasheet 3 82559 -- Networking Silicon micromachine during the processing of transmit or receive frames by the 82559. A typical micromachine function is to transfer a data buffer pointer field to the 82559 DMA unit for direct access to the data buffer. The micromachine is divided into two units, Receive Unit and Command Unit which includes transmit functions. These two units operate independently and concurrently. Control is switched between the two units according to the microcode instruction flow. The independence of the Receive and Command units in the micromachine allows the 82559 to execute commands and receive incoming frames simultaneously, with no real-time CPU intervention. The 82559 contains an interface to an external Flash memory, an external serial EEPROM, and modem. These three interfaces are multiplexed, and both read and write accesses are supported. The Flash may be used for remote boot functions, network statistical and diagnostics functions, and management functions. The Flash is mapped into host system memory (anywhere within the 32-bit memory address space) for software accesses. It is also mapped into an available boot expansion ROM location during boot time of the system. More information on the Flash interface is detailed in Section 4.6, "Parallel Flash/Modem Interface" on page 33. The EEPROM is used to store relevant information for a LAN connection such as node address, as well as board manufacturing and configuration information. Both read and write accesses to the EEPROM are supported by the 82559. Information on the EEPROM interface is detailed in Section 4.7, "Serial EEPROM Interface" on page 33. The modem interface uses an ISA-like signal and is described in more detail in Section 6.0, "82559 Modem Functionality" on page 49. 2.2 FIFO Subsystem Overview The 82559 FIFO subsystem consists of a 3 Kbyte transmit FIFO and 3 Kbyte receive FIFO. Each FIFO is unidirectional and independent of the other. The FIFO subsystem serves as the interface between the 82559 parallel side and the serial CSMA/CD unit. It provides a temporary buffer storage area for frames as they are either being received or transmitted by the 82559, which improves performance: * Transmit frames can be queued within the transmit FIFO, allowing back-to-back transmission within the minimum Interframe Spacing (IFS). * The storage area in the FIFO allows the 82559 to withstand long PCI bus latencies without losing incoming data or corrupting outgoing data. * The 82559 transmit FIFO threshold allows the transmit start threshold to be tuned to eliminate underruns while concurrent transmits are being performed. * The FIFO subsection allows extended PCI zero wait state burst accesses to or from the 82559 for both transmit and receive frames since the transfer is to the FIFO storage area rather than directly to the serial link. * Transmissions resulting in errors (collision detection or data underrun) are retransmitted directly from the 82559 FIFO, increasing performance and eliminating the need to re-access this data from the host system. * Incoming runt receive frames (in other words, frames that are less than the legal minimum frame size) can be discarded automatically by the 82559 without transferring this faulty data to the host system. 4 Datasheet Networking Silicon -- 82559 2.3 10/100 Mbps Serial CSMA/CD Unit Overview The CSMA/CD unit of the 82559 allows it to be connected to either a 10 or 100 Mbps Ethernet network. The CSMA/CD unit performs all of the functions of the 802.3 protocol such as frame formatting, frame stripping, collision handling, deferral to link traffic, etc. The CSMA/CD unit can also be placed in a full duplex mode which allows simultaneous transmission and reception of frames. 2.4 10/100 Mbps Physical Layer Unit The Physical Layer (PHY) unit of the 82559 allows connection to either a 10 or 100 Mbps Ethernet network. The PHY unit supports Auto-Negotiation for 100BASE-TX Full Duplex, 100BASE-TX Half Duplex, 10BASE-T Full Duplex, and 10BASE-T Half Duplex. It also supports three LED pins to indicate link status, network activity, and speed. Datasheet 5 82559 -- Networking Silicon Note: 6 This page left intentionally blank. Datasheet Networking Silicon -- 82559 3.0 Signal Descriptions 3.1 Signal Type Definitions Type Name Description IN Input The input pin is a standard input only signal. OUT Output The output pin is a Totem Pole Output pin and is a standard active driver. T/S Tri-State The tri-state pin is a bidirectional, input/output pin. S/T/S Sustained Tri-State The sustained tri-state pin is an active low tri-state signal owned and driven by one agent at a time. The agent asserting the S/T/ S pin low must drive it high at least one clock cycle before floating the pin. A new agent can only assert an S/T/S signal low one clock cycle after it has been tri-stated by the previous owner. O/D Open Drain The open drain pin allows multiple devices to share this signal as a wired-OR. A/I Analog Input The analog input pin is used for analog input signals. A/O Analog Output The analog output pin is used for analog output signals. B Bias The bias pin is an input bias. 3.2 PCI Bus and CardBus Interface Signals 3.2.1 Address and Data Signals Symbol AD[31:0] C/BE[3:0]# PAR Datasheet Type Name and Function T/S Address and Data. The address and data lines are multiplexed on the same PCI pins. A bus transaction consists of an address phase followed by one or more data phases. During the address phase, the address and data lines contain the 32-bit physical address. For I/O, this is a byte address; for configuration and memory, it is a Dword address. The 82559 uses little-endian byte ordering (in other words, AD[31:24] contain the most significant byte and AD[7:0] contain the least significant byte). During the data phases, the address and data lines contain data. T/S Command and Byte Enable. The bus command and byte enable signals are multiplexed on the same PCI pins. During the address phase, the C/BE# lines define the bus command. During the data phase, the C/BE# lines are used as Byte Enables. The Byte Enables are valid for the entire data phase and determine which byte lanes carry meaningful data. T/S Parity. Parity is even across AD[31:0] and C/BE[3:0]# lines. It is stable and valid one clock after the address phase. For data phases, PAR is stable and valid one clock after either IRDY# is asserted on a write transaction or TRDY# is asserted on a read transaction.Once PAR is valid, it remains valid until one clock after the completion of the current data phase. The master drives PAR for address and write data phases; and the target, for read data phases. 7 82559 -- Networking Silicon 3.2.2 Interface Control Signals Symbol Name and Function S/T/S Cycle Frame. The cycle frame signal is driven by the current master to indicate the beginning and duration of a transaction. FRAME# is asserted to indicate the start of a transaction and de-asserted during the final data phase. S/T/S Initiator Ready. The initiator ready signal indicates the bus master's ability to complete the current data phase and is used in conjunction with the target ready (TRDY#) signal. A data phase is completed on any clock cycle where both IRDY# and TRDY# are sampled asserted (low) simultaneously. S/T/S Target Ready. The target ready signal indicates the selected device's ability to complete the current data phase and is used in conjunction with the initiator ready (IRDY#) signal. A data phase is completed on any clock cycle where both IRDY# and TRDY# are sampled asserted (low) simultaneously. STOP# S/T/S Stop. The stop signal is driven by the target to indicate to the initiator that it wishes to stop the current transaction. As a bus slave, STOP# is driven by the 82559 to inform the bus master to stop the current transaction. As a bus master, STOP# is received by the 82559 to stop the current transaction. IDSEL IN Initialization Device Select. The initialization device select signal is used by the 82559 as a chip select during PCI configuration read and write transactions. This signal is provided by the host in PCI systems. In a CardBus system, this pin should not be connected. DEVSEL# S/T/S Device Select. The device select signal is asserted by the target once it has detected its address. As a bus master, the DEVSEL# is an input signal to the 82559 indicating whether any device on the bus has been selected. As a bus slave, the 82559 asserts DEVSEL# to indicate that it has decoded its address as the target of the current transaction. REQ# T/S Request. The request signal indicates to the bus arbiter that the 82559 desires use of the bus. This is a point-to-point signal and every bus master has its own REQ#. GNT# IN Grant. The grant signal is asserted by the bus arbiter and indicates to the 82559 that access to the bus has been granted. This is a point-topoint signal and every master has its own GNT#. INTA# O/D Interrupt A. The interrupt A signal is used to request an interrupt by the 82559. This is an active low, level triggered interrupt signal. SERR# O/D System Error. The system error signal is used to report address parity errors. When an error is detected, SERR# is driven low for a single PCI clock. S/T/S Parity Error. The parity error signal is used to report data parity errors during all PCI transactions except a Special Cycle. The parity error pin is asserted two clock cycles after the error was detected by the device receiving data. The minimum duration of PERR# is one clock for each data phase where an error is detected. A device cannot report a parity error until it has claimed the access by asserting DEVSEL# and completed a data phase. FRAME# IRDY# TRDY# PERR# 8 Type Datasheet Networking Silicon -- 82559 3.2.3 System and Power Management Signals Symbol CLK CLKRUN# Type IN IN/OUT O/D Clock. The Clock signal provides the timing for all PCI transactions and is an input signal to every PCI device. The 82559 requires a PCI Clock signal (frequency greater than or equal to 16 MHz) for nominal operation. The 82559 supports Clock signal suspension using the Clockrun protocol. Clockrun. The Clockrun signal is used by the system to pause or slow down the PCI Clock signal. It is used by the 82559 to enable or disable suspension of the PCI Clock signal or restart of the PCI clock. When the Clockrun signal is not used, this pin should be connected to an external pull-down resistor. IN Reset. The PCI Reset signal is used to place PCI registers, sequencers, and signals into a consistent state. When RST# is asserted, all PCI output signals will be tri-stated. O/D Power Management Event. The Power Management Event signal indicates that a power management event has occurred in a PCI bus system. OUT Card Status Change/Wake on LAN. This pin is multiplexed to provide Card Status Change or Wake on LAN signals. In a CardBus system, it is used as the Card Status Change output signal and is an asynchronous signal to the Clock signal. It indicates that a power management event has occurred in a CardBus system. In a PCI system, it is used as the WOL pin and provides a positive pulse of approximately 52 ms upon detection of an incoming Magic Packet*. ISOLATE# IN Isolate. The Isolate signal is used to isolate the 82559 from the PCI bus. When Isolate is active (low), the 82559 does not drive its PCI outputs (except PME# and CSTSCHG) or sample its PCI inputs (including CLK and RST#). If the 82559 is not powered by an auxiliary power source, the ISOLATE# pin must be pulled high through a 100 K resistor. ALTRST# IN Alternate Reset. The Alternate Reset signal is used to reset the 82559 on power-up. In systems that support an auxiliary power supply, ALTRST# should be connected to a power-up detection circuit. Otherwise, ALTRST# should be tied to VCC. RST# PME# (PCI) CSTSCHG (CardBus)/ WOL (PCI) VIO Datasheet Name and Function B IN Voltage Input/Output. The VIO pin is the voltage bias pin for the PCI interface. In a 5 V or 3.3 V signaling environment, it should be connected through a 100 K resistor to the 5 V or 3.3 V supply.The resistor acts as a leakage current limiter in systems where the VIO bias voltage may be turned off. 9 82559 -- Networking Silicon 3.3 Local Memory Interface Signals Note: All unused Flash Address and Data pins must be left floating. Some of these pins have undocumented test functionality and can cause unpredictable behavior if they are unnecessarily connected to a pull-up or pull-down resistor. Symbol Name and Function T/S Flash/Modem Data Input/Output. These pins are used for Flash/ Modem data interface. These pins should be left floating if the Flash and modem are not used. FLA[16]/ CLK25 OUT Flash Address[16]/25 MHz Clock. This multiplexed pin is controlled by the status of the Flash Address[7] (FLA[7]) pin. If FLA[7] is left floating, this pin is used as FLA[16]; otherwise, if FLA[7] is connected to a pull-up resistor, this pin is used as a 25 MHz clock. This pin should be left floating if the Flash and CLK25 functionality are not used. FLA[15]/ EESK OUT Flash Address[15]/EEPROM Data Output. During Flash accesses, this multiplexed pin acts as the Flash Address [15] output signal. During EEPROM accesses, it acts as the serial shift clock output to the EEPROM. FLA[14]/ EEDO IN/OUT Flash Address[14]/EEPROM Data Output. During Flash accesses, this multiplexed pin acts as the Flash Address [14] output signal. During EEPROM accesses, it accepts serial input data from the EEPROM Data Output signal. FLA[13]/ EEDI OUT Flash Address[13]/EEPROM Data Input. During Flash accesses, this multiplexed pin acts as the Flash Address [13] output signal. During EEPROM accesses, it provides serial output data to the EEPROM Data Input signal. FLD[7:0] FLA[12]/ MCNTSM# OUT O/D Flash Address[12]/Modem Central Site Mode. This multiplexed pin acts as the Flash Address[12] output signal in a non-modem card. If modem is enabled, it is used as an output signal to the modem. It is either floated by default or driven low by the Modem System Control Registers. This pin should be left floating if the Flash and modem functionality are not used. FLA[11]/ MINT IN/OUT Flash Address[11]/Modem Interrupt. This multiplexed pin acts as the Flash Address[11] output signal in a non-modem card. If modem is enabled, it is used as the Modem Interrupt input signal. This pin should be left floating if the Flash and modem functionality are not used. FLA[10]/ MRING# IN/OUT Flash Address[10]/Modem Ring. This multiplexed pin acts as the Flash Address[10] output signal in a non-modem card. If modem is enabled, it is used as the Modem Ring input signal. This pin should be left floating if the Flash and modem functionality are not used. OUT Flash Address[9]/Modem Reset. This multiplexed pin acts as the Flash Address[9] output signal in a non-modem card. If modem is enabled, it acts as the Modem Reset signal with an active high output. This pin should be left floating if the Flash and modem functionality are not used. IN/OUT Flash Address[8]/ISA Input/Output Channel Ready. This multiplexed pin acts as the Flash Address[8] output signal in a nonmodem card. If modem is enabled, it is used as the ISA IOCHRDY input signal. This pin should be left floating if the Flash and modem functionality are not used. FLA[9]/ MRST FLA[8]/ IOCHRDY 10 Type Datasheet Networking Silicon -- 82559 Symbol Name and Function FLA[7]/ CLKEN T/S Flash Address[7]/Clock Enable. This is a multiplexed pin and acts as the Flash Address[7] output signal during nominal operation. When the PCI Reset signal is active, this pin acts as input control over the FLA[16]/CLK25 output signal. If the FLA[7]/CLKEN pin is connected to a pull-up resistor (3.3 K ), a 25 MHz clock signal is provided on the FLA[16]/CLK25 output; otherwise, it is used as FLA[16] output. This pin should be left floating if the Flash and 25 MHz clock output are not used. FLA[6:2] OUT Flash Address[6:2]. These pins are used as Flash address outputs to support 128 Kbyte Flash addressing. If the modem is enabled, these pins carry modem address bits 6:2. This pin should be left floating if the Flash and modem functionality are not used. T/S Flash Address[1]/Auxiliary Power. This multiplexed pin acts as the Flash Address[1] output signal during nominal operation. If the modem is enabled, this pin carries modem address bit 1. When RST# is active (low), it acts as the power supply indicator. If the 82559 is fed PCI power, this pin should be connected to the Flash Address 1 (of the Flash component) signal or left floating if Flash is not present. If the 82559 is fed by auxiliary power, this pin should be connected to a pullup resistor. FLA[0]/ PCIMODE# T/S Flash Address [0]/PCI Mode. This multiplexed pin acts as the Flash Address[0] output signal during nominal operation. If the modem is enabled, this pin carries modem address bit 0. When RST# is active (low), it acts as the input system type. If the 82559 is used in a CardBus system, this pin should be connected to a pull-up resistor (3.3 K ); otherwise, the 82559 considers the host as a PCI system. This pin should be left floating if the Flash and modem functionality are not used. EECS OUT EEPROM Chip Select. The EEPROM Chip Select signal is used to assert chip select to the serial EEPROM. FLCS#/AEN OUT Flash Chip Select/Address Enable. The Flash Chip Select signal is active during Flash. In modem mode, it acts as an ISA-like Address Enable signal (modem chip select). This pin should be left floating if the Flash and modem functionality are not used. FLOE# OUT Flash Output Enable. This pin provides an active low output enable control (read) to the Flash memory. If the modem is enabled, this is an active-low output enable (read) of the modem. This pin should be left floating if the Flash and modem functionality are not used. FLWE# OUT Flash Write Enable. This pin provides an active low write enable control to the Flash memory. If the modem is enabled, this is an active low write-enable to the modem. This pin should be left floating if the Flash and modem functionality are not used. CFCS# OUT Security ASIC Chip Select. This pin provides an active low function enable to enable/disable Flash memory in Combo designs. This signal is asserted high to enable Flash memory in LAN/modem designs. If this signal is asserted low, the modem device is enabled, and local bus signals are defined for modem. This pin is controlled by setting/ clearing the Boot Enable bit in the BootROM BAR. This bit is set following a PCI reset enabling external Flash. CFCLK OUT Security ASIC Clock. This pin provides a clock out to a companion ASIC residing on the local bus. This pin should be left unconnected in designs that do not utilize a companion ASIC on the Flash interface. FLA[1]/ AUXPWR Datasheet Type 11 82559 -- Networking Silicon 3.4 System Management Bus (SMB) Interface Signals Symbol SMBD SMBCLK SMBALRT# 3.5 O/D IN O/D O/D Alert Bus Data. This signal is stable when the Alert Bus Clock signal is high. This open drain signal should be pulled high to VCC in all cases. Alert Bus Clock. This pin is used for the Alert Bus Clock signal. One clock pulse is generated for each data bit transferred. It is an open drain signal and should be pulled high to VCC in all cases. Bus Alert. The Bus Alert pin is used as an interrupt signal for a slave device on the Alert Bus. It is an open drain signal and should be pulled high to VCC in all cases. Type Name and Function TEST IN Test Port. If this input pin is high, the 82559 will enable the test port. During nominal operation this pin should be connected to a pull-down resistor. TCK IN Test Port Clock. This pin is used for the Test Port Clock signal. TI IN Test Port Data Input. This pin is used for the Test Port Data Input signal. TEXEC IN Test Port Execute Enable. This pin is used for the Test Port Execute Enable signal. TO OUT Test Port Data Output. This pin is used for the Test Port Data Output signal. PHY Signals Symbol Type Name and Function X1 A/I Crystal Input One. X1 and X2 can be driven by an external 3.3 V 25 MHz crystal. Otherwise, X1 may be driven by an external metal-oxide semiconductor (MOS) level 25 MHz oscillator when X2 is left floating. X2 A/O Crystal Input Two. X1 and X2 can be driven by an external 3.3 V 25 MHz crystal. Otherwise, X1 may be driven by an external MOS level 25 MHz oscillator when X2 is left floating. A/O Analog Twisted Pair Ethernet Transmit Differential Pair. These pins transmit the serial bit stream for transmission on the Unshielded Twisted Pair (UTP) cable. The current-driven differential driver can be two-level (10BASE-T) or three-level (100BASE-TX) signals depending on the mode of operation. These signals interface directly with an isolation transformer. A/I Analog Twisted Pair Ethernet Receive Differential Pair. These pins receive the serial bit stream from the isolation transformer. The bit stream can be two-level (10BASE-T) or three-level (100BASE-TX) signals depending on the mode of operation. TDP TDN RDP RDN 12 IN Name and Function Testability Port Signals Symbol 3.6 Type Datasheet Networking Silicon -- 82559 Symbol ACTLED# Type OUT Name and Function Activity LED. The Activity LED pin indicates either transmit or receive activity. When activity is present, the activity LED is on; when no activity is present, the activity LED is off. In Wake on LAN mode, the ACTLED# signal is used to indicate that the received frame passed MAC address filtering. LILED# OUT Link Integrity LED. The Link Integrity LED pin indicates link integrity. If the link is valid in either 10 or 100 Mbps, the LED is on; if link is invalid, the LED is off. SPEEDLED# OUT Speed LED. The Speed LED pin indicates the speed. The speed LED will be on at 100 Mbps and off at 10 Mbps. RBIAS100 B Reference Bias Resistor (100 Mbps). This pin should be connected to a 619 pull-down resistor.a RBIAS10 B Reference Bias Resistor (10 Mbps). This pin should be connected to a 549 pull-down resistor.b B Voltage Reference. This pin is connected to a 1.25 V 1% external voltage reference generator. To use the internal voltage reference source, this pin should be left floating. Under normal circumstances, the internal voltage reference should be used and this pin would be left open. VREF a. 619 for RBIAS 100 is only a recommended value and should be fine tuned for various designs. b. 549 for RBIAS 10 is only a recommended value and should be fine tuned for various designs. Datasheet 13 82559 -- Networking Silicon Note: 14 This page left intentionally blank. Datasheet Networking Silicon -- 82559 4.0 82559 Media Access Control Functional Description 4.1 82559 Initialization The 82559 has four sources for initialization. They are listed according to their precedence: 1. ALTRST# Signal 2. PCI RST# Signal 3. Software Reset (Software Command) 4. Selective Reset (Software Command) 4.1.1 Initialization Effects on 82559 Units The following table shows the effect of each of the different initialization sources on major portions of the 82559. The initialization sources are listed in order of precedence. For example, any resource that is initialized by the Software Reset is also initialized by the D3 to D0 transition and ALTRST# and PCI RST# but not necessarily by the selective reset. Datasheet ALTRST# PCI RST# ISOLATE# D3 to D0 Transition Software Reset Selective Reset EEPROM read and initialization X X X -- -- -- Loadable microcode decoded/reset X X -- X X -- MAC configuration reset and multicast hash X X X X X -- Memory pointers and mircomachine state reset X X -- X X X PCI Configuration register reset X X X X -- -- PHY configuration reset X X -- -- -- -- Power management event reset X Clear only if no auxiliary power present -- -- -- -- Statistic counters reset X X -- X X -- 15 82559 -- Networking Silicon 4.1.2 Initialization Effects on TCO Functionality The 82559 has the ability to be controlled by two masters, the host CPU on the PCI bus and the TCO controller on the SMB. The 82559 may be initialized by the PCI bus during SMB operation. The table below summarizes the effect of those sources: Initialization Source SMB Behavior Status and Receive Enable ALTRST#, PCI RST#, or ISOLATE#a The SMB is terminated instantaneously.b Initialized to inactive D3 to D0 transition The SMB cycle is aborted. During SMB read commands, the 82559 transfers zeros until the end of the cycle. An SMB write cycle has no effect on the 82559. The 82559 asserts the SMBALRT# after a D3 to D0 transition. The 82559 indicates its initialization status to the TCO controller via an active initialization bit in the Status word. Initialized to inactive Software Reset, Selective Reset, or D3 to D0 transition The SMB cycle is aborted. During SMB read commands, the 82559 transfers zeros until the end of the cycle. An SMB write cycle has no affect on the 82559. After a software reset, the 82559 reports its initialization in the same manner as in a D3 to D0 transition. Unaffected a. ISOLATE# acts as reset on its trailing edge. While the 82559 is in the D3 power state, the PCI RST# initializes the 82559 on the trailing edge. b. SMB commands in process will be terminated immediately. 4.2 PCI and CardBus Interface 4.2.1 82559 Bus Operations After configuration, the 82559 is ready for its normal operation. As a Fast Ethernet Controller, the role of the 82559 is to access transmitted data or deposit received data. In both cases the 82559, as a bus master device, will initiate memory cycles via the PCI bus to fetch or deposit the required data. In order to perform these actions, the 82559 is controlled and examined by the CPU via its control and status structures and registers. Some of these control and status structures reside in the 82559 and some reside in system memory. For access to the 82559's Control/Status Registers (CSR), the 82559 acts as a slave (in other words, a target device). The 82559 serves as a slave also while the CPU accesses its 128 Kbyte Flash buffer or its EEPROM. When the 82559 is in modem mode, it also acts as a slave. Details regarding modem interface are described in Section 4.6, "Parallel Flash/ Modem Interface" on page 33. Section 4.2.1.1, "82559 Bus Slave Operation" describes the 82559 slave operation. It is followed by a description of the 82559 operation as a bus master (initiator) in Section 4.2.1.2, "82559 Bus Master Operation" on page 22. 4.2.1.1 82559 Bus Slave Operation The 82559 serves as a target device in one of the following cases: * CPU accesses to the 82559 System Control Block (SCB) Control/Status Registers (CSR) 16 Datasheet Networking Silicon -- 82559 * * * * * CPU accesses to the EEPROM through its CSR CPU accesses to the 82559 PORT address via the CSR CPU accesses to the MDI control register in the CSR CPU accesses to the Flash control register in the CSR CPU accesses to the 128 Kbyte Flash The CSR and the 1 Mbyte Flash buffer are considered by the 82559 as two totally separated memory spaces. The 82559 provides separate Base Address Registers (BARs) in the configuration space to distinguish between them. The size of the CSR memory space is 4 Kbyte in the memory space and 64 bytes in the I/O space. The 82559 treats accesses to these memory spaces differently. 4.2.1.1.1 Control/Status Register (CSR) Accesses The 82559 supports zero wait state single cycle memory or I/O mapped accesses to its CSR space. Separate BARs request 4 Kbytes of memory space and 64 bytes of I/O space to accomplish this. Based on its needs, the software driver will use either memory or I/O mapping to access these registers. The 82559 provides 4 valid Kbytes of CSR space, which include the following elements: * * * * * * * System Control Block (SCB) registers PORT register Flash control register EEPROM control register MDI control register Flow control registers CardBus registers The figures below show CSR zero wait state I/O read and write cycles. In the case of accessing the Control/Status Registers, the CPU is the initiator and the 82559 is the target of the transaction. CLK SYSTEM 1 2 3 4 5 6 7 8 9 FRAME# AD ADDR C/BE# I/O RD DATA BE# IRDY# 82559 TRDY# DEVSEL# STOP# Figure 2. Control/Status Register I/O Read Cycle Datasheet 17 82559 -- Networking Silicon Read Accesses: The CPU, as the initiator, drives address lines AD[31:0], the command and byte enable lines C/BE#[3:0] and the control lines IRDY# and FRAME#. As a slave, the 82559 controls the TRDY# signal and provides valid data on each data access. The 82559 allows the CPU to issue only one read cycle when it accesses the Control/Status Registers, generating a disconnect by asserting the STOP# signal. The CPU can insert wait states by de-asserting IRDY# when it is not ready. CLK SYSTEM 1 2 3 4 5 6 7 8 9 FRAME# AD ADDR DATA C/BE# I/O WR BE# IRDY# 82559 TRDY# DEVSEL# STOP# Figure 3. Control/Status Register I/O Write Cycle Write Accesses: The CPU, as the initiator, drives the address lines AD[31:0], the command and byte enable lines C/BE#[3:0] and the control lines IRDY# and FRAME#. It also provides the 82559 with valid data on each data access immediately after asserting IRDY#. The 82559 controls the TRDY# signal and asserts it from the data access. The 82559 allows the CPU to issue only one I/O write cycle to the Control/Status Registers, generating a disconnect by asserting the STOP# signal. This is true for both memory mapped and I/O mapped accesses. 18 Datasheet Networking Silicon -- 82559 4.2.1.1.2 Flash Buffer Accesses The CPU accesses to the Flash buffer are very slow. For this reason the 82559 issues a targetdisconnect at the first data access. The 82559 asserts the STOP# signal to indicate a targetdisconnect. The figures below illustrate memory CPU read and write accesses to the 128 Kbyte Flash buffer. The longest burst cycle to the Flash buffer contains one data access only. SYSTEM CLK FRAME# AD C/BE# ADDR MEM RD DATA BE# IRDY# 82559 TRDY# DEVSEL# STOP# Figure 4. Flash Buffer Read Cycle Read Accesses: The CPU, as the initiator, drives the address lines AD[31:0], the command and byte enable lines C/BE#[3:0] and the control lines IRDY# and FRAME#. The 82559 controls the TRDY# signal and de-asserts it for a certain number of clocks until valid data can be read from the Datasheet 19 82559 -- Networking Silicon Flash buffer. When TRDY# is asserted, the 82559 drives valid data on the AD[31:0] lines. The CPU can also insert wait states by de-asserting IRDY# until it is ready. Flash buffer read accesses can be byte or word length. SYSTEM CLK FRAME# AD C/BE# ADDR MEM WR DATA BE# IRDY# 82559 TRDY# DEVSEL# STOP# Figure 5. Flash Buffer Write Cycle Write Accesses: The CPU, as the initiator, drives the address lines AD[31:0], the command and byte enable lines C/BE#[3:0] and the control lines IRDY# and FRAME#. It also provides the 82559 with valid data immediately after asserting IRDY#. The 82559 controls the TRDY# signal and deasserts it for a certain number of clocks until valid data is written to the Flash buffer. By asserting TRDY#, the 82559 signals the CPU that the current data access has completed. Flash buffer write accesses can be byte length only. 4.2.1.1.3 Retry Premature Accesses The 82559 responds with a Retry to any configuration cycle accessing the 82559 before the completion of the automatic read of the EEPROM. The 82559 may continue to Retry any configuration accesses until the EEPROM read is complete. The 82559 does not enforce the rule that the retried master must attempt to access the same address again in order to complete any delayed transaction. Any master access to the 82559 after the completion of the EEPROM read will be honored. Figure 6 below depicts how a Retry looks when it occurs. 20 Datasheet Networking Silicon -- 82559 SYSTEM CLK FRAME# IRDY# 82559 TRDY# DEVSEL# STOP# Figure 6. PCI Retry Cycle Note: The 82559 is considered the target in the above diagram; thus, TRDY# is not asserted. A Retry may also occur in the following two scenarios: * Card Information Structure (CIS) in memory is accessed in CardBus mode. * External modem registers are accessed and the modem does not assert IOCHRDY within 7 PCI clocks from the assertion of MDMCS#. 4.2.1.1.4 Error Handling Data Parity Errors: The 82559 checks for data parity errors while it is the target of the transaction. If an error was detected, the 82559 always sets the Detected Parity Error bit in the PCI Configuration Status register, bit 15. The 82559 also asserts PERR#, if the Parity Error Response bit is set (PCI Configuration Command register, bit 6). The 82559 does not attempt to terminate a cycle in which a parity error was detected. This gives the initiator the option of recovery. Target-Disconnect: The 82559 prematurely terminate a cycle in the following cases: * After accesses to the Flash buffer * After accesses to its CSR * After accesses to the configuration space System Error: The 82559 reports parity error during the address phase using the SERR# pin. If the SERR# Enable bit in the PCI Configuration Command register or the Parity Error Response bit are not set, the 82559 only sets the Detected Parity Error bit (PCI Configuration Status register, bit 15). If SERR# Enable and Parity Error Response bits are both set, the 82559 sets the Signaled System Error bit (PCI Configuration Status register, bit 14) as well as the Detected Parity Error bit and asserts SERR# for one clock. The 82559, when detecting system error, will claim the cycle if it was the target of the transaction and continue the transaction as if the address was correct. Note: Datasheet The 82559 will report a system error for any parity error during an address phase, whether or not it is involved in the current transaction. 21 82559 -- Networking Silicon 4.2.1.2 82559 Bus Master Operation As a PCI Bus Master, the 82559 initiates memory cycles to fetch data for transmission or deposit received data and for accessing the memory resident control structures. The 82559 performs zero wait state burst read and write cycles to the host main memory. Figure 7 and Figure 8 depict memory read and write burst cycles. For bus master cycles, the 82559 is the initiator and the host main memory (or the PCI host bridge, depending on the configuration of the system) is the target. CLK 1 2 3 4 5 6 7 8 DATA DATA 9 10 9 10 82559 FRAME# ADDR AD C/BE# DATA MR DATA DATA BE# BE# SYSTEM IRDY# TRDY# DEVSEL# Figure 7. Memory Read Burst Cycle CLK 1 2 3 4 5 6 7 8 DATA DATA 82559 FRAME# ADDR AD C/BE# MW DATA BE# DATA DATA BE# SYSTEM IRDY# TRDY# DEVSEL# Figure 8. Memory Write Burst Cycle The CPU provides the 82559 with action commands and pointers to the data buffers that reside in host main memory. The 82559 independently manages these structures and initiates burst memory cycles to transfer data to and from them. The 82559 uses the Memory Read Multiple (MR Multiple) command for burst accesses to data buffers and the Memory Read Line (MR Line) command for burst accesses to control structures. For all write accesses to the control structure, the 82559 uses the Memory Write (MW) command. For write accesses to data structure, the 82559 may use either the Memory Write or Memory Write and Invalidate (MWI) commands. 22 Datasheet Networking Silicon -- 82559 Read Accesses: The 82559 performs block transfers from host system memory in order to perform frame transmission on the serial link. In this case, the 82559 initiates zero wait state memory read burst cycles for these accesses. The length of a burst is bounded by the system and the 82559's internal FIFO. The length of a read burst may also be bounded by the value of the Transmit DMA Maximum Byte Count in the Configure command. The Transmit DMA Maximum Byte Count value indicates the maximum number of transmit DMA PCI cycles that will be completed after an 82559 internal arbitration. The 82559, as the initiator, drives the address lines AD[31:0], the command and byte enable lines C/BE#[3:0] and the control lines IRDY# and FRAME#. The 82559 asserts IRDY# to support zero wait state burst cycles. The target signals the 82559 that valid data is ready to be read by asserting the TRDY# signal. Write Accesses: The 82559 performs block transfers to host system memory during frame reception. In this case, the 82559 initiates memory write burst cycles to deposit the data, usually without wait states. The length of a burst is bounded by the system and the 82559's internal FIFO threshold. The length of a write burst may also be bounded by the value of the Receive DMA Maximum Byte Count in the Configure command. The Receive DMA Maximum Byte Count value indicates the maximum number of receive DMA PCI transfers that will be completed before the 82559 internal arbitration. (Details on the Configure command are described in the 10/100Mbit Family Software Developer's Manual.) The 82559, as the initiator, drives the address lines AD[31:0], the command and byte enable lines C/BE#[3:0] and the control lines IRDY# and FRAME#. The 82559 asserts IRDY# to support zero wait state burst cycles. The 82559 also drives valid data on AD[31:0] lines during each data phase (from the first clock and on). The target controls the length and signals completion of a data phase by de-assertion and assertion of TRDY#. Cycle Completion: The 82559 completes (terminates) its initiated memory burst cycles in the following cases: * Normal Completion: All transaction data has been transferred to or from the target device (for example, host main memory). * Backoff: Latency Timer has expired and the bus grant signal (GNT#) was removed from the 82559 by the arbiter, indicating that the 82559 has been preempted by another bus master. * Transmit or Receive DMA Maximum Byte Count: The 82559 burst has reached the length specified in the Transmit or Receive DMA Maximum Byte Count field in the Configure command block. * Target Termination: The target may request to terminate the transaction with a targetdisconnect, target-retry, or target-abort. In the first two cases, the 82559 initiates the cycle again. In the case of a target-abort, the 82559 sets the Received Target-Abort bit in the PCI Configuration Status field (PCI Configuration Status register, bit 12) and does not re-initiate the cycle. * Master Abort: The target of the transaction has not responded to the address initiated by the 82559 (in other words, DEVSEL# has not been asserted). The 82559 simply de-asserts FRAME# and IRDY# as in the case of normal completion. * Error Condition: In the event of parity or any other system error detection, the 82559 completes its current initiated transaction. Any further action taken by the 82559 depends on the type of error and other conditions. Datasheet 23 82559 -- Networking Silicon 4.2.1.2.1 Memory Write and Invalidate The 82559 has four Direct Memory Access (DMA) channels. Of these four channels, the Receive DMA is used to deposit the large number of data bytes received from the link into system memory. The Receive DMA uses both the Memory Write (MW) and the Memory Write and Invalidate (MWI) commands. In order to use MWI, the 82559 must guarantee the following: 1. Minimum transfer of one cache line 2. Active byte enable bits (or BE#[3:0] are all low) during MWI access 3. The 82559 may cross the cache line boundary only if it intends to transfer the next cache line too. In order to ensure the above conditions, the 82559 may use the MWI command only if the following conditions hold: 1. The Cache Line Size (CLS) written in the CLS register during PCI configuration is 8 or 16 Dwords. 2. The accessed address is cache line aligned. 3. The 82559 has at least 8 or 16 Dwords of data in its receive FIFO. 4. There are at least 8 or 16 Dwords of data space left in the system memory buffer. 5. The MWI Enable bit in the PCI Configuration Command register, bit 4, should is set to 1b. 6. The MWI Enable bit in the 82559 Configure command should is set to 1b. If any one of the above conditions does not hold, the 82559 will use the MW command. If a MWI cycle has started and one of the conditions is no longer valid (for example, the data space in the memory buffer is now less than CLS), then the 82559 terminates the MWI cycle at the end of the cache line. The next cycle will be either a MW or MWI cycle depending on the conditions listed above. If the 82559 started a MW cycle and reached a cache line boundary, it either continues or terminates the cycle depending on the Terminate Write on Cache Line configuration bit of the 82559 Configure command (byte 3, bit 3). If this bit is set, the 82559 terminates the MW cycle and attempts to start a new cycle. The new cycle is a MWI cycle if this bit is set and all of the above listed conditions are met. If the bit is not set, the 82559 continues the MW cycle across the cache line boundary if required. 4.2.1.2.2 Read Align The Read Align feature enhances the 82559's performance in cache line oriented systems. In these particular systems, starting a PCI transaction on a non-cache line aligned address may cause low performance. In order to resolve this performance anomaly, the 82559 attempts to terminate transmit DMA cycles on a cache line boundary and start the next transaction on a cache line aligned address. This feature is enabled when the Read Align Enable bit is set in the 82559 Configure command (byte 3, bit 2). If this bit is set, the 82559 operates as follows: * When the 82559 is almost out of resources on the transmit DMA (that is, the transmit FIFO is almost full), it attempts to terminate the read transaction on the nearest cache line boundary when possible. 24 Datasheet Networking Silicon -- 82559 * When the arbitration counter's feature is enabled (in other words, the Transmit DMA Maximum Byte Count value is set in the Configure command), the 82559 switches to other pending DMAs on cache line boundary only. Note the following: * This feature is not recommended for use in non-cache line oriented systems since it may cause shorter bursts and lower performance. * This feature should be used only when the CLS register in PCI Configuration space is set to 8 or 16. * The 82559 reads all control data structures (including Receive Buffer Descriptors) from the first Dword (even if it is not required) in order to maintain cache line alignment. 4.2.1.2.3 Error Handling Data Parity Errors: As an initiator, the 82559 checks and detects data parity errors that occur during a transaction. If the Parity Error Response bit is set (PCI Configuration Command register, bit 6), the 82559 also asserts PERR# and sets the Data Parity Detected bit (PCI Configuration Status register, bit 8). In addition, if the error was detected by the 82559 during read cycles, it sets the Detected Parity Error bit (PCI Configuration Status register, bit 15). 4.2.2 PCI Mode Pin During PCI reset the 82559 samples the PCIMODE# (multiplexed with FLA0) input signal to determine the nature of the host system. If the PCIMODE# signal is sampled low when RST# is active, the host system bus is a PCI system. If PCIMODE# is sampled high during reset, the host system is a CardBus system. In a CardBus system, the PCIMODE# pin should be connected to a pull-up resistor; otherwise, the 82559 assumes it is a PCI system. 4.2.3 Clockrun Signal The CLKRUN# signal is used to control the PCI clock as defined in the CardBus specification and PCI Mobile design guide and is compliant with both the CardBus specification and PCI Mobile design guide. This signal is active in both the CardBus and PCI bus operating modes. The Clockrun signal is an open drain I/O signal. It is used as a bidirectional channel between the host and the devices. * The host de-asserts the CLKRUN# signal to indicate that the clock is about to be stopped or slowed down to a non-operational frequency. * The host asserts the CLKRUN# signal when the interface clock is either running at a normal operating frequency or about to be started. * The 82559 asserts the CLKRUN# signal to indicate that it needs the PCI clock to prevent the host from stopping the PCI clock or to request that the host restore the clock if it was previously stopped. Proper operation requires that the system latency from the nominal PCI CLK to CLKRUN# assertion should be less than 0.5 s. If the system latency is longer than 0.5 s, the occurrence of receive overruns increases. For use in these types of systems, the Clockrun functionality should be disabled (Section 9.1.12, "General Control Register" on page 76). In this case, the 82559 will claim the PCI clock even during idle time. If the CLKRUN# signal is not used, it should be connected to a pull-down resistor. Datasheet 25 82559 -- Networking Silicon 4.2.4 Power Management Event and Card Status Change Signals The 82559 supports power management indications in both the PCI and CardBus mode. In CardBus systems, the CSTSCHG pin is used for power management event indication. The PME# output pin provides an indication of a power management event in PCI systems. The CSTSCHG pin is supported by four registers located in the Control/Status Register (Section 9.0, "Control/ Status Registers" on page 71 describes these registers in more detail): * * * * 4.3 Event Register Mask Register Present State Register Force Event Register PCI Power Management In addition to the base functionality of the 82558 B-step, the 82559 supports a larger set of wake-up packets and the capability to wake the system on a link status change from a low power state. These added power management enhancements enable the 82559 to adhere to emerging standards. The 82559 enables the host system to be in a sleep state and remain virtually connected to the network. After a power management event or link status change is detected, the 82559 will wake the host system. The sections below describe these events, the 82559 power states, and estimated power consumption at each power state. 4.3.1 Power States The 82559 contains two sets of power management registers, one for PCI and one for CardBus, and implements all four power states as defined in the Power Management Network Device Class Reference Specification, Revision 1.0. The four states, D0 through D3, vary from maximum power consumption at D0 to the minimum power consumption at D3. PCI transactions are only allowed in the D0 state, except for host accesses to the 82559's PCI configuration registers. The D1 and D2 power management states enable intermediate power savings while providing the system wake-up capabilities. In the D3cold state, the 82559 can provide wake-up capabilities only if auxiliary power is supplied. Wake-up indications from the 82559 are provided by the Power Management Event (PME#) signal in PCI implementations and the Card Status Change (CSTSCHG) signal in CardBus designs. In addition to providing a host interface through the PCI bus, the 82559 provides TCO controller access through a dedicated System Management Bus (SMB). Additional information on the supported TCO functionality at all power states is described in Section 7.0, "82559 TCO Functionality" on page 51. 4.3.1.1 D0 Power State As defined in the Network Device Class Reference Specification, the device is fully functional in the D0 power state. In this state, the 82559 receives full power and should be providing full functionality. In the 82559 the D0 state is partitioned into two substates, D0 Uninitialized (D0u) and D0 Active (D0a). 26 Datasheet Networking Silicon -- 82559 D0u is the 82559's initial power state following a power on reset event and prior to the Base Address Registers (BARs) being accessed. While in the D0u state, the 82559 has PCI slave functionality to support its initialization by the host and supports Wake on LAN* mode. Initialization of the CSR, Memory, or I/O Base Address Registers in the PCI Configuration space switches the 82559 from the D0u state to the D0a state. In the D0a state, the 82559 provides its full functionality and consumes its nominal power. In addition, the 82559 supports wake on link status change (see Section 4.3.2, "Wake-up Events" on page 31). While it is active, the 82559 requires a nominal PCI clock signal (in other words, a clock frequency greater than 16 MHz) for proper operation. During idle time, the 82559 supports a PCI clock signal suspension using the Clockrun signal mechanism. The 82559 supports a dynamic standby mode. In this mode, the 82559 is able to save almost as much power as it does in the static power-down states. The transition to or from standby is done dynamically by the 82559 and is transparent to the software. 4.3.1.2 D1 Power State In order for a device to meet the D1 power state requirements, as specified in the Advanced Configuration and Power Interface (ACPI) Specification, Revision 1.0, it must not allow bus transmission or interrupts; however, bus reception is allowed. Therefore, device context may be lost and the 82559 does not initiate any PCI activity. In this state, the 82559 responds only to PCI accesses to its configuration space and system wake-up events. The 82559 retains link integrity and monitors the link for any wake-up events such as wake-up packets or link status change. Following a wake-up event, the 82559 asserts the PME# signal to alert the PCI based system or the CSTSCHG signal for a CardBus system. 4.3.1.3 D2 Power State The ACPI D2 power state is similar in functionality to the D1 power state. If the bus is in the B2 state, the 82559 will consume less current than it does in the D1 state. In addition to D1 functionality, the 82559 can provide a lower power mode with wake-on-link status change capability. The 82559 may enter this mode if the link is down while the 82559 is in the D2 state. In this state, the 82559 monitors the link for a transition from an invalid link to a valid link. The 82559 will not attempt to keep the link alive by transmitting idle symbols or link integrity pulses.1 The sub-10 mA state due to an invalid link can be enabled or disabled by a configuration bit in the Power Management Driver Register (PMDR). 4.3.1.4 D3 Power State In the D3 power state, the 82559 has the same capabilities and consumes the same amount of power as it does in the D2 state. However, it enables the PCI system to be in the B3 state. If the PCI system is in the B3 state (in other words, no PCI power is present), the 82559 provides wake-up capabilities if it is connected to an auxiliary power source in the system. If PME is disabled, the 82559 does not provide wake-up capability or maintain link integrity. In this mode the 82559 consumes its minimal power. The 82559 enables a system to be in a sub-5 watt state (low power state) and still be virtually connected. More specifically, the 82559 supports full wake-up capabilities while it is in the D3cold state. The 82559 can be connected to an auxiliary power source (VAUX), which enables it to provide 1. For a topology of two 82559 devices connected by a crossed twisted-pair Ethernet cable, the deep power-down mode should be disabled. If it is enabled, the two devices may not detect each other if the operating system places them into a low power state before both nodes become active. Datasheet 27 82559 -- Networking Silicon wake-up functionality while the PCI power is off. The typical current consumption of the 82559 is 125 mA at 3.3 V. Thus, a dual power plane is not required. If connected to an auxiliary power source, the 82559 receives all of its power from the auxiliary source in all power states. When connected to an auxiliary power supply, the 82559 is required to have a status indicator of whether or not the power supply is valid (in other words, auxiliary power is stable). The indication is received at the AUXPWR pin, as described next. 4.3.1.4.1 Auxiliary Power Signal The 82559 senses whether it is connected to the PCI power supply or to an auxiliary power supply (VAUX) via the FLA1/AUXPWR pin. The auxiliary power detection pin (multiplexed with FLA1) is sampled when the PCI RST# or ALTRST# signals are active. An external pull-up resistor should be connected to the 82559 if it is fed by VAUX; otherwise, the FLA1/AUXPWR pin should be left floating. The presence of AUXPWR affects the value reported in the Power Management Capability Register (PCI Configuration Space, offset DEH). The Power Management Capability Register is described in more detail in Section 8.1.20, "Power Management Capabilities Register" on page 63. 4.3.1.4.2 Alternate Reset Signal The 82559's ALTRST# input pin functions as a power-on reset input. Following ALTRST# being driven low, the 82559 is initialized to a known state. In systems that support auxiliary power, this pin should be connected to the auxiliary power's power stable signal (power good) of the 82559's power source. In a LAN on Motherboard (LOM) solution, this signal is available on the system. In network adapter implementations, an external analog device connected to the auxiliary power supply can be used to produce this signal. In systems that do not have an auxiliary power source, the ALTRST# signal should be tied to a pull-up resistor. 4.3.1.4.3 Isolate Signal When the 82559 is connected to VAUX, it may be powered on while the PCI bus is powered off. In this case, the 82559 isolates itself from the PCI bus. The 82559 has a dedicated ISOLATE# pin that should be connected to the PCI power source's stable power signal (power good). Whenever the PCI Bus is in the B3 state, the PCI power good signal becomes inactive and the 82559 isolates itself from the PCI bus. During this state, the 82559 ignores all PCI signals including the RST# and CLK signals. It also tristates all PCI outputs, except the PME# signal. In the transition to an active PCI power state (in other words, from B3 power state to B0 power state), the PCI power good signal shifts high. In a LAN on Motherboard solution, the PCI power good signal is supplied by the system. In network adapter implementations, the PCI power good signal can be generated locally using an external analog device. In these designs, the ISOLATE# signal should "envelope" the system's PCI power good signal as shown in Figure 9. PCI power good signal Required ISOLATE# signal behavior Figure 9. Isolate Signal Behavior to PCI Power Good Signal 28 Datasheet Networking Silicon -- 82559 In many systems, the PCI RST# signal is asserted low whenever the PCI bus is inactive. In these systems, the 82559 B-step device and later devices allow the ISOLATE# pin to be driven from the PCI RST# signal. In this case, the ALTRST# pin on the 82559 should be pulled high to the PCI bus high voltage level. 4.3.1.4.4 PCI Reset Signal The PCI RST# signal may be activated in one of the following cases: * * * * Power-up Warm boot Wake-up (B3 to B0 transition) Set to power-down (B0 to B3 transition) If PME is enabled (in the PCI power management registers), the RST# signal does not affect any PME related circuits (in other words, the CSTSCHG registers (CardBus only), PCI power management registers, and the wake-up packet would not be affected). While the RST# signal is active, the 82559 ignores other PCI signals and floats its outputs. However, if AUXPWR is asserted, the RST# signal has no affect on any circuitry. While the 82559 is in the D0, D1, or D2 power state, it is initialized by the RST# level. When the 82559 is in the D3 power state, the system bus may be in the B3 bus power state. In the B3 power state, the PCI RST# signal is undefined; however, the auxiliary power source proposal for the PCI Specification, Revision 2.2 is for the PCI RST# signal to be an active low. Therefore, the 82559 uses the PCI RST# similarly to the ISOLATE# signal in D3 power state. Following the trailing edge of the PCI RST#, the 82559 is initialized while preserving the PME# signal and its context. Note: According to the PCI specification, during the B3 state, the RST# signal is undefined. The transition from the B3 power state to the B0 power state occurs on the trailing edge of the RST# signal. The initialization signal is generated internally in the following cases: * Active RST# signal while the 82559 is the D0, D1, or D2 power state * RST# trailing edge while the 82559 is in the D3 power state * ISOLATE# trailing edge The internal initialization signal resets the PCI Configuration Space, MAC configuration, and memory structure. Datasheet 29 82559 -- Networking Silicon The behavior of the PCI RST# signal and the internal 82559 initialization signal are shown in the figure below. D0 - D2 power state PCI RST# Internal hardware reset D3 power state PCI RST# Internal hardware reset 640 ns Internal reset due to ISOLATE# ISOLATE# Internal hardware reset 640 ns Figure 10. 82559 Initialization Upon PCI RST# and ISOLATE# The tables below summarizes the 82559's functionality and power consumption at the different power states. Power State Conditions 100 Mbs 10 Mbs D0 Maximum 175 mA 140 mA D0 Average (5 Mbps) 125 mA 115 mA 120 mA 55 mA D0 Dynamic standby (with network load) D0u CardBus with PCI CLK < 70 mA < 70 mA D2/D3 (link down) PCI CLK 10 mA 10 mA Without PCI CLK 3 mA 3 mA Dx (x>0 with PME# disabled) PCI CLK 10 mA 10 mA Without PCI CLK 3 mA 3 mA WOL Wake on LAN power down < 3 mA < 3 mA NOTE: All values shown for the D3 state assume the availability of 3.3 V standby available to the device. 30 Datasheet Networking Silicon -- 82559 . Power State D0u Link Don't care 82559 Functionality * Power-up state * PCI slave access Valid Full functionality at full power and wake on invalid link Invalid Full functionality at full power and wake on valid link D0a Valid * Wake on "interesting" packets and link invalid * PCI configuration access * Wake on link valid * PCI configuration access D1 Invalid Valid Same functionality as D1 (link valid) Invalid Detection for valid link and no link integrity Valid Same functionality as D1 (link valid) Invalid Detection for valid link and no link integrity D2 D3 (with power) Dx (x>0 without PME#) 4.3.2 No wake-up functionality Don't Care Note: If the TCO bit is set in the EEPROM, the 82559 will not disable the link function and will consume power as in the D2 state. Wake-up Events There are two types of wake-up events: "Interesting" Packets and Link Status Change. These two events are detailed below. Note: 4.3.2.1 The wake-up event is supported only if the PME Enable bit in the Power Management Control/ Status (PMCSR) register is set. (The PMCSR is described in Section 8.1.21, "Power Management Control/Status Register (PMCSR)" on page 64.) "Interesting" Packet Event In the power-down state, the 82559 is capable of recognizing "interesting" packets. The 82559 supports pre-defined and programmable packets that can be defined as any of the following: * * * * * * * ARP Packets (with Multiple IP addresses) Direct Packets (with or without type qualification) Magic Packet* Neighbor Discovery Multicast Address Packet (`ARP' in IPv6 environment) NetBIOS over TCP/IP (NBT) Query Packet (under IPv4) Internetwork Package Exchange* (IPX) Diagnostic Packet TCO Packet This allows the 82559 to handle various packet types. In general, the 82559 supports programmable filtering of any packet in the first 128 bytes. Datasheet 31 82559 -- Networking Silicon When the 82559 is in one of the low power states, it searches for a predefined pattern in the first 128 bytes of the incoming packets. The only exception is the Magic Packet, which is scanned for the entire frame. The 82559 will classify the incoming packets as one of the following categories: * No Match. The 82559 discards the packet and continues to process the incoming packets. * TCO Packet. The 82559 implements perfect filtering of TCO packets. After a TCO packet is processed, the 82559 is ready for the next incoming packet. There are two possible system environments: -- TCO controller on the SMB. The entire TCO packet is transferred to the TCO controller. -- System without TCO controller. TCO packets are treated as any other wake-up packet and may assert the PME# signal if configured to do so. * Wake-up Packet. The 82559 is capable of recognizing and storing the first 128 bytes of a wake-up packet. If a wake-up packet is larger than 128 bytes, its tail is discarded by the 82559. After the system is fully powered-up, software has the ability to determine the cause of the wake-up event via the PMDR and dump the stored data to the host memory. Magic Packets are an exception. The magic packets may cause a power management event and set an indication bit in the PMDR; however, it is not stored by the 82559 for use by the system when it is woken up. 4.3.2.2 Link Status Change Event The 82559 link status indication circuit is capable of issuing a PME on a link status change from a valid link to an invalid link condition or vice versa. The 82559 reports a PME link status event in all power states. The PME# signal is gated by the PME Enable bit in the PMCSR and the CSMA Configure command. 4.4 CardBus Power Management The CardBus Power Management Proposal differs from the PCI Power Management Specification in the following manner: * * * * The PME# signal is replaced by CSTSCHG which is an active high output signal. An auxiliary power source, VAUX, is supplied on the same Vcc pins. An auxiliary power source bit in the PMC register must be set. The PCI clock signal and the PCI reset signal are guaranteed to be kept low in the B3 state. In addition, the 82559 also meets the CardBus requirement for current consumption less than 70 mA in the D0u state. 4.5 Wake on LAN (Preboot Wake-up) When the 82559 is drawing power from an auxiliary power source (VAUX), it can support the same preboot Wake on LAN (WOL) capabilities as the 82558 device. The 82559 enters WOL mode after the following events occur: * An ALTRST# is completed. * The 82559 reads the EEPROM and the WOL bit is set. 32 Datasheet Networking Silicon -- 82559 When the 82559 is in WOL mode: * The 82559 scans incoming packets for a Magic Packet. When it receives a Magic packet, the 82559 asserts the PME# signal (until cleared) and the CSTSCHG signal for 52 ms. * The Activity LED changes its functionality to indicates that the received frame passed Individual Address (IA) filtering or broadcast filtering. * The PCI Configuration registers are accessible to the host. * Software should not attempt to access the Flash. The 82559 switches from WOL mode to the D0a power state following a setup of the Memory or I/O Base Address Registers in the PCI Configuration space. While the 82559 is in the D0u, D1, D2, or D3 power state, if the 82559 receives a Magic packet, it issues a positive pulse for approximately 52 ms on the CSTSCHG pin. For PCI systems and in designs that support the 3-pin header standard, the CSTSCHG pin acts as the WOL signal. 4.6 Parallel Flash/Modem Interface The 82559's parallel interface is used for Flash interface only or modem interface only. The 82559 supports a glueless interface to an 8-bit wide, 128 Kbyte, parallel memory device. The parallel local port is multiplexed with a modem interface in a LAN/modem combination card. The Flash (or boot PROM) is read from or written to whenever the host CPU performs a read or a write operation to a memory location that is within the Flash mapping window. All accesses to the Flash, except read accesses, require the appropriate command sequence for the device used. (Refer to the specific Flash data sheet for more details on reading from or writing to the Flash device.) The accesses to the Flash are based on a direct decode of CPU accesses to a memory window defined in either the 82559 Flash Base Address Register (PCI Configuration space at offset 18H) or the Expansion ROM Base Address Register (PCI Configuration space at offset 30H). The 82559 asserts control to the Flash when it decodes a valid access. The 82559 supports an external Flash memory (or boot PROM) of up to 128 Kbyte. The Expansion ROM address can be separately disabled by setting the corresponding bit in the EEPROM, word AH. Note: 4.7 Flash accesses must always be assembled or disassembled by the 82559 whenever the access is greater than a byte-wide access. Due to slow access times to a typical Flash and to avoid violating PCI bus holding specifications (no more than 16 wait states inserted for any cycles that are not system initiation cycles), the maximum data size is either one word or one byte for a read operation and one byte only for a write operation. Serial EEPROM Interface The serial EEPROM stores configuration data for the 82559 and is a serial in/serial out device. The 82559 supports a either a 64 register or 256 register size EEPROM and automatically detects the EEPROM's size. A 256 word EEPROM device is required for a Cardbus system and contains the CIS information. A 256 word EEPROM device is also required for a TCO enabled system in order to hold the heartbeat packet. The EEPROM should operate at a frequency of at least 1 MHz. Datasheet 33 82559 -- Networking Silicon All accesses, either read or write, are preceded by a command instruction to the device. The address field is six bits for a 64 register EEPROM or eight bits for a 256 register EEPROM. The end of the address field is indicated by a dummy zero bit from the EEPROM, which indicates the entire address field has been transferred to the device. An EEPROM read instruction waveform is shown in the figure below. EESK EECS A5 A4 A3 A2 AA10 A0 EEDI READ OP code D15 D0 EEDO Figure 11. 64-word EEPROM Read Instruction Waveform The 82559 may also use the EEPROM for heartbeat packet transmission (systems without a TCO controller are also supported). In these designs, the EEPROM is accessed through time windows autonomously by the 82559 hardware. During these time windows, the 82559 will respond with a PCI Retry to both EEPROM and Flash accesses. The 82559 performs an automatic read of five words (0H, 1H, 2H, AH, and DH) of the EEPROM after the de-assertion of Reset. It may read six more words (BH, CH, FBH, FCH, FDH, and FEH) if the modem bit is set in the EEPROM (word AH, bit 0). 34 Datasheet Networking Silicon -- 82559 The 82559 EEPROM format is shown below in Figure 12. Word 15 14 13 12 11 10 9 8 7 6 5 4 3 0H IA Byte 2 IA Byte 1 1H IA Byte 4 IA Byte 3 2H AH IA Byte 6 Sig ID 0b BD ALT ID DPD Subsystem ID CH Subsystem Vendor ID 0000b 1 0 WMR STB Ena MDM IA Byte 5 Rev ID BH DH 2 HB Packet Pointer WOL 00b SMB Address Field/EEPROM CIS Pointer FBH Modem Vendor ID FCH Modem Device ID FDH Modem Program Interface (02) Modem Revision Number (00) FEH Modem Power Dissipation (D0-D3) Modem Power Consumption (D0-D3) Figure 12. 82559 EEPROM Format Note that word AH contains several configuration bits. Bits from word AH, FBH through FEH, and certain bits from word DH are described as follows: Table 1. EEPROM Words Field Descriptions Bits Name Word AH, 15:14 Signature The Signature field is a signature of 01b, indicating to the 82559 that there is a valid EEPROM present. If the Signature field is not 01b, the other bits are ignored and the default values are used. Word AH, 13 ID The ID bit indicates how the Subsystem ID and Subsystem Vendor ID fields are used as described in Section 8.1.12, "PCI Subsystem Vendor ID and Subsystem ID Registers" on page 61. Default value is 0b. Word AH, 12 Reserved This bit is reserved and should be set to 0b. Word AH, 11 Boot Disable The Boot Disable bit disables the Expansion ROM Base Address Register (PCI Configuration space, offset 30H) when it is set. Default value is 0b. Word AH, 10:8 Revision ID These three bits are used as the three least significant bits of the device revision, if bits 15, 14, and 13 equal 011b and the ID was set as described in Section 8.1.12, "PCI Subsystem Vendor ID and Subsystem ID Registers" on page 61. The default value depends on the silicon revision (for example, the 82559 C-Step's Revision ID is 09h). Word AH, 7 82559 B-step This bit is reserved and should be set to 1b. 82559 C-step This bit is used in conjunction with the Signature field and the ID bit to help define the Device ID. When bit 7 equals 1b, the Device ID is 1229H and the device is compatible to previous steppings of the 82559. When bit 7 equals 0b, the LAN function reports a Device ID of 1029H and the device is not compatible with the 82559. Details regarding the 82559 ID programming are described in Section 8.1.12, "PCI Subsystem Vendor ID and Subsystem ID Registers" on page 61. Alternate ID Datasheet Description 35 82559 -- Networking Silicon Table 1. EEPROM Words Field Descriptions Bits Name Word AH, 6 Deep Power Down Description This bit either enables or disables Deep Power Down in the D2 or D3 states when PME is disabled: `0' Deep Power Down is enabled in D3 state if PME-Disabled `1' Deep Power Down disabled in D3 state when PME-Disabled. Note: When using the 82559's Alert capability, the Deep Power Down capability should be disabled. Alert devices will not be able to transmit or receive on the SMBus if the device is in a Deep Power Down Mode. Word AH, 5 Wake on LAN The WOL bit sets the 82559 into WOL mode. When in this mode the 82559 reads three additional words from the EEPROM, word addresses 0H, 1H, and 2H. These words are expected to hold the MAC Individual Address. After reading these words the 82559 wakes the system by asserting PME# when a wake-up packet is received. Default value is 0b. Word AH, 4:3 Reserved These are reserved and should be set to 00b. Word AH, 1 Standby Enable The Standby Enable bit enables the 82559 to enter standby mode. When this bit equals 1b, the 82559 is able to recognize an idle state and can enter standby mode (some internal clocks are stopped for power saving purposes). The 82559 does not require a PCI clock signal in standby mode. If this bit equals 0b, the idle recognition circuit is disabled and the 82559 always remains in an active state. Thus, the 82559 will always request PCI CLK using the Clockrun mechanism. Word AH, 0 Modem If this bit equals 0b, the design is a single function design (LAN function) only. If this bit equals 1b, a modem is attached on the 82559 local parallel port. Word DH, 11:8 Heartbeat Packet Pointer This field of bits contains the location of the Heartbeat packet within the EEPROM. The pointers are expressed in a granularity of 16 words. A value of 0 is used as a null pointer. Word, DH, 7:0 SMB Address Field/EEPROM CIS Pointer This field of bits is a multiplexed function field. In a PCI system, it acts as an SMB address field (7-bit field). When this field is used as the SMB address field, bit 7 equals 0b. Word AH, 2 In a CardBus system, this field is used for CIS pointers. When this field is used as the EEPROM CIS Pointer, it contains two 4-bit pointers that point to the location of the CIS information within the EEPROM. The pointers are expressed in a granularity of 16 words. A value of 0 is used as a null pointer. The Ethernet CIS pointer resides in bits 3:0 and the modem CIS pointer resides in bits 7:4. Words FBH FEH Note: 4.8 Modem Configuration Parameters These word fields hold the modem configuration parameters are loaded to the PCI Configuration space. A combination LAN/modem card requires a 256-word EEPROM. The IA read from the EEPROM is used by the 82559 until an IA Setup command is issued by software. The IA defined by the IA Setup command overrides the IA read from the EEPROM. 10/100 Mbps CSMA/CD Unit The 82559 CSMA/CD unit implements both the IEEE 802.3 Ethernet 10 Mbps and IEEE 802.3u Fast Ethernet 100 Mbps standards. It performs all the CSMA/CD protocol functions such as transmission, reception, collision handling, etc. The 82559 CSMA/CD unit interfaces the internal PHY unit through a standard Media Independent Interface (MII), as specified by IEEE 802.3, Chapter 22. This is a 10/100 Mbps mode in which the data stream is nibble-wide and the serial clocks run at either 25 or 2.5 MHz. 36 Datasheet Networking Silicon -- 82559 4.8.1 Full Duplex When operating in full duplex mode the 82559 can transmit and receive frames simultaneously. Transmission starts regardless of the state of the internal receive path. Reception starts when the internal PHY detects a valid frame on the receive differential pair of the PHY. The 82559 operates in either half duplex mode or full duplex mode. For proper operation, both the 82559 CSMA/CD module and the PHY unit must be set to the same duplex mode. The CSMA duplex mode is set by the 82559 Configure command or forced by automatically tracking the mode in the PHY unit. The PHY duplex mode is set either by Auto-Negotiation or, if Auto-Negotiation is disabled, by setting the full duplex bit in the Management Data Interface (MDI) Register 0, bit 8. By default, the internal PHY unit advertises full duplex ability in the Auto-Negotiation process regardless of the duplex setting of the CSMA unit. The CSMA configuration should match the result of the AutoNegotiation. The selection of duplex operation (full or half) and flow control is done in two levels: MAC and PHY. The MAC duplex selection is done only through CSMA configuration mechanism (in other words, the Configure command from software). 4.8.2 Flow Control The 82559 supports IEEE 802.3x frame based flow control frames only in both full duplex and half duplex switched environments. The 82559 flow control feature is not intended to be used in shared media environments. Flow control is optional in full duplex mode and can be selected through software configuration. There are three modes of flow control that can be selected: frame based transmit flow control, frame based receive flow control, and none. The PHY unit's duplex and flow control enable can be selected using NWay* Auto-Negotiation algorithm or through the Management Data Interface. 4.8.3 Address Filtering Modifications The 82559 can be configured to ignore one bit when checking for its Individual Address (IA) on incoming receive frames. The address bit, known as the Upper/Lower (U/L) bit, is the second least significant bit of the first byte of the IA. This bit may be used, in some cases, as a priority indication bit. When configured to do so, the 82559 passes any frame that matches all other 47 address bits of its IA, regardless of the U/L bit value. This configuration only affects the 82559 specific IA and not multicast, multi-IA or broadcast address filtering. The 82559 does not attribute any priority to frames with this bit set, it simply passes them to memory regardless of this bit. 4.8.4 VLAN Support The 82559 supports the VLAN standard currently being defined by the IEEE 802.1 committee. All VLAN flows will be implemented by software. The 82559 supports the reception of long frames, specifically frames longer than 1518 bytes, including the CRC, if software sets the Long Receive OK bit in the Configuration command. Otherwise, "long" frames are discarded. Datasheet 37 82559 -- Networking Silicon 4.9 Media Independent Interface (MII) Management Interface The MII management interface allows the CPU to control the PHY unit via a control register in the 82559. This allows the software driver to place the PHY in specific modes such as full duplex, loopback, power down, etc., without the need for specific hardware pins to select the desired mode. This structure allows the 82559 to query the PHY unit for status of the link. This register is the MDI Control Register and resides at offset 10H in the 82559 CSR. (The MDI registers are described in detail in Section 10.0, "PHY Unit Registers" on page 85.) The CPU writes commands to this register and the 82559 reads or writes the control/status parameters to the PHY unit through the MDI register. Although the82559 follows the MII format, the MI bus is not accessible on external pins. 38 Datasheet Networking Silicon -- 82559 5.0 82559 Physical Layer Functional Description 5.1 100BASE-TX PHY Unit 5.1.1 100BASE-TX Transmit Clock Generation A 25 MHz crystal or a 25 MHz oscillator is used to drive the PHY unit's X1 and X2 pins. The PHY unit derives its internal transmit digital clocks from this crystal or oscillator input. The internal Transmit Clock signal is a derivative of the 25 MHz internal clock. The accuracy of the external crystal or oscillator must be 0.005% (50 PPM). 5.1.2 100BASE-TX Transmit Blocks The transmit subsection of the PHY unit accepts nibble-wide data from the CSMA/CD unit. The transmit subsection passes data unconditionally to the 4B/5B encoder. The 4B/5B encoder accepts nibble-wide data (4 bits) from the CSMA unit and compiles it into 5bit-wide parallel symbols. These symbols are scrambled and serialized into a 125 Mbps bit stream, converted by the analog transmit driver into a MLT-3 waveform format, and transmitted onto the Unshielded Twisted Pair (UTP) or Shielded Twisted Pair (STP) wire. 5.1.2.1 100BASE-TX 4B/5B Encoder The 4B/5B encoder complies with the IEEE 802.3u 100BASE-TX standard. Four bits are encoded according to the transmit 4B/5B lookup table. The lookup table matches a 5-bit code to each 4-bit code. The table below illustrates the 4B/5B encoding scheme associated with the given symbol. Table 2. Datasheet 4B/5B Encoder Symbol 5B Symbol Code 4B Nibble Code 0 11110 0000 1 01001 0001 2 10100 0010 3 10101 0011 4 01010 0100 5 01011 0101 6 01110 0110 7 01111 0111 8 10010 1000 9 10011 1001 A 10110 1010 B 10111 1011 C 11010 1100 39 82559 -- Networking Silicon Table 2. 5.1.2.2 4B/5B Encoder Symbol 5B Symbol Code 4B Nibble Code D 11011 1101 E 11100 1110 F 11101 1111 I 11111 Inter Packet Idle Symbol (No 4B) J 11000 1st Start of Packet Symbol 0101 K 10001 2nd Start of Packet Symbol 0101 T 01101 1st End of Packet Symbol R 00111 2nd End of Packet Symbol and Flow Control V 00000 INVALID V 00001 INVALID V 00010 INVALID V 00011 INVALID H 00100 INVALID V 00101 INVALID V 00110 INVALID V 01000 INVALID V 01100 INVALID V 10000 PHY based Flow Control V 11001 INVALID 100BASE-TX Scrambler and MLT-3 Encoder Data is scrambled in 100BASE-TX in order to reduce electromagnetic emissions during long transmissions of high-frequency data codes. The scrambler logic accepts 5 bits from the 4B/5B encoder block and presents the scrambled data to the MLT-3 encoder. The PHY unit implements the 11-bit stream cipher scrambler as adopted by the ANSI XT3T9.5 committee for UTP operation. The cipher equation used is: X[n] = X[n-11] + X[n-9] (mod 2) The encoder receives the scrambled Non-Return to Zero (NRZ) data stream from the Scrambler and encodes the stream into MLT-3 for presentation to the driver. MLT-3 is similar to NRZI coding, but three levels are output instead of two. There are three output levels: positive, negative and zero. 40 Datasheet Networking Silicon -- 82559 When an NRZ "0" arrives at the input of the encoder, the last output level is maintained (either positive, negative or zero). When an NRZ "1" arrives at the input of the encoder, the output steps to the next level. The order of steps is negative-zero-positive-zero which continues periodically. Clock 1 NRZ 1 0 0 1 0 0 1 NRZ1 1 1 0 0 1 0 0 1 MLT-3 1 1 0 0 1 0 0 1 Figure 13. NRZ to MLT-3 Encoding Diagram 5.1.2.3 100BASE-TX Transmit Framing The PHY unit does not differentiate between the fields of the MAC frame containing preamble, Start of Frame Delimiter, data and Cyclic Redundancy Check (CRC). The PHY unit encodes the first byte of the preamble as the "JK" symbol, encodes all other pieces of data according to the 4B/ 5B lookup table, and adds the "TR" code after the end of the packet. The PHY unit scrambles and serializes the data into a 125 Mbps stream, encodes it as MLT-3, and drives it onto the wire. 5.1.2.4 Transmit Driver The transmit differential pair lines are implemented with a digital slope controlled current driver that meets the TP-PMD specifications. Current is sinked from the isolation transformer by the TDP and TDN pins. The conceptual transmit differential waveform for 100 Mbps is illustrated in the following figure. (V TDP -V TDN ) +1V 0V t -1V Figure 14. Conceptual Transmit Differential Waveform Datasheet 41 82559 -- Networking Silicon The magnetics module that is external to the PHY unit converts ITDP and ITDN to the 2.0 Vpp, as required by the TP-PMD specification. The same magnetics used for 100BASE-TX mode should also work in 10BASE-T mode. The following is a list of current magnetics modules available from several vendors: Table 3. Magnetics Modules Vendor 5.1.3 Model/Type 100BASE-TX 10BASE-T Delta LF8200A Yes Yes Pulse Engineering PE-68515 Yes Yes Pulse Engineering H1012 Yes Yes 100BASE-TX Receive Blocks The receive subsection of the PHY unit accepts 100BASE-TX MLT-3 data on the receive differential pair. Due to the advanced digital signal processing design techniques employed, the PHY unit will accurately receive valid data from Category-5 (CAT5) UTP and Type 1 STP cable of length well in excess of 100 meters. 5.1.3.1 Adaptive Equalizer The distorted MLT-3 signal at the end of the wire is restored by the equalizer. The equalizer performs adaptation based on the shape of the received signal, equalizing the signal to meet superior Data Dependent Jitter performance. 5.1.3.2 Receive Clock and Data Recovery The clock recovery circuit uses advanced digital signal processing technology to compensate for various signal jitter causes. The circuit recovers the 125 MHz clock and data and presents the data to the MLT-3 decoder. 5.1.3.3 MLT-3 Decoder, Descrambler, and Receive Digital Section The PHY unit first decodes the MLT-3 data; afterwards, the descrambler reproduces the 5B symbols originated in the transmitter. The descrambling is based on synchronization to the transmit 11-bit Linear Feedback Shift Register (LFSR) during idle. The data is decoded at the 4B/5B decoder. Once the 4B symbols are obtained, the PHY unit outputs the receive data to the CSMA unit. 5.1.3.4 100BASE-TX Receive Framing The PHY unit does not differentiate between the fields of the MAC frame containing preamble, start of frame delimiter, data and CRC. During 100 Mbps reception, the PHY unit differentiates between the idle condition ("L" symbols on the wire) and the preamble or start of frame delimiter. When two non-consecutive bits are 0b within 10 bits (125 Mbps 5B data coding) the PHY unit immediately asserts carrier sense. When the "JK" symbols ("11000, 10001") are fully recognized, the PHY unit provides the received data to the CSMA unit. If the "JK" symbol is not recognized ("false carrier sense"), the carrier sense is immediately de-asserted and a receive error is indicated. 42 Datasheet Networking Silicon -- 82559 5.1.3.5 100BASE-TX Receive Error Detection and Reporting In 100BASE-TX mode, the PHY unit can detect errors in receive data in a number of ways. Any of the following conditions is considered an error: * * * * Link integrity fails in the middle of frame reception. The Start of Stream Delimiter (SSD) "JK" symbol is not fully detected after idle. An invalid symbol is detected at the 4B/5B decoder. Idle is detected in the middle of a frame (before "TR" is detected). When any of the above error conditions occurs, the PHY unit immediately asserts its receive error indication to the CSMA unit. The receive error indication is held active as long as the receive error condition persists on the receive pair. 5.1.4 100BASE-TX Collision Detection 100BASE-TX collisions in half duplex mode only are detected similarly to 10BASE-T collision detection, via simultaneous transmission and reception. 5.1.5 100BASE-TX Link Integrity and Auto-Negotiation Solution The 82559 Auto-Negotiation function automatically configures the device to the technology, media, and speed to operate with its link partner. Auto-Negotiation is widely described in IEEE specification 802.3u, clause 28. The PHY unit supports 10BASE-T half duplex, 10BASE-T full duplex, 100BASE-TX half duplex, and 100BASE-TX full duplex. The PHY unit has two Physical Media Attachment (PMA) technologies with its link integrity function, 10BASE-T and 100BASE-TX. 5.1.5.1 Link Integrity In 100BASE-TX, the link integrity function is determined by a stable signal status coming from the TP-PMD block. Signal status is asserted when the PMD detects breaking squelch energy and the right bit error rate according to the ANSI specification. 5.1.5.2 Auto-Negotiation The PHY unit fully supports IEEE 802.3u, clause 28. The technology, 10BASE-T or 100BASETX, is determined by the Auto-Negotiation result. Speed and duplex auto-select are functions of Auto-Negotiation. However, these parameters may be manually configured via the MII management interface (MDI registers). 5.1.6 Auto 10/100 Mbps Speed Selection The MAC may either allow the PHY unit to automatically select its operating speed or force the PHY into 10 Mbps or 100 Mbps mode. The Management Data Interface (MDI) can control the PHY unit speed mode. Datasheet 43 82559 -- Networking Silicon The PHY unit auto-select function determines the operation speed of the media based on the link integrity pulses it receives. If no Fast Link Pulses (FLPs) are detected and Normal Link Pulses (NLPs) are detected, the PHY unit defaults to 10 Mbps operation. If the PHY unit detects a speed change, it dynamically changes its transmit clock and receive clock frequencies to the appropriate value. This change takes a maximum of five milliseconds. 5.2 10BASE-T Functionality 5.2.1 10BASE-T Transmit Clock Generation The 20 MHz and 10 MHz clocks needed for 10BASE-T are synthesized from the external 25 MHz crystal or oscillator. The PHY unit provides the transmit clock and receive clock to the internal MAC at 2.5 MHz. 5.2.2 10BASE-T Transmit Blocks 5.2.2.1 10BASE-T Manchester Encoder After the 2.5 MHz clocked data is serialized in a 10 Mbps serial stream, the 20 MHz clock performs the Manchester encoding. The Manchester code always has a mid-bit transition. If the value is 1b then the transition is from low to high. If the value is 0b then the transition is from high to low. The boundary transition occurs only when the data changes from bit to bit. For example, if the value is 10b, then the change is from high to low; if 01b, then the change is from low to high. 5.2.2.2 10BASE-T Driver and Filter Since 10BASE-T and 100BASE-TX have different filtration needs, both filters are implemented inside the chip. This allows the two technologies to share the same magnetics. The PHY unit supports both technologies through one pair of TD pins and by externally sharing the same magnetics. In 10 Mbps mode, the PHY unit begins transmitting the serial Manchester bit stream within 3 bit times (300 nanoseconds) after the MAC asserts TXEN. In 10 Mbps mode the line drivers use a predistortion algorithm to improve jitter tolerance. The line drivers reduce their drive level during the second half of "wide" (100 ns) Manchester pulses and maintain a full drive level during all narrow (50 ns) pulses and the first half of the wide pulses. This reduces line overcharging during wide pulses, a major source of jitter. 5.2.3 10BASE-T Receive Blocks 5.2.3.1 10BASE-T Manchester Decoder The PHY unit performs Manchester decoding and timing recovery when in 10 Mbps mode. The Manchester-encoded data stream is decoded from the RD pair to separate Receive Clock and Receive Data from the differential signal. This data is transferred to the CSMA unit at 2.5 MHz/ nibble. The high-performance circuitry of the PHY unit exceeds the IEEE 802.3 jitter requirements. 44 Datasheet Networking Silicon -- 82559 5.2.3.2 10BASE-T Twisted Pair Ethernet (TPE) Receive Buffer and Filter In 10 Mbps mode, data is expected to be received on the receive differential pair after passing through isolation transformers. The filter is implemented inside the PHY unit for supporting single magnetics that are shared with the 100BASE-TX side. The input differential voltage range for the Twisted Pair Ethernet (TPE) receiver is greater than 585 mV and less than 3.1 V. The TPE receive buffer distinguishes valid receive data, link test pulses, and the idle condition, according to the requirements of the 10BASE-T standard. The following line activity is determined to be inactive and is rejected: * Differential pulses of peak magnitude less than 300 mV * Continuous sinusoids with a differential amplitude less than 6.2 VPP and frequency less than 2 MHz * Sine waves of a single cycle duration starting with 0 or 180 phase that have a differential amplitude less than 6.2 V PP and a frequency of at least 2 MHz and not more than 16 MHz. These single-cycle sine waves are discarded only if they are preceded by 4 bit times (400 nanoseconds) of silence. All other activity is determined to be either data, link test pulses, Auto-Negotiation fast link pulses, or the idle condition. When activity is detected, the carrier sense signal is asserted to the MAC. 5.2.3.3 10BASE-T Error Detection and Reporting In 10 Mbps mode, the PHY unit can detect errors in the receive data. The following condition is considered an error: The receive pair's voltage level drops to the idle state during reception before the end-of-frame bit is detected (250 nanoseconds without mid-bit transitions). 5.2.4 10BASE-T Collision Detection Collision detection in 10 Mbps mode is indicated by simultaneous transmission and reception. If the PHY unit detects this condition, it asserts a collision indication to the CSMA/CD unit. 5.2.5 10BASE-T Link Integrity The link integrity in 10 Mbps works with link pulses. The PHY unit senses and differentiates those link pulses from fast link pulses and from 100BASE-TX idles. The 10 Mbps link pulses or normal link pulses are driven in the transmit differential pair line but are 100 ns wide and have levels from 0 V to 5 V. The link beat pulse is also used to determine if the receive pair polarity is reversed. If it is, the polarity is corrected internally. 5.2.6 10BASE-T Jabber Control Function The PHY unit contains a jabber control function that inhibits transmission after a specified time window when enabled. In 10 Mbps mode, the jabber timer is set to a value between 26.2 ms and 39 ms. If the PHY unit detects continuous transmission that is greater than this time period, it prevents further transmissions from onto the wire until it detects that the MAC transmit enable signal has been inactive for at least 314 ms. Datasheet 45 82559 -- Networking Silicon 5.2.7 10BASE-T Full Duplex The PHY unit supports 10 Mbps full duplex by disabling the collision function, the squelch test, and the carrier sense transmit function. This allows the PHY unit to transmit and receive simultaneously, achieving up to 20 Mbps of network bandwidth. The configuration can be achieved through Auto-Negotiation. Full duplex should only be used in point-to-point connections (no shared media). 5.3 Auto-Negotiation Functionality The PHY unit supports Auto-Negotiation. Auto-Negotiation is an automatic configuration scheme designed to manage interoperability in multifunctional LAN environments. It allows two stations with "N" different modes of communication to establish a common mode of operation. At powerup, Auto-Negotiation automatically establishes a link that takes advantage of an Auto-Negotiation capable device. An Auto-Negotiation capable device can detect and automatically configure its port to take maximum advantage of common modes of operation without user intervention or prior knowledge by either station. The possible common modes of operation are: 100BASE-TX, 100BASE-TX Full Duplex, 10BASE-T, and 10BASE-T Full Duplex. 5.3.1 Description Auto-Negotiation selects the fastest operating mode (in other words, the highest common denominator) available to hardware at both ends of the cable. A PHY's capability is encoded by bursts of link pulses called Fast Link Pulses (FLPs). Connection is established by FLP exchange and handshake during link initialization time. Once the link is established by this handshake, the native link pulse scheme resumes (that is, 10BASE-T or 100BASE-TX link pulses). A reset or management renegotiate command (through the MDI interface) will restart the process. To enable Auto-Negotiation, bit 12 of the MDI Control Register must be set. If the PHY unit cannot perform Auto-Negotiation, it will set this bit to a 0 and determine the speed using Parallel Detection. The PHY unit supports four technologies: 100BASE-Tx Full and Half Duplex and 10BASE-T Full and Half Duplex. Since only one technology can be used at a time (after every re-negotiate command), a prioritization scheme must be used to ensure that the highest common denominator ability is chosen. Each bit in this table is set according to what the PHY is capable of supporting. In the case of the 82559's PHY unit, bits 0, 1, 2, 3, and 5 (10BASE-T, 10BASE-T full duplex, 100BASE-TX, 100BASE-TX full duplex and pause [frame based flow control], respectively) are set. To detect the correct technology, the two register fields, technology ability and technology priority, should be ANDed together to obtain the highest common denominator. This value should then be used to map into a priority resolution table used by the MAC driver to use the appropriate technology. 5.3.2 Parallel Detect and Auto-Negotiation The PHY unit automatically determines the speed of the link either by using Parallel Detect or Auto-Negotiation. Upon a reset, a link status fail, or a Negotiate/Re-negotiate command, the PHY unit inserts a long delay during which no link pulses are transmitted. This period, known as Force_Fail, insures that the PHY unit`s link partner has gone into a Link Fail state before AutoNegotiation or Parallel Detection begins. Thus, both sides (PHY unit and PHY unit's link partner) 46 Datasheet Networking Silicon -- 82559 will perform Auto-Negotiation or Parallel Detection with no data packets being transmitted. Connection is then established either by FLP exchange or Parallel Detection. The PHY unit will look for both FLPs and link integrity pulses. The following diagram illustrates this process. Force_Fail Ability detect either by parallel detect or autonegotiation. Parallel Detection Auto-Negotiation 10Base-T or 100Base-TX Link Ready FLP capable Look at Link Pulse; Auto-Negotiation capable = 0 Auto-Negotiation capable = 1 Ability Match LINK PASS Auto-Negotiation Complete bit set Figure 15. Auto-Negotiation and Parallel Detect 5.4 LED Description The PHY unit supports three LED pins to indicate link status, network activity and network speed. Each pin can source 10 mA. * Link: This LED is off until a valid link has been detected. After a valid link has been detected, the LED will remain on (active-low). * Activity: This LED blinks on and off when activity is detected on the wire. * Speed: This LED will be on if a 100BASE-TX link is detected and off if a 10BASE-T link is detected. If the link fails while in Auto-Negotiation, this LED will keep the last valid link state. If 100BASE-TX link is forced this LED will be on, regardless of the link status. This LED will be of if the 10BASE-T link is forced, regardless of the link status. MDI register 27 in Section 10.3.12, "Register 27: PHY Unit Special Control Bit Definitions" on page 92 details the information for LED function mapping and support enhancements. Datasheet 47 82559 -- Networking Silicon Figure 16 provides possible schematic diagrams for configurations using two and three LEDs. LILED VCC ACTLED SpeedLED VCC 82559ER LILED ACTLED SpeedLED Figure 16. Two and Three LED Schematic Diagram 48 Datasheet Networking Silicon -- 82559 6.0 82559 Modem Functionality The local port mimics the standard 8-bit interface of a modem to the host system and emulates a 16550 Universal Asynchronous Receiver/Transceiver (UART) modem interface. The modem interface includes the following: * 8-bit data bus: FLD[7:0] * Control signals: AEN (FLCS#), MCNTSM# (FLA[12]), MINT (FLA[11]), MRING# (FLA[10]), MRST (FLA[9]), RD# (FLOE#), and WR# (FLWE#) * 4 address lines 6.1 PCI Address Mapping to the Modem The modem can be accessed by the PCI bus through either I/O or memory mapping. 6.2 Modem Read and Write Cycles Basic read/write cycles to the modem device are shown in the figure below. Modem AEN (CS#) Modem Addrsess Modem Data In / Out Modem IOCHRDY Modem WE# / RD# Figure 17. Modem Read/Write Cycles 6.3 Modem and Preboot eXtension Environment Coexistence The 82559 C-Step local bus interface supports either a Flash device or modem without external support. In addition, the 82559 can also support both devices concurrently on the bus. Support is provided through the use of the Security ASIC Chip Select (CFCS#) pin by using it in conjunction with the Flash Chip Select (FLCS#) signal to enable the target device. 6.3.1 Programming Details For designs that use both Flash and modem devices, the 82559 C-step supports the coexistence of BootROM accesses (for Preboot eXtension Environment [PXE] code) and modem: 1. Set the EEPROM's MDM bit. Datasheet 49 82559 -- Networking Silicon 2. Clear the BD bit in the EEPROM. This enables both the modem and boot ROM. This allows the Boot Enable bit in the Expansion BAR to select which external device (modem or Flash) is active on the local bus through the use of the CFCS# pin. After initialization, the 82559 C-step enables the Flash on the local bus (in other words, the Boot Enable bit in the BAR equals 1b) and the modem is disabled. Following the execution of the boot code from the Flash device, the enable bit is cleared, and the modem is enabled. The clearing of the Boot Enable bit causes the CFCS# pin to be de-asserted, enabling the modem, Function 1 (Modem) Configuration space, to be available regardless of the state of the Boot Enable bit or CFCS#. 6.3.2 Support Circuitry An example of support circuitry is shown in Figure 18. When CFCS# is low, the modem is enabled; CFCS# is high, the Flash device is enabled. FLCS# CFCS# MODEM_CS# FLASH_CS# (Modem_Mode#) Figure 18. Support Circuitry Example 50 Datasheet Networking Silicon -- 82559 7.0 82559 TCO Functionality The 82559 supports management communication to reduce Total Cost of Ownership (TCO). It has a System Management Bus (SMB) on which the 82559 is a slave device. The SMB is used as an interface between the 82559 and a TCO "entity". The TCO entity may be a dedicated TCO controller, or it may be direct connection to a future integrated host controller. In the case of a direct connection to an integrated host controller, a larger EEPROM of 256 words would be required if the heartbeat command is used. The sections below describe the 82559's functionality in the a system with a TCO controller and a system without a TCO controller. 7.1 System Functionality with a TCO Controller When a TCO controller accesses the 82559 through the SMB, the bus operates as a half duplex channel. Therefore, once the TCO controller starts a transmit command or another execution command, it must complete it before responding to the SMB Alert (SMBALRT) cause and vise versa. The 82559 functionality available through the SMB is listed in the table below. Power State D0 Nominal Dx (x > 0) Force TCO Mode TCO Controller Functionality * Transmit * Set receive TCO packets * Receive TCO packets * Read 82559 status * Force TCO mode * D0 functionality * Read PHY registers * Dx functionality * Configure commands (configuration, individual address, multicast, load microcode) * Read/Write PHY registers D0 Nominal Operation: In the D0 power state, the 82559 can transfer TCO packets to the TCO controller. This feature is enabled by the set receive enable command from the TCO controller. The TCO packets are transferred to the 82559's memory structure, Receive Frame Area (RFA); therefore, this feature requires software to be loaded and available receive resources. The 82559 suspends transmit and receive processes and sets the TCO request bit in the TCO State register. Afterwards, it transfers the TCO packet back to the TCO controller through the SMB and reclaims receive memory structures that are occupied by the TCO packet, eliminating the need for software intervention in the process. Finally, the 82559 increments the receive TCO statistic counter, clears the TCO request bit and resumes normal operation. The 82559 always increments the receive TCO counter following the reception of a TCO packet. Note: Datasheet Traffic between the 82559 and the TCO controller is limited by the SMB speed and the TCO controller latency. For example, for a system with a 100 KHz clock on the SMB, the bandwidth may be as low as 50 Kbps, which is a reception rate of approximately 100 packets per second for 64-byte packets. Transmit Command during Nominal Operation 51 82559 -- Networking Silicon The 82559 completes the following process for the during nominal operation of the transmit command in TCO mode. 1. The 82559 completes the current transmit DMA. 2. The 82559 sets the TCO request bit in the TCO State register. 3. The 82559 responds to the TCO controller's transmit request. 4. Upon completion of the TCO transmit DMA, the 82559 increments the transmit TCO statistic counter. 5. Upon completion of the transmit operation, the 82559 increments the nominal transmit statistic counters and clears the TCO request bit in the TCO State register. 6. The 82559 resumes its normal transmit flow. During the this time, the receive flow is not affected. Receive TCO Packets The 82559 supports receive flow towards the TCO controller. The 82559 can transfer either TCO packets or packets that pass MAC address filtering according to its configuration and mode of operation. If the 82559 is configured to transfer only TCO packets, it supports Ethernet Type II packets with optional VLAN tagging. Read 82559 Status (Power Management and Link State) The TCO controller is capable of reading the 82559's power state and link status. Following a status change the 82559 issues an SMB alert and the TCO entity reads the new power state. Set Force TCO Mode The TCO controller can set the 82559 into the Force TCO mode. The 82559 is set back to the nominal operation following a PCI RST# or ALTRST#. After the transition from normal operation to TCO mode, the 82559 aborts transmit and receive operations and clears its memory structures. The TCO may configure the 82559 before it starts transmit and receive operations if required. Caution: The Force TCO is a destructive command. It causes the 82559 to lose its memory structures. Also, in Force TCO mode, the 82559 ignores PCI cycles. Therefore, it is highly recommended to use this command by the TCO controller at system emergency only. Dx (x>0): When the 82559 is in a low power state (D1, D2, or D3), it may receive TCO packets directly to the TCO controller. TCO packet reception is enabled by setting the receive enable command from the TCO controller. Although TCO packets can match other wake-up filters, once it is identified as a TCO packet, no further matching is performed. When TCO reception is disabled, a TCO packet may cause a power management event if configured to so by the load wake-up packet command. Force TCO Mode: When the 82559 is in the force TCO mode, it may receive packets directly to the TCO controller. TCO packet reception and filtering is controlled by the set receive enable command from the TCO controller. After receiving a TCO packet, the 82559 increments its nominal receive statistic counters as well as the receive TCO counter. Configuration Commands While the 82559 is in the force TCO mode it supports the Configure CSMA, Individual Address Setup, Multicast Setup, Load Microcode commands and allows read/write access to the PHY registers. 52 Datasheet Networking Silicon -- 82559 7.2 System Functionality without a TCO Controller This section describes the 82559 functionality when it is connected on the SMB directly to an integrated host controller. Receive Functionality - In the power-up state, the 82559 transfers TCO packets to the host as any other packet. These packets include a new status indication bit in the 82559's Receive Frame Descriptor (RFD) status and have a specific port number indicating TCO packet recognition. In the power-down state, the TCO packets are treated as a wake-up packets. The 82559 asserts the PME# signal and delivers the first 120 bytes of the packet to the host. Transmit Functionality - The 82559 supports the Heartbeat (HB) transmission command from the SMB interface. The send HB packet command includes a system health status issued by the integrated system controller. The 82559 computes a matched checksum and CRC and will transmit the HB packet from its serial EEPROM. The HB packet size and structure are not limited as long as it fits within the EEPROM size. In this case, the EEPROM size is 256 words to enable the storage of the HB packet (the first 64 words are used for driver specific data). Note: 7.3 On the SMB, the send heartbeat packet command is not normally used in the D0 power state. The one exception in which it is used in the D0 state is when the system is hung. In normal operating mode, the heartbeat packets are transmitted through the 82559's software similar to other packets. TCO Interface Support for a TCO controller is through a dedicated SMB interface. The 82559 acts as a slave on the SMB and supports data (SMBD), clock (SMBCLK), and alert (SMBALRT#) signals. The 82559 meets the 100 KHz SMB requirements according to the specification. It is also functional with an increased clock frequency of up to 1 MHz and still meets all required SMB timings. A basic SMB wave form diagram is shown in Figure 19. SMBCLK SMBD start stop MSB ADDR R/W# CMD ACK BC ACK DATA ACK ACK Figure 19. SMB Session 7.3.1 SMB Alert Signal (SMBALRT#) The 82559 operates in slave mode on the SMB during both read and write cycles. When the 82559 transmits data on the SMB (receive packet), it issues the SMBALRT# signal. In response to the SMBALRT# activation, the host processes the interrupt. It accesses all SMB devices simultaneously by an Alert Response Address (ARA) cycle. The device(s) that issued the SMBALRT# signal acknowledges the cycle. If more than one device issued the SMBALRT#, the highest priority (lowest address) device will win communication. Only the winning device can deasserts its SMBALRT# signal. As a slave device, the 82559 signals the external TCO Controller using SMBALRT#. The SMBALRT# signal is activated for the following events: Datasheet 53 82559 -- Networking Silicon * TCO packet received * Low power state change * PHY read 7.3.2 Alert Response Address (ARA) Cycle If a slave device needs to initiate a session, it should assert the SMBALRT signal as follow: SMBALRT# The SMBALRT# will rise only if an address match exists. start stop SMBCLK SMBD MSB 1 ACK MSB 1 ACK Figure 20. Slave Request for Data Transfer If the 82559 is not ready, it indicates this in one of two ways: 1. If the 82559's PHY unit is in a low power state, the 82559 will not produce the acknowledge bit after its address appears on the bus. This forces the TCO controller to stop the session and restart it. 2. If the 82559's PHY unit is in nominal mode, the 82559 will pull-down the SMBCLK until it is ready. If the 82559 forces the SMBCLK for more then 25 ms, the TCO controller should stop the transmission and restart it. 54 Datasheet Networking Silicon -- 82559 8.0 PCI and CardBus Configuration Registers The 82559 acts as both a master and a slave on the PCI bus. As a master, the 82559 interacts with the system main memory to access data for transmission or deposit received data. As a slave, some 82559 control structures are accessed by the host CPU to read or write information to the on-chip registers. The CPU also provides the 82559 with the necessary commands and pointers that allow it to process receive and transmit data. 8.1 Function 0: LAN (Ethernet) PCI Configuration Space The 82559 PCI configuration space is configured as 16 Dwords of Type 0 Configuration Space Header, as defined in the PCI Specification, Revision 2.1. A small section is also configured according to its device specific configuration space. The configuration space header is depicted below in Figure 21. Device ID Vendor ID 00H Status Command 04H Class Code BIST Header Type Revision ID Latency Timer Cache Line Size 0CH CSR Memory Mapped Base Address Register 10H CSR I/O Mapped Base Address Register 14H Flash Memory Mapped Base Address Register 18H Reserved Base Address Register 1CH Reserved Base Address Register 20H Reserved Base Address Register 24H Reserved (PCI)/CIS Pointer (CardBus) 28H Subsystem ID Subsystem Vendor ID Expansion ROM Base Address Register Reserved 2CH 30H Cap_Ptr Reserved Max_Lat 08H 34H 38H Min_Gnt Interrupt Pin Interrupt Line 3CH Power Management Capabilities Next Item Ptr Capability ID DCH Reserved Data Power Management CSR E0H Figure 21. PCI Configuration Registers 8.1.1 PCI Vendor ID and Device ID Registers The Vendor ID and Device ID of the 82559 are both read only word entities. Their values are: Vendor ID: 8086H Device ID: 1229H Datasheet 55 82559 -- Networking Silicon 8.1.2 PCI Command Register The 82559 Command register at word address 04H in the PCI configuration space provides control over the 82559's ability to generate and respond to PCI cycles. If a 0His written to this register, the 82559 is logically disconnected from the PCI bus for all accesses except configuration accesses. The format of this register is shown in the figure below. 15 10 9 Reserved 0 8 7 0 6 5 0 4 3 2 1 0 0 SERR# Enable Parity Error Response Memory Write and Invalidate Enable Bus Master Enable Memory Space IO space Figure 22. PCI Command Register Note that bits three, five, seven, and nine are set to 0b. The table below describes the bits of the PCI Command register. Table 4. PCI Command Register Bits Bits Description 15:10 Reserved These bits are reserved and should be set to 000000b. 8 SERR# Enable This bit controls a device's ability to enable the SERR# driver. A value of 0b disables the SERR# driver. A value of 1b enables the SERR# driver. This bit must be set to report address parity errors. In the 82559, this bit is configurable and has a default value of 0b. Parity Error Control This bit controls a device's response to parity errors. A value of 0b causes the device to ignore any parity errors that it detects and continue normal operation. A value of 1b causes the device to take normal action when a parity error is detected. This bit must be set to 0b after RST# is asserted. In the 82559, this bit is configurable and has a default value of 0b. 4 Memory Write and Invalidate Enable This bit controls a device's ability to use the Memory Write and Invalidate command. A value of 0b disables the device from using the Memory Write and Invalidate Enable command. A value of 1b enables the device to use the Memory Write and Invalidate command. In the 82559, this bit is configurable and has a default value of 0b. 2 Bus Master This bit controls a device's ability to act as a master on the PCI bus. A value of 0b disables the device from generating PCI accesses. A value of 1b allows the device to behave as a bus master. In the 82559, this bit is configurable and has a default value of 0b. 1 Memory Space This bit controls a device's response to the memory space accesses. A value of 0b disables the device response. A value of 1b allows the device to respond to memory space accesses. In the 82559, this bit is configurable and its default value of 0b. 0 I/O Space This bit controls a device's response to the I/O space accesses. A value of 0b disables the device response. A value of 1b allows the device to respond to I/O space accesses. In the 82559, this bit is configurable and the default value of 0b. 6 56 Name Datasheet Networking Silicon -- 82559 8.1.3 PCI Status Register The 82559 Status register is used to record status information for PCI bus related events. The format of this register is shown in the figure below. 31 30 29 28 27 26 25 0 0 1 0 24 23 22 21 20 1 0 0 1 19 16 Reserved Detected Parity Error Signaled System Error Received Master Abort Received Target Abort Signaled Target Abort Devsel Timing Parity Error Detected Fast Back To Back (target) Capabilities List Figure 23. PCI Status Register Note that bits 21, 22, 26, and 27 are set to 0b and bits 20, 23, and 25 are set to 1b. The PCI Status register bits are described in the table below. Table 5. PCI Status Register Bits Bits Name Description 31 Detected Parity Error This bit indicates whether a parity error is detected. This bit must be asserted by the device when it detects a parity error, even if parity error handling is disabled (as controlled by the Parity Error Response bit in the PCI Command register, bit 6). In the 82559, the initial value of the Detected Parity Error bit is 0b. This bit is set until cleared by writing a 1b. 30 Signaled System Error This bit indicates when the device has asserted SERR#. In the 82559, the initial value of the Signaled System Error bit is 0b. This bit is set until cleared by writing a 1b. 29 Received Master Abort This bit indicates whether or not a master abort has occurred. This bit must be set by the master device when its transaction is terminated with a master abort. In the 82559, the initial value of the Received Master Abort bit is 0b. This bit is set until cleared by writing a 1b. 28 Received Target Abort This bit indicates that the master has received the target abort. This bit must be set by the master device when its transaction is terminated by a target abort. In the 82559, the initial value of the Received Target Abort bit is 0b. This bit is set until cleared by writing a 1b. 27 Signaled Target Abort This bit indicates whether a transaction was terminated by a target abort. This bit must be set by the target device when it terminates a transaction with target abort. In the 82559, this bit is always set to 0b. These two bits indicate the timing of DEVSEL#: 00b - Fast 26:25 DEVSEL# Timing 01b - Medium 10b - Slow 11b - Reserved In the 82559, these bits are always set to 01b, medium. Datasheet 57 82559 -- Networking Silicon Table 5. PCI Status Register Bits Bits Name Description This bit indicates whether a parity error has been detected. This bit is set to 1b when the following three conditions are met: 1. The bus agent asserted PERR# itself or observed PERR# asserted. 24 2. The agent setting the bit acted as the bus master for the operation in which the error occurred. Parity Error Detected 3. The Parity Error Response bit in the command register (bit 6) is set. In the 82559, the initial value of the Parity Error Detected bit is 0b. This bit is set until cleared by writing a 1b. Fast Back-to-Back This bit indicates a device's ability to accept fast back-to-back transactions when the transactions are not to the same agent. A value of 0b disables fast back-to-back ability. A value of 1b enables fast back-to-back ability. In the 82559, this bit is read only and is set to 1b. 20 Capabilities List This bit indicates whether the 82559 implements a list of new capabilities such as PCI Power Management. A value of 0b means that this function does not implement the Capabilities List. If this bit is set to 1b, the Cap_Ptr register provides an offset into the 82559 PCI Configuration space pointing to the location of the first item in the Capabilities List. This bit is set only if the power management bit in the EEPROM is set. 19:16 Reserved These bits are reserved and should be set to 0000b. 23 8.1.4 PCI Revision ID Register The Revision ID is an 8-bit read only register with a default value of 08H for the 82559 B-step and 09H for the 82559 C-step. The three least significant bits of the Revision ID can be overridden by the ID and Revision ID fields in the EEPROM (Section 4.7, "Serial EEPROM Interface" on page 33). 8.1.5 PCI Class Code Register The Class Code register is read only and is used to identify the generic function of the device and, in some cases, specific register level programming interface. The register is broken into three byte size fields. The upper byte is a base class code and specifies the 82559 as a network controller, 2H. The middle byte is a subclass code and specifies the 82559 as an Ethernet controller, 0H. The lower byte identifies a specific register level programming interface and the 82559 always returns a 0H in this field. 8.1.6 PCI Cache Line Size Register In order for the 82559 to support the Memory Write and Invalidate (MWI) command, the 82559 must also support the Cache Line Size (CLS) register in PCI Configuration space. The register supports only cache line sizes of 8 and 16 Dwords. Any value other than 8 or 16 that is written to the register is ignored and the 82559 does not use the MWI command. If a value other than 8 or 16 is written into the CLS register, the 82559 returns all zeroes when the CLS register is read. The figure below illustrates the format of this register. 7 6 5 4 3 2 1 0 0 0 0 RW RW 0 0 0 Figure 24. Cache Line Size Register 58 Datasheet Networking Silicon -- 82559 Note: Bit 3 is set to 1b only if the value 00001000b (8H) is written to this register, and bit 4 is set to 1b only if the value of 00010000b (16H) is written to this register. All other bits are read only and will return a value of 0b on read. This register is expected to be written by the BIOS and the 82559 driver should not write to it. 8.1.7 PCI Latency Timer The Latency Timer register is a byte wide register. When the 82559 is acting as a bus master, this register defines the amount of time, in PCI clock cycles, that it may own the bus. 8.1.8 PCI Header Type The Header Type register is a byte read only register. It is equal to 00H for a single function Ethernet card and 80H for a combination Ethernet and modem card. The value of the header type is set by the EEPROM (Section 4.7, "Serial EEPROM Interface" on page 33). In a dual function card, the OS will read the next configuration registers bank at offset 100H. 8.1.9 PCI Base Address Registers One of the most important functions for enabling superior configurability and ease of use is the ability to relocate PCI devices in address spaces. The 82559 contains three types of Base Address Registers (BARs). Two are used for memory mapped resources, and one is used for I/O mapping. Each register is 32 bits wide. The least significant bit in the BAR determines whether it represents a memory or I/O space. The figures below show the layout of a BAR for both memory and I/O mapping. After determining this information, power-up software can map the memory and I/O controllers into available locations and proceed with system boot. In order to do this mapping in a device independent manner, the base registers for this mapping are placed in the predefined header portion of configuration space. Device drivers can then access this configuration space to determine the mapping of a particular device. 43210 31 Base Address 0 Prefetchable The prefetchable bit is set to `0' in 82559 devices Type 00 - locate anywhere in 32-bit address space 01 - locate below 1 Mbyte 10 - locate anywhere in 64-bit address space 11 - reserved Memory space indicator Figure 25. Base Address Register for Memory Mapping Datasheet 59 82559 -- Networking Silicon 210 31 Base Address 01 Reserved I/O space indicator Figure 26. Base Address Register for I/O Mapping Note: Bit 0 in all base registers is read only and used to determine whether the register maps into memory or I/O space. Base registers that map to memory space must return a 0b in bit 0. Base registers that map to I/O space must return 1b in bit 0. Base registers that map into I/O space are always 32 bits wide with bit 0 hard-wired to a 1b, bit 1 is reserved and must return 0b on reads, and the other bits are used to map the device into I/O space. The number of upper bits that a device actually implements depends on how much of the address space the device will respond to. For example, a device that wants a 1 Mbyte memory address space would set the most significant 12 bits of the base address register to be configurable, setting the other bits to 0b. The 82559 contains BARs for the Control/Status Register (CSR), Flash, and Expansion ROM. 8.1.9.1 CSR Memory Mapped Base Address Register The 82559 requires one BAR for memory mapping. Software determines which BAR, memory or I/O, is used to access the 82559 CSR registers. The memory space for the 82559 CSR Memory Mapped BAR is 4 Kbytes. The space is marked as not prefetchable and is mapped anywhere in the 32-bit memory address space. 8.1.9.2 CSR I/O Mapped Base Address Register The 82559 requires one BAR for I/O mapping. Software determines which BAR, memory or I/O, is used to access the 82559 CSR registers. The I/O space for the 82559 CSR I/O BAR is 64 bytes. 8.1.9.3 Flash Memory Mapped Base Address Register The Flash Memory BAR is a Dword register. The 82559 physically supports a 128 Kbyte Flash device. In a CardBus system, the upper section of the memory mapped window (above the physical Flash device) is used for CIS information. The 82559 claims a window of 128 Kbytes in CardBus mode and always claims a Flash memory window, regardless of whether or not a Flash device is connected. 8.1.9.4 Expansion ROM Base Address Register The Expansion ROM has a memory space of 1 Mbyte and its BAR is a Dword register that supports a 128 Kbyte memory via the 82559 local bus. The Expansion ROM BAR can be disabled by setting the Boot Disable bit of the EEPROM (word AH, bit 11). If the Boot Disable bit is set, the 82559 returns a 0b for all bits in this address register, avoiding request of memory allocation for this space. In LAN/modem combination designs using Flash, this bit controls the state of the CFCS# signal (pin L7) and is cleared after the initial access of the expansion ROM area. Therefore, in a 60 Datasheet Networking Silicon -- 82559 LAN/modem combination design, the CFCS# signal will be de-asserted (high) when the Boot Disable bit is not set in the EEPROM and the ROM enable bit is set in the Expansion ROM Base Address Register. After the initial access to the Expansion ROM BAR, the Boot Disable bit is cleared and CFCS# is asserted (low) enabling the modem to use the local bus. 8.1.10 Base Address Registry Summary The preceding description of the Base Address Registers' functions are summarized in the following table: Table 6. Base Address Register Functionalities Register Name PCI Function PCI Window CardBus Function CardBus Window BAR0 Memory CSR 4 Kbyte Memory CSR 4 Kbyte BAR1 I/O CSR 4 Kbyte I/O CSR 4 Kbyte BAR2 Flash 128 Kbyte CIS at offset + 64 Kbyte 128 Kbyte Expansion BARa BootROM 1 Mbyte N/A (Disabled by EEPROM) 1 Mbyte a. The Expansion BAR can be disabled by setting the Boot Disable bit in the EEPROM. 8.1.11 CardBus Card Information Structure (CIS) Pointer The Card Information Structure (CIS) pointer is a Dword hard coded read only register. It is meaningful only in a CardBus system (in a PCI system it is zero). The CIS pointer defines where the CIS structure is mapped in the Flash address space. Bits 8.1.12 R/W Default Description 31:4 R 1000H Ethernet CIS Pointer (above the physical Flash window) 3:0 R 3H CIS in the Flash window PCI Subsystem Vendor ID and Subsystem ID Registers The Subsystem Vendor ID field identifies the vendor of an 82559-based solution. The Subsystem Vendor ID values are based upon the vendor's PCI Vendor ID and is controlled by the PCI Special Interest Group (SIG). The Subsystem ID field identifies the 82559-based specific solution implemented by the vendor indicated in the Subsystem Vendor ID field. The 82559 provides support for configurable Subsystem Vendor ID and Subsystem ID fields. After hardware reset is de-asserted, the 82559 automatically reads addresses AH through CH of the EEPROM. The first of these 16-bit values is used for controlling various 82559 functions. The second is the Subsystem ID value, and the third is the Subsystem Vendor ID value. Again, the default values for the Subsystem ID and Subsystem Vendor ID are 0H and 0H, respectively. Datasheet 61 82559 -- Networking Silicon The 82559 checks bit numbers 15, 14, and 13 in the EEPROM, word AH and functions according to Table 7 below. Table 7. 82559 ID Fields Programming Signature (Bits 15:14) Revision IDa ID (Bit 13) AltID (Bit 7) Device ID Vendor ID 11b , 10b, 00b X X 1229H 8086H 08H 01b 1b X 1229H 8086H 01b 0b 1b 1229H 01b 0b 0b 1029H b Subsystem ID Subsystem Vendor ID 09H 0000H 0000H Word AH, bits 10:8 Word AH, bits 10:8 Word BH Word CH 8086H 08H 09H Word BH Word CH 8086H 08H 09H Word BH Word CH B-step C-step a. The Revision ID is subject to change according to the silicon stepping. b. If bit 15 equals 1b, the EEPROM is invalid and the default values are used. The above table implies that if the 82559 detects the presence of an EEPROM (as indicated by a value of 01b in bits 15 and 14), then bit number 13 determines whether the values read from the EEPROM, words BH and CH, will be loaded into the Subsystem ID (word BH) and Subsystem Vendor ID (word CH) fields. If bits 15 and 14 equal 01b and bit 13 equals 1b, the three least significant bits of the Revision ID field are programmed by bits 8-10 of the first EEPROM word, word AH. Between the de-assertion of reset and the completion of the automatic EEPROM read, the 82559 does not respond to any PCI configuration cycles. If the 82558 happens to be accessed during this time, it will Retry the access. More information on Retry is provided in Section 4.2.1.1.3, "Retry Premature Accesses" on page 20. 8.1.13 Capability Pointer The Capability Pointer is a hard coded byte register with a value of DCH. It provides an offset within the Configuration Space for the location of the Power Management registers. 8.1.14 Interrupt Line Register The Interrupt Line register identifies which system interrupt request line on the interrupt controller the device's PCI interrupt request pin (as defined in the Interrupt Pin register) is routed to. 8.1.15 Interrupt Pin Register The Interrupt Pin register is read only and defines which of the four PCI interrupt request pins, INTA# through INTD#, a PCI device is connected to. The 82559 is connected the INTA# pin. 8.1.16 Minimum Grant Register The Minimum Grant (Min_Gnt) register is an optional read only register for bus masters and is not applicable to non-master devices. It defines the amount of time the bus master wants to retain PCI bus ownership when it initiates a transaction. The default value of this register for the 82559 is 08H. 62 Datasheet Networking Silicon -- 82559 8.1.17 Maximum Latency Register The Maximum Latency (Max_Lat) register is an optional read only register for bus masters and is not applicable to non-master devices. This register defines how often a device needs to access the PCI bus. The default value of this register for the 82559 is 18H. 8.1.18 Capability ID Register The Capability ID is a byte register. It signifies whether the current item in the linked list is the register defined for PCI power management. PCI power management has been assigned the value of 02H. The 82559 is fully compliant with the PCI Power Management Specification, Revision 2.2. 8.1.19 Next Item Pointer The Next Item Pointer is a byte register. It describes the location of the next item in the 82559's capability list. Since power management is the last item in the list, this register is set to 0b. 8.1.20 Power Management Capabilities Register The Power Management Capabilities register is a word read only register. It provides information on the capabilities of the 82559 related to power management. The 82559 reports a value of FE21H if it is connected to an auxiliary power source and 7E21H otherwise. It indicates that the 82559 supports wake-up in the D3 state if power is supplied, either V cc or VAUX. Table 8. Power Management Capability Register Bits Default 31:27 00011b (no VAUX) Read/Write Read Only PME Support. This five bit field indicates the power states in which the 82559 may assert PME#. The 82559 supports wake-up in all power states if it is fed by an auxiliary power supply (VAUX) and D0, D1, D2, and D3hot if it is fed by PCI power. 11111b (VAUX) 26 1b Read Only D2 Support. If this bit is set, the 82559 supports the D2 power state. 25 1b Read Only D1 Support. If this bit is set, the 82559 supports the D1 power state. 24:22 000b Read Only Auxiliary Current. This field reports whether the 82559 implements the Data registers. The auxiliary power consumption is the same as the current consumption reported in the D3 state in the Data register. 21 1b Read Only Device Specific Initialization (DSI). The DSI bit indicates whether special initialization of this function is required (beyond the standard PCI configuration header) before the generic class device driver is able to use it. DSI is required for the 82559 after D3-to-D0 reset. 0b (PCI) Read Only Reserved (PCI)/Auxiliary Power Source (CardBus). When this bit is set to `1', it indicates that the 82559 requires auxiliary power supplied by the system for wake-up from the D3cold state. 20 1b (CardBus) Datasheet Description 19 0b Read Only PME Clock. The 82559 does not require a clock to generate a power management event. 18:16 010b Read Only Version. A value of 010b indicates that the 82559 complies with of the PCI Power Management Specification, Revision 2.2. 63 82559 -- Networking Silicon 8.1.21 Power Management Control/Status Register (PMCSR) The Power Management Control/Status is a word register. It is used to determine and change the current power state of the 82559 and control the power management interrupts in a standard manner. Table 9. Power Management Control and Status Register Bits 15 Default Read/Write 0b Read/Clear Description PME Status. This bit is set upon a wake-up event. It is independent of the state of the PME Enable bit. If 1b is written to this bit, the bit will be cleared. It also de-asserts the PME# signal and clears the PME status bit in the Power Management Driver Register. When the PME# signal is enabled, the PME# signal reflects the state of the PME status bit. In a CardBus system, writing a 1b to this bit clears the GWAKE bit in the Function Event register. The Function Event register is described in Section 9.1.14.1, "LAN Function Event Register" on page 77. 14:13 00b Read Only Data Scale. This field indicates the data register scaling factor. It equals 10b for registers zero through eight and 00b for registers nine through fifteen. 12:9 0000b Read Only Data Select. This field is used to select which data is reported through the Data register and Data Scale field. 8 0b Read Clear PME Enable. This bit enables the 82559 to assert PME#. 7:5 000b Read Only Reserved. These bits are reserved and should be set to 000b. 4 0b Read Only Dynamic Data. The 82559 does not support the ability to monitor the power consumption dynamically. 3:2 00b Read Only Reserved. These bits are reserved and should be set to 00b. 1:0 00b Read/Write Power State. This 2-bit field is used to determine the current power state of the 82559 and to set the 82559 into a new power state. The definition of the field values is as follows. 00 - D0 01 - D1 10 - D2 11 - D3 8.1.22 Data Register The data register is an 8-bit read only register that provides a mechanism for the 82559 to report state dependent maximum power consumption and heat dissipation. The value reported in this register depends on the value written to the Data Select field in the PMCSR register. The power measurements defined in this register have a dynamic range of 0 to 2.55 W with 0.01 W resolution according to the Data Scale. The value in this register is hard coded in the silicon. The structure of the data register differs between the 82559 B-step and C-step. The are presented below in Table 10 and Table 11, respectively. Table 10. 82559 B-step Ethernet Data Register 64 Data Select Data Scale Data Reported 0 2 D0 Power Consumption = 58 (580 mW) 1 2 D1 Power Consumption = 40 (400 mW) 2 2 D2 Power Consumption = 40 (400 mW) Datasheet Networking Silicon -- 82559 Table 10. 82559 B-step Ethernet Data Register Data Select Data Scale Data Reported 3 2 D3 Power Consumption = 40 (400 mW) 4 2 D0 Power Dissipated = 58 (580 mW) 5 2 D1 Power Dissipated = 40 (400 mW) 6 2 D2 Power Dissipated = 40 (400 mW) 7 2 D3 Power Dissipated = 40 (400 mW) 8 2 Common Function Power Dissipated = 00 9-15 0 Reserved (00H) Table 11. 82559 C-step Ethernet Data Register Datasheet Data Select Data Scale Data Reported 0 2 D0 Power Consumption = 60 (600 mW) 1 2 D1 Power Consumption = 42 (420 mW) 2 2 D2 Power Consumption = 42 (420 mW) 3 2 D3 Power Consumption = 42 (420 mW) 4 2 D0 Power Dissipated = 60 (600 mW) 5 2 D1 Power Dissipated = 42 (420 mW) 6 2 D2 Power Dissipated = 42 (420 mW) 7 2 D3 Power Dissipated = 42 (420 mW) 8 2 Common Function Power Dissipated = 00 9-15 0 Reserved (00H) 65 82559 -- Networking Silicon 8.2 Function 1: Modem PCI Configuration Space In PCI systems and CardBus systems, the 82559 supports a dual function device: LAN/modem. The LAN is defined as function zero, and the modem is defined as function one. The modem function is active depending on the EEPROM setup. Modem Configuration ID Modem Status 00H Modem Command Modem Revision ID BIST Modem Header Type 08H Latency Timer Cache Line Size 10H Modem Memory Mapped Base Address Register 14H Reserved Base Address Register 18H Reserved Base Address Register 1CH Reserved Base Address Register 20H Reserved Base Address Register 24H Reserved (PCI)/Modem CIS Pointer (CardBus) 28H Modem Subsystem Vendor ID Expansion ROM Base Address Register Cap_Ptr Reserved Min_Gnt Modem Power Management Capabilities Modem Data 2CH 30H Reserved Reserved 0CH Modem I/O Mapped Base Address Register Modem Subsystem ID Max_Lat 04H 34H 38H Modem Interrupt Next Item Ptr Capability ID Modem Power Management CSR 3CH DCH E0H Figure 27. Modem PCI Configuration Registers The modem configuration registers define the resources required by the modem function. It is meaningful in a multifunction card design only. Some of the modem configuration registers are a reflection of their matched Ethernet registers. The registers' values are pre-defined by hardware, initialized by the EEPROM, or configurable through software. The shaded fields are described in detail in the following subsections. 8.2.1 Modem Configuration ID Register The Modem Configuration ID field is a Dword register composed of the Device ID and Vendor ID. It is a read only register and its value is loaded from the EEPROM. 66 Datasheet Networking Silicon -- 82559 8.2.2 Modem Command Register The Modem Command field is a 16 bit word register and provides basic control over the modem's ability to respond to PCI/CardBus accesses. The Command register's structure is shown in the table below. Table 12. Power Management Control and Status Register 8.2.3 Bits Default Read/Write Description 15:10 000000b Read Only Reserved. These bits are reserved and should be set to 000000b. 9 0b Read Only Fast Back-to-Back. 8 0b Read/Write System Error Enable. 7 0b Read Only Wait Cycle Enable. 6 0b Read/Write Parity Error Enable. 5 0b Read Only VGA (define). 4 0b Read Only Memory Write and Invalidate. 3 0b Read Only Special Cycle. 2 0b Read Only Master Enable. 1 0b Read/Write Memory Access Enable. 0 0b Read/Write I/O Access Enable. Modem Status Register The Modem Status field is a 16 bit word register. It provides basic track of CardBus related events. All bits are cleared by PCI RST#. Table 13. Modem Status Register Bits 15 Datasheet Default Read/Write Description 0 Read/Write Parity Error. 14 0 Read/Write System Error Enable. 13:11 000 Read Only Signaled/Received Target Abort. 10:9 01 Read Only Device Select Timing. 8 0 Read Only Data Parity Detect. 7 0 Read Only Fast Back-to-Back Capable. 6:5 00 Read Only Reserved. These bits are reserved and should be set to 00b. 4 1 Read Only New Capability. 3:0 0000 Read Only Reserved. These bits are reserved and should be set to 0000b. 67 82559 -- Networking Silicon 8.2.4 Modem Revision ID Register The Modem Revision ID register is a Dword, read only field. It is composed of the Revision ID byte and a 24-bit Class Code register. Its value is loaded from the EEPROM. The Class Code identifies the function as a modem. The Class Code and Revision ID are listed in the table below. Table 14. Modem Revision Register Bits 8.2.5 Default Read/Write Description 31:24 07H Read Only Base Class. This indicates that the 82559 is a communication device. 23:16 00H Read Only Subclass. This indicates the serial controller equals 00H. 15:8 02H Read Only Program Interface. This indicates that the 82559 is 16550 UART compatible and initialized by EEPROM word FEH. 7:0 XXH Read Only Revision Number. This indicates the revision number and is initialized by EEPROM word FEH. Modem Header Type Register The Modem Header Type field is a byte wide, read only register. It indicates that this is a multifunction card and a value of 80H is hard coded in the silicon. 8.2.6 Modem I/O Base Address Register The Modem I/O BAR is a Dword register that specifies the I/O base address for accessing the 82559's modem. The required I/O space is 8 bytes. 8.2.7 Modem Memory Base Address Register The Modem Memory BAR is a Dword register that specifies the memory base address for accessing the 82559's modem port. The required memory space is 512 bytes. The memory space is used for both control registers and CIS mapping. 8.2.8 Modem CardBus CIS Pointer The CIS pointer is a Dword, hard coded, read only register. The CIS pointer indicates whether or not the CIS structure is located in the memory address space. The physical location of the CIS structure is in the serial EEPROM. The EEPROM format is described in Section 4.7, "Serial EEPROM Interface" on page 33. Bits 8.2.9 R/W Default Description 31:4 R 0010H Modem CIS Pointer (above the control registers) 3:0 R 2H CIS in the Memory Base Address Register Modem Subsystem Vendor ID Register The Modem Subsystem Vendor ID is a 16 bit read only register. Its value is loaded from the EEPROM and is a reflection of register 2CH in Function 0, LAN (Ethernet) function. 68 Datasheet Networking Silicon -- 82559 8.2.10 Modem Subsystem ID Register The Modem Subsystem ID is a 16 bit read only register. Its value is loaded from the EEPROM and is a reflection of register 2EH in Function 0, LAN (Ethernet) function. 8.2.11 Modem Capabilities Pointer The Modem Capability Pointer is a hard coded, byte register that contains the value DCH. It provides an offset within the Configuration Space for the location of the power management registers. 8.2.12 Modem Interrupt Register The Modem Interrupt register specifies whether or not the modem requires an interrupt. This register is hard coded identically to register 3CH in Function 0, LAN (Ethernet). It indicates that the modem requires interrupt support. Note: 8.2.13 The modem and Ethernet functions share the same INTA# pin. Modem Power Management Capabilities Register The Modem Power Management Capabilities register is a Dword field that indicates if this function has power management capability, as well as identifying which power management capabilities are supported. The 82559 reports a value of FE31H if it is connected to an auxiliary power source and 7E21H otherwise. 8.2.14 Modem Power Management Control/Status Register The Modem Power Management Control/Status Register is a word register. It is used to manage the modem's power management state. It also enables and monitors power management events. The Modem Power Management Control/Status Register structure is identical to register E0H in Function 0, LAN (Ethernet) function. 8.2.15 Modem Data Register The Modem Data register has similar functionality to register E2H in Function 0, LAN (Ethernet). The register at location E2H reports power consumption of the modem function. The value of power consumption and power dissipation are loaded from the EEPROM. Table 15. Ethernet Data Register Datasheet Data Select Data Scale Data Reported 0-3 2 D0 to D3 Power Consumption (loaded from EEPROM) 4-7 2 D0 to D3 Power Dissipated (loaded from EEPROM) 8 - 15 0 Reserved (00H) 69 82559 -- Networking Silicon 8.2.16 Modem Support in PCI Mode The 82559 C-step supports modem interface in PCI mode. The Modem Enable (MDM) bit in the EEPROM can be activated in PCI systems without the loss of BootROM support. In addition, BootROM support has been simplified. The 82559 C-step supports the co-existence of a BootRom Flash device and a modem device (using CFCS# with external glue logic). This is done by setting the MDM bit and clearing the Boot Disable (BD) bit in the EEPROM. With this configuration, both the modem function and BootRom BAR are active. The selection between the two functions is done through the Boot Enable bit (the least significant bit of BootRom BAR in the LAN PCI Configuration space). The 82559 will not support a LAN/modem design if additional companion ASICs are operating on the Flash/modem interface. This limitation does not affect companion ASICs that reside on the SMB interface of the 82559. 70 Datasheet Networking Silicon -- 82559 9.0 Control/Status Registers 9.1 LAN (Ethernet) Control/Status Registers The 82559's Control/Status Register (CSR) is illustrated in the figure below. D31 Upper Word D16 D15 Lower Word SCB Command Word D0 SCB Status Word Offset 00H System Control Block General Pointer 04H PORT 08H EEPROM Control Register Flash Control Register 0CH Management Data Interface (MDI) Control Register 10H Receive Direct Memory Access Byte Count 14H PMDR Flow Control Register Reserved General Status Early Receive Int 18H General Control 1CH Reserved 20H Reserved 24H Reserved 28H Reserved 2CH Function Event Register 30H Function Event Mask Register 34H Function Present State Register 38H Force Event Register 3CH Figure 28. 82559 Control/Status Register NOTE: In Figure 28 above, SCB is defined as the System Control Block of the 82559, and PMDR is defined as the Power Management Driver Register. SCB Status Word: The 82559 places the status of its Command and Receive units and interrupt indications in this register for the CPU to read. SCB Command Word: The CPU places commands for the Command and Receive units in this register. Interrupts are also acknowledged in this register. SCB General Pointer: The SCB General Pointer register points to various data structures in main memory depending on the current SCB Command word. PORT Interface: The PORT interface allows the CPU to reset the 82559, force the 82559 to dump information to main memory, or perform an internal self test. Flash Control Register: The Flash Control register allows the CPU to enable writes to an external Flash. EEPROM Control Register: The EEPROM Control register allows the CPU to read and write to an external EEPROM. Datasheet 71 82559 -- Networking Silicon 72 MDI Control Register: The MDI Control register allows the CPU to read and write information from the PHY unit (or an external PHY component) through the Management Data Interface. Receive DMA Byte Count: The Receive DMA Byte Count register keeps track of how many bytes of receive data have been passed into host memory via DMA. Flow Control Register: This register holds the flow control threshold value and indicates the flow control commands to the 82559. PMDR: The Power Management Driver Register provides an indication in memory and I/O space that a wake-up interrupt has occurred. The PMDR is described in further detail in Section 9.1.11, "Power Management Driver Register" on page 75. General Control: The General Control register allows the 82559 to enter the deep power-down state and provides the ability to disable the Clockrun functionality. The General Control register is described in further detail in Section 9.1.12, "General Control Register" on page 76. General Status: The General Status register describes the status of the 82559's duplex mode, speed, and link. The General Status register is detailed in Section 9.1.13, "General Status Register" on page 76. Function Event: The Function Event Register is used for CardBus power management applications and specifies the event that changed the status. The Function Event register is further defined in Section 9.1.14.1, "LAN Function Event Register" on page 77. Function Event Mask: The Function Event Mask register masks the CSTSCHG signal assertion for specified events. The Function Event Mask register is further defined in Section 9.1.14.2, "LAN Function Event Mask Register" on page 77. Function Present State: The Function Present State register reflects the current state of each condition that may cause a status change or interrupt. The Function Present State register is further defined in Section 9.1.14.3, "LAN Function Present State Register" on page 78. Force Event: The Force Event register simulates the status change events for troubleshooting purposes. The Force Event register is further defined in Section 9.1.14.4, "LAN Force Event Register" on page 79. Datasheet Networking Silicon -- 82559 9.1.1 System Control Block Status Word The System Control Block (SCB) Status Word contains status information relating to the 82559's Command and Receive units. Bits 9.1.2 Name Description 15 CX Command Unit (CU) Executed. The CX bit indicates that the CU has completed executing a command with its interrupt bit set. 14 FR Frame Received. The FR bit indicates that the Receive Unit (RU) has finished receiving a frame. 13 CNA CU Not Active. The CNA bit is set when the CU is no longer active and in either an idle or suspended state. 12 RNR Receive Not Ready. The RNR bit is set when the RU is not in the ready state. This may be caused by an RU Abort command, a no resources situation, or set suspend bit due to a filled Receive Frame Descriptor. 11 MDI Management Data Interrupt. The MDI bit is set when a Management Data Interface read or write cycle has completed. The management data interrupt is enabled through the interrupt enable bit (bit 29 in the Management Data Interface Control register in the CSR). 10 SWI Software Interrupt. The SWI bit is set when software generates an interrupt. 9 ER Early Receive. The ER bit is used for early receive interrupts. 8 FCP Flow Control Pause. The FCP bit is used as the flow control pause bit. 7:6 CUS Command Unit Status. The CUS field contains the status of the Command Unit. 5:2 RUS Receive Unit Status. The RUS field contains the status of the Receive Unit. 1:0 Reserved These bits are reserved and should be set to 00b. System Control Block Command Word Commands for the 82559's Command and Receive units are placed in this register by the CPU. Bits Datasheet Name Description 31:26 Specific Interrupt Mask Specific Interrupt Mask. Setting this bit to 1b causes the 82559 to stop generating an interrupt (in other words, de-assert the INTA# signal) on the corresponding event. 25 SI Software Generated Interrupt. Setting this bit to 1b causes the 82559 to generate an interrupt. Writing a 0b to this bit has no effect. 24 M Interrupt Mask. If the Interrupt Mask bit is set to 1b, the 82559 will not assert its INTA# pin. The M bit has higher precedence that the Specific Interrupt Mask bits and the SI bit. 23:20 CUC Command Unit Command. This field contains the CU command. 19 Reserved This bit is reserved and should be set to 0b. 18:16 RUC Receive Unit Command. This field contains the RU command. 73 82559 -- Networking Silicon 9.1.3 System Control Block General Pointer The System Control Block (SCB) General Pointer is a 32-bit field that points to various data structures depending on the command in the CU Command or RU Command field. 9.1.4 PORT The PORT interface allows software to perform certain control functions on the 82559. This field is 32 bits wide: * Address and Data (bits 32:4) * PORT Function Selection (bits 3:0) The 82559 supports four PORT commands: Software Reset, Self-test, Selective Reset, and Dump. 9.1.5 Flash Control Register The Flash Control Register is a 32-bit field that allows access to an external Flash device. 9.1.6 EEPROM Control Register The EEPROM Control Register is a 32-bit field that enables a read from and a write to the external EEPROM. 9.1.7 Management Data Interface Control Register The Management Data Interface (MDI) Control register is a 32-bit field and is used to read and write bits from the MDI. Bits 9.1.8 Description 31:30 These bits are reserved and should be set to 00b. 29 Interrupt Enable. When this bit is set to 1b by software, the 82559 asserts an interrupt to indicate the end of an MDI cycle. 28 Ready. This bit is set to 1b by the 82559 at the end of an MDI transaction. It should be reset to 0b by software at the same time the command is written. 27:26 Opcode. These bits define the opcode: 01 for MDI write and 10 for MDI read. All other values (00 and 11) are reserved. 25:21 PHY Address. This field of bits contains the PHY address. 20:16 PHY Register Address. This field of bits contains the PHY Register Address. 15:0 Data. In a write command, software places the data bits in this field, and the 82559 transfers the data to the PHY unit. During a read command, the 82559 reads these bits serially from the PHY unit, and software reads the data from this location. Receive Direct Memory Access Byte Count The Receive DMA Byte Count register keeps track of how many bytes of receive data have been passed into host memory via DMA. 74 Datasheet Networking Silicon -- 82559 9.1.9 Early Receive Interrupt The Early Receive Interrupt register allows the 82559 to generate an early interrupt depending on the length of the frame. An early interrupt is indicated by the ER bit in the SCB Status Word and the assertion of the INTA# signal. 9.1.10 Flow Control Register The Flow Control Register contains the following fields: * Flow Control Command The Flow Control Command field describes the action of the flow control process (for example, pause, on, or off). * Flow Control Threshold The Flow Control Threshold field contains the threshold value (in other words, the number of free bytes in the Receive FIFO). 9.1.11 Power Management Driver Register The 82559 provides an indication in memory and I/O space that a wake-up event has occurred. It is located in the Power Management Driver (PMDR). The PMDR is used for CardBus mode only. Table 16. Power Management Driver Register Bits Default Read/Write Description 31 0b Read/Clear Link Status Change Indication. The link status change bit is set following a change in link status and is cleared by writing a 1b to it. 30 0b Read/Clear Magic Packet. This bit is set when a Magic Packet is received regardless of the Magic Packet wake-up disable bit in the configuration command and the PME Enable bit in the Power Management Control/ Status Register. This bit is cleared by writing 1b to it. 29 0b Read/Clear Interesting Packet. This bit is set when an "interesting" packet is received. Interesting packets are defined by the 82559 packet filters. This bit is cleared by writing 1b to it. 28:26 000b Read Only Reserved. These bits are reserved and should be set to 000b. 25 0b Read/Clear TCO Request. This bit is set to 1b when the 82559 is busy with TCO activity. 24 0b Read/Clear PME Status. This bit is a reflection of the PME Status bit in the Power Management Control/Status Register (PMCSR). It is set upon a wakeup event and is independent of the PME Enable bit. This bit is cleared by writing 1b to it. This also clears the PME Status bit in the PMCSR and de-asserts the PME signal. In a CardBus system, if 1b is written to this field, the General Wake-up (GWAKE) bit in the Function Event register is cleared. Note: Datasheet The PMDR is initialized at ALTRST# reset only. 75 82559 -- Networking Silicon 9.1.12 General Control Register The General Control register is a byte register and is described below. The General Control register is used in CardBus mode only. Table 17. General Control Register Bits Default Read/Write Description 7:2 000000b Read Only Reserved. These bits are reserved and should be set to 000000b. 1 0b Read/Write Deep Power-Down on Link Down Enable. If a 1b is written to this field, the 82559 may enter a deep power-down state (sub-3 mA) in the D2 and D3 power states while the link is down. In this state, the 82559 does not keep link integrity. This state is not supported for point-to-point connection of two end stations. 0 9.1.13 0b Read/Write Clockrun Signal Disable. If this bit is set to 1b, then the 82559 will always request the PCI clock signal. This mode can be used to overcome potential receive overruns caused by Clockrun signal latencies over 5 s. General Status Register The General Status register is used in CardBus mode only and is a byte register which indicates the link status of the 82559. Table 18. General Status Register Bits 9.1.14 Default Read/Write Description 7:3 00000b Read Only Reserved. These bits are reserved and should be set to 00000b. 2 -- Read Only Duplex Mode. This bit indicates the wire duplex mode: full duplex (1b) or half duplex (0b). 1 -- Read Only Speed. This bit indicates the wire speed: 100 Mbps (1b) or 10 Mbps (0b). 0 0b Read Only Link Status Indication. This bit indicates the status of the link: valid (1b) or invalid (0b). Ethernet Card Status Change Registers The PME signal used in PCI systems is replaced by the Card Status Change (CSTSCHG) signal in CardBus systems. The CardBus specification requires the use of control/status registers related to CSTSCHG. There are four event related registers. * Function Event Register: Specifies the event that changed status * Function Event Mask Register: Masks CSTSCHG signal assertion for specified events * Function Present State Register: Reflects the current state of each condition that may cause a status change or interrupt * Force Event Register: Simulates status change events for troubleshooting purposes These CardBus registers are used by software to determine which event has occurred, manage the event, and control the CSTSCHG signal. 76 Datasheet Networking Silicon -- 82559 The 82559 supports only the interrupt and general wake-up event bits in the card status change registers. These registers compliment the PCI Power Management registers in a non-ACPI compliant OS. They are initialized by a power-up reset on the ALTRST# pin. The location of these registers should be specified within the configuration space pointing to offset address 30H of the CSR. Note: 9.1.14.1 Access to the CSTSCHG registers in PCI mode is forbidden. LAN Function Event Register The Function Event register specified the event that changed the status. Table 19. LAN Function Event Register 9.1.14.2 Bits Function Default Description 31:16 Reserved 0 Bits [31:16] are reserved in the CardBus Specification. 15 INTR 0b This bit is used for as the interrupt bit. It is set when the Ethernet interrupt source is set, regardless of the mask value. It is cleared when the OS writes 1b to this field and the interrupt source has been serviced. Writing 0b to this field has no effect. 14:5 Reserved 0 Bits [14:5] are reserved in the CardBus Specification. 4 GWAKE 0b This bit is used for general wake-up. It is set when the Ethernet wakeup source is set, regardless of the mask value. Writing 1b to this field clears this bit and the PME Status bit in the PMCSR. Writing 0b to this field has no effect. Note that writing 1b to the PME Status bit in the PMCSR has the same effect. 3 Reserved 0b Bit 3 is reserved in the CardBus Specification. 2 BVD RDY 0b Bit 2 is used as the Battery Voltage Detect Ready (BVD RDY) bit. 1 BVD WP 0b Bit 1 is used as the BVD Write Protect (WP) bit. 0 Reserved 0b Bit 0 is reserved in the CardBus Specification. LAN Function Event Mask Register The Function Event Mask register masks CSTSCHG and INTA# assertion. Table 20. LAN Function Event Mask Register Datasheet Bits Function 31:16 Reserved Default Description 0 Bits [31:16] are reserved in the CardBus Specification. 15 INTR 0b This bit is the interrupt mask. When this bit equals 0b, it masks the Ethernet function INTA# line but has no effect on the LAN Function Event register. The Ethernet function can assert the INTA# signal only when both fields are enabled: the interrupt bit and the "M" bit in the System Control Block (SCB) register within the CSR space. The interrupt mask bit affects the INTA# masking. 14 WKUP 0b This bit is the wake-up mask. When this bit equals 0b, it masks the Ethernet function CSTSCHG signal but has no effect on the LAN Function Event register. This bit is dependent on bit 4 of this register. 13:7 Reserved 0 Bits [13:7] are reserved in the CardBus Specification. 6:5 PWM BAM 0 These bits are used for Pulse Width Modulation Binary Audio Enable (PWM BAM). 77 82559 -- Networking Silicon Table 20. LAN Function Event Mask Register Bits Default Description GWAKE 0b This bit is the general wake-up mask. When this bit equals 0b, it masks the Ethernet function wake-up events towards the CSTSCHG signal. It has no effect on the LAN Function Event register. The 82559 can assert the CSTSCHG signal in the following configuration of masked bits: wake-up bit AND general wake-up bit, or PME Enable bit in the PMCSR register only. 3 Reserved 0b Bit 3 is reserved in the CardBus Specification. 2 BVD RDY 0b Bit 2 is used as the Battery Voltage Detect Ready (BVD RDY) bit. 1 BVD WP 0b Bit 1 is used as the BVD Write Protect (WP) bit. 0 Reserved 0b Bit 0 is reserved in the CardBus Specification. 4 9.1.14.3 Function LAN Function Present State Register The Function Present State register reflects the current state of the LAN function that may cause a status change or interrupt. Table 21. LAN Function Present State Register Bits Function 31:16 Reserved Description 0 Bits [31:16] are reserved in the CardBus Specification. 15 INTR 0 This bit is used for interrupts. It reflects the current state of the Ethernet source of the interrupt regardless of the mask value. It is set when the Ethernet function has a pending interrupt and cleared when the software driver acknowledges all active interrupts through the SCB Command Word. 14:5 Reserved 0 Bits [14:5] are reserved in the CardBus Specification. GWAKE 0 This bit is used for general wake-up. It reflects the current state of the Ethernet source of CSTSCHG. It is a logical OR result of the gated three most significant bits in the PMDR: Link Status Change, Magic Packet, and Interesting Packet. The Link Status change bit is gated by the Link Status Change Wake Enable bit in the Configuration command. The Magic Packet bit is gated by the Magic Packet Wake-up disable bit in the Configuration command. The Interesting Packet bit is gated by the programmable filter command. 3 Reserved 0b Bit 3 is reserved in the CardBus Specification. 2 BVD RDY 0b Bit 2 is used as the Battery Voltage Detect Ready (BVD RDY) bit. 1 BVD WP 0b Bit 1 is used as the BVD Write Protect (WP) bit. 0 Reserved 0b Bit 0 is reserved in the CardBus Specification. 4 78 Default Datasheet Networking Silicon -- 82559 9.1.14.4 LAN Force Event Register The Force Event register simulates status change events for troubleshooting purposes. This register provides the ability to simulate events by forcing values into the Function Event register. Table 22. LAN Force Event Register 9.2 Bits Function Default Description 31:16 Reserved 0 Bits [31:16] are reserved in the CardBus Specification. 15 INTR 0 This bit is used for interrupts. Writing 1b in this field will set the interrupt bit in the LAN Function Event register. If the INTA# pin is not masked, then it will also be activated. Writing 0b has no effect. 14:5 Reserved 0 Bits [14:5] are reserved in the CardBus Specification. 4 GWAKE 0 This bit is used for general wake-up. Writing 1b in this field will set the CSTSCHG bit in the LAN Function Event register. If the CSTSCHG pin is not masked, then it will also be activated. Writing 0b has no effect. 3:0 Reserved 0 Bits [3:0] are reserved in the CardBus Specification. Statistical Counters The 82559 provides information for network management statistics by providing on-chip statistical counters that count a variety of events associated with both transmit and receive. The counters are updated by the 82559 when it completes the processing of a frame (that is, when it has completed transmitting a frame on the link or when it has completed receiving a frame). The Statistical Counters are reported to the software on demand by issuing the Dump Statistical Counters command or Dump and Reset Statistical Counters command in the SCB Command Unit Command (CUC) field. Table 23. 82558 Statistical Counters Datasheet ID Counter Description 0 Transmit Good Frames This counter contains the number of frames that were transmitted properly on the link. It is updated only after the actual transmission on the link is completed, not when the frame was read from memory as is done for the Transmit Command Block status. 4 Transmit Maximum Collisions (MAXCOL) Errors This counter contains the number of frames that were not transmitted because they encountered the configured maximum number of collisions. 8 Transmit Late Collisions (LATECOL) Errors This counter contains the number of frames that were not transmitted since they encountered a collision later than the configured slot time. 12 Transmit Underrun Errors A transmit underrun occurs because the system bus cannot keep up with the transmission. This counter contains the number of frames that were either not transmitted or retransmitted due to a transmit DMA underrun. If the 82559 is configured to retransmit on underrun, this counter may be updated multiple times for a single frame. 16 Transmit Lost Carrier Sense (CRS) This counter contains the number of frames that were transmitted by the 82559 despite the fact that it detected the de-assertion of CRS during the transmission. 20 Transmit Deferred This counter contains the number of frames that were deferred before transmission due to activity on the link. 79 82559 -- Networking Silicon Table 23. 82558 Statistical Counters ID 80 Counter Description 24 Transmit Single Collisions This counter contains the number of transmitted frames that encountered one collision. 28 Transmit Multiple Collisions This counter contains the number of transmitted frames that encountered more than one collision. 32 Transmit Total Collisions This counter contains the total number of collisions that were encountered while attempting to transmit. This count includes late collisions and frames that encountered MAXCOL. 36 Receive Good Frames This counter contains the number of frames that were received properly from the link. It is updated only after the actual reception from the link is completed and all the data bytes are stored in memory. 40 Receive CRC Errors This counter contains the number of aligned frames discarded because of a CRC error. This counter is updated, if needed, regardless of the Receive Unit state. The Receive CRC Errors counter is mutually exclusive of the Receive Alignment Errors and Receive Short Frame Errors counters. 44 Receive Alignment Errors This counter contains the number of frames that are both misaligned (for example, CRS de-asserts on a non-octal boundary) and contain a CRC error. The counter is updated, if needed, regardless of the Receive Unit state. The Receive Alignment Errors counter is mutually exclusive of the Receive CRC Errors and Receive Short Frame Errors counters. 48 Receive Resource Errors This counter contains the number of good frames discarded due to unavailability of resources. Frames intended for a host whose Receive Unit is in the No Resources state fall into this category. If the 82559 is configured to Save Bad Frames and the status of the received frame indicates that it is a bad frame, the Receive Resource Errors counter is not updated. 52 Receive Overrun Errors This counter contains the number of frames known to be lost because the local system bus was not available. If the traffic problem persists for more than one frame, the frames that follow the first are also lost; however, because there is no lost frame indicator, they are not counted. 56 Receive Collision Detect (CDT) This counter contains the number of frames that encountered collisions during frame reception. 60 Receive Short Frame Errors This counter contains the number of received frames that are shorter than the minimum frame length. The Receive Short Frame Errors counter is mutually exclusive to the Receive Alignment Errors and Receive CRC Errors counters. A short frame will always increment only the Receive Short Frame Errors counter. 64 Flow Control Transmit Pause This counter contains the number of Flow Control frames transmitted by the 82559. This count includes both the Xoff frames transmitted and Xon (PAUSE(0)) frames transmitted. 68 Flow Control Receive Pause This counter contains the number of Flow Control frames received by the 82559. This count includes both the Xoff frames received and Xon (PAUSE(0)) frames received. Datasheet Networking Silicon -- 82559 Table 23. 82558 Statistical Counters ID Counter Description 72 Flow Control Receive Unsupported This counter contains the number of MAC Control frames received by the 82559 that are not Flow Control Pause frames. These frames are valid MAC control frames that have the predefined MAC control Type value and a valid address but has an unsupported opcode. 76 Receive TCO Frames This counter contains the number of TCO packets received by the 82559. 78 Transmit TCO Frames This counter contains the number of TCO packets transmitted. The Statistical Counters are initially set to zero by the 82559 after reset. They cannot be preset to anything other than zero. The 82559 increments the counters by internally reading them, incrementing them and writing them back. This process is invisible to the CPU and PCI bus. In addition, the counters adhere to the following rules: * The counters are wrap-around counters. After reaching FFFFFFFFH the counters wrap around to 0. * The 82559 updates the required counters for each frame. It is possible for more than one counter to be updated as multiple errors can occur in a single frame. * The counters are 32 bits wide and their behavior is fully compatible with the IEEE 802.1 standard. The 82559 supports all mandatory and recommend statistics functions through the status of the receive header and directly through these Statistical Counters. The CPU can access the counters by issuing a Dump Statistical Counters SCB command. This provides a "snapshot", in main memory, of the internal 82559 statistical counters. The 82559 supports 21 counters. The dump could consist of the either 16, 19, or all 21 counters, depending on the status of the Extended Statistics Counters and TCO Statistics configuration bits in the Configuration command (described in the 82559 Software Developer's Manual). 9.3 Modem Control/Status Registers Access to modem based memory or I/O ports are mapped to a cycle to the modem with the lowest 16 addresses of the PCI address space mapped to the address bus of the modem, which is connected to FLA[3:0]. 9.3.1 Modem Base Memory Addressing The modem base memory addressing is an 8-byte address space. There are three types of address spaces: * Modem chipset address space: 0H to FH * Modem function address space: 80H to FFH (implemented in 82559) Datasheet 81 82559 -- Networking Silicon * Modem CIS address space: 100H to 1FFH (loaded from EEPROM) Byte Offset 0H:7H 9.3.2 Register Description Modem controller mimic port, ISA address space 0:7 0H:3FH Modem chipset address space (external modem ports) 8H:FH Modem controller Resource Management Port (RMP), ISA address space 8:15 10H:3FH General purpose address space 80H:83H Modem Control Register: Reset[0], Central Site Mode[1] E0H:E3H Reserved F0H:F3H Modem Function Event Register F4H:F7H Modem Function Mask Register F8H:FBH Modem Function Present Register FCH:FFH Modem Force Function Event Register 100H:1FFH CIS Area (loaded from the EEPROM) Modem Base I/O Addressing The modem base I/O addressing is an 8-byte address space. During I/O cycles, accesses to the modem port are byte accesses. FLA3 is kept low while FLA[2:0] are mapped according to the PCI byte address offset. Byte Offset 0H:7H 9.3.3 Register Description Venus MIMIC port, ISA address space 0:7 Modem CardBus CSTCHG Registers The modem CardBus CSTCHG registers are used in CardBus mode only. There are four event related registers. The CardBus software uses the registers to determine which event has occurred and manage the event and to control the CSTSCHG signal. The 82559 supports only the interrupt and general wake-up event bits in the CSTSCHG registers. These registers compliment the PCI Power Management registers for the use with non-ACPI compliant OS. It is initialized by power-up reset driven on the ALTRST# pin. 9.3.3.1 Modem Function Event Register The Modem Function Event register specifies the event that changed its status. It is identical to the Ethernet Function Event register described in Section 9.1.14.1, "LAN Function Event Register" on page 77. 82 Datasheet Networking Silicon -- 82559 9.3.3.2 Modem Function Event Mask Register The Modem Function Event Mask register masks CSTSCHG and INTA# assertion as shown in Table 24 below. Table 24. Modem Function Event Mask Register 9.3.3.3 Bits Function 31:16 Reserved Default Description 0 Bits [31:16] are reserved in the CardBus Specification. 15 INTR 0b This bit is the interrupt mask. When this bit equals 0b, it masks the modem function INTA# line but has no effect on the Modem Function Event register. The modem function can assert the INTA# signal only when both fields are enabled: the interrupt bit and the modem control bit in the System Control Block (SCB) register within the CSR space. The interrupt mask bit affects the INTA# masking only after the OS has set this register. Thus, on legacy systems that do not access the status change registers, the modem INTA# signal is not masked by the interrupt. 14 WKUP 0b This bit is the wake-up mask. When this bit equals 0b, it masks the modem function CSTSCHG signal but has no effect on the Function Event register. This bit is dependent on bit 4 of this register. 13:7 Reserved 0 Bits [13:7] are reserved in the CardBus Specification. 6:5 PWM BAM 0 These bits are used for Pulse Width Modulation Binary Audio Enable. (PWM BAM). 4 GWAKE 0b This bit is the general wake-up mask. When this bit equals 0b, it masks the modem function wake-up events towards the CSTSCHG signal. It has no effect on the Modem Function Event register. The 82559 can assert the CSTSCHG signal in the following configuration of masked bits: wake-up bit AND general wake-up bit, or PME Enable bit in the PMCSR register only. 3 Reserved 0b Bit 3 is reserved in the CardBus Specification. 2 BVD RDY 0b Bit 2 is used as the Battery Voltage Detect Ready (BVD RDY) bit. 1 BVD WP 0b Bit 1 is used as the BVD Write Protect (WP) bit. 0 Reserved 0b Bit 0 is reserved in the CardBus Specification. Modem Function Present State Register The Modem Function Present State register specifies the current state of an event's sources as shown in Table 25 below. Table 25. Modem Function Present State Register Datasheet Bits Function 31:16 Reserved Default Description 0 Bits [31:16] are reserved in the CardBus Specification. 15 INTR 0 This bit is used for interrupts. It reflects the current state of the Modem Interrupt (MINT) input pin from the modem. 14:5 Reserved 0 Bits [14:5] are reserved in the CardBus Specification. 4 GWAKE 0 This bit is used for general wake-up. It reflects the current inverse state of the Modem Ring (MRING#) input pin from the modem. 3 Reserved 0b Bit 3 is reserved in the CardBus Specification. 83 82559 -- Networking Silicon Table 25. Modem Function Present State Register Bits 9.3.3.4 Function Default Description 2 BVD RDY 0b Bit 2 is used as the Batter Voltage Detect (BVD RDY) bit. 1 BVD WP 0b Bit 1 is used as the BVD Write Protect (WP) bit. 0 Reserved 0b Bit 0 is reserved in the CardBus Specification. Modem Force Event Register The Modem Force Event register simulates status change events for troubleshooting purposes. It is identical to the Ethernet Force Event register described in Section 9.1.14.4, "LAN Force Event Register" on page 79. 84 Datasheet Networking Silicon -- 82559 10.0 PHY Unit Registers The 82559 provides status and accepts management information via the Management Data Interface (MDI) within the CSR space. Acronyms mentioned in the registers are defined as follows: SC: Self cleared. RO: Read only. E: EEPROM setting affects content. LL: Latch low. LH: Latch high. 10.1 MDI Registers 0 - 7 10.1.1 Register 0: Control Register Bit Definitions Bit(s) 15 Name Reset Description Default R/W This bit sets the status and control register of the PHY to their default states and is self-clearing. The PHY returns a value of one until the reset process has completed and accepts a read or write transaction. 0 RW SC 1 = PHY Reset 14 Loopback This bit enables loopback of transmit data nibbles from the TXD[3:0] signals to the receive data path. The PHY unit's receive circuitry is isolated from the network. 0 RW 1 RW 1 RW 0 RW 0 RW Note that this may cause the descrambler to lose synchronization and produce 560 nanoseconds of "dead time." Note also that the loopback configuration bit takes priority over the Loopback MDI bit. 1 = Loopback enabled 0 = Loopback disabled (Normal operation) 13 Speed Selection This bit controls speed when Auto-Negotiation is disabled and is valid on read when Auto-Negotiation is disabled. 1 = 100 Mbps 0 = 10 Mbps 12 Auto-Negotiation Enable This bit enables Auto-Negotiation. Bits 13 and 8, Speed Selection and Duplex Mode, respectively, are ignored when Auto-Negotiation is enabled. 1 = Auto-Negotiation enabled 0 = Auto-Negotiation disabled 11 Power-Down This bit sets the PHY unit into a low power mode. In low power mode, the PHY unit consumes no more than 30 mA. 1 = Power-Down enabled 0 = Power-Down disabled (Normal operation) 10 Datasheet Reserved This bit is reserved and should be set to 0b. 85 82559 -- Networking Silicon Bit(s) 9 Name Restart AutoNegotiation Description Default This bit restarts the Auto-Negotiation process and is selfclearing. 0 R/W RW SC 1 = Restart Auto-Negotiation process 8 Duplex Mode This bit controls the duplex mode when Auto-Negotiation is disabled. If the PHY reports that it is only able to operate in one duplex mode, the value of this bit shall correspond to the mode which the PHY can operate. 0 RW 0 RW 0 RW When the PHY is placed in Loopback mode, the behavior of the PHY shall not be affected by the status of this bit, bit 8. 1 = Full Duplex 0 = Half Duplex 7 Collision Test This bit will force a collision in response to the assertion of the transmit enable signal. 1 = Force COL 0 = Do not force COL 6:0 10.1.2 Reserved These bits are reserved and should be set to 0000000b. Register 1: Status Register Bit Definitions Bit(s) 15 Name Reserved Description This bit is reserved and should be set to 0b. Default 0 R/W RO E 14 100BASE-TX Full Duplex 1 = PHY able to perform full duplex 100BASE-TX 1 RO 13 100 Mbps Half Duplex 1 = PHY able to perform half duplex 100BASE-TX 1 RO 12 10 Mbps Full Duplex 1 = PHY able to operate at 10Mbps in full duplex mode 1 RO 11 10 Mbps Half Duplex 1 = PHY able to operate at 10 Mbps in half duplex mode 1 RO 10:7 Reserved These bits are reserved and should be set to 0000b. 0 RO 6 Management Frames Preamble Suppression 0 = PHY will not accept management frames with preamble suppressed 0 RO 5 Auto-Negotiation Complete 1 = Auto-Negotiation process completed 0 RO 4 Remote Fault 0 = No remote fault condition detected 0 RO 3 Auto-Negotiation Ability 1 = PHY is able to perform Auto-Negotiation 1 RO 2 Link Status 1 = Valid link has been established 0 RO 0 = Auto-Negotiation process has not completed 0 = Invalid link detected 1 Jabber Detect 1 = Jabber condition detected LL 0 0 = No jabber condition detected 0 86 Extended Capability 1 = Extended register capabilities enabled RO LH 1 RO Datasheet Networking Silicon -- 82559 10.1.3 Register 2: PHY Identifier Register Bit Definitions Bit(s) 15:0 10.1.4 PHY ID (high byte) Description Value: 02A8H Default -- R/W RO Register 3: PHY Identifier Register Bit Definitions Bit(s) 15:0 10.1.5 Name Name PHY ID (low byte) Description Value: 0154H Default -- R/W RO Register 4: Auto-Negotiation Advertisement Register Bit Definitions Bit(s) Name Description Default R/W 15 Next Page Constant 0 = Transmitting primary capability data page 0 RO 14 Reserved This bit is reserved and should be set to 0b. 0 RO 13 Remote Fault 1 = Indicate link partner's remote fault 0 RW 0 = No remote fault 10.1.6 12:5 Technology Ability Field Technology Ability Field is an 8-bit field containing information indicating supported technologies specific to the selector field value. 00101111 RW 4:0 Selector Field The Selector Field is a 5-bit field identifying the type of message to be sent via Auto-Negotiation. This field is read only in the 82559 and contains a value of 00001b, IEEE Standard 802.3. 00001 RO Register 5: Auto-Negotiation Link Partner Ability Register Bit Definitions Bit(s) Datasheet Name Description Default R/W 15 Next Page This bit reflects the PHY's link partner's AutoNegotiation ability. -- RO 14 Acknowledge This bit is used to indicate that the 82559's PHY unit has successfully received its link partner's AutoNegotiation advertising ability. -- RO 13 Remote Fault This bit reflects the PHY's link partner's AutoNegotiation ability. -- RO 12:5 Technology Ability Field This bit reflects the PHY's link partner's AutoNegotiation ability. -- RO 4:0 Selector Field This bit reflects the PHY's link partner's AutoNegotiation ability. -- RO 87 82559 -- Networking Silicon 10.1.7 Register 6: Auto-Negotiation Expansion Register Bit Definitions Bit(s) Name Description Default R/W 15:5 Reserved These bits are reserved and should be set to 0b. 0 RO 4 Parallel Detection Fault 1 = Fault detected via parallel detection (multiple link fault occurred) 0 RO SC 0 = No fault detected via parallel detection LH This bit will self-clear on read 3 2 Link Partner Next page Able Next Page Able 1 = Link Partner is Next Page able 0 RO 0 RO 0 RO 0 = Link Partner is not Next Page able 1 = Local drive is Next Page able 0 = Local drive is not Next Page able 1 0 10.2 Page Received Link Partner AutoNegotiation Able 1 = New Page received 0 = New Page not received SC This bit will self-clear on read. LH 1 = Link Partner is Auto-Negotiation able 0 RO 0 = Link Partner is not Auto-Negotiation able MDI Registers 8 - 15 Registers eight through fifteen are reserved for IEEE. 10.3 MDI Register 16 - 31 10.3.1 Register 16: PHY Unit Status and Control Register Bit Definitions Bit(s) Name Description Default R/W 15:14 Reserved These bits are reserved and should be set to 00b 00 RW 13 Carrier Sense Disconnect Control This bit enables the disconnect function. 0 RW Transmit Flow Control Disable This bit enables Transmit Flow Control 0 RW 12 1 = Disconnect function enabled 0 = Disconnect function disabled 1 = Transmit Flow Control enabled 0 = Transmit Flow Control disabled 11 Receive DeSerializer In-Sync Indication This bit indicates status of the 100BASE-TX Receive De-Serializer In-Sync. -- RO 10 100BASE-TX Power-Down This bit indicates the power state of 100BASE-TX PHY unit. 1 RO 1 = Power-Down 0 = Normal operation 88 Datasheet Networking Silicon -- 82559 Bit(s) 9 Name 10BASE-T Power-Down Description This bit indicates the power state of 100BASE-TX PHY unit. Default R/W 1 RO -- RO 000000 RO -- RO -- RO 1 = Power-Down 0 = Normal operation 8 Polarity This bit indicates 10BASE-T polarity. 1 = Reverse polarity 0 = Normal polarity 7:2 Reserved 1 Speed These bits are reserved and should be set to 0B. This bit indicates the Auto-Negotiation result. 1 = 100 Mbps 0 = 10 Mbps 0 Duplex Mode This bit indicates the Auto-Negotiation result. 1 = Full Duplex 0 = Half Duplex 10.3.2 Register 17: PHY Unit Special Control Bit Definitions Bit(s) 15 14 Name Scrambler Bypass By-pass 4B/5B Description 1 = By-pass Scrambler Default R/W 0 RW 0 RW 0 RW 0 RW 0 RW 0 = Normal operations 1 = 4 bit to 5 bit by-pass 0 = Normal operation 13 12 11 Force Transmit HPattern 1 = Force transmit H-pattern Force 34 Transmit Pattern 1 = Force 34 transmit pattern Good Link 0 = Normal operation 0 = Normal operation 1 = 100BASE-TX link good 0 = Normal operation 10 Reserved This bit is reserved and should be set to 0b. 0 RW 9 Transmit Carrier Sense Disable 1 = Transmit Carrier Sense disabled 0 RW Disable Dynamic Power-Down 1 = Dynamic Power-Down disabled 0 RW Auto-Negotiation Loopback 1 = Auto-Negotiation loopback 0 RW MDI Tri-State 1 = MDI Tri-state (transmit driver tri-states) 0 RW 0 RW 0 RW 0 RW 8 7 6 0 = Transmit Carrier Sense enabled 0 = Dynamic Power-Down enabled (normal) 0 = Auto-Negotiation normal mode 0 = Normal operation 5 Filter By-pass 1 = By-pass filter 0 = Normal filter operation 4 3 Auto Polarity Disable Squelch Disable 1 = Auto Polarity disabled 0 = Normal polarity operation 1 = 10BASE-T squelch test disable 0 = Normal squelch operation Datasheet 89 82559 -- Networking Silicon Bit(s) 2 1 0 10.3.3 Link Integrity Disable 1 = Link disabled Jabber Function Disable 1 = Jabber disabled 0 RW 0 RW 0 RW 0 = 10BASE-T Extended Squelch control disabled 0 = Normal Link Integrity operation 0 = Normal Jabber operation Name Description Default R/W These bits are reserved and should be set to a constant `0' 0 RO 4:0 PHY Address These bits are set to the PHY's address, 00001b. 1 RO Register 19: 100BASE-TX Receive False Carrier Counter Bit Definitions Name Receive False Carrier Description These bits are used for the false carrier counter. Default -- R/W RO SC Register 20: 100BASE-TX Receive Disconnect Counter Bit Definitions Bit(s) 15:0 Name Description Default Disconnect Event This field contains a 16-bit counter that increments for each disconnect event. The counter freezes when full and self-clears on read -- R/W RO SC Register 21: 100BASE-TX Receive Error Frame Counter Bit Definitions Bit(s) 15:0 90 1 = 10BASE-T Extended Squelch control enabled R/W Reserved 15:0 10.3.6 Extended Squelch Default 15:5 Bit(s) 10.3.5 Description Register 18: PHY Address Register Bit(s) 10.3.4 Name Name Receive Error Frame Description This field contains a 16-bit counter that increments once per frame for any receive error condition (such as a symbol error or premature end of frame) in that frame. The counter freezes when full and self-clears on read. Default -- R/W RO SC Datasheet Networking Silicon -- 82559 10.3.7 Register 22: Receive Symbol Error Counter Bit Definitions Bit(s) 15:0 Name Symbol Error Counter Description Default This field contains a 16-bit counter that increments for each symbol error. The counter freezes when full and self-clears on read. -- R/W RO SC In a frame with a bad symbol, each sequential six bad symbols count as one. 10.3.8 Register 23: 100BASE-TX Receive Premature End of Frame Error Counter Bit Definitions Bit(s) 15:0 10.3.9 Name Description Default Premature End of Frame This field contains a 16-bit counter that increments for each premature end of frame event. The counter freezes when full and self-clears on read. -- 15:0 Name End of Frame Counter 15:0 Name Jabber Detect Counter Description Default This is a 16-bit counter that increments for each end of frame error event. The counter freezes when full and self-clears on read. -- R/W RO SC Description Default This is a 16-bit counter that increments for each jabber detection event. The counter freezes when full and self-clears on read. -- R/W RO SC Register 26: Equalizer Control and Status Bit Definitions Bit(s) 15:0 Datasheet SC Register 25: 10BASE-T Transmit Jabber Detect Counter Bit Definitions Bit(s) 10.3.11 RO Register 24: 10BASE-T Receive End of Frame Error Counter Bit Definitions Bit(s) 10.3.10 R/W Name RFU Description Reserved for Future Use Default -- R/W RW 91 82559 -- Networking Silicon 10.3.12 Register 27: PHY Unit Special Control Bit Definitions Bit(s) 92 Name Description 15:3 Reserved These bits are reserved and should be set to 0b. 2:0 LED Switch Control Value ACTLED LILED 000 Activity Link 001 Speed Collision 010 Speed Link 011 Activity Collision 100 Off Off 101 Off On 110 On Off 111 On On Default R/W 0 RW 000 RW Datasheet Networking Silicon -- 82559 11.0 82559 Test Port Functionality 11.1 Introduction The 82559's NAND Tree Test Access Port (TAP) is the access point for test data to and from the device. The port provides the ability to perform basic production level testing. The port provides two functions: * The synchronous IC validation mode is used in the production of the device. This mode gives the signals their names (for example, Testability Port Clock [TCK]). * The 82559 also supports asynchronous testing modes. These test modes support the validation of connections at the board level. 11.2 Asynchronous Test Mode Four asynchronous test modes are supported for system level design use. The modes are selected through the use of the test port input pin in static combinations. The test port pins are Test Port (TEST), Test Port Data Input (TI), Test Port Execute Enable (TEXEC) and Test Port Clock (TCK). During normal operation the TEST pin must be pulled down through a resistor (pulling TEST high enables the test mode). All other port inputs may have a pull-down at the designers discretion. 11.3 Test Function Description The 82559 TAP mode supports several tests that can be used in board level design. These tests help verify basic functionality as well as test the integrity of solder connection on the board. The tests are described in the following subsections. 11.3.1 Tristate The tristate command sets all 82559 input and output pins into a tristate (high-Z) mode (all internal pull-ups and pull-downs are disabled). This mode is entered by setting the following test pin combination and resetting the device: TEST = 1 TEXEC = 0 TCK = 0 TI = 1 11.3.2 NAND Tree The NAND Tree test mode is the most useful of the asynchronous test modes. It enables the placement of the 82559 to be validated at board test. The NAND Tree was chosen for its speed advantages. Modern automated test equipment can perform a complete peripheral scan without support at the board level. This command connects all outputs of the input buffers in the device periphery into a NAND Tree scheme. All the output drivers of the output buffers, except the Test Port Data Output (TO) pin, are put into high-Z mode. These pins are driven to affect the output of the tree. There are two separate chains and associated outputs for speed. Any hard strapped pins will prevent the tester from scanning correctly. This mode is entered by placing the test pins in the following combination: Datasheet 93 82559 -- Networking Silicon TEST = 1 TCK = 0 TEXEC = 1 TI = 1 There are two NAND Tree chains with two separate outputs assigned to FLOE# (Chain 1) and FLWE# (Chain 2). Table 26. NAND Tree Chains 94 Chain Order (NAND Tree Output) Chain 1 (FLOE#) Chain 2 (FLWE#) 1 RST# LILED 2 IDSEL ACTLED# 3 REQ# SPEEDLED 4 AD23 SMBALRT# 5 SERR# SMBCLK 6 AD22 SMBD 7 AD21 ISOLATE# 8 AD20 ALTRST# 9 AD19 CLKRUN# 10 AD18 AD31 11 AD17 AD30 12 C/BE2# AD29 13 FRAME# AD28 14 IRDY# AD27 15 TRDY# PME# 16 CLK CSTSCHG 17 DEVSEL# AD26 18 INTA# AD25 19 STOP# C/BE3# 20 GNT# AD24 21 PERR# FLD0 22 PAR FLD1 23 AD16 FLD2 24 C/BE1# FLD3 25 AD15 FLD4 26 AD14 FLD5 27 AD13 FLD6 28 AD12 FLD7 29 AD11 FLA0 30 AD10 FLA1 31 AD9 FLA2 32 AD8 FLA3 33 C/BE0# FLA4 Datasheet Networking Silicon -- 82559 Table 26. NAND Tree Chains Datasheet Chain Order (NAND Tree Output) Chain 1 (FLOE#) Chain 2 (FLWE#) 34 AD7 FLA5 35 AD6 FLA6 36 AD5 FLA7 37 AD4 FLA8 37 AD3 FLA9 39 AD2 FLA10 40 AD1 FLA11 41 AD0 FLA12 42 EECS FLA13/EEDI 43 FLA14/EEDO 44 FLA15/EESK 45 FLA16 46 FLCS# 47 CFCLK 48 CFCS# 95 82559 -- Networking Silicon Note: 96 This page left intentionally blank. Datasheet Networking Silicon -- 82559 12.0 Electrical and Timing Specifications 12.1 Absolute Maximum Ratings Maximum ratings are listed below: Case Temperature under Bias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0 C to 85 C Storage Temperature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -65 C to 140 C Outputs and Supply Voltages (except PCI and SMB) . . . . . . . . . . . . . . . . . . . . . -0.5 V to 5.0 V PCI and SMB Output Voltages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.50 V to 5.25 V Transmit Data Output Voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.5 V to 8.0 V Input Voltages (except PCI and SMB). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -1.0 V to 5.0 V PCI and SMB Input Voltages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.5 V 6.0 V Stresses above the listed absolute maximum ratings may cause permanent damage to the 82559 device. This is a stress rating only and functional operations of the device at these or any other conditions above those indicated in the operational sections of this specification is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability. 12.2 DC Specifications Table 27. General DC Specifications Symbol Parameter VCC Supply Voltage VIO Periphery Clamp Voltage ICC Power Supply Condition Min Typical Max Units Notes 3.0 3.3 3.5 V PCI 4.75 5.0 5.25 V 1 CardBus 3.0 3.3 3.6 V 1 125 195 mA 2 NOTES: 1. VIO should be 5 V 5% in any PCI environment (either 5 V or 3.3 V signaling). In CardBus, VIO must be identical to VCC. 2. Typical current consumption is in nominal operating conditions (VCC = 3.3 V) and average link activity. Maximum current consumption is in maximum V CC and maximum link activity. The 82559 supports both the PCI and CardBus interface standards. In the PCI mode, the 82559 is five volts tolerant and supports both 5 V and 3.3 V signaling environments. Table 28. PCI/CardBus Interface DC Specifications Symbol Datasheet Parameter Condition Min Max Units VIHP Input High Voltage 0.475VCC VIO + 0.5 V VILP Input Low Voltage -0.5 0.325VCC V VIPUP Input Pull-up Voltage VIPDP Input Pull-down Voltage IILP Input Leakage Current 0.7VCC 0 < Vin < VCC Notes V 1 0.2VCC V 1 10 A 2 97 82559 -- Networking Silicon Table 28. PCI/CardBus Interface DC Specifications Iout = -2 mA VOHP Output High Voltage 2.4 V Iout = -500 A 0.9VCC V Iout = -150 A 0.9VCC V CardBus 3, PCI PCI 0.55 V Iout = 1500 A 0.1VCC V Iout = 700 A 0.1VCC V CardBus 10 pF 4 12 pF 4 IDSEL Pin Capacitance 8 pF 4 Pin Inductance 12 nH 4 Iout = 3 mA, 6 mA VOLP Output Low Voltage CINP Input Pin Capacitance CCLKP CLK Pin Capacitance CIDSEL LPINP 5 NOTES: 1. These values are only applicable in 3.3 V signaling environments (PCI or CardBus). Outside of this limit the input buffer must consume its minimum current. 2. Input leakage currents include high-Z output leakage for all bidirectional buffers with tristate outputs. 3. Signals without pull-up resistors have 3 mA low output current; and signals requiring pull-up resistors, 6 mA. The signals requiring pull-up resistors include: FRAME#, TRDY#, IRDY#, DEVSEL#, STOP#, SERR# and PERR#. 4. This value is characterized but not tested. Table 29. SMB Interface DC Specifications Symbol Parameter Condition Min Max Units VIHS Input High Voltage 1.4 VIO + 0.5 V V ILS Input Low Voltage -0.5 0.6 V IILS Input Low Leakage Current 0 < V in < VCC 1.0 A VOLS Output Low Voltage IPULLUP = 100 A 0.4 V Min Max Units Notes NOTE: SMB outputs (SMBALRT#, SMBD, and SMBCLK) are open drain. Table 30. Flash/Modem/EEPROM Interface DC Specifications Symbol Parameter Condition VIHL Input High Voltage 2.0 VCC + 0.5 V V ILL Input Low Voltage -0.5 0.8 V IILL Input Low Leakage Current 0 < V in < VCC 20 A VOHL Output High Voltage Iout = -1 mA VOLL Output Low Voltage Iout = 2mA CINL Input Pin Capacitance 2.4 Notes V 0.4 V 10 pF 1 NOTE: 1. This value is characterized but not tested. 98 Datasheet Networking Silicon -- 82559 Table 31. LED Voltage/Current Characteristics Symbol Parameter Condition VOHLED Output High Voltage Iout = -10 mA VOLLED Output Low Voltage Iout = 10 mA Min Typical Max 2.4 Units Notes V 0.7 V Max Units Table 32. 100BASE-TX Voltage/Current Characteristics Symbol Parameter RID100 Input Differential Impedance VIDA100 Input Differential Accept Peak Voltage VIDR100 Input Differential Reject Peak Voltage VICM100 Input Common Mode Voltage VOD100 Output Differential Peak Voltage ICCT100 Line Driver Supply Peak Current Condition DC Min Typical 10 K 500 mV 100 VCC/2 0.95 RBIAS100 = 619 1.00 Notes mV V 1.05 20 V mA 1 NOTES: 1. Current is measured on all VCC pins (VCC = 3.3 V). 2. Transmitter peak current is attained by dividing the measured maximum differential output peak voltage by the load resistance value. Rbias100 585 0hm 619 Ohm 650 Ohm 19mA 20 mA 21mA Icct100 Figure 29. RBIAS100 Resistance Versus Transmitter Current Datasheet 99 82559 -- Networking Silicon Table 33. 10BASE-T Voltage/Current Characteristics Symbol Parameter Condition Min RID10 Input Differential Impedance 10 MHz V IDA10 Input Differential Accept Peak Voltage 5 MHz f 10 MHz VIDR10 Input Differential Reject Peak Voltage 5 MHz f 10 MHz VICM10 Input Common Mode Voltage VOD10 Output Differential Peak Voltage RL = 100 ICCT10 Line Driver Supply Peak Current RBIAS10 = 549 Typical Max 10 Units Notes K 585 3100 mV 300 mV VCC /2 2.2 V 2.8 48 V mA 1 NOTES: 1. Current is measured on all VCC pins (VCC = 3.3 V). 2. Transmitter peak current is attained by dividing the measured maximum differential output peak voltage by the load resistance value. Rbias10 621.5 0hm 549 Ohm 576 Ohm 19mA 20 mA 21mA Icct10 Figure 30. RBIAS10 Resistance Versus Transmitter Current 100 Datasheet Networking Silicon -- 82559 12.3 AC Specifications Table 34. AC Specifications for PCI Signaling Symbol Parameter Switching IOH(AC) Current High (Test Point) Switching IOL(AC) Current Low Condition Min 0 < Vout 1.4 1.4 < Vout < 0.9VCC Max Units Notes -44 mA 1 -17.1(VCC - Vout) mA 1 0.7VCC < Vout < VCC Eqn A mA 2 Vout = 0.7V CC -32VCC mA 2 Vout 2.2 2.2 > Vout > 0.1VCC 95 mA 1 Vout/0.023 mA 1 0.18VCC > Vout > 0 Eqn B mA 2 (Test Point) Vout = 0.18VCC 38VCC mA 2 ICL Low Clamp Current -3 < Vin -1 -25 + (Vin + 1)/ 0.015 mA 3 ICH High Clamp Current VCC +4 > Vin VCC +1 25 + (Vin-V CC-1)/ 0.015 mA 3 slewRP PCI Output Rise 0.4 V to 2.4 V Slew Rate 1 4 V/ns slewFP PCI Output Fall Slew Rate 1 4 V/ns 2.4 V to 0.4 V NOTES: 1. Switching Current High specifications are not relevant to PME#, SERR#, or INTA#, which are open drain outputs. 2. Maximum current requirements will be met as drivers pull beyond the first step voltage (AC drive point). Equations defining these maximums (A and B) are provided. To facilitate component testing, a maximum current test point is defined for each side of the output driver. Equation A. IOH = (98/VCC)*(Vout - V CC)*(Vout + 0.4VCC ), for V CC > Vout > 0.7V CC Equation B. IOL = (256/VCC)*(Vout)*(VCC - Vout), for 0 < Vout < 0.18VCC 3. This parameter is also applicable to CardBus environment. Table 35. AC Specifications for CardBus Signaling Symbol Parameter Condition Min Max Units tRP CardBus Output 0.2VCC to 0.6VCC Rise Time 0.25 1.0 V/ns tFP CardBus Output 0.6VCC to 0.2VCC Fall Time 0.25 1.0 V/ns Max Units Notes Table 36. AC Specifications for Local Bus Signaling Symbol Datasheet Parameter Condition Min IOH Current Output High 1 mA IOL Current Output Low 2 mA Notes 101 82559 -- Networking Silicon 12.4 Timing Specifications 12.4.1 Clocks Specifications 12.4.1.1 PCI/CardBus Clock Specifications The 82559 uses the PCI Clock signal directly. Figure 31 shows the clock waveform and required measurement points for the PCI Clock signal. Table 37 summarizes the PCI Clock specifications. 0.6VCC 0.475VCC 0.4VCC 0.4VCC p-to-p (minimum) 0.325V CC 0.2VCC T_high T_low T_cyc Figure 31. PCI/CardBus Clock Waveform Table 37. PCI/CardBus Clock Specifications Symbol Parameter Min Max Units Notes 1 T1 Tcyc CLK Cycle Time 30 ns T2 Thigh CLK High Time 11 ns T3 Tlow CLK Low Time 11 ns T4 Tslew CLK Slew Rate 1 4 V/ns 2 NOTES: 1. The 82559 will work with any PCI clock frequency up to 33 MHz. 2. Rise and fall times are specified in terms of the edge rate measured in V/ns. This slew rate is met across the minimum peak-to-peak portion of the clock waveform as shown in Figure 31. 12.4.1.2 X1 Specifications X1 serves as a signal input from an external crystal or oscillator. Table 38 defines the 82559 requirements from this signal. Table 38. X1 Clock Specifications Symbol 102 Parameter T8 Tx1_dc X1 Duty Cycle T9 Tx1_pr X1 Period Min Typical 40% Max Units Notes ns 50PPM 60% 40 Datasheet Networking Silicon -- 82559 12.4.2 Timing Parameters 12.4.2.1 Measurement and Test Conditions Figure 32, Figure 33, and Table 39 define the conditions under which timing measurements are done. The component test guarantees that all timings are met with minimum clock slew rate (slowest edge) and voltage swing. The design must guarantee that minimum timings are also met with maximum clock slew rate (fastest edge) and voltage swing. In addition, the design must guarantee proper input operation for input voltage swings and slew rates that exceed the specified test conditions. V_th CLK V_test V_tl T_val OUTPUT DELAY V_step Tri-State OUTPUT V_test V_test T_on T_off Figure 32. Output Timing Measurement Conditions V_th CLK V_test V_tl T_su T_h V_th INPUT inputs valid V_test V_test V_max V_tl Figure 33. Input Timing Measurement Conditions Table 39. Measure and Test Condition Parameters Datasheet Symbol PCI Level CardBus Level Units Vth 0.6VCC 0.6VCC V V tl 0.2VCC 0.2VCC V Notes 103 82559 -- Networking Silicon Table 39. Measure and Test Condition Parameters Vtest 0.4VCC Vstep (rising edge) 0.285VCC Vstep (falling edge) 0.615VCC Vmax Input Signal Edge Rate 0.4VCC V 0.325VCC V Min Delay 0.475VCC V Max Delay 0.475VCC V Min Delay 0.325VCC V Max Delay 0.4VCC 0.4VCC V 1 1 V/ns NOTE: Input test is done with 0.1VCC overdrive. Vmax specifies the maximum peak-to-peak waveform allowed for testing input timing. 12.4.2.2 PCI/CardBus Timings Table 40. PCI/CardBus Timing Parameters Symbol T14 tval Parameter Min Max Units Notes PCI CLK to Signal Valid Delay 2 11 ns 1, 2, 4 CardBus CLK to Signal Valid Delay 2 18 ns 1, 3 12 ns 1, 2, 4 ns 1 ns 1 T15 tval(ptp) PCI CLK to Signal Valid Delay (pointto-point) 2 T16 ton Float to Active Delay 2 T17 toff Active to Float Delay T18 tsu Input Setup Time to CLK 7 ns 4, 5 T19 tsu(ptp) PCI Input Setup Time to CLK (point-topoint) 10 ns 4, 5 T20 th Input Hold Time from CLK 0 ns 6 T21 trst Reset Active Time After Power Stable 1 ms 6 PCI Reset Active Time After CLK Stable 100 s 6 CardBus Reset Active Time After CLK Stable 100 clocks 6 ns 6, 7 T22 T23 Trst-clk Trst-off Reset Active to Output Float Delay 28 40 NOTES: 1. Timing measurement conditions are illustrated in Figure 32. 2. PCI minimum times are specified with loads as detailed in the PCI Bus Specification, Revision 2.1, Section 4.2.3.2. 3. CardBus minimum times are specified with a 0 pF equivalent load. Maximum times are specified with a 30 pF equivalent load. Actual test loads may vary but must be correlated to these loads. 4. n a PCI environment, REQ# and GNT# are point-to-point signals and have different output valid delay times and input setup times than bussed signals. All other signals are bussed. 5. Timing measurement conditions are illustrated in Figure 33. 6. RST# is asserted and de-asserted asynchronously with respect to the CLK signal. 7. All PCI and CardBus interface output drivers are floated when RST# is active. 104 Datasheet Networking Silicon -- 82559 12.4.2.3 Flash/Modem Interface Timings The 82559 is designed to support up to 150 nanoseconds of Flash access time. The VPP signal in the Flash implementation should be connected permanently to 12 V. Thus, writing to the Flash is controlled only by the FLWE# pin. Table 41 provides the timing parameters for the Flash interface signals. The timing parameters are illustrated in Figure 34 and Figure 35. Modem is supported through the Flash interface when the following conditions apply: * FLA[6:0], FLD[7:0], FLCS#, FLOE#, and FLWE# have the same functions for Flash and modem. * FLA[8] acts as IOCHRDY asynchronous input in modem mode. Table 41. Flash Timing Parameters Symbol Datasheet Parameter Min Max Units Notes T35 tflrwc Flash Read/Write Cycle Time 150 ns 1, Flash tAVAV = 150 ns T36 tflacc FLA to Read FLD Setup Time 150 ns 1, Flash tAVQV = 150 ns T37 tflce FLCS# to Read FLD Setup Time 150 ns 1, Flash tELQV = 150 ns T38 tfloe FLOE# Active to Read FLD Setup Time 120 ns 1, Flash tGLQV = 55 ns T39 tfldf FLOE# Inactive to FLD Driven Delay Time 50 ns 1, Flash tGHQZ = 35 ns T40 tflas FLA Setup Time before FLWE# 5 ns 2, Flash tAVWL = 0 ns T41 tflah FLA Hold Time after FLWE# 200 ns 2, Flash tWLAX = 60 ns T42 tflcs FLCS# Hold Time before FLWE# 30 ns 2, Flash tELWL = 20 ns T43 tflch FLCS# Hold Time after FLWE# 30 ns 2, Flash tWHEH = 0 ns T44 tflds FLD Setup Time 150 ns 2, Flash tDVWH = 50 ns T45 tfldh FLD Hold Time 10 ns 2, Flash tWHDX = 10 ns T46 tflwp Write Pulse Width 120 ns 2, Flash tWLWH = 60 ns T47 tflwph Write Pulse Width High 25 ns 2, Flash tWHWL = 20 ns T48 tMioha IOCHRDY Hold Time after FLWE# or FLOE# Active T49 tMiohi IOCHRDY Hold Time after FLWE# or FLOE# Inactive 25 0 ns ns 105 82559 -- Networking Silicon NOTES: 1. These timing specifications apply to Flash read cycles. The Flash timings referenced are 28F020-150 timings. 2. These timing specifications apply to Flash write cycles. The Flash timings referenced are 28F020-150 timings. FLADDR Address Stable T35 FLCS# T37 FLOE# T38 T39 T36 Data In FLDATA-R T49 T48 IOCHRDY Figure 34. Flash/Modem Timings for a Read Cycle T35 FLADDR Address Stable T41 T40 FLCS# T42 T46 T43 FLWE# T47 T44 T45 Data Out FLDATA-W T49 T48 IOCHRDY Figure 35. Flash/Modem Timings for a Write Cycle 106 Datasheet Networking Silicon -- 82559 12.4.2.4 EEPROM Interface Timings The 82559 is designed to support a standard 64x16 or 256x16 serial EEPROM. Table 42 provides the timing parameters for the EEPROM interface signals. The timing parameters are illustrated in Figure 36. Table 42. EEPROM Timing Parameters Symbol Parameter Min Max Units Notes 1 Mhz EEPROM fsk = 1 MHz T50 tEFSK Serial Clock Frequency T51 tECSS Delay from EECS High to EESK High 300 ns EEPROM tcss = 50 ns T52 tECSH Delay from EESK Low to EECS Low 30 ns EEPROM tcsh = 0 ns T53 tEDIS Setup Time of EEDI to EESK 300 ns EEPROM tdis = 150 ns T54 tEDIH Hold Time of EEDI after EESK 300 ns EEPROM tdih = 150 ms T55 tECS EECS Low Time 750 ns EEPROM tcs = 250 ns EECS T51 T52 FLA15EESK T53 T54 FLA13EEDI Figure 36. EEPROM Timings Datasheet 107 82559 -- Networking Silicon 12.4.2.5 PHY Timings Table 43. 10BASE-T NLP Timing Parameters Symbol Parameter Condition T56 Tnlp_wid NLP Width 10 Mbps T57 Tnlp_per NLP Period 10 Mbps Min Typ Max 100 8 Units ns 24 ms Max Units T57 T56 Normal Link Pulse Figure 37. 10BASE-T NLP Timings Table 44. Auto-Negotiation FLP Timing Parameters Symbol Parameter Min Typ T58 Tflp_wid FLP Width (clock/data) T59 Tflp_clk_clk Clock Pulse to Clock Pulse Period 111 125 139 s T60 Tflp_clk_dat Clock Pulse to Data Pulse Period 55.5 62.5 69.5 s T61 Tflp_bur_num Number of Pulses in one burst T62 Tflp_bur_wid FLP Burst Width T63 Tflp_bur_per FLP Burst Period 100 17 ns 33 2 8 ms 24 ms T59 T60 T58 Fast Link Pulse Clock Pulse T63 Data Pulse Clock Pulse T62 FLP Bursts Figure 38. Auto-Negotiation FLP Timings 108 Datasheet Networking Silicon -- 82559 Table 45. 100Base-TX Transmitter AC Specification Symbol T64 12.4.2.6 Tjit Parameter TDP/TDN Differential Output Peak Jitter Condition Min Typ HLS Data Max Units 1400 ps SMB Interface Timings Table 46. Flash Timing Parameters Symbol Datasheet Parameter Min Max Units 1 MHz fsmb SMB Operating Frequency T84 tdhs Data Hold Time 300 ns T85 tdsus Data Setup Time 250 ns Notes 109 82559 -- Networking Silicon Note: 110 This page left intentionally blank. Datasheet Networking Silicon -- 82559 13.0 Package and Pinout Information 13.1 Package Information The 82559 is a 196-pin Ball Grid Array (BGA) package. Package dimensions are shown in Figure 39. More information on Intel device packaging is available in the Intel Packaging Handbook, which is available from the Intel Literature Center or your local Intel sales office. Figure 39. Dimension Diagram for the 82559 196-pin BGA Datasheet 111 82559 -- Networking Silicon 13.2 Pinout Information 13.2.1 82559 Pin Assignments Table 47. 82559 Pin Assignments Pin 112 Name Pin Name Pin Name A1 NC A2 SERR# A3 VCC A4 IDSEL A5 AD25 A6 PME# A7 VCC A8 AD30 A9 ALTRST# A10 SMBCLK A11 VCC A12 LILED A13 TEST A14 NC B1 AD22 B2 AD23 B3 VSSPP B4 AD24 B5 AD26 B6 AD27 B7 VSSPP B8 AD31 B9 ISOLATE# B10 SMBALRT# B11 SPEEDLED B12 TO B13 RBIAS100 B14 RBIAS10 C1 AD21 C2 RST# C3 REQ# C4 C/BE3# C5 CSTSCHG C6 AD28 C7 AD29 C8 CLKRUN# C9 SMBD C10 VSSPT C11 ACTLED C12 VREF C13 TDP C14 TDN D1 AD18 D2 AD19 D3 AD20 D4 VSS D5 VSS D6 VSS D7 VSS D8 VSS D9 NC D10 NC D11 VSS D12 TI D13 TEXEC D14 TCK E1 VCC E2 VSSPP E3 AD17 E4 VSS E5 VSS E6 VSS E7 VSS E8 VSS E9 VSS E10 VSS E11 VSS E12 VCC E13 RDP E14 RDN F1 IRDY# F2 FRAME# F3 C/BE2# F4 VSS F5 VSS F6 VSS F7 VSS F8 VSS F9 VSS F10 VSS F11 VSS F12 FLD2 F13 FLD1 F14 FLD0 G1 CLK G2 VIO G3 TRDY# G4 NC G5 VCC G6 VCC G7 VSS G8 VSS G9 VSS G10 VSS G11 VSS G12 FLD3 Datasheet Networking Silicon -- 82559 Table 47. 82559 Pin Assignments Pin Datasheet Name Pin Name Pin Name G13 VCC G14 VSSPL H1 STOP# H2 INTA# H3 DEVSEL# H4 NC H5 VCC H6 VCC H7 VCC H8 VCC H9 VSS H10 VSS H11 VSS H12 FLD6 H13 FLD5 H14 FLD4 J1 PAR J2 PERR# J3 GNT# J4 NC J5 VCC J6 VCC J7 VCC J8 VCC J9 VCC J10 VCC J11 VCC J12 FLA1 J13 FLA0 J14 FLD7 K1 AD16 K2 VSSPP K3 VCC K4 VCC K5 VCC K6 VCC K7 VCC K8 VCC K9 VCC K10 VCC K11 VCC K12 VSSPL K13 VCC K14 FLA2 L1 AD14 L2 AD15 L3 C/BE#1 L4 VCC L5 VCC L6 VSS L7 CFCS# L8 CFCLK L9 VCC L10 VCC L11 VSS L12 FLA5 L13 FLA4 L14 FLA3 M1 AD11 M2 AD12 M3 AD13 M4 C/BE0# M5 AD5 M6 VSSPP M7 AD1 M8 FLOE# M9 FLWE# M10 FLA15/EESK M11 FLA12 M12 FLA11 M13 FLA7 M14 FLA6 N1 VSSPP N2 AD10 N3 AD9 N4 AD7 N5 AD4 N6 VCC N7 AD0 N8 VCC N9 FLCS# N10 FLA14/EEDO N11 X1 N12 VSSPL N13 FLA10 N14 FLA8/IOCHRDY P1 NC P2 VCC P3 AD8 P4 AD6 P5 AD3 P6 AD2 P7 EECS P8 VSSPL P9 FLA16 P10 FLA13/EEDI P11 X2 P12 VCC P13 FLA9 P14 NC 113 82559 -- Networking Silicon 13.2.2 82559 Ball Grid Array Diagram 1 2 3 4 5 6 7 8 9 10 11 12 13 14 A NC SERR# VCCPP IDSEL AD25 PME# VCCPP AD30 ALTRST # SMBCL K VCCPT LILED TEST NC B AD22 AD23 VSSPP AD24 AD26 AD27 VSSPP AD31 ISOLAT E# SMBAL RT# SPEEDL ED TO RBIAS1 00 RBIAS1 0 C AD21 RST# REQ# CBE3# CSTSC HG AD28 AD29 CLKRU N# SMBD VSSPT ACTLED VREF TDP TDN D AD18 AD19 AD20 VSS VSS VSS VSS VSS NC NC VSS TI TEXEC TCK E VCCPP VSSPP AD17 VSS VSS VSS VSS VSS VSS VSS VSS VCC RDP RDN F IRDY# FRAME# CBE2# VSS VSS VSS VSS VSS VSS VSS VSS FLD2 FLD1 FLD0 G CLK VIO TRDY# NC VCC VCC VSS VSS VSS VSS VSS FLD3 VCCPL VSSPL H STOP# INTA# DEVSEL # NC VCC VCC VCC VCC VSS VSS VSS FLD6 FLD5 FLD4 J PAR PERR# GNT# NC VCC VCC VCC VCC VCC VCC VCC FLA1 FLA0 FLD7 K AD16 VSSPP VCCPP VCC VCC VCC VCC VCC VCC VCC VCC VSSPL VCCPL FLA2 L AD14 AD15 CBE1# VCC VCC VSS CFCS CFCLK VCC VCC VSS FLA5 FLA4 FLA3 M AD11 AD12 AD13 CBE0# AD5 VSSPP AD1 FLOE# FLWE# FLA15/ EESK FLA12 FLA11 FLA7 FLA6 N VSSPP AD10 AD9 AD7 AD4 VCCPP AD0 VCCPL FLCS# FLA14/ EEDO X1 VSSPL FLA10 FLA8 P NC VCCPP AD8 AD6 AD3 AD2 EECS VSSPL FLA16 FLA13/ EEDI X2 VCCPL FLA9 NC 82559 Ballout BGA196 15mmx15mm(top view) 4 May 98 Figure 40. 82559 Ball Grid Array Diagram 114 Datasheet