RTL8101L 1. Features: 1.1 Ethernet Controller Features: wake-up when main power remains off Supports auxiliary power auto-detect, and sets the related capability of power management registers in PCI configuration space Includes a programmable PCI burst size and early Tx/Rx threshold Supports a 32-bit general-purpose timer with the external PCI clock as clock source to generate timer-interrupt Contains two large (2Kbyte) independent receive and transmit FIFOs Advanced power saving mode when LAN function or wakeup function is not used Uses 93C46 (64*16-bit EEPROM) to store resource configuration, ID parameter, and VPD data Supports LED pins for various network activity indications Supports loopback capability Half/Full duplex capability Supports Full Duplex Flow Control (IEEE 802.3x) 3.3V power supply, 3.3V and 5V I/O tolerance Interface for 128K byte (max) Boot ROM for both EEPROM and Flash Memory. 100 pin LQFP Integrated Fast Ethernet MAC, Physical chip and transceiver in one chip 10 Mb/s and 100 Mb/s operation Supports 10 Mb/s and 100 Mb/s N-way Auto-negotiation operation PCI local bus single-chip Fast Ethernet controller Compliant to PCI Revision 2.2 Supports PCI clock 16.75MHz-40MHz Supports PCI target fast back-to-back transaction Provides PCI bus master data transfers and PCI memory space or I/O space mapped data transfers of RTL8101L's operational registers Supports PCI VPD (Vital Product Data) Supports ACPI, PCI power management Supports 25MHz crystal or 25MHz OSC as the internal clock source. The frequency deviation of either crystal or OSC must be within 50 PPM. Compliant to PC99/PC2001 standard Supports Wake-On-LAN function and remote wake-up (Magic Packet*, LinkChg and Microsoft® wake-up frame) Supports 4 Wake-On-LAN (WOL) signals (active high, active low, positive pulse, and negative pulse) Supports auxiliary power-on internal reset, for remote 1.2 MC’97 Controller Features: Supports 16-bit modem line (LINE1) Full-duplex operation for simultaneous LINE1 transactions Low latency GPIO updated 8 double-WORD (16 samples) FIFO depth for each bus master of LINE1-OUT/IN 3.3V power supply, 3.3V and 5V I/O tolerance MC’97 compatible digital controller chip PCI local bus single-chip Fast Ethernet controller 32-bit PCI bus master and PCI v 2.2 compliant PCI Bus Power Management Interface Specification v 1.1 compliant High performance bus master DMA for data transfer AC’97 v 2.2 compliant 2003-05-28 3 Rev.1.3 RTL8101L 2. General Description The Realtek RTL8101L is a highly integrated and cost-effective single-chip Fast Ethernet controller that provides 32-bit performance, PCI bus master capability, and full compliance with IEEE 802.3u 100Base-TX specifications and IEEE 802.3x Full Duplex Flow Control. It also supports the Advanced Configuration Power management Interface (ACPI), PCI power management for modern operating systems that are capable of Operating System Directed Power Management (OSPM) to achieve the most efficient power management possible. The RTL8101L no longer supports CardBus mode as RTL8139C does. In addition to the ACPI feature, the RTL8101L also supports remote wake-up (including AMD Magic Packet, LinkChg, and Microsoft® wake-up frame) in both ACPI and APM environments. The RTL8101L is capable of performing an internal reset through the application of auxiliary power. When auxiliary power is applied and the main power remains off, the RTL8101L is ready and waiting for the Magic Packet or Link Change to wake the system up. Also, the LWAKE pin provides 4 different output signals including active high, active low, positive pulse, and negative pulse. The versatility of the RTL8101L LWAKE pin provides motherboards with Wake-On-LAN (WOL) functionality. The RTL8101L also supports Analog Auto-Power-down, that is, the analog part of the RTL8101L can be shut down temporarily according to user requirements or when the RTL8101L is in a power down state with the wakeup function disabled. In addition, when the analog part is shut down and the IsolateB pin is low (i.e. the main power is off), then both the analog and digital parts stop functioning and the power consumption of the RTL8101L will be negligible. The RTL8101L also supports an auxiliary power auto-detect function, and will auto-configure related bits of their own PCI power management registers in PCI configuration space. PCI Vital Product Data (VPD) is also supported to provide the information that uniquely identifies hardware (i.e., the OEM brand name of RTL8101L LAN card). The information may consist of part number, serial number, and other detailed information. To provide cost down support, the RTL8101L is capable of using a 25MHz crystal or OSC as its internal clock source. The RTL8101L keeps network maintenance costs low and eliminates usage barriers. It is the easiest way to upgrade a network from 10 to 100Mbps. It also supports full-duplex operation, making 200Mbps bandwidth possible at no additional cost. To improve compatibility with other brands’ products, the RTL8101L is also capable of receiving packets with InterFrameGap no less than 40 Bit-Time. The RTL8101L is highly integrated and requires no “glue” logic or external memory. The RTL8101L includes a PCI and Expansion Memory Share Interface (Realtek patent) for a boot ROM and can be used in diskless workstations, providing maximum network security and ease of management. 2003-05-28 4 Rev.1.3 RTL8101L 3. Pin Assignment 63 RTT3 64 LWAKE 65 RTSET 66 GND 67 RXIN68 RXIN+ 69 NC 70 AVDD 71 TXD72 TXD+ 73 GND 74 ISOLATEB 75 AVDD 62 61 60 59 58 57 56 55 54 53 52 51 76 LED2 77 LED1 78 LED0 79 INTBB 80 INTAB 81 RTSB 82 GNTB 83 REQB 84 CBE3B 85 AD31 86 AD30 87 AD29 88 GND 89 AD28 90 VDD 91 AD27 92 AD26 93 AD25 94 VDD25 95 VDD 96 AD24 97 PCICLK 98 IDSEL 99 GPIO1 100 GPIO0 50 CLKRUNB 49 VDD 48 VDD25 47 AD0 46 AD1 45 AD2 44 GND 43 AD3 42 AD4 41 AD5 40 AD6 39 AD7 38 CBE0B 37 VDD 36 AD8 35 AD9 34 AD10 33 AD11 32 AD12 31 GND 30 AD13 29 AD14 28 AD15 27 CBE1B 26 SERRB RTL8101L LQFP 25 24 23 22 21 20 19 18 17 16 15 14 1 AC_RSTB 2 GND 3 AC_SYNC 4 AC_DOUT 5 AC_DIN 6 VDD 7 AC_BCK 8 AD23 9 AD22 10 AD21 11 AD20 12 AD19 13 AD18 2003-05-28 GND X1 X2 AVDD AVDD25 PMEB VCTRL NC EECS EESK EEDI EEDO ROMCS/OEB 5 PERRB PAR STOPB VDD DEVSELB TRDYB IRDYB FRAMEB CBE2B GND AD16 AD17 Rev.1.3 RTL8101L 4. Pin Description Note that some pins have multiple functions. Refer to the Pin Assignment diagram for a graphical representation. 4.1 Power Management/Isolation Interface Symbol PMEB (PME#) Type O/D Pin No 57 ISOLATEB (ISOLATE#) I 74 LWAKE O 64 Description Power management event: Open drain, active low. Used by the RTL8101L to request a change in its current power management state and/or to indicate that a power management event has occurred. Isolate pin: Active low. Used to isolate the RTL8101L from the PCI bus. The RTL8101L does not drive its PCI outputs (excluding PME#) and does not sample its PCI input (including RST# and PCICLK) as long as the Isolate pin is asserted. LAN WAKE-UP signal: This signal is used to inform the motherboard to execute the wake-up process. The motherboard must support Wake-On-LAN (WOL). There are 4 choices of output, including active high, active low, positive pulse, and negative pulse, that may be asserted from the LWAKE pin. Please refer to the LWACT bit in the CONFIG1 register and the LWPTN bit in the CONFIG4 register for the setting of this output signal. The default output is an active high signal. Once a PME event is received, the LWAKE and PMEB assert at the same time when the LWPME (bit4, CONFIG4) is set to 0. If the LWPME is set to 1, the LWAKE asserts only when the PMEB asserts and the ISOLATEB is low. This pin is a 3.3V signaling output pin. 4.2 PCI Interface Symbol AD31-0 T/S I Pin No 85-87, 89, 91-93, 96, 8-15, 28-30, 32-36, 39-43, 45-47 84, 17, 27, 38 97 DEVSELB S/T/S 21 FRAMEB S/T/S 18 C/BE3-0 CLK Type T/S GNTB I 82 REQB T/S 83 2003-05-28 Description PCI address and data multiplexed pins. AD31-24 are shared with BootROM data pins, while AD16-0 are shared with BootROM address pins. PCI bus command and byte enables multiplexed pins. Clock: This PCI Bus clock provides timing for all transactions and bus phases, and is input to PCI devices. The rising edge defines the start of each phase. The clock frequency ranges from 0 to 33MHz. Device select: As a bus master, the RTL8101L samples this signal to insure that a PCI target recognizes the destination address for the data transfer. As a target, the RTL8101L asserts this signal low when it recognizes its target address after FRAMEB is asserted. Cycle frame: As a bus master, this pin indicates the beginning and duration of an access. FRAMEB is asserted low to indicate the start of a bus transaction. While FRAMEB is asserted, data transfer continues. When FRAMEB is deasserted, the transaction is in the final data phase. As a target, the device monitors this signal before decoding the address to check if the current transaction is addressed to it. Grant: This signal is asserted low to indicate to the RTL8101L that the central arbiter has granted ownership of the bus to the RTL8101L. This input is used when the RTL8101L is acting as a bus master. Request: The RTL8101L will assert this signal low to request the ownership of the bus from the central arbiter. 6 Rev.1.3 RTL8101L IDSEL I 98 INTAB O/D 80 IRDYB S/T/S 19 TRDYB PAR PERRB S/T/S 20 T/S 24 S/T/S 25 SERRB O/D 26 STOPB S/T/S 23 I 81 RSTB Initialization device select: This pin allows the RTL8101L to identify when configuration read/write transactions are intended for it. INTAB: Used to request an interrupt. It is asserted low when an interrupt condition occurs, as defined by the Interrupt Status, Interrupt Mask and Interrupt Enable registers. Initiator ready: This indicates the initiating agent’s ability to complete the current data phase of the transaction. As a bus master, this signal will be asserted low when the RTL8101L is ready to complete the current data phase transaction. This signal is used in conjunction with the TRDYB signal. Data transaction takes place at the rising edge of CLK when both IRDYB and TRDYB are asserted low. As a target, this signal indicates that the master has put data on the bus. Target ready: This indicates the target agent’s ability to complete the current phase of the transaction. As a bus master, this signal indicates that the target is ready for the data during write operations and with the data during read operations. As a target, this signal will be asserted low when the (slave) device is ready to complete the current data phase transaction. This signal is used in conjunction with the IRDYB signal. Data transaction takes place at the rising edge of CLK when both IRDYB and TRDYB are asserted low. Parity: This signal indicates even parity across AD31-0 and C/BE3-0 including the PAR pin. As a master, PAR is asserted during address and write data phases. As a target, PAR is asserted during read data phases. Parity error: When the RTL8101L is the bus master and a parity error is detected, the RTL8101L asserts both SERR bit in ISR and Configuration Space command bit 8 (SERRB enable). Next, it completes the current data burst transaction, then stops operation and resets itself. After the host clears the system error, the RTL8101L continues its operation. When the RTL8101L is the bus target and a parity error is detected, the RTL8101L asserts this PERRB pin low. System error: If an address parity error is detected and Configuration Space Status register bit 15 (detected parity error) is enabled, RTL8101L asserts both SERRB pin low and bit 14 of Status register in Configuration Space. Stop: Indicates the current target is requesting the master to stop the current transaction. Reset: When RSTB is asserted low, the RTL8101L performs internal system hardware reset. RSTB must be held for a minimum of 120 ns. 4.3 EEPROM Interface Symbol AUX/EEDI Type I/O Pin No 53 EESK O 54 EEDO O, I 52 2003-05-28 Description 1. Aux. Power Detect: This pin is used to notify the RTL8101L of the existence of Aux. power during initial power-on or a PCI reset. This pin should be pulled high to the Aux. power via a resistor to detect the Aux. power. Doing so, will enable wakeup support from ACPI D3 cold or APM power-down. If this pin is not pulled high, the RTL8101L assumes that no Aux. power exists. 2. The MA2-0 pins are switched to EESK, EEDI, EEDO in 93C46 programming or auto-load mode. 7 Rev.1.3 RTL8101L EECS O 55 EEPROM chip select 4.4 Power Pins Symbol VDD AVDD VDD25 AVDD25 DGND AGND Type P P P P P p Pin No 6, 22, 37, 49, 90, 95 59, 70, 75 48, 94 58 2, 16, 31, 44, 88 62, 66, 73 Description +3.3V (Digital) +3.3V (Analog) +2.5V (Digital) +2.5V (Analog) Digital Ground Analog Ground 4.5 LED Interface Symbol LED0, 1, 2 Type O Pin No 78, 77, 76 Description LED pins LEDS1-0 00 01 10 LED0 TX/RX TX/RX TX LED1 LINK100 LINK10/100 LINK10/100 LED2 LINK10 FULL RX 11 Link10/ ACT Link100/ ACT Full During power down mode, the LEDs are OFF. If LED1 is pulled low by a 10K resistor, the RT8101L runs in modem-only mode and a 93C46 is not necessary. 4.6 Attachment Unit Interface Symbol TXD+ TXDRXIN+ RXINX1 X2 Type O O I I I O Pin No 72 71 68 67 61 60 Description 100/10BASE-T transmit (Tx) data 100/10BASE-T receive (Rx) data 25 MHz crystal/OSC input Crystal feedback output: This output is used in crystal connection only. It must be left open when X1 is driven with an external 25 MHz oscillator. 4.7 AC-Link Pins Symbol AC_RSTB AC_SYNC AC_DOUT AC_DIN AC_BCK INTBB GPIO0 GPIO1 2003-05-28 Type O O O I I O/D I/O I/O Pin No 1 3 4 5 7 79 100 99 Description MC’97 Reset: Hardware reset to Codec. MC’97 SYNC: 48Khz fixed rate sample sync to Codec. MC’97 Serial Data Out: Serial data output to Codec. MC’97 Serial Data In: Serial data input from Codec. MC’97 Bit Clock: 12.288Mhz serial data clock generated by Codec. INTBB is used for function 1 device (Modem) to request an interrupt. General Purpose I/O pins: Both can be programmed as input or output by bit0-1 of PCI GPIO Setup Register. 8 Rev.1.3 RTL8101L 2003-05-28 9 Rev.1.3 RTL8101L 4.8 Test and Other Pins Symbol RTT3 RTSET Type TEST I/O Pin No 63 65 CLKRUNB I/O 50 ROMCS/OEB O 51 NC - 56, 69 2003-05-28 Description Chip test pin. This pin must be pulled low by a resistor. Please refer to the application circuit for the correct value. Clock run: This signal is used by the RTL8101L to request starting (or speeding up) the clock, CLK. CLKRUNB also indicates the clock status. For the RTL8101L, CLKRUNB is an open drain output as well as an input. The RTL8101L requests the central resource to start, speed up, or maintain the interface clock by the assertion of CLKRUNB. For the host system, it is an S/T/S signal. The host system (central resource) is responsible for maintaining CLKRUNB asserted, and for driving it high to the negated (deasserted) state. ROM Chip select and output enable: This is the chip select signal and output enable of the Boot PROM. Reserved 10 Rev.1.3 RTL8101L 5. Ethernet Controller Register Descriptions The RTL8101L provides the following set of operational registers mapped into PCI memory space or I/O space. Ethernet Registers Offset R/W Tag Description 0000h R/W IDR0 0001h 0002h 0003h 0004h 0005h 0006h-0007h 0008h R/W R/W R/W R/W R/W R/W IDR1 IDR2 IDR3 IDR4 IDR5 MAR0 0009h 000Ah 000Bh 000Ch 000Dh 000Eh 000Fh 0010h-0013h 0014h-0017h 0018h-001Bh 001Ch-001Fh 0020h-0023h 0024h-0027h 0028h-002Bh 002Ch-002Fh 0030h-0033h 0034h-0035h 0036h 0037h 0038h-0039h 003Ah-003Bh R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R R R/W R/W R MAR1 MAR2 MAR3 MAR4 MAR5 MAR6 MAR7 TSD0 TSD1 TSD2 TSD3 TSAD0 TSAD1 TSAD2 TSAD3 RBSTART ERBCR ERSR CR CAPR CBR 003Ch-003Dh 003Eh-003Fh 0040h-0043h 0044h-0047h 0048h-004Bh R/W R/W R/W R/W R/W IMR ISR TCR RCR TCTR 004Ch-004Fh R/W MPC 0050h R/W 9346CR ID Register 0: ID registers 0-5 are only permitted to read/write by 4-byte access. Read access can be byte, word, or double word access. The initial value is autoloaded from EEPROM EthernetID field. ID Register 1 ID Register 2 ID Register 3 ID Register 4 ID Register 5 Reserved Multicast Register 0: The MAR register0-7 are only permitted to read/write by 4-byte access. Read access can be byte, word, or double word access. Driver is responsible for initializing these registers. Multicast Register 1 Multicast Register 2 Multicast Register 3 Multicast Register 4 Multicast Register 5 Multicast Register 6 Multicast Register 7 Transmit Status of Descriptor 0 Transmit Status of Descriptor 1 Transmit Status of Descriptor 2 Transmit Status of Descriptor 3 Transmit Start Address of Descriptor 0 Transmit Start Address of Descriptor 1 Transmit Start Address of Descriptor 2 Transmit Start Address of Descriptor 3 Receive (Rx) Buffer Start Address Early Receive (Rx) Byte Count Register Early Rx Status Register Command Register Current Address of Packet Read Current Buffer Address: The initial value is 0000h. It reflects total received byte-count in the Rx buffer. Interrupt Mask Register Interrupt Status Register Transmit (Tx) Configuration Register Receive (Rx) Configuration Register Timer CounT Register: This register contains a 32-bit general-purpose timer. Writing any value to this 32-bit register will reset the original timer and begin to count from zero. Missed Packet Counter: Indicates the number of packets discarded due to Rx FIFO overflow. It is a 24-bit counter. After s/w reset, MPC is cleared. Only the lower 3 bytes are valid. When written any value, MPC will be reset also. 93C46 Command Register 2003-05-28 11 Rev.1.3 RTL8101L 0051h 0052h 0053H 0054h-0057h R/W R/W R /W CONFIG0 CONFIG1 TimerInt 0058h 0059h 005Ah 005Bh 005Ch-005Dh 005Eh 005Fh 0060h-0061h 0062h-0063h 0064h-0065h 0066h-0067h 0068h-0069h 006Ah-006Bh 006Ch-006Dh 006Eh-006Fh 0070h-0071h 0072h-0073h 0074h-0075h 0076-0077h 0078h-007Bh 007Ch-007Fh 0080h 0081-0083h 0084h 0085h 0086h 0087h 0088h 0089h 008Ah 008Bh 008Ch–0093h 0094h–009Bh 009Ch–00A3h 00A4h–00ABh 00ACh–00B3h 00B4h–00BBh 00BCh–00C3h 00C4h–00CBh 00CCh 00CDh 00CEh 00CFh 00D0h 00D1h 00D2h R/W R/W R/W R/W R R R/W R R/W R R R R R/W R R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W MSR CONFIG3 CONFIG4 MULINT RERID TSAD BMCR BMSR ANAR ANLPAR ANER DIS FCSC NWAYTR REC CSCR PHY1_PARM TW_PARM PHY2_PARM CRC0 CRC1 CRC2 CRC3 CRC4 CRC5 CRC6 CRC7 Wakeup0 Wakeup1 Wakeup2 Wakeup3 Wakeup4 Wakeup5 Wakeup6 Wakeup7 LSBCRC0 LSBCRC1 LSBCRC2 LSBCRC3 LSBCRC4 LSBCRC5 LSBCRC6 2003-05-28 Configuration Register 0 Configuration Register 1 Reserved Timer Interrupt Register: Once having written a nonzero value to this register, the Timeout bit of the ISR register will be set whenever the TCTR reaches to this value. The Timeout bit will never be set as long as the TimerInt register is zero. Media Status Register Configuration register 3 Configuration register 4 Reserved Multiple Interrupt Select PCI Revision ID = 10h. Reserved. Transmit Status of All Descriptors Basic Mode Control Register Basic Mode Status Register Auto-Negotiation Advertisement Register Auto-Negotiation Link Partner Register Auto-Negotiation Expansion Register Disconnect Counter False Carrier Sense Counter N-way Test Register RX_ER Counter CS Configuration Register Reserved. PHY parameter 1 Twister parameter PHY parameter 2 Reserved Power Management CRC register0 for wakeup frame 0 Power Management CRC register1 for wakeup frame 1 Power Management CRC register2 for wakeup frame 2 Power Management CRC register3 for wakeup frame 3 Power Management CRC register4 for wakeup frame 4 Power Management CRC register5 for wakeup frame 5 Power Management CRC register6 for wakeup frame 6 Power Management CRC register7 for wakeup frame 7 Power Management wakeup frame0 (64bit) Power Management wakeup frame1 (64bit) Power Management wakeup frame2 (64bit) Power Management wakeup frame3 (64bit) Power Management wakeup frame4 (64bit) Power Management wakeup frame5 (64bit) Power Management wakeup frame6 (64bit) Power Management wakeup frame7 (64bit) LSB of the mask byte of wakeup frame0 within offset 12 to 75 LSB of the mask byte of wakeup frame1 within offset 12 to 75 LSB of the mask byte of wakeup frame2 within offset 12 to 75 LSB of the mask byte of wakeup frame3 within offset 12 to 75 LSB of the mask byte of wakeup frame4 within offset 12 to 75 LSB of the mask byte of wakeup frame5 within offset 12 to 75 LSB of the mask byte of wakeup frame6 within offset 12 to 75 12 Rev.1.3 RTL8101L 00D3h 00D4h-00D7h 00D8h 00D9h-00FFh R/W R/W - LSBCRC7 Config5 - LSB of the mask byte of wakeup frame7 within offset 12 to 75 Reserved. Configuration register 5 Reserved. 5.1 Receive Status Register in Rx packet header Bit 15 R/W R Symbol MAR 14 R PAM 13 R BAR 12-6 5 R ISE 4 R RUNT 3 R LONG 2 R CRC 1 R FAE 0 R ROK Description Multicast Address Received: This bit set to 1 indicates that a multicast packet is received. Physical Address Matched: This bit set to 1 indicates that the destination address of this packet matches the value written in ID registers. Broadcast Address Received: This bit set to 1 indicates that a broadcast packet is received. BAR, MAR bit will not be set simultaneously. Reserved Invalid Symbol Error: (100BASE-TX only) This bit set to 1 indicates that an invalid symbol was encountered during the reception of this packet. Runt Packet Received: This bit set to 1 indicates that the received packet length is smaller than 64 bytes ( i.e. media header + data + CRC < 64 bytes ) Long Packet: This bit set to 1 indicates that the size of the received packet exceeds 4k bytes. CRC Error: When set, indicates that a CRC error occurred on the received packet. Frame Alignment Error: When set, indicates that a frame alignment error occurred on this received packet. Receive OK: When set, indicates that a good packet is received. 5.2 Transmit Status Register (TSD0-3) (Offset 0010h-001Fh, R/W) The read-only bits (CRS, TABT, OWC, CDH, NCC3-0, TOK, TUN) will be cleared by the RTL8101L when the Transmit Byte Count (bits 12-0) in the corresponding Tx descriptor is written. It is not affected when software writes to these bits. These registers are only permitted to write by double-word access. After a software reset, all bits except OWN bit are reset to “0”. Bit 31 R/W R Symbol CRS 30 R TABT 29 R OWC 28 R CDH 27-24 R NCC3-0 23-22 21-16 R/W ERTXTH5-0 2003-05-28 Description Carrier Sense Lost: This bit is set to 1 when the carrier is lost during transmission of a packet. Transmit Abort: This bit is set to 1 if the transmission of a packet was aborted. This bit is read only, writing to this bit is not affected. Out of Window Collision: This bit is set to 1 if the RTL8101L encountered an "out of window" collision during the transmission of a packet. CD Heart Beat: The NIC watches for a collision signal (ie, CD Heartbeat signal) during the first 6.4us of the interframe gap following a transmission. This bit is set if the transceiver fails to send this signal. This bit is cleared in the 100 Mbps mode. Number of Collision Count: Indicates the number of collisions encountered during the transmission of a packet. Reserved Early Tx Threshold: Specifies the threshold level in the Tx FIFO to begin the transmission. When the byte count of the data in the Tx FIFO reaches this level, (or the FIFO contains at least one complete packet) the RTL8101L will transmit this packet. 000000 = 8 bytes 13 Rev.1.3 RTL8101L 15 R TOK 14 R TUN 13 R/W OWN 12-0 R/W SIZE These fields count from 000001 to 111111 in unit of 32 bytes. This threshold must avoid exceeding 2K bytes. Transmit OK: Set to 1 indicates that the transmission of a packet was completed successfully and no transmit underrun has occurred. Transmit FIFO Underrun: Set to 1 if the Tx FIFO was exhausted during the transmission of a packet. The RTL8101L can re-transfer data if the Tx FIFO underruns and can also transmit the packet to the wire successfully even though the Tx FIFO underruns. That is, when TSD<TUN>=1, TSD<TOK>=0 and ISR<TOK>=1 (or ISR<TER>=1). OWN: The RTL8101L sets this bit to 1 when the Tx DMA operation of this descriptor was completed. The driver must set this bit to 0 when the Transmit Byte Count (bits 0-12) is written. The default value is 1. Descriptor Size: The total size in bytes of the data in this descriptor. If the packet length is more than 1792 byte (0700h), the Tx queue will be invalid, i.e. the next descriptor will be written only after the OWN bit of that long packet's descriptor has been set. 5.3 ERSR: Early Rx Status Register (Offset 0036h, R) Bit 7-4 3 R/W R Symbol ERGood 2 R ERBad 1 R EROVW 0 R EROK Description Reserved Early Rx Good packet: This bit is set whenever a packet is completely received and the packet is good. Writing a 1 to this bit will clear it. Early Rx Bad packet: This bit is set whenever a packet is completely received and the packet is bad. Writing a 1 to this bit will clear it. Early Rx OverWrite: This bit is set when the RTL8101L's local address pointer is equal to CAPR. In the early mode, this is different from buffer overflow. It happens that the RTL8101L detected an Rx error and wanted to fill another packet data from the beginning address of that error packet. Writing a 1 to this bit will clear it. Early Rx OK: The power-on value is 0. It is set when the Rx byte count of the arriving packet exceeds the Rx threshold. After the whole packet is received, the RTL8101L will set ROK or RER in ISR and clear this bit simultaneously. Setting this bit will invoke a ROK interrupt. 5.4 Command Register (Offset 0037h, R/W) This register is used for issuing commands to the RTL8101L. These commands are issued by setting the corresponding bits for the function. A global software reset along with individual reset and enable/disable for transmitter and receiver are provided here. Bit 7-5 4 2003-05-28 R/W R/W Symbol RST Description Reserved Reset: Setting to 1 forces the RTL8101L to a software reset state which disables the transmitter and receiver, reinitializes the FIFOs, resets the system buffer pointer to the initial value (Tx buffer is at TSAD0, Rx buffer is empty). The values of IDR0-5 and MAR0-7 and PCI configuration space will have no changes. This bit is 1 during the reset operation, and is cleared to 0 by the RTL8101L when the reset operation is complete. 14 Rev.1.3 RTL8101L 3 R/W RE 2 R/W TE 1 0 R BUFE Receiver Enable: When set to 1, and the receive state machine is idle, the receive machine becomes active. This bit will read back as a 1 whenever the receive state machine is active. After initial power-up, software must insure that the receiver has completely reset before setting this bit. Transmitter Enable: When set to 1, and the transmit state machine is idle, then the transmit state machine becomes active. This bit will read back as a 1 whenever the transmit state machine is active. After initial power-up, software must insure that the transmitter has completely reset before setting this bit. Reserved Buffer Empty: Rx Buffer Empty. There is no packet stored in the Rx buffer ring. 5.5 Interrupt Mask Register (Offset 003Ch-003Dh, R/W) Bit 15 R/W R/W Symbol SERR 14 13 12-7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W R/W TimeOut LenChg FOVW PUN/LinkChg RXOVW TER TOK RER ROK Description System error Interrupt: 1 => Enable, 0 => Disable. Time Out Interrupt: 1 => Enable, 0 => Disable. Cable Length Change Interrupt: 1 => Enable, 0 => Disable. Reserved Rx FIFO Overflow Interrupt: 1 => Enable, 0 => Disable. Packet Underrun/Link Change Interrupt: 1 => Enable, 0 => Disable. Rx Buffer Overflow Interrupt: 1 => Enable, 0 => Disable. Transmit error Interrupt: 1 => Enable, 0 => Disable. Transmit OK Interrupt: 1 => Enable, 0 => Disable. Receive Error Interrupt: 1 => Enable, 0 => Disable. Receive OK Interrupt: 1 => Enable, 0 => Disable. 5.6 Interrupt Status Register (Offset 003Eh-003Fh, R/W) This register indicates the source of an interrupt when the INTA pin goes active. Enabling the corresponding bits in the Interrupt Mask Register (IMR) allows bits in this register to produce an interrupt. When an interrupt is active, one of more bits in this register are set to a “1”. The interrupt Status Register reflects all current pending interrupts, regardless of the state of the corresponding mask bit in the IMR. Reading the ISR clears all interrupts. Writing to the ISR has no effect. Bit 15 R/W R/W Symbol SERR 14 R/W TimeOut 13 12 - 7 6 5 R/W R/W R/W LenChg FOVW PUN/LinkChg 4 R/W RXOVW 3 R/W TER 2003-05-28 Description System Error: Set to 1 when the RTL8101L signals a system error on the PCI bus. Time Out: Set to 1 when the TCTR register reaches to the value of the TimerInt register. Cable Length Change: Cable length is changed after Receiver is enabled. Reserved Rx FIFO Overflow: Set when an overflow occurs on the Rx status FIFO. Packet Underrun/Link Change: Set to 1 when CAPR is written but Rx buffer is empty, or when link status is changed. Rx Buffer Overflow: Set when receive (Rx) buffer ring storage resources have been exhausted. Transmit (Tx) Error: Indicates that a packet transmission was aborted, 15 Rev.1.3 RTL8101L 2 R/W TOK 1 R/W RER 0 R/W ROK due to excessive collisions, according to the TXRR's setting. Transmit (Tx) OK: Indicates that a packet transmission is completed successfully. Receive (Rx) Error: Indicates that a packet has either CRC error or frame alignment error (FAE). The collided frame will not be recognized as CRC error if the length of this frame is shorter than 16 byte. Receive (Rx) OK: In normal mode, indicates the successful completion of a packet reception. In early mode, indicates that the Rx byte count of the arriving packet exceeds the early Rx threshold. 5.7 Transmit Configuration Register (Offset 0040h-0043h, R/W) This register defines the Transmit Configuration for the RTL8101L. It controls such functions as Loopback, Heartbeat, Auto Transmit Padding, programmable Interframe Gap, Fill and Drain Thresholds, and maximum DMA burst size. Bit 31 30-26 R/W R Symbol HWVERID_A 25-24 R/W IFG1, 0 23-22 21-19 18, 17 R R/W HWVERID_B LBK1, LBK0 16 R/W CRC 15-11 - - 2003-05-28 Description Reserved Hardware Version ID A: Bit30 Bit29 Bit28 Bit27 Bit26 Bit23 Bit22 RTL8139 1 1 0 0 0 0 0 RTL8139A 1 1 1 0 0 0 0 RTL8139A-G 1 1 1 0 1 0 0 RTL8139B 1 1 1 1 0 0 0 RTL8130 1 1 1 1 0 0 0 RTL8139C 1 1 1 0 1 0 0 RTL8100 1 1 1 1 0 1 0 RTL8100(B)/ 1 1 1 0 1 0 1 8102 RTL8139C+ 1 1 1 0 1 1 0 RTL8101L 1 1 1 0 1 1 1 Reserved Other combination Interframe Gap Time: This field allows the user to adjust the interframe gap time below the standard: 9.6 us for 10Mbps, 960 ns for 100Mbps. The time can be programmed from 9.6 us to 8.4 us (10Mbps) and 960ns to 840ns (100Mbps). Note that any value other than (1, 1) will violate the IEEE 802.3 standard. The formula for the inter frame gap is: 10 Mbps 8.4us + 0.4(IFG(1:0)) us 100 Mbps 840ns + 40(IFG(1:0)) ns Hardware Version ID B Reserved Loopback Test: There will be no packet on the TX+/- lines under the Loopback test condition. The loopback function must be independent of the link state. 00 : normal operation 01 : Reserved 10 : Reserved 11 : Loopback mode Append CRC: Setting to 1 means that there is no CRC appended at the end of a packet. Setting to 0 means that there is CRC appended at the end of a packet. Reserved 16 Rev.1.3 RTL8101L 10-8 R/W MXDMA2, 1, 0 7-4 R/W TXRR 3-1 0 W CLRABT Max DMA Burst Size per Tx DMA Burst: This field sets the maximum size of transmit DMA data bursts according to the following table: 000 = 16 bytes 001 = 32 bytes 010 = 64 bytes 011 = 128 bytes 100 = 256 bytes 101 = 512 bytes 110 = 1024 bytes 111 = 2048 bytes Tx Retry Count: These are used to specify additional transmission retries in multiple of 16(IEEE 802.3 CSMA/CD retry count). If the TXRR is set to 0, the transmitter will re-transmit 16 times before aborting due to excessive collisions. If the TXRR is set to a value greater than 0, the transmitter will re-transmit a number of times equals to the following formula before aborting: Total retries = 16 + (TXRR * 16) The TER bit in the ISR register or transmit descriptor will be set when the transmission fails and reaches to this specified retry count. Reserved Clear Abort: Setting this bit to 1 causes the RTL8101L to retransmit the packet at the last transmitted descriptor when this transmission was aborted, Setting this bit is only permitted in the transmit abort state. 5.8 Receive Configuration Register (Offset 0044h-0047h, R/W) This register is used to set the receive configuration for the RTL8101L. Receive properties such as accepting error packets, runt packets, setting the receive drain threshold etc. are controlled here. Bit 31-28 27-24 R/W R/W Symbol ERTH3, 2, 1, 0 23-18 17 R/W MulERINT 16 R/W RER8 2003-05-28 Description Reserved Early Rx Threshold Bits: These bits are used to select the Rx threshold multiplier of the whole packet that has been transferred to the system buffer in early mode when the frame protocol is under the RTL8101L's definition. 0000 = no early rx threshold 0001 = 1/16 0010 = 2/16 0011 = 3/16 0100 = 4/16 0101 = 5/16 0110 = 6/16 0111 = 7/16 1000 = 8/16 1001 = 9/16 1010 = 10/16 1011 = 11/16 1100 = 12/16 1101 = 13/16 1110 = 14/16 1111 = 15/16 Reserved Multiple Early Interrupt Select: When this bit is set, any received packet invokes early interrupt according to MULINT<MISR[11:0]> setting in early mode. When this bit is reset, the packets of familiar protocols (IPX, IP, NDIS, etc) invoke an early interrupt according to RCR<ERTH[3:0]> setting in early mode. The packets of unfamiliar protocols will invoke an early interrupt according to the setting of MULINT<MISR[11:0]>. The RTL8101L receives the error packet whose length is larger than 8 bytes after setting the RER8 bit to 1. 17 Rev.1.3 RTL8101L The RTL8101L receives the error packet larger than 64-byte long when the RER8 bit is cleared. The power-on default is zero. If AER or AR is set, the RER will be set when the RTL8101L receives an error packet whose length is larger than 8 bytes. The RER8 is “ Don’t care “ in this situation. 2003-05-28 18 Rev.1.3 RTL8101L 15-13 R/W RXFTH2, 1, 0 12-11 R/W RBLEN1, 0 10-8 R/W MXDMA2, 1, 0 7 R/W WRAP 6 5 R/W AER 4 R/W AR 3 2 1 0 R/W R/W R/W R/W AB AM APM AAP 2003-05-28 Rx FIFO Threshold: Specifies Rx FIFO Threshold level. When the number of the received data bytes from a packet, which is being received into the RTL8101L's Rx FIFO, has reached to this level (or the FIFO has contained a complete packet), the receive PCI bus master function will begin to transfer the data from the FIFO to the host memory. This field sets the threshold level according to the following table: 000 = 16 bytes 001 = 32 bytes 010 = 64 bytes 011 = 128 bytes 100 = 256 bytes 101 = 512 bytes 110 = 1024 bytes 111 = no rx threshold. The RTL8101L begins the transfer of data after having received a whole packet in the FIFO. Rx Buffer Length: This field indicates the size of the Rx ring buffer. 00 = 8k + 16 byte 01 = 16k + 16 byte 10 = 32K + 16 byte 11 = 64K + 16 byte Max DMA Burst Size per Rx DMA Burst: This field sets the maximum size of the receive DMA data bursts according to the following table: 000 = 16 bytes 001 = 32 bytes 010 = 64 bytes 011 = 128 bytes 100 = 256 bytes 101 = 512 bytes 110 = 1024 bytes 111 = unlimited When set to 0: The RTL8101L will transfer the rest of the packet data into the beginning of the Rx buffer if this packet has not been completely moved into the Rx buffer and the transfer has arrived at the end of the Rx buffer. When set to 1: The RTL8101L will keep moving the rest of the packet data into the memory immediately after the end of the Rx buffer, if this packet has not been completely moved into the Rx buffer and the transfer has arrived at the end of the Rx buffer. The software driver must reserve at least 1.5K bytes buffer to accept the remainder of the packet. We assume that the remainder of the packet is X bytes. The next packet will be moved into the memory from the X byte offset at the top of the Rx buffer. This bit is invalid when Rx buffer is selected to 64K bytes. Reserved Accept Error Packet: When set to 1, all packets with CRC error, alignment error, and/or collided fragments will be accepted. When set to 0, all packets with CRC error, alignment error, and/or collided fragments will be rejected. Accept Runt: This bit allows the receiver to accept packets that are smaller than 64 bytes. The packet must be at least 8 bytes long to be accepted as a runt. Set to 1 to accept runt packets. Accept Broadcast packets: Set to 1 to accept, 0 to reject. Accept Multicast packets: Set to 1 to accept, 0 to reject. Accept Physical Match packets: Set to 1 to accept, 0 to reject. Accept All Packets: Set to 1 to accept all packets with a physical 19 Rev.1.3 RTL8101L destination address, 0 to reject. 5.9 9346CR: 93C46 Command Register (Offset 0050h, R/W) Bit 7-6 4-5 3 2 1 0 R/W R/W Symbol EEM1-0 R/W R/W R/W R EECS EESK EEDI EEDO Description Operating Mode: These 2 bits select the RTL8101L operating mode. EEM1 EEM0 Operating Mode 0 0 Normal (RTL8101L network/host communication mode) 0 1 1 0 1 1 Auto-load: Entering this mode will make the RTL8101L load the contents of 93C46 like when the RSTB signal is asserted. This auto-load operation will take about 2 ms. After it is completed, the RTL8101L goes back to the normal mode automatically (EEM1 = EEM0 = 0) and all the other registers are reset to default values. 93C46 programming: In this mode, both network and host bus master operations are disabled. The 93C46 can be directly accessed via bit3-0 which now reflect the states of EECS, EESK, EEDI, & EEDO pins respectively. Config register write enable: Before writing to CONFIG0, 1, 3, 4 registers, and bit13, 12, 8 of BMCR(offset 62h-63h), the RTL8101L must be placed in this mode. This will prevent RTL8101L's configurations from accidental change. Reserved These bits reflect the state of EECS, EESK, EEDI & EEDO pins in auto-load or 93C46 programming mode. 5.10 CONFIG 0: Configuration Register 0 (Offset 0051h, R/W) Bit 7 6 5 4-3 2-0 R/W R R R R R Symbol SCR PCS T10 PL1, PL0 BS2, BS1, BS0 Description Scrambler Mode: Always 0. PCS Mode: Always 0. 10 Mbps Mode: Always 0. Select 10 Mbps Medium Type: Always (PL1, PL0) = (1, 0) Select Boot ROM size (Autoloaded from EEPROM) BS2 BS1 BS0 0 0 0 No Boot ROM Description 0 0 1 8K Boot ROM 0 1 0 16K Boot ROM 0 1 1 32K Boot ROM 1 0 0 64K Boot ROM 1 0 1 128K Boot ROM 1 1 0 unused 1 1 1 unused 5.11 CONFIG 1: Configuration Register 1 2003-05-28 20 Rev.1.3 RTL8101L (Offset 0052h, R/W) Bit 7-6 5 R/W R/W R/W Symbol LEDS1-0 DVRLOAD 4 R/W LWACT 3 2 1 R R R/W MEMMAP IOMAP VPD 0 R/W PMEn Description Refer to LED PIN definition. These bits initial value come from 93C46. Driver Load: Software may use this bit to make sure that the driver has been loaded. Writing 1 is 1. Writing 0 is 0. When the command register bits IOEN, MEMEN, and BMEN of the PCI configuration space are written, the RTL8101L will clear this bit automatically. LWAKE active mode: The LWACT bit and LWPTN bit in CONFIG4 register are used to program the LWAKE pin’s output signal. According to the combination of these two bits, there may be 4 choices of LWAKE signal, i.e., active high, active low, positive (high) pulse, and negative (low) pulse. The output pulse width is about 150ms. The default value of each of these two bits is 0, i.e., the default output signal of LWAKE pin is an active high signal. LWACT LWAKE output 0 1 0 Active high* Active low LWPTN 1 Positive pulse Negative pulse * Default value. Memory Mapping: The operational registers are mapped into PCI memory space. I/O Mapping: The operational registers are mapped into PCI I/O space. Set to enable Vital Product Data: The VPD data is stored in 93C46 from within offset 40h-7Fh. Power Management Enable: Writable only when 93C46CR register EEM1=EEM0=1 Let A denote the New_Cap bit (bit 4 of the Status Register) in the PCI Configuration space offset 06H. Let B denote the Cap_Ptr register in the PCI Configuration space offset 34H. Let C denote the Cap_ID (power management) register in the PCI Configuration space offset 50H. Let D denote the power management registers in the PCI Configuration space offset from 52H to 57H. Let E denote the Next_Ptr (power management) register in the PCI Configuration space offset 51H. PMEn Description 0 A=B=C=E=0, D not valid 1 A=1, B=50h, C=01h, D valid, E=0 5.12 Media Status Register (Offset 0058h, R/W) Bit 7 R/W R/W Symbol TXFCE/ LdTXFCE Description Tx Flow Control Enable: The flow control is valid in full-duplex mode only. This register’s default value comes from 93C46. RTL8101L ANE = 1 ANE = 1 ANE = 1 ANE = 0 & full-duplex mode 2003-05-28 21 Remote NWAY FLY mode NWAY mode only No NWAY - TXFCE/LdTXFCE R/O R/W R/W R/W Rev.1.3 RTL8101L ANE = 0 & half-duplex mode 6 R/W RXFCE 5 4 R Aux_Status 3 R SPEED_10 2 1 R R LINKB TXPF 0 R RXPF - invalid NWAY FLY mode: NWAY with flow control capability NWAY mode only: NWAY without flow control capability RX Flow control Enable: The flow control is enabled in full-duplex mode only. The default value comes from 93C46. Reserved Aux. Power present Status: 1: The Aux. Power is present. 0: The Aux. Power is absent. The value of this bit is fixed after each PCI reset. Speed: Set, when current media is 10 Mbps mode. Reset, when current media is 100 Mbps mode. Inverse of Link status. 0 = Link OK. 1 = Link Fail. Transmit Pause Flag: Set, when RTL8101L sends pause packet. Reset, when RTL8101L sends a timer done packet. Receive Pause Flag: Set, when RTL8101L is in backoff state because a pause packet was received. Reset, when pause state is clear. 5.13 CONFIG 3: Configuration Register3 (Offset 0059h, R/W) Bit 7 R/W R Symbol GNTSel 6 R/W PARM_En 5 R/W Magic 2003-05-28 Description Gnt Select: Select the Frame’s asserted time after the Grant signal has been asserted. The Frame and Grant are the PCI signals. 1: delay one clock from GNT assertion. 0: No delay Parameter Enable: (Used in 100Mbps mode only) This set to 0 and the 9346CR register EEM1=EEM0=1 will enable the PHY1_PARM, PHY2_PARM, and TW_PARM registers to be written via software. This set to 1 will allow parameters to be auto-loaded from the 93C46 and disable writing to the PHY1_PARM, PHY2_PARM and TW_PARM registers via software. The PHY1_PARM and PHY2_PARM can be auto-loaded from the EEPROM in this mode. The parameter auto-load process is executed every time the Link is OK in 100Mbps mode. Magic Packet: This bit is valid when the PWEn bit of the CONFIG1 register is set. The RTL8101L will assert the PMEB signal to wakeup the operating system when the Magic Packet is received. Once the RTL8101L has been enabled for Magic Packet wakeup and has been put into adequate state, it scans all incoming packets addressed to the node for a specific data sequence, which indicates to the controller that this is a Magic Packet frame. A Magic Packet frame must also meet the basic requirements of: Destination address + Source address + data + CRC The destination address may be the node ID of the receiving station or a multicast address, which includes the broadcast address. The specific sequence consists of 16 duplications of 6 byte ID registers, with no breaks or interrupts. This sequence can be located anywhere within the packet, but must be preceded by a synchronization stream, 6 bytes of FFh. The device will also accept a multicast address, as long as the 16 duplications of the IEEE address match the address of the ID registers. 22 Rev.1.3 RTL8101L 4 R/W LinkUp 3-1 2 R CLKRUN_En 1 0 R FBtBEn If the Node ID is 11h 22h 33h 44h 55h 66h, then the magic frame’s format is similar to the following: Destination address + source address + MISC + FF FF FF FF FF FF + MISC + 11 22 33 44 55 66 + 11 22 33 44 55 66 + 11 22 33 44 55 66 + 11 22 33 44 55 66 + 11 22 33 44 55 66 + 11 22 33 44 55 66 + 11 22 33 44 55 66 + 11 22 33 44 55 66 + 11 22 33 44 55 66 + 11 22 33 44 55 66 + 11 22 33 44 55 66 + 11 22 33 44 55 66 + 11 22 33 44 55 66 + 11 22 33 44 55 66 + 11 22 33 44 55 66 + 11 22 33 44 55 66 + MISC + CRC Link Up: This bit is valid when the PWEn bit of CONFIG1 register is set. The RTL8101L, in adequate power state, will assert the PMEB signal to wakeup the operating system when the cable connection is re-established. Reserved CLKRUN Enable: 1: Enable CLKRUN 0: Disable CLKRUN Reserved Fast Back to Back Enable: Set to 1 to enable Fast Back to Back. 5.14 CONFIG 4: Configuration Register4 (Offset 005Ah, R/W) Bit 7 6 R/W R/W R/W Symbol RxFIFOAutoClr AnaOff 5 R/W LongWF 4 R/W LWPME 3 2 1 0 R/W R/W LWPTN PBWakeup 2003-05-28 Description Set to 1, the RTL8101L will clear the Rx FIFO overflow automatically. Analog Power Off: This bit can not be auto-loaded from EEPROM (93C46). 1: Turn off the analog power of the RTL8101L internally. 0: Normal working state. This is also power-on default value. Long Wake-up Frame: The initial value comes from EEPROM autoload. Set to 1: The RTL8101L supports up to 5 wake-up frames, each with 16-bit CRC algorithm for MS Wakeup Frame, the low byte of 16-bit CRC should be placed at the correspondent CRC register, and the high byte of 16-bit CRC should be placed at the correspondent LSBCRC register. The wake-up frame 0 and 1 are the same as above, except that the masked bytes start from offset 0 to 63. The wake-up frame 2 and 3 are merged into one long wake-up frame respectively with masked bytes selected from offset 0 to 127. The wake-up frame 4 and 5, 6 and 7 are merged respectively into another 2 long wake-up frames. Please refer to 7.4 PCI Power Management functions for detailed description. Set to 0: The RTL8101L supports up to 8 wake-up frames, each with masked bytes selected from offset 12 to 75. LANWAKE vs PMEB: Set to 1: The LWAKE can only be asserted when the PMEB is asserted and the ISOLATEB is low. Set to 0: The LWAKE and PMEB are asserted at the same time. Reserved LWAKE pattern: Please refer to LWACT bit in CONFIG1 register. Reserved Pre-Boot Wakeup: The initial value comes from EEPROM autoload. 1: Pre-Boot Wakeup disabled. (suitable for CardBus and MiniPCI applications) 0: Pre-Boot Wakeup enabled. 23 Rev.1.3 RTL8101L 5.15 Multiple Interrupt Select Register (Offset 005Ch-005Dh, R/W) If the received packet data is not a familiar protocol (IPX, IP, NDIS, etc.) to the RTL8101L, RCR<ERTH[3:0]> won't be used to transfer data in early mode. This register will be written to the received data length in order to make an early Rx interrupt for the unfamiliar protocol. Bit 15-12 11-0 R/W R/W Symbol MISR11-0 Description Reserved Multiple Interrupt Select: Indicates that the RTL8101L makes an rx interrupt after RTL8101L has transferred the byte data into the system memory. If the value of these bits is zero, there will be no early interrupt as soon as the RTL8101L prepares to execute the first PCI transaction of the received data. Bit1, 0 must be zero. The ERTH3-0 bits should not be set to 0 when the multiple interrupt select register is used. The above is true when MulERINT=0 (bit17, RCR). When MulERINT=1, any received packet invokes early interrupt according to the MISR[11:0] setting in early mode. 5.16 PCI Revision ID (Offset 005Eh, R) Bit 7-0 R/W R Symbol Revision ID Description The value in PCI Configuration Space offset 08h is 10h. 5.17 Transmit Status of All Descriptors (TSAD) Register (Offset 0060h-0061h, R/W) Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 R/W R R R R R R R R R R R R R R R R Symbol TOK3 TOK2 TOK1 TOK0 TUN3 TUN2 TUN1 TUN0 TABT3 TABT2 TABT1 TABT0 OWN3 OWN2 OWN1 OWN0 Description TOK bit of Descriptor 3 TOK bit of Descriptor 2 TOK bit of Descriptor 1 TOK bit of Descriptor 0 TUN bit of Descriptor 3 TUN bit of Descriptor 2 TUN bit of Descriptor 1 TUN bit of Descriptor 0 TABT bit of Descriptor 3 TABT bit of Descriptor 2 TABT bit of Descriptor 1 TABT bit of Descriptor 0 OWN bit of Descriptor 3 OWN bit of Descriptor 2 OWN bit of Descriptor 1 OWN bit of Descriptor 0 5.18 Basic Mode Control Register 2003-05-28 24 Rev.1.3 RTL8101L (Offset 0062h-0063h, R/W) Bit 15 Name Reset 14 13 Spd_Set 12 Auto Negotiation Enable (ANE) 11-10 9 8 Restart Auto Negotiation Duplex Mode 7-0 - Description/Usage Default/Attribute This bit sets the status and control registers of the PHY(register 0, RW 0062-0074H) in a default state. This bit is self-clearing. 1 = software reset; 0 = normal operation. Reserved This bit sets the network speed. 1 = 100Mbps; 0 = 10Mbps. This bit‘s 0, RW initial value comes from 93C46. 0, RW This bit enables/disables the NWay auto-negotiation function. Set to 1 to enable auto-negotiation, bit13 will be ignored. Set to 0 disables auto-negotiation, bit13 and bit8 will determine the link speed and the data transfer mode, respectively. This bit‘s initial value comes from 93C46. Reserved This bit allows the NWay auto-negotiation function to be reset. 0, RW 1 = re-start auto-negotiation; 0 = normal operation. 0, RW This bit sets the duplex mode. 1 = full-duplex; 0 = normal operation. This bit‘s initial value comes from 93C46. If bit12 = 1, read = status write = register value. If bit12 = 0, read = write = register value. Reserved 5.19 Basic Mode Status Register (Offset 0064h-0065h, R) Bit 15 Name 100Base-T4 14 100Base_TX_ FD 13 12 100BASE_TX_H D 10Base_T_FD 11 10_Base_T_HD 10-6 5 4 Auto Negotiation Complete Remote Fault 3 Auto Negotiation 2 Link Status 1 0 Jabber Detect Extended Capability Description/Usage 1 = enable 100Base-T4 support; 0 = suppress 100Base-T4 support. 1 = enable 100Base-TX full duplex support; 0 = suppress 100Base-TX full duplex support. 1 = enable 100Base-TX half-duplex support; 0 = suppress 100Base-TX half-duplex support. 1 = enable 10Base-T full duplex support; 0 = suppress 10Base-T full duplex support. 1 = enable 10Base-T half-duplex support; 0 = suppress 10Base-T half-duplex support. Reserved 1 = auto-negotiation process completed; 0 = auto-negotiation process not completed. 1 = remote fault condition detected (cleared on read); 0 = no remote fault condition detected. 1 = Link had not been experienced fail state. 0 = Link had been experienced fail state 1 = valid link established; 0 = no valid link established. 1 = jabber condition detected; 0 = no jabber condition detected. 1 = extended register capability; 0 = basic register capability only. Default/Attribute 0, RO 1, RO 1, RO 1, RO 1, RO 0, RO 0, RO 1, RD 0, RO 0, RO 1, RO 5.20 Auto-negotiation Advertisement Register 2003-05-28 25 Rev.1.3 RTL8101L (Offset 0066h-0067h, R/W) Bit 15 Name NP 14 13 ACK RF 12-11 10 Pause 9 T4 8 TXFD 7 TX 6 10FD 5 10 4-0 Selector Description/Usage Next Page bit. 1 = transmitting the protocol specific data page; 0 = transmitting the primary capability data page 1 = acknowledge reception of link partner capability data word. 1 = advertise remote fault detection capability; 0 = do not advertise remote fault detection capability. Reserved 1 = flow control is supported by local node. 0 = flow control is not supported by local mode. 1 = 100Base-T4 is supported by local node; 0 = 100Base-T4 not supported by local node. 1 = 100Base-TX full duplex is supported by local node; 0 = 100Base-TX full duplex not supported by local node. 1 = 100Base-TX is supported by local node; 0 = 100Base-TX not supported by local node. 1 = 10Base-T full duplex supported by local node; 0 = 10Base-T full duplex not supported by local node. 1 = 10Base-T is supported by local node; 0 = 10Base-T not supported by local node. Binary encoded selector supported by this node. Currently only CSMA/CD <00001> is specified. No other protocols are supported. Default/Attribute 0, RO 0, RO 0, RW The default value comes from EEPROM, RO 0, RO 1, RW 1, RW 1, RW 1, RW <00001>, RW 5.21 Auto-Negotiation Link Partner Ability Register (Offset 0068h-0069h, R) Bit 15 Name NP 14 ACK 13 12-11 10 RF Pause 9 T4 8 TXFD 7 TX 6 10FD 5 10 4-0 Selector 2003-05-28 Description/Usage Next Page bit. 1 = transmitting the protocol specific data page; 0 = transmitting the primary capability data page 1 = link partner acknowledges reception of local node’s capability data word. 1 = link partner is indicating a remote fault. Reserved 1 = Flow control is supported by link partner; 0 = Flow control is not supported by link partner 1 = 100Base-T4 is supported by link partner; 0 = 100Base-T4 not supported by link partner 1 = 100Base-TX full duplex is supported by link partner; 0 = 100Base-TX full duplex not supported by link partner 1 = 100Base-TX is supported by link partner; 0 = 100Base-TX not supported by link partner 1 = 10Base-T full duplex is supported by link partner; 0 = 10Base-T full duplex not supported by link partner 1 = 10Base-T is supported by link partner; 0 = 10Base-T not supported by link partner Link Partner's binary encoded node selector. Currently only CSMA/CD <00001> is specified. 26 Default/Attribute 0, RO 0, RO 0, RO 0, RO 0, RO 0, RO 0, RO 0, RO 0, RO <00000>, RO Rev.1.3 RTL8101L 5.22 Auto-negotiation Expansion Register (Offset 006Ah-006Bh, R) This register contains additional status for NWay auto-negotiation. Bit Name Description/Usage 15-5 Reserved. These bits are always set to 0. 4 Status indicating if a multiple link fault has occurred. MLF 1 = fault occurred; 0 = no fault occurred. 3 LP_NP_ABLE Status indicating if the link partner supports Next Page negotiation. 1 = supported; 0 = not supported. 2 This bit indicates if the local node is able to send additional Next NP_ABLE Pages. 1 This bit is set when a new Link Code Word Page has been received. PAGE_RX The bit is automatically cleared when the auto-negotiation link partner’s ability register (register 5) is read by management. 0 LP_NW_ABLE 1 = link partner supports NWay auto-negotiation. Default/Attribute 0, RO 0, RO 0, RO 0, RO 0, RO 5.23 Disconnect Counter (Offset 006Ch-006Dh, R) Bit 15-0 Name DCNT Description/Usage This 16-bit counter increments by 1 for every disconnect event. It rolls over when becomes full. It is cleared to zero by read command. Default/Attribute h'[0000], R 5.24 False Carrier Sense Counter (Offset 006Eh-006Fh, R) Bit 15-0 Name FCSCNT Description/Usage This 16-bit counter increments by 1 for each false carrier event. It is cleared to zero by read command. Default/Attribute h'[0000], R 5.25 NWay Test Register (Offset 0070h-0071h, R/W) Bit 15-8 7 6-4 3 2 1 0 Name NWLPBK ENNWLE FLAGABD FLAGPDF FLAGLSC Description/Usage Reserved 1 = set NWay to loopback mode. Reserved 1 = LED0 Pin indicates linkpulse 1 = Auto-neg experienced ability detect state 1 = Auto-neg experienced parallel detection fault state 1 = Auto-neg experienced link status check state Default/Attribute 0, RW 0, RW 0, RO 0, RO 0, RO 5.26 RX_ER Counter (Offset 0072h-0073h, R) Bit 2003-05-28 Name Description/Usage 27 Default/Attribute Rev.1.3 RTL8101L 15-0 RXERCNT This 16-bit counter increments by 1 for each valid packet received. It is cleared to zero by a read command. h'[0000], R 5.27 CS Configuration Register (Offset 0074h-0075h, R/W) Bit 15 14-10 9 Name Testfun LD 8 HEART BEAT 7 6 JBEN F_LINK_100 5 4 3 F_Connect Con_status 2 Con_status_En 1 0 PASS_SCR Description/Usage 1 = Auto-neg speeds up internal timer Reserved Active low TPI link disable signal. When low, TPI still transmits link pulses and TPI stays in good link state. 1 = HEART BEAT enable, 0 = HEART BEAT disable. HEART BEAT function is only valid in 10Mbps mode. 1 = enable jabber function. 0 = disable jabber function Used to login force good link in 100Mbps for diagnostic purposes. 1 = DISABLE, 0 = ENABLE. Assertion of this bit forces the disconnect function to be bypassed. Reserved This bit indicates the status of the connection. 1 = valid connected link detected; 0 = disconnected link detected. Assertion of this bit configures LED1 pin to indicate connection status. Reserved Bypass Scramble Default/Attribute 0,WO 1, RW 1, RW 1, RW 1, RW 0, RW 0, RO 0, RW 0, RW 5.28 Config5: Configuration Register 5 (Offset 00D8h, R/W) This register, unlike other Config registers, is not protected by 93C46 Command register. I.e. there is no need to enable Config register write prior to writing to Config5. Bit 7 6 R/W R/W Symbol BWF 5 R/W MWF 4 R/W UWF 3 R/W FIFOAddrPtr 2003-05-28 Description Reserved Broadcast Wakeup Frame: 1: Enable Broadcast Wakeup Frame with mask bytes of only DID field = FF FF FF FF FF FF. 0: Default value. Disable Broadcast Wakeup Frame with mask bytes of only DID field = FF FF FF FF FF FF. The power-on default value of this bit is 0. Multicast Wakeup Frame: 1: Enable Multicast Wakeup Frame with mask bytes of only DID field, which is a multicast address. 0: Default value. Disable Multicast Wakeup Frame with mask bytes of only DID field, which is a multicast address. The power-on default value of this bit is 0. Unicast Wakeup Frame: 1: Enable Unicast Wakeup Frame with mask bytes of only DID field, which is its own physical address. 0: Default value. Disable Unicast Wakeup Frame with mask bytes of only DID field, which is its own physical address. The power-on default value of this bit is 0. FIFO Address Pointer: (Realtek internal use only to test FIFO SRAM) 28 Rev.1.3 RTL8101L 1: Both Rx and Tx FIFO address pointers are updated in descending way from 1FFh and downwards. The initial FIFO address pointer is 1FFh. 0: (Power-on) default value. Both Rx and Tx FIFO address pointers are updated in ascending way from 0 and upwards. The initial FIFO address pointer is 0. Note: This bit does not participate in EEPROM auto-load. The FIFO address pointers can not be reset, except initial power-on. The power-on default value of this bit is 0. 2 R/W LDPS Link Down Power Saving mode: 1: Disable. 0: Enable. When cable is disconnected (Link Down), the analog part will power down itself (PHY Tx part & part of twister) automatically except PHY Rx part and part of twister to monitor SD signal in case that cable is re-connected and Link should be established again. 1 R/W LANWake LANWake signal enable/disable: 1: Enable LANWake signal. 0: Disable LANWake signal. 0 R/W PME_STS PME_Status bit: Always sticky/can be reset by PCI RST# and software. 1: The PME_Status bit can be reset by PCI reset or by software. 0: The PME_Status bit can only be reset by software. Config5 register, offset D8h: (SYM_ERR register is changed to Config5, the function of SYM_ERR register is no longer supported by RTL8101L.) The 3 bits (bit2-0) are auto-loaded from EEPROM Config5 byte to RTL8101L Config5 register. 2003-05-28 29 Rev.1.3 RTL8101L 6. MC’97 Controller Register and Descriptor Descriptions MC’97 Registers Offset R/W 0000h 0001h 0002h 0003h 0004h-0005h 0006h-0007h 0008h-000Bh 000Ch-000Fh 0010h 0011h 0012h 0013h 0014h-0015h 0016h-0017h 0018h-001Bh 001Ch-001Fh 0020h-0021h 0022h-0023h 0024h-0025h 0026h-0027h 0028h-0029h 002Ah-002Bh 002Ch-002Dh 002Eh-002Fh R/W R R/W R R/W R R/W R/W R R/W R R/W R R/W R/W R/W R/W R/W R R/W R/W R/W Tag Description The Starting Descriptor Index for LINE1-Out The Current Descriptor Index for LINE1-Out The Last Descriptor Index for LINE1-Out LINE1-Out DMA Status Register LINE1-Out DMA Control Register Residual Samples Count in Current LINE1-Out Descriptor Register Reserved LINE1-Out Descriptor Base Address Register The Starting Descriptor Index for LINE1-In The Current Descriptor Index for LINE1-In The Last Descriptor Index for LINE1-In LINE1-In DMA Status Register LINE1-In DMA Control Register Residual Samples Count in Current LINE1-In Descriptor Register Reserved LINE1-In Descriptor Base Address Register AC-LINK Control register AC-LINK Status and Index register AC-LINK Data Port MC97 GPIO Control Register MC97 GPIO Status Register Interrupt Status Register PCI GPIO Setup Register (PCIGPIO) PCI GPIO Status Register (PCIGPIOSR) 6.1 The Starting Descriptor Index for LINE-Out (Offset 0000h, R/W) Bit 7-5 4-0 R/W R/W Symbol LO_SDILO Description Reserved Assign the first descriptor to be run when LINE1-Out bus master starts. 6.2 The Current Descriptor Index for LINE-Out (Offset 0001h, RO) Bit 7-5 4-0 R/W R Symbol LO_CDILO Description Reserved Indicates the current descriptor been running. 6.3 The Last Descriptor Index for LINE-Out (Offset 0002h, R/W) Bit 7-5 2003-05-28 R/W - Symbol - Description Reserved 30 Rev.1.3 RTL8101L 4-0 R LO_LDILO Assign the last descriptor to be run. After the last transaction has been completed for this last descriptor, LINE-Out bus master should stop. 6.4 LINE-Out DMA Status Register (Offset 0003h, RO) Bit 7-2 1 0 R/W R R Symbol LO_Curr_Last LO_LH Description Reserved Current descriptor is the last descriptor. This bit will be auto cleared The LINE-Out bus master is not active or the last descriptor has finished transaction. This bit will be auto cleared by H/W when bus master is active. 6.5 LINE-Out DMA Control Register (Offset 0004h-0005h, R/W) Bit 15-12 11-8 R/W R/W Symbol LO_DMA_TH 7 R/W LO_RS_DMA 6-5 4 R/W FIFOUNIE 3 R/W LO_CDIE 2 R/W LO_LDIE 1 R/W LO_PDMA 0 R/W LO_Start Description Reserved LINE-OUT DMA Threshold Control: 0,1: When FIFO is empty, DMA will be triggered. 2,3: When sample number in FIFO < 2, DMA will be triggered. … E,F: When sample number in FIFO < 14, DMA will be triggered. Once LINE1-Out DMA is triggered, DMA will continuously read from System memory until samples number in FIFO is equal to threshold. Set to clear all registers (offset at 0000h ~ 0007h) related to DMA, and output FIFO should be flushed. This bit is auto cleared and should be set only when DMA is halted. Reserved FIFO Under-Run Interrupt Enable: 1: Enable interrupt caused by FIFO under-run. 0: Disable interrupt caused by FIFO under-run even the ‘FIFO_un’ is set. Current Descriptor Interrupt Enable: 1: Enable interrupt caused by current descriptor has finished its transaction. 0: Disable interrupt caused by current descriptor even the ‘Curr_End’ is set. Last Descriptor Interrupt Enable: 1: Enable interrupt caused by the last descriptor has finished its transaction. 0: Disable interrupt caused by the last descriptor even the ‘Last_End’ is set. Pause LINE-Out DMA: 1: The LINE1-Out DMA is paused. FIFO request to PCI bus is frozen, residual data in FIFO send to AC-LINK is also froze, whether controller should continuously send the latest data before FIFO froze depends on the BU setting for descriptor. 0: resume DMA LINE-Out DMA Start/Stop: 1: Start bus master transaction, and the first descriptor assigned in “Starting Descriptor Index”. 0: Stop bus master transaction 6.6 Residual Samples Count in Current LINE-Out Descriptor Register 2003-05-28 31 Rev.1.3 RTL8101L (Offset 0006h - 0007h, R/W) Bit 15-0 R/W R Symbol LO_RSS Description The residual samples number should be read in system memory for current descriptor. (sample: a 16-bit word) 6.7 LINE-Out Descriptor Base Address Register (Offset 000Ch – 000Fh, R/W) Bit 31-2 1-0 R/W R/W R Symbol LO_DBA Description LINE-Out Descriptor Base Address [31:2] LINE-Out Descriptor Base Address [1:0]. Hardwired to 0. 6.8 The Starting Descriptor Index for LINE-In (Offset 0010h, R/W) Bit 7-5 4-0 R/W R/W Symbol LI_SDILI Description Reserved Assign the first descriptor to be run when LINE-In bus master starts. 6.9 The Current Descriptor Index for LINE-In (Offset 0011h, RO) Bit 7-5 4-0 R/W R Symbol LI_CDILI Description Reserved Indicates the current descriptor been running. 6.10 The Last Descriptor Index for LINE-In (Offset 0012h, R/W) Bit 7-5 4-0 R/W R Symbol LI_LDILI Description Reserved Assign the last descriptor to be run. After the last transaction has been completed for this last descriptor, LINE-In bus master should stop. 6.11 LINE-In DMA Status Register (Offset 0013h, RO) Bit 7-2 1 0 R/W R R Symbol LI_Curr_Last LI_LH Description Reserved Current descriptor is the last descriptor. This bit will be auto cleared The LINE-In bus master is not active or the last descriptor has finished transaction. This bit will be auto cleared by H/W when bus master is active. 6.12 LINE-In DMA Control Register 2003-05-28 32 Rev.1.3 RTL8101L (Offset 0014h-0015h, R/W) Bit 15-12 11-8 R/W R/W Symbol LI_DMA_TH 7 R/W LI_RS_DMA 6-5 4 R/W FIFOOVIE 3 R/W LI_CDIE 2 R/W LI_LDIE 1 R/W LI_PDMA 0 R/W LI_Start Description Reserved LINE-In DMA Threshold Control: 0,1: When FIFO is empty, DMA will be triggered. 2,3: When sample number in FIFO >= 2, DMA will be triggered. … E,F: When sample number in FIFO >=14, DMA will be triggered. Once LINE-In DMA is triggered, DMA will continuously read from System memory until samples number in FIFO is equal to threshold. Set to clear all registers (offset at 0010h ~ 0017h) related to DMA, and output FIFO should be flushed. This bit is auto cleared and should be set only when DMA is halted. Reserved FIFO Over-Run Interrupt Enable: 1: Enable interrupt caused by FIFO over-run. 0: Disable interrupt caused by FIFO over-run even the ‘FIFO_ov’ is set. Current Descriptor Interrupt Enable: 1: Enable interrupt caused by current descriptor has finished its transaction. 0: Disable interrupt caused by current descriptor even the ‘Curr_End’ is set. Last Descriptor Interrupt Enable: 1: Enable interrupt caused by the last descriptor has finished its transaction. 0: Disable interrupt caused by the last descriptor even the ‘Last_End’ is set. Pause LINE-In DMA: 1: The LINE1-In DMA is paused. FIFO send to PCI bus is frozen, data in FIFO received from AC-LINK is flushed, whether controller should continuously send the latest data before FIFO froze depends on the BU setting for descriptor. 0: resume DMA LINE-In DMA Start/Stop: 1: Start bus master transaction, and the first descriptor assigned in “Starting Descriptor Index”. 0: Stop bus master transaction 6.13 Residual Samples Count in Current LINE-In Descriptor Register (Offset 0016h - 0017h, R/W) Bit 15-0 R/W R Symbol LI_RSS Description The residual samples number should be read in system memory for current descriptor. (sample: a 16-bit word) 6.14 Line-In Descriptor Base Address Register (Offset 001Ch – 001Fh, R/W) Bit R/W Symbol Description LI_DBA 31-2 R/W LINE-In Descriptor Base Address [31:2]. 1-0 R LINE-In Descriptor Base Address [1:0]. Hardwired to 0. ❶The LINE-In Descriptor Base Address (LI_DBA) points to the starting address of continuous 64 double WORD descriptor’s DMA context stored in main memory. 2003-05-28 33 Rev.1.3 RTL8101L 6.15 MC’97-Link Control Register (Offset 0020h-0021h, R/W) Bit 15-8 7 R/W R/W Symbol MCSDLB Description Reserved 1: MC97_SDATAIN source comes from MC97_SDATAOUT. 0: Normal (MC97_SDATAIN source comes from MC97) 6 Reserved 5 R/W ACLINK_WPE AC-LINK Wake-up PME# Enable: ❶❷ 1: Enable a PME# when MC’97 issues a wake-up event on MC-LINK. 0: Disable If it is disabled, AC-LINK wake-up event doesn’t set PME_Status (PCR4C.15), but AC-LINK wake-up event (ACLINK_WES) is still indicated in INTSR.4. 4 R/W ACLINK_WIE AC-LINK Wake-up Interrupt Enable: ❶ 1: Enable an interrupt when MC’97 issues a wake-up event on AC-LINK. 0: Disable If it is disabled, AC-LINK wake-up event doesn’t trigger interrupt, but AC-LINK wake-up event (ACLINK_WES) is still indicated in INTSR.4 3 R/W ACLINK_OFF AC-LINK Shut Off: ❷ 1: Drive all AC-LINK outputs low if AC97_BITCLK is stopped, also disable Line-In buffer. It’s software’s responsibility to set this bit after power-down MC’97 command to enable AC-LINK wake-up event function. It means that wake-up functions defined in bit[5:4] and ACLINK_WES (INTSR.4) will be effective when this bit is set. 0: Normal operation 2 R/W ACLINK_WRST MC’97 Warm Reset: 1: Writing a ‘1’ to drive AC97_SYNC high at least 1.2us Writing a ‘1’ to this bit only effective while AC97_BITCLK is stopped. If software wants to issue a warm reset while AC97_BITCLK is running, the write is ignored and this bit is unchanged. 0: No effect (normal) This bit is auto cleared by hardware after warm reset had been issued. 1 R/W ACLINK_CRST MC’97 Cold Reset: 1: Writing a ‘1’ to drive AC97_RESET# low at least 1.2 us. 0: No effect (normal, AC97_RESET# kept as high.) This bit is auto set by hardware after cold reset had been issued. 0 R/W GPIE GPI Interrupt Enable: 1: The change on GPI Interrupt Status (AC-LINK status bit-0 of slot-12) will cause an interrupt on PCI interface. 0: Interrupt is not generated even GPI Interrupt Status is set. ❶ AC-LINK wake-up event: AC97_SDATAIN is resumed a high while AC-LINK signals are shut off. ❷ Bit 5 and bit 3 are sticky bits preserved by consuming power from Vaux. 6.16 MC’97-Link Status and Index Register (Offset 0022h-0023h, R/W) Bit 15 2003-05-28 R/W R Symbol ACLINK_BZ Description AC-LINK busy: 1: AC-LINK is busy on a MC’97 register read/write transaction. 0: No access is in progress It is set when controller is doing an AC-LINK read/write transaction, it is auto cleared by hardware after the transaction has been finished or 34 Rev.1.3 RTL8101L AC-LINK Read Time-Out is set. Software should check this bit before doing an AC-LINK Read/Write command. Any written data into bit[7:0] before this bit is cleared by HW will be ignored. 14 R MC_RDY 1: MC’97 is in ready state. This bit indicates the state of bit-15 in slot-0 of AC97_SDATAIN. 0: MC’97 is not ready. 13 R ACLINK_RTO AC-LINK Read Time-Out: 1: It is set when MC’97 doesn’t response the read command in 4 AC-LINK frames.· This bit is auto cleared by hardware when controller receive data from MC’97 in 4 frames since the read command has been issued. 0: MC’97 read completed Or it is cleared when each time Command Bit (ACLINK_CB) is written. 12 R ACLINK_RD AC-LINK Read Data is Available: 1: The read data is available 0: The read data is not available This bit is set after data has been get from AC-LINK, and is cleared when each time Command Bit (ACLINK_CB) is written. This bit is also set when AC-LINK Read Time-Out is set, software should ignore the read back data in this case. 11-10 Reserved 9 R GPIO_BZ¸ GPIO output data status: 1: Previous data has not been sent yet. 0: Previous data had been sent. This bit is set by hardware after software writes data into GPIOCR and the transaction on SDATA-OUT slot-12 has not been finished. It is auto cleared by hardware after the transaction on SDATA-OUT slot-12 had been finished. 8 R GPIO_INT GPIO Interrupt: ❷ 1: GPIO interrupt 0: no GPIO interrupt This bit reflects the state of bit 0 in Slot 12 of SDATA-IN. 7 R/W ACLINK_CB AC-LINK Command Bit: 1: Read mixer command 0: Write mixer command 6-0 R/W ACLINK_CIP AC-LINK Mixer Command Index Port ❶AC-LINK wake-up event: AC97_SDATAIN is resumed a high while AC-LINK signals are shut off. ❷Bit 8 reflect the real time GPIO interrupt status on SDATA-IN from MC97. It is latched from SDATA-IN input slot 12 bit 0 when data is valid. 6.17 AC-Link Data Port (Offset 0024h - 0025h, R/W) Bit 15-0 R/W R/W Symbol ACLINK_DP Description Write: 16 bits mixer data written to MC’97. Read: 16 bits mixer read from MC’97. ❶ The written data should be sent to MC97 when writing to ACLINK_CB. ❷ The read data is effective if ACLINK_RD=1 (AC-LINK data is available). ❸ It is mapped into different data port, any read from this port always get mixer data from MC97, not written data to MC97. 6.18 GPIO Control to MC’97 2003-05-28 35 Rev.1.3 RTL8101L (Offset 0026h - 0027h, R/W) Bit R/W Symbol Description 15-0 R/W GPIOOD MC97’s GPIO output data. ❶ Bit [15:0] control the GPIO [15:0] output of MC97. Bit 15~0 are sent on SDATA-OUT slot-12 bit 19 to bit 4. ❷ Software should check ACSIR.9 (GPIO_Busy) before writing data. If GPIO_Busy is set by hardware and bit[15:0] are changed, any pending data will be overwritten. 6.19 Real Time GPIO Input Data From MC’97 (Offset 0028h - 0029h, RO) Bit R/W Symbol Description 15-0 R GPIOID MC97’s GPIO input data. ❶ These bits reflect the real time GPIO input status on SDATA-IN from MC97. Bit 15~0 are latched from SDATA-IN input slot 12 bit 19~4 when data is valid. ❷ These bits are real-time updated according to SDATA-IN slot-12 in every frame. 6.20 Interrupt Status Register (Offset 002Ah-002Bh, R/W) Bit 15 R/W R/W Symbol SERR_IE 14 R/W SERR_IS 13-10 9 R/W PCIGPIO1_IS· 8 R/W PCIGPIO0_IS 7 R/W FIFO_ov 6 R/W LI_Curr_End 5 R/W LI_Last_End 2003-05-28 Description SERR# Interrupt Enable: 1: Enable interrupt when RTL8101L signals SERR# on PCI bus 0: Disable SERR# Interrupt Status: 1: SERR# interrupt, RTL8101L signals SERR# on PCI bus. 0: No SERR# interrupt. This controller will generate an SERR# interrupt when (SERR_IE=1) & (SERR# Status=1, Status[14] in configuration space). Write a ‘1’ to clear this bit and its interrupt. Reserved PCIGPIO1 Interrupt Status: 1: PCIGPIO1 interrupt. 0: No PCIGPIO1 interrupt. Write 1 to clear this status bit and its interrupt. PCIGPIO0 Interrupt Status: 1: PCIGPIO0 interrupt. 0: No PCIGPIO0 interrupt. Write 1 to clear this status bit and its interrupt. LINE-In’s FIFO Over-run: 1: FIFO error indicates a FIFO over-run. And it will cause an interrupt if theenable bit in Control Register is set. This bit and its interrupt should be cleared by written a ‘1’. The data received after overrun occurs will not come into FIFO. Completion of current LINE-In’s descriptor: 1: The current descriptor has sent the last sample to system memory. And it will cause an interrupt if the enable bit in Control Register is set. This bit and its interrupt should be cleared by written a ‘1’. Completion of the last LINE-In’s descriptor: 1: The last descriptor has sent the last sample to system memory. And it will cause an interrupt if the enable bit in Control Register is set. This bit and its interrupt should be cleared by written a ‘1’. 36 Rev.1.3 RTL8101L 4 R/W ACLINK_WES AC-LINK Wake-up Event Status: 1: AC-LINK wake-up event occurred. 0: No wake-up event. This bit is set if ACLINK wake-up event is detected. This controller will generate an interrupt when (ACLINK_WES=1) & (ACLINK_WIE=1). Writing a ‘1’ to clear this bit, and its interrupt. This bit will not be set when ACLINK Shut-Off (ACCR.3) is 0. Once it is set by an ACLINK wake-up event, it can only be cleared after ACLINK Shut-Off is cleared. 3 R/W FIFO_un LINE1-Out FIFO Under-run: 1: FIFO error indicates a FIFO under-run. And it will cause an interrupt if the enable bit in LINE1-Out’s Control Register is set. This bit and its interrupt should be cleared by written a ‘1’. 2 R/W LO_Curr_End Completion of current Line1-Out’s descriptor: 1: The current LINE1-Out’s descriptor has got the last sample from system memory. And it will cause an interrupt if the enable bit in Control Register is set. This bit and its interrupt should be cleared by writting a ‘1’. 1 R/W LO_Last_End Completion of the last LINE1-Out’s descriptor: 1: The last descriptor has got the last sample from system memory. And it will cause an interrupt if the enable bit in Control Register is set. This bit and its interrupt should be cleared by writing a ‘1’. 0 R/W GPIS MC97 GPIO Interrupt Status: 1: MC97 GPIO interrupt. The GPIO_INT (ACSIR.8) has ever been set. 0: No MC97 GPIO interrupt. This bit is set if GPIO_INT (ACSIR.8) has ever been set. This controller will generate an interrupt when (GPIS=1) & (GPIE=1). Writing a ‘1’ will clear this bit and its interrupt. ❶ Bit 4 is sticky bit preserved by consuming power from Vaux. ❷ When PCIGPIOx pin is used as input. 6.21 PCI GPIO Setup Register (Offset 002Ch-002Dh, R/W) Bit 15-10 9 R/W R/W Symbol PCIGPIO1_PEE 8 R/W PCIGPIO0_PEE 7-6 5 R/W PCIGPIO1_IE 4 R/W PCIGPIO0_IE 2003-05-28 Description Reserved PCIGPIO1 PME# Event Enable (when PCIGPIO1 is used as input): ❶❷ 1: Enable 0: Disable A low to high transaction on PCIGPIO1 will trigger the PCI PME# in D3 state. PCIGPIO0 PME# Event Enable (when PCIGPIO0 is used as input): ❶❷ 1: Enable 0: Disable A low to high transaction on PCIGPIO0 will trigger the PCI PME# in D3 state. Reserved PCIGPIO1 interrupt Enable (when PCIGPIO1 is used as input): 1: Enable 0: Disable A low to high transaction PCIGPIO1 will trigger the PCI interrupt. PCIGPIO0 interrupt Enable (when PCIGPIO0 is used as input): 37 Rev.1.3 RTL8101L 1: Enable 0: Disable A low to high transaction PCIGPIO0 will trigger the PCI interrupt. 3-2 Reserved 1 R/W PCIGPIO1_PC PCIGPIO1 Primitiveness Control: ❷ 1: Set PCIGPIO1 as output pin. 0: Set PCIGPIO1 as input pin. 0 R/W PCIGPIO0_PC PCIGPIO0 Primitiveness Control: ❷ 1: Set PCIGPIO0 as output pin. 0: Set PCIGPIO0 as input pin. ❶ The PME# only be asserted when RTL8101L is in D3 state. ❷ PCIGPIO[9:8] and PCIGPIO[1:0] are sticky bits like as PME_Status (PMCSR.15) and PME_EN (PMCSR.8) be power by Vaux. 2003-05-28 38 Rev.1.3 RTL8101L 6.22 PCI GPIO Status Register (Offset 002Eh-002Fh, R/W) Bit 15-10 9 R/W R/W Symbol PCIGPIO1_PMES 8 R/W PCIGPIO0_PMES 7-2 1 R/W PCIGPIO1_IOS 0 R/W PCIGPIO0_IOS Description Reserved PCIGPIO1 PME# Event Status: ❶ 1: PCIGPIO1 PME# event has been occurred in D3 state. 0: No PCIGPIO1 PME# event has been occurred in D3 state. Write a 1 to clear this status bit. PCIGPIO0 PME# Event Status: ❶ 1: PCIGPIO0 PME# event has been occurred in D3 state. 0: No PCIGPIO0 PME# event has been occurred in D3 state. Write a 1 to clear this status bit. Reserved PCIGPIO1 Input/Output Status: ❷ 1: PCIGPIO1 is driven high by external device (input). / Drive PCIGPIO1 high (output). 0: PCIGPIO1 is driven low by external device (input). / Drive PCIGPIO1 low (output). PCIGPIO0 Input/Output Status: ❷ 1: PCIGPIO0 is driven high by external device (input). / Drive PCIGPIO0 high (output). 0: PCIGPIO0 is driven low by external device (input). / Drive PCIGPIO0 low (output). ❶ When this pin is used as input. ❷ PCIGPIOSR[9:8] and PCIGPIOSR[1:0] are sticky bits like as PME_Status (PMCSR.15) and PME_EN (PMCSR.8) be power by Vaux. 6.23 EEPROM (93C46) Command Register (Offset 0030h, R/W) Bit 7-6 4-5 3 2 2003-05-28 R/W R/W R/W R/W Symbol EEM1-0 EECS EESK Description Operating Mode: These 2 bits select the RTL8101L operating mode. EEM1 EEM0 Operating Mode 0 0 Normal (RTL8101L network/host communication mode) 0 1 1 0 1 1 Auto-load: Entering this mode will make the RTL8101L load the contents of 93C46 like when the RSTB signal is asserted. This auto-load operation will take about 2 ms. After it is completed, the RTL8101L goes back to the normal mode automatically (EEM1 = EEM0 = 0) and all the other registers are reset to default values. 93C46 programming: In this mode, both network and host bus master operations are disabled. The 93C46 can be directly accessed via bit3-0 which now reflect the states of EECS, EESK, EEDI, & EEDO pins respectively. Config register write enable: Before writing to CONFIG0, 1, 3, 4 registers, and bit13, 12, 8 of BMCR(offset 62h-63h), the RTL8101L must be placed in this mode. This will prevent RTL8101L's configurations from accidental change. Reserved These bits reflect the state of EECS, EESK, EEDI & EEDO pins in auto-load or 93C46 programming mode. 39 Rev.1.3 RTL8101L 1 0 R/W R EEDI EEDO 6.24 Context For Line-Out Descriptor (Offset 0000h-00FFh) Memory Address LO_DBA+0000h~0003h LO_DBA+0004h~0007h LO_DBA+0008h~000Bh LO_DBA+000Ch~000Fh Description DMA Address for Line-Out Descriptor 00h Buffer Size for Line-Out Descriptor 00h DMA Address for Line-Out Descriptor 01h Buffer Size for Line-Out Descriptor 01h : : : : LO_DBA+00F0h~00F3h LO_DBA+00F4h~00F7h LO_DBA+00F8h~00FBh LO_DBA+00FCh~00FFh DMA Address for Line-Out Descriptor 1Eh Buffer Size for Line-Out Descriptor 1Eh DMA Address for Line-Out Descriptor 1Fh Buffer Size for Line-Out Descriptor 1Fh 6.25 Context For Line-In Descriptor (Offset 0000h-00FFh) Memory Address LI_DBA+0000h~0003h LI_DBA+0004h~0007h LI_DBA+0008h~000Bh LI_DBA+000Ch~000Fh Description DMA Address for Line-In Descriptor 00h Buffer Size for Line-In Descriptor 00h DMA Address for Line-In Descriptor 01h Buffer Size for Line-In Descriptor 01h : : : : LI_DBA+00F0h~00F3h LI_DBA+00F4h~00F7h LI_DBA+00F8h~00FBh LI_DBA+00FCh~00FFh DMA Address for Line-In Descriptor 1Eh Buffer Size for Line-In Descriptor 1Eh DMA Address for Line-In Descriptor 1Fh Buffer Size for Line-In Descriptor 1Fh 6.26 Descriptor Definition DMA Address for Line1-Out/In Descriptor X LxDBA+00H~03H: 31 2 DMA Start Address [31:2] 1 0 0 0 Buffer Size for Line1-Out/In Descriptor X LxDBA+04H~07H: 31 I 30 BU 29 15 14 Reserved 1 Buffer Length 0 0 DMA Start Address [31:0]: This is the physical start address for descriptor’s DMA operation. 2003-05-28 40 Rev.1.3 RTL8101L I: When it is set to a 1 by S/W, the controller should issue an interrupt upon completion of this buffer. BU: If it is set to a 0, the controller should continuously send the last valid data when FIFO is under-run. (Keep the last data, and validates the tag bit for Slot-5 on AC_DOUT) If it is set 1, the controller continuously send the last invalid data when FIFO is empty or under-run. (Keep the last data, but invalidates the tag bit for Slot-5 on AC_DOUT) (The BU bit is only effective for LINE1-Out master) Buffer Length [14:0]: The size of data buffer is in number of 16-bit sample. So the maximum number of samples is 32767. A value of 0 means there is no sample transferred into this buffer. To achieve an efficient PCI transaction, the buffer length must be an even number. 2003-05-28 41 Rev.1.3 RTL8101L 7. EEPROM (93C46) Contents The 93C46 is a 1K-bit EEPROM. Although it is actually addressed by words, its contents are listed below by bytes for convenience. After the valid duration of the RSTB pin or auto-load command in the 9346CR, the RTL8101L performs a series of EEPROM read operations from the 93C46 addresses 00H to 31H. It is suggested to obtain Realtek approval before changing the default settings of the EEPROM. Bytes 00h 01h Contents 29h 81h 02h-05h - 06h-07h 08h-09h 0Ah 0Bh 0Ch SVID SMID MNGNT MXLAT MSRBMCR 0Dh 0Eh-13h CONFIG3 Ethernet ID 14h 15h 16h-17h CONFIG0 CONFIG1 PMC 18h PMCSR 19h CONFIG4 1Ah-1Dh PHY1_PARM_U 1Eh PHY2_PARM_U 2003-05-28 Description These 2 bytes contain the ID code word for the RTL8101L. The RTL8101L will load the contents of EEPROM into the corresponding location if the ID word (8129h) is right, otherwise, the RTL8101L will not proceed with the EEPROM autoload process. Reserved. The RTL8101L no longer supports autoload of Vender ID and Device ID. The default values of VID and DID are hex 10EC and 8139, respectively. PCI Subsystem Vendor ID, PCI configuration space offset 2Ch-2Dh. PCI Subsystem ID, PCI configuration space offset 2Eh-2Fh. PCI Minimum Grant Timer, PCI configuration space offset 3Eh. PCI Maximum Latency Timer, PCI configuration space offset 3Fh. Bits 7-6 map to bits 7-6 of the Media Status register (MSR); Bits 5, 4, 0 map to bits 13, 12, 8 of the Basic Mode Control register (BMCR); Bits 3-2 are reserved. If the network speed is set to Auto-Detect mode (i.e. Nway mode), then Bit 1=0 means the local RTL8101L supports flow control (IEEE 802.3x). In this case, Bit 10=1 in the Auto-negotiation Advertisement Register (offset 66h-67h), and Bit 1=1 means the local RTL8101L does not support flow control. In this case, Bit 10=0 in Auto-negotiation Advertisement. This is because there are Nway switch hubs which keep sending flow control pause packets for no reason, if the link partner supports Nway flow control. RTL8101L Configuration register 3, operational register offset 59H. Ethernet ID, After auto-load command or hardware reset, RTL8101L loads Ethernet ID to IDR0-IDR5 of RTL8101L's I/O registers. RTL8101L Configuration register 0, operational registers offset 51h. RTL8101L Configuration register 1, operational registers offset 52h. Reserved. Do not change this field without Realtek approval. Power Management Capabilities. PCI configuration space address 52h and 53h. Reserved. Do not change this field without Realtek approval. Power Management Control/Status. PCI configuration space address 55h. Reserved. Do not change this field without Realtek approval. RTL8101L Configuration register 4, operational registers offset 5Ah. Reserved. Do not change this field without Realtek approval. PHY Parameter 1-U for RTL8101L. Operational registers of the RTL8101L are from 78h to 7Bh. Reserved. Do not change this field without Realtek approval. PHY Parameter 2-U for RTL8101L. Operational register of the RTL8101L is 80h. 42 Rev.1.3 RTL8101L 1Fh CONFIG_5 20h-21h 22h-23h 24h-25h 26h-27h 28h-2Bh MC97_VID MC97_DID MC97_SVID MC97_SDID PHY1_PARM_T 2Ch 2Dh-31h 32h-33h PHY2_PARM_T CheckSum 34h-3Eh 3Fh PXE_Para 40h-7Fh VPD_Data 2003-05-28 Do not change this field without Realtek approval. Bit7-6: Reserved. Bit5-4: Multi-function Select: 00b: Ethernet Controller Only 01b: MC’97 Controller Only 10b: Ethernet+MC’97 Controllers 11b:After ver F Ethernet+Auto detect MC’97 Controllers If 8101L detected MC’97 clock the 8101L set to Multi-function. Otherwise it set to Ethernet only. Only detect the MC’97 while power on reset. From A to E version: Ethernet+MC’97 Controllers Bit3: Reserved. Bit2: Link Down Power Saving mode: Set to 1: Disable. Set to 0: Enable. When cable is disconnected(Link Down), the analog part will power down itself (PHY Tx part & part of twister) automatically except PHY Rx part and part of twister to monitor SD signal in case that cable is re-connected and Link should be established again. Bit1: LANWake signal Enable/Disable Set to 1: Enable LANWake signal. Set to 0: Disable LANWake signal. Bit0: PME_Status bit property Set to 1: The PME_Status bit can be reset by PCI reset or by software if D3cold_support_PME is 0. If D3cold_support_PME=1, the PME_Status bit is a sticky bit. Set to 0: The PME_Status bit is always a sticky bit and can only be reset by software. Vendor ID of MC’97 Controller. Device ID of MC’97 Controller. Sub-Vendor ID of MC’97 Controller. Sub-Device ID of MC’97 Controller. Reserved. Do not change this field without Realtek approval. PHY Parameter 1-T for RTL8101L. Operational registers of the RTL8101L are from 78h to 7Bh. Reserved. Do not change this field without Realtek approval. Reserved. Reserved. Do not change this field without Realtek approval. Checksum of the EEPROM content. Reserved. Do not change this field without Realtek approval. Reserved. Do not change this field without Realtek approval. PXE ROM code parameter. VPD data field. Offset 40h is the start address of the VPD data. 43 Rev.1.3 RTL8101L 7.1 Summary of RTL8101L’s EEPROM registers Offset Name Type 00h-05h IDR0 – IDR5 R/W* 51h CONFIG0 R W* 52h CONFIG1 58h 63H MSRBMCR 59h CONFIG3 5Ah CONFIG4 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 - - - - - BS2 - BS1 - BS0 - R W* LEDS1 LEDS1 LEDS0 LEDS0 VPD VPD PMEN PMEN R W* TxFCE TxFCE RxFCE RxFCE - - - - R W* - - Spd_Set Spd_Set ANE ANE - - - FUDUP FUDUP Magic Magic LinkUp LinkUp - - - FBtBEn - LongWF LWPME - LWPTN - - R W* GNTDel PARM_EN PARM_EN R/W* RxFIFO AutoClr 78h-7Bh PHY1_PARM R/W** 7Ch-7Fh TW1_PARM R/W** TW2_PARM 80h PHY2_PARM R/W** D8h CONFIG5 R/W* * ** DVRLOAD LWACT MEMMAP IOMAP DVRLOAD LWACT - AnaOff - 32 bit Read Write 32 bit Read Write 32 bit Read Write 8 bit Read Write - - LDPS LANWak PME_ST e S The registers marked with type = 'W*' can be written only if bits EEM1=EEM0=1. The registers marked with type = 'W**' can be written only if bits EEM1=EEM0=1 and CONFIG3<PARM_EN> = 0. 7.2 Summary of EEPROM Power Management registers Configuration Space offset 52h 53h Name Type Bit7 Bit6 Bit5 Bit4 Bit3 PMC R R Aux_I_b1 Aux_I_b0 DSI Reserved PMECLK PME_D3cold PME_D3ho PME_D2 PME_D1 PME_D0 55h PMCSR R W PME_Status PME_Status Bit2 Bit1 Bit0 D2 Version D1 Aux_I_b2 t 2003-05-28 - - 44 - - - - PME_En PME_En Rev.1.3 RTL8101L 8. PCI Configuration Space Registers 8.1 PCI Configuration Space Table No. 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0Ah 0Bh 0Ch 0Dh 0Eh 0Fh 10h 11h 12h 13h 14h 15h 16h 17h 18h-2 Bh 2Ch 2Dh 2Eh 2Fh 30h Name VID Type R R DID R R Command R W R W Status R R W Revision ID R PIFR R SCR R BCR R CLS R LTR R W HTR R BIST R IOAR R W R/W R/W R/W MEMAR R W R/W R/W R/W Bit7 1 0 0 1 0 0 FBBC DPERR DPERR 0 0 0 0 0 LTR7 LTR7 0 0 0 IOAR15 IOAR23 IOAR31 0 MEM15 MEM23 MEM31 Bit6 1 0 0 0 PERRSP PERRSP 0 0 SSERR SSERR 0 0 0 0 0 LTR6 LTR6 0 0 0 IOAR14 IOAR22 IOAR30 0 MEM14 MEM22 MEM30 Bit5 Bit4 1 0 0 1 1 1 0 0 0 0 0 0 0 NewCap RMABT RTABT RMABT RTABT 0 0 0 0 0 0 0 0 0 0 LTR5 LTR4 LTR5 LTR4 0 0 0 0 0 0 IOAR13 IOAR12 IOAR21 IOAR20 IOAR29 IOAR28 0 0 MEM13 MEM12 MEM21 MEM20 MEM29 MEM28 RESERVED Bit3 1 0 1 0 0 0 STABT STABT 0 0 0 0 0 LTR3 LTR3 0 0 0 IOAR11 IOAR19 IOAR27 0 MEM11 MEM19 MEM27 Cap_Ptr R R R R R W R W R/W R/W R SVID7 SVID15 SMID7 SMID15 0 BMAR15 BMAR15 BMAR23 BMAR31 0 SVID6 SVID14 SMID6 SMID14 0 BMAR14 BMAR14 BMAR22 BMAR30 1 SVID5 SVID4 SVID13 SVID12 SMID5 SMID4 SMID13 SMID12 0 0 BMAR13 BMAR12 BMAR13 BMAR12 BMAR21 BMAR20 BMAR29 BMAR28 0 1 RESERVED SVID3 SVID2 SVID1 SVID11 SVID10 SVID9 SMID3 SMID2 SMID1 SMID11 SMID10 SMID9 0 0 0 BMAR11 0 0 BMAR11 BMAR19 BMAR18 BMAR17 BMAR27 BMAR26 BMAR25 0 0 0 ILR IPR R/W R IRL7 0 ILR6 0 SVID SMID BMAR 31h 32h 33h 34h 35h-3 Bh 3Ch 3Dh 2003-05-28 ILR5 0 45 ILR4 0 ILR3 0 Bit2 1 0 0 0 BMEN BMEN 0 0 DST1 0 0 0 0 0 LTP2 LTP2 0 0 0 IOAR10 IOAR18 IOAR26 0 MEM10 MEM18 MEM26 ILR2 0 Bit1 Bit0 0 0 0 0 0 1 0 1 MEMEN IOEN MEMEN IOEN FBTBEN SERREN SERREN 0 0 DST0 DPD DPD 0 0 0 0 0 0 1 0 0 0 LTR1 LTR0 LTR1 LTR0 0 0 0 0 0 IOIN IOAR9 IOAR8 IOAR17 IOAR16 IOAR25 IOAR24 0 MEMIN MEM9 MEM8 MEM17 MEM16 MEM25 MEM24 ILR1 0 SVID0 SVID8 SMID0 SMID8 BROMEN BROMEN 0 BMAR16 BMAR24 0 ILR0 1 Rev.1.3 RTL8101L 3Eh 3Fh 40h–4 Fh 50h 51h 52h 53h 54h MNGNT MXLAT R R PMID NextPtr PMC R R R R R W R W PMCSR 55h 56h–5 Fh 60h VPDID 61h NextPtr 62h Flag VPD Address 63h 64h VPD Data 65h 66h 67h 68h-F Fh 0 0 0 0 1 0 1 0 RESERVED 0 0 0 0 0 0 0 0 0 0 0 0 Aux_I_b1 Aux_I_b0 DSI Reserved PMECLK PME_D3cold PME_D3hot PME_D2 PME_D1 PME_D0 0 0 0 0 0 PME_Status PME_Status RESERVED 0 0 0 0 D2 0 - 0 0 0 0 0 1 0 0 Version D1 Aux_I_b2 Power State Power State PME_En PME_En R 0 0 0 0 0 0 1 1 R 0 0 0 0 0 0 0 0 R/W VPDADDR VPDADDR VPDADD VPDADD VPDADD VPDADD VPDADD VPDADD 7 6 R5 R4 R3 R2 R1 R0 R/W Flag VPDADDR VPDADD VPDADD VPDADD VPDADD VPDADD VPDADD 14 R13 R12 R11 R10 R9 R8 R/W Data7 Data6 Data5 Data4 Data3 Data2 Data1 Data0 R/W Data15 Data14 Data13 Data12 Data11 Data10 Data9 Data8 R/W Data23 Data22 Data21 Data20 Data19 Data18 Data17 Data16 R/W Data31 Data30 Data29 Data28 Data27 Data26 Data25 Data24 RESERVED 8.2 PCI Configuration Space functions The PCI configuration space is intended for configuration, initialization, and catastrophic error handling functions. The functions of the RTL8101L's configuration space are described below. VID: Vendor ID. This field will default to a value of 10ECh which is Realtek Semiconductor's PCI Vendor ID. DID: Device ID. This field will default to a value of 8139h. Command: The command register is a 16-bit register used to provide coarse control over a device's ability to generate and respond to PCI cycles. Bit 15-10 9 8 7 6 5 Symbol FBTBEN Description Reserved Fast Back-To-Back Enable: Config3<FBtBEn>=0:Read as 0. Write operation has no effect. The RTL8101L will not generate Fast Back-to-back cycles. When Config3<FbtBEn>=1, This read/write bit controls whether or not a master can do fast back-to-back transactions to different devices. Initialization software will set the bit if all targets are fast back-to-back capable. A value of 1 means the master is allowed to generate fast back-to-back transaction to different agents. A value of 0 means fast back-to-back transactions are only allowed to the same agent. This bit’s state after RST# is 0. SERREN System Error Enable: When set to 1, the RTL8101L asserts the SERRB pin when it detects a parity error on the address phase (AD<31:0> and CBEB<3:0> ). ADSTEP Address/Data Stepping: Read as 0, write operation has no effect. The RTL8101L never make address/data stepping. PERRSP Parity Error Response: When set to 1, the RTL8101L will assert the PERRB pin on the detection of a data parity error when acting as the target, and will sample the PERRB pin as the master. When set to 0, any detected parity error is ignored and the RTL8101L continues normal operation. Parity checking is disabled after hardware reset (RSTB). VGASNOOP VGA palette SNOOP: Read as 0, write operation has no effect. 2003-05-28 46 Rev.1.3 RTL8101L 4 3 MWIEN SCYCEN 2 BMEN 1 MEMEN 0 IOEN Memory Write and Invalidate cycle Enable: Read as 0, write operation has no effect. Special Cycle Enable: Read as 0, write operation has no effect. The RTL8101L ignores all special cycle operation. Bus Master Enable: When set to 1, the RTL8101L is capable of acting as a bus master. When set to 0, it is prohibited from acting as a PCI bus master. For the normal operation, this bit must be set by the system BIOS. Memory Space Access: When set to 1, the RTL8101L responds to memory space accesses. When set to 0, the RTL8101L ignores memory space accesses. I/O Space Access: When set to 1, the RTL8101L responds to IO space access. When set to 0, the RTL8101L ignores I/O space accesses. Status: The status register is a 16-bit register used to record status information for PCI bus related events. Reads to this register behave normally. Writes are slightly different in that bits can be reset, but not set. Bit 15 Symbol DPERR 14 SSERR 13 RMABT 12 RTABT 11 STABT 10-9 DST1-0 8 DPD 7 FBBC 6 UDF 5 4 66MHz NewCap 0-3 - Description Detected Parity Error: When set indicates that the RTL8101L detected a parity error, even if parity error handling is disabled in command register PERRSP bit. Signaled System Error: When set indicates that the RTL8101L asserted the system error pin, SERRB. Writing a 1 clears this bit to 0. Received Master Abort: When set indicates that the RTL8101L terminated a master transaction with master abort. Writing a 1 clears this bit to 0. Received Target Abort: When set indicates that the RTL8101L master transaction was terminated due to a target abort. Writing a 1 clears this bit to 0. Signaled Target Abort: Set to 1 whenever the RTL8101L terminates a transaction with target abort. Writing a 1 clears this bit to 0. Device Select Timing: These bits encode the timing of DEVSELB. They are set to 01b (medium), indicating the RTL8101L will assert DEVSELB two clocks after FRAMEB is asserted. Data Parity error Detected: This bit sets when the following conditions are met: ※ The RTL8101L asserts parity error(PERRB pin) or it senses the assertion of PERRB pin by another device. ※ The RTL8101L operates as a bus master for the operation that caused the error. ※ The Command register PERRSP bit is set. Writing a 1 clears this bit to 0. Fast Back-To-Back Capable: Config3<FbtBEn>=0, Read as 0, write operation has no effect. Config3<FbtBEn>=1, Read as 1. User Definable Features Supported: Read as 0, write operation has no effect. The RTL8101L does not support UDF. 66 MHz Capable: Read as 0, write operation has no effect. The RTL8101L has no 66MHz capability. New Capability: Config3<PMEn>=0, Read as 0, write operation has no effect. Config3<PMEn>=1, Read as 1. Reserved RID: Revision ID Register The Revision ID register is an 8-bit register that specifies the RTL8101L controller revision number. PIFR: Programming Interface Register The programming interface register is an 8-bit register that identifies the programming interface of the RTL8101L controller. Because the PCI version 2.1 specification does not define any specific value for network devices, PIFR = 00h. SCR: Sub-Class Register The Sub-class register is an 8-bit register that identifies the function of the RTL8101L. SCR = 00h indicates that the RTL8101L is an Ethernet controller. BCR: Base-Class Register The Base-class register is an 8-bit register that broadly classifies the function of the RTL8101L. BCR = 02h indicates that the RTL8101L is a network controller. CLS: Cache Line Size 2003-05-28 47 Rev.1.3 RTL8101L Reads will return a 0, writes are ignored. LTR: Latency Timer Register Specifies, in units of PCI bus clocks, the value of the latency timer of the RTL8101L. When the RTL8101L asserts FRAMEB, it enables its latency timer to count. If the RTL8101L deasserts FRAMEB prior to count expiration, the content of the latency timer is ignored. Otherwise, after the count expires, the RTL8101L initiates transaction termination as soon as its GNTB is deasserted. Software is able to read or write, and the default value is 00H. HTR: Header Type Register Reads will return a 0, writes are ignored. BIST: Built-in Self Test Reads will return a 0, writes are ignored. IOAR: This register specifies the BASE IO address which is required to build an address map during configuration. It also specifies the number of bytes required as well as an indication that it can be mapped into IO space. Bit 31-8 7-2 Symbol IOAR31-8 IOSIZE 1 0 IOIN Description BASE IO Address: This is set by software to the Base IO address for the operational register map. Size Indication: Read back as 0. This allows the PCI bridge to determine that the RTL8101L requires 256 bytes of IO space. Reserved IO Space Indicator: Read only. Set to 1 by the RTL8101L to indicate that it is capable of being mapped into IO space. MEMAR: This register specifies the base memory address for memory accesses to the RTL8101L operational registers. This register must be initialized prior to accessing any RTL8101L's register with memory access. Bit 31-8 7-4 3 2-1 Symbol MEM31-8 MEMSIZE MEMPF MEMLOC 0 MEMIN Description Base Memory Address: This is set by software to the base address for the operational register map. Memory Size: These bits return 0, which indicates that the RTL8101L requires 256 bytes of Memory Space. Memory Prefetchable: Read only. Set to 0 by the RTL8101L. Memory Location Select: Read only. Set to 0 by the RTL8101L. This indicates that the base register is 32-bit wide and can be placed anywhere in the 32-bit memory space. Memory Space Indicator: Read only. Set to 0 by the RTL8101L to indicate that it is capable of being mapped into memory space. SVID: Subsystem Vendor ID. This field will be set to a value corresponding to PCI Subsystem Vendor ID in the external EEPROM. If there is no EEPROM, this field will default to a value of 10ECh which is Realtek Semiconductor's PCI Subsystem Vendor ID. SMID: Subsystem ID. This field will be set to value corresponding to PCI Subsystem ID in the external EEPROM. If there is no EEPROM, this field will default to a value of 8139h. BMAR: This register specifies the base memory address for memory accesses to the RTL8139C(L) operational registers. This register must be initialized prior to accessing any RTL8139C(L)'s register with memory access. Bit 31-18 17-11 Symbol BMAR31-18 ROMSIZE 2003-05-28 Description Boot ROM Base Address These bits indicate how many Boot ROM spaces to be supported. The Relationship between Config 0 <BS2:0> and BMAR17-11 is the following: BS2 BS1 BS0 Description 0 0 0 No Boot ROM, BROMEN=0 (R) 0 0 1 8K Boot ROM, BROMEN (R/W), BMAR12-11 = 0 (R), BMAR17-13 (R/W) 0 1 0 16K Boot ROM, BROMEN (R/W), BMAR13-11 = 0 (R), BMAR17-14 (R/W) 0 1 1 32K Boot ROM, BROMEN (R/W), BMAR14-11 = 0 (R), BMAR17-15 (R/W) 1 0 0 64K Boot ROM, BROMEN (R/W), BMAR15-11 = 0 (R), BMAR17-16 (R/W) 1 0 1 128K Boot ROM, BROMEN(R/W), BMAR16-11=0 (R), BMAR17 (R/W) 1 1 0 unused 1 1 1 unused 48 Rev.1.3 RTL8101L 10-1 0 BROMEN Reserved (read back 0) Boot ROM Enable: This is used by the PCI BIOS to enable accesses to Boot ROM. ILR: Interrupt Line Register The Interrupt Line Register is an 8-bit register used to communicate with the routing of the interrupt. It is written by the POST software to set interrupt line for the RTL8101L. IPR: Interrupt Pin Register The Interrupt Pin register is an 8-bit register indicating the interrupt pin used by the RTL8101L. The RTL8101L uses INTA interrupt pin. Read only. IPR = 01H. MNGNT: Minimum Grant Timer: Read only Specifies how long a burst period the RTL8101L needs at 33 MHz clock rate in units of 1/4 microsecond. This field will be set to a value from the external EEPROM. If there is no EEPROM, this field will default to a value of 20h. MXLAT: Maximum Latency Timer: Read only Specifies how often the RTL8101L needs to gain access to the PCI bus in unit of 1/4 microsecond. This field will be set to a value from the external EEPROM. If there is no EEPROM, this field will default to a value of 20h. Cap_ID: Capability ID: Read only Read as 01h (PCI bus power management capability ID) Next_Item_Ptr: Next Item Pointer: Read only Read as 00h (Last capability list) Power Management Capabilities: Bit 15 14 13 12 11 10 9 8:6 5 4 3 2:0 Type R R R R R R R R R R R R Function Read as 1 (PME# can be asserted from D3cold)➊ Read as 1 (PME# can be asserted from D3hot) Read as 0 (PME# can not be asserted from D2) Read as 0 (PME# can not be asserted from D1) Read as 0 (PME# can not be asserted from D0) Read as 0 (Not support D2 state) Read as 0 (Not support D1 state) Read as 010 (consume maximum 100mA from Vaux)➊ Read as 1 (Device Specific Initialization (DSI) required) Read as 0 Read as 0 (PCI clock is not required for PME# operation) Read as 010b (PCI Power Management Interface Specification Revision 1.1) ➊Once Vaux is not supplied, bit[15] read as 0 to indicates PME# is not supported in D3(cold), and bit[8:6] read as 000b. PMCSR: Bit Type Function 15 R/W PME_Status : 0 : Normal 1 : PME# asserted 14:13 R Data_Scale: Read as 00b 12:9 R Data_Select: Read as 0000b 8 R/W PME_En : 0 : Disable 1 : Enable 7:2 R Read as 0 1:0 R/W PowerState : 00:D0 01:Reserved 10:Reserved 11:D3hot ➊Write a “1” to bit 15 will clear it and cause the function to stop asserting PME#. Write a “0” has no effect. Note that bit 15 is independent of bit 8. ➋Write “01” and “10” to bit 1,0 has no effect to RTL8101L. RTL8101L terminate the cycle normally and discard the data (bit 1,0 only). ➌Bit 15 and bit 8 are sticky which means indeterminate after system reset. System OS should clear them after boot. These 2 bits consume power from Vaux. Bits except bit 15/8 consume power from normal power source. ➍ Because only PCI 2.2 support auxiliary power Vaux, chip designer must pay attention to the interface of PME# related circuit and non-PME# related circuit. 2003-05-28 49 Rev.1.3 RTL8101L 8.3 The Default Value after Power-on(RSTB asserted) PCI Configuration Space Table No. 00h 01h 02h 03h 04h Name VID DID Command 05h 06h 07h Status 08h 09h 0Ah 0Bh 0Ch 0Dh Revision ID PIFR SCR BCR CLS LTR 0Eh 0Fh 10h 11h 12h 13h 14h 15h 16h 17h 18h | 2Bh 2Ch 2Dh 2Eh 2Fh 30h HTR BIST IOAR MEMAR SVID Type R R R R R W R W R R W R R R R R R W R R R R/W R/W R/W R R/W R/W R/W 32h R R R R R W R W R/W 33h R/W SMID BMAR 31h 34h 35h | 3Bh 3Ch 2003-05-28 Cap-Ptr R ILR R/W Bit7 1 0 0 1 0 0 0 0 DPERR 0 0 0 0 0 0 LTR7 0 0 0 0 0 0 0 0 0 0 Bit6 1 0 0 0 0 PERRSP 0 0 0 SSERR 0 0 0 0 0 0 LTR6 0 0 0 0 0 0 0 0 0 0 Bit5 Bit4 1 0 0 1 1 1 0 0 0 0 0 0 0 NewCap 0 0 RMABT RTABT 0 0 0 0 0 0 0 0 0 0 0 0 LTR5 LTR4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 RESERVED(ALL 0) Bit3 1 0 1 0 0 0 0 0 STABT 0 0 0 0 0 0 LTR3 0 0 0 0 0 0 0 0 0 0 Bit2 Bit1 Bit0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 BMEN MEMEN IOEN 0 0 0 SERREN 0 0 0 0 1 0 DPD 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 LTP2 LTR1 LTR0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 1 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 BROMEN BROMEN BMAR15 BMAR14 BMAR13 BMAR12 BMAR11 0 0 0 BMAR15 BMAR14 BMAR13 BMAR12 BMAR11 BMAR23 BMAR22 BMAR21 BMAR20 BMAR19 BMAR1 BMAR1 BMAR16 8 7 BMAR31 BMAR30 BMAR29 BMAR28 BMAR27 BMAR2 BMAR2 BMAR24 6 5 Ptr7 Ptr6 Ptr5 Ptr4 Ptr3 Ptr2 Ptr1 Ptr0 RESERVED(ALL 0) 0 0 0 50 0 0 0 0 0 Rev.1.3 RTL8101L 3Dh 3Eh 3Fh 40h | FFh IPR MNGNT MXLAT R R R 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 RESERVED(ALL 0) 0 0 0 0 0 0 1 0 0 - 8.4 PCI Power Management functions The RTL8101L is compliant to ACPI (Rev 1.1), PCI Power Management (Rev 1.1), and Device Class Power Management Reference Specification (V1.0a), such as to support an OS Directed Power Management (OSPM) environment. To support this, the RTL8101L provides the following capabilities: The RTL8101L can monitor the network for a Wakeup Frame, a Magic Packet, or a Link Change, and notify the system via PME# when such a packet or event arrives. Then, the whole system can be restored to a working state to process the incoming jobs. The RTL8101L can be isolated from the PCI bus automatically with the auxiliary power circuit when the PCI bus is in B3 state, i.e. the power on the PCI bus is removed. When the motherboard includes a built-in RTL8101L single-chip fast Ethernet controller, the RTL8101L can be disabled when needed by pulling the isolate pin low to 0V. When the RTL8101L is in power down mode (D1 ~ D3), ♦ The Rx state machine is stopped, and the RTL8101L keeps monitoring the network for wakeup event such Magic Packet, Wakeup Frame, and/or Link Change, in order to wake up the system. When in power down mode, the RTL8101L will not reflect the status of any incoming packet in the ISR register and will not receive any packets into the Rx FIFO. ♦ The FIFO status and the packets which are already received into Rx FIFO before entering into power down mode, are kept by the RTL8101L during power down mode ♦ The transmission is stopped. The action of PCI bus master mode is stopped as well. The Tx FIFO is kept. ♦ After restoration to a D0 state, the PCI bus master mode continues to transfer the data, which is not yet moved into the Tx FIFO from the last break. The packet that was not transmitted completely last time is transmitted again. D3cold_support_PME bit(bit15, PMC register) & Aux_I_b2:0 (bit8:6, PMC register) in PCI configuration space. If 9346 D3cold_support_PME bit(bit15, PMC) = 1, the above 4 bits depend on the existence of Aux power. If 9346 D3cold_support_PME bit(bit15, PMC) = 0, the above 4 bits are all 0's. Ex.: 1. If 9346 D3c_support_PME = 1, Aux. power exists, then PMC in PCI config space is the same as 9346 PMC, i.e. if 9346 PMC = C2 F7, then PCI PMC = C2 F7. Aux. power is absent, then PMC in PCI config space is the same as 9346 PMC except the above 4 bits are all 0’s. I.e. if 9346 PMC = C2 F7, the PCI PMC = 02 76. In this case, if wakeup support is desired when the main power is off, it is suggested that the 9346 PMC be set to: C2 F7 (RT 9346 default value). It is not recommended to set the D0_support_PME bit to “1”. 2. If 9346 D3c_support_PME = 0, Aux. power exists, then PMC in PCI config space is the same as 9346 PMC. I.e. if 9346 PMC = C2 77, then PCI PMC = C2 77. Aux. power is absent, then PMC in PCI config space is the same as 9346 PMC except the above 4 bits are all 0’s. I.e. if 9346 PMC = C2 77, the PCI PMC = 02 76. In this case, if wakeup support is not desired when the main power is off, it is suggested that the 9346 PMC to be 02 76. It is not recommended to set the D0_support_PME bit to “1”. Link Wakeup occurs only when the following conditions are met: ♦ The LinkUp bit (CONFIG3#4) is set to 1, the PMEn bit (CONFIG1#0) is set to 1, and the RTL8101L is in isolation state, or the PME# can be asserted in current power state. 2003-05-28 51 Rev.1.3 RTL8101L ♦ The Link status is re-established. Magic Packet Wakeup occurs only when the following conditions are met: ♦ The destination address of the received Magic Packet matches. ♦ The received Magic Packet does not contain a CRC error. ♦ The Magic bit (CONFIG3#5) is set to 1, the PMEn bit (CONFIG1#0) is set to 1, and the RTL8101L is in isolation state, or the PME# can be asserted in current power state. ♦ The Magic Packet pattern matches, i.e. 6 * FFh + MISC(can be none)+ 16 * DID(Destination ID) in any part of a valid (Fast) Ethernet packet. Wakeup Frame event occurs only when the following conditions are met: ♦ The destination address of the received Wakeup Frame matches. ♦ The received Wakeup Frame does not contain a CRC error. ♦ The PMEn bit (CONFIG1#0) is set to 1. The 8-bit CRC* (or 16-bit CRC) of the received Wakeup Frame matches with the 8-bit CRC* (or 16-bit CRC) of the sample Wakeup Frame pattern received from the local machine’s OS. The last masked byte** of the received Wakeup Frame matches with the last masked byte** of the sample Wakeup Frame pattern provided by the local machine’s OS. (In Long Wakeup Frame mode, the last masked byte field is replaced with the high byte of the 16-bit CRC.) 8-bit CRC: This 8-bit CRC logic is used to generate an 8-bit CRC from the masked bytes of the received Wakeup Frame packet within offset 12 to 75. Software should calculate the 8-bit Power Management CRC for each specific sample wakeup frame and store the calculated CRC in the corresponding CRC register for the RTL8101L to check if there is Wakeup Frame packet coming in. 16-bit CRC: (Long Wakeup Frame mode, the mask bytes cover from offset 0 to 127) Long Wakeup Frame: The RTL8101L also supports 3 long Wakeup Frames. If the range of mask bytes of the sample Wakeup Frame, passed down by the OS to the driver, exceeds the range from offset 12 to 75, the related registers of wakeup frame 2 and 3 can be merged to support one long wakeup frame by setting the LongWF (bit0, CONFIG4). Thus, the range of effective mask bytes extends from offset 0 to 127. The low byte and high byte of calculated 16-bit CRC should be put into register CRC2 and LSBCRC2 respectively. The mask bytes (16 bytes) should be store to register Wakeup2 and Wakeup3. The CRC3 and LSBCRC3 have no meaning in this case and should be reset to 0. long Wakeup Frame pairs, are frames 4 and 5, and frames 6 and 7. The CRC5, CRC7, LSBCRC5, and LSBCRC7 have no meaning in this case and should be reset to 0, if the RTL8101L is set to support long Wakeup Frame. In this case, the RTL8101L support 5 wakeup frames, that are 2 normal wakeup frames and 3 long wakeup frames. ** last masked byte: The last byte of the masked bytes of the received Wakeup Frame packet within offset 12 to 75 (in 8-bit CRC mode) should match with the last byte of the masked bytes of the sample Wakeup Frame provided by the local machine’s OS. The PME# signal is asserted only when the following are met: The PMEn bit (bit0, CONFIG1) is set to 1. The PME_En bit (bit8, PMCSR) in PCI Configuration Space is set to 1. The RTL8101L may assert PME# in current power state, or the RTL8101L is in isolation state. Refer to PME_Support(bit15-11) of the PMC register in PCI Configuration Space. Magic Packet, LinkUp, or Wakeup Frame has occurred. * Writing a 1 to the PME_Status (bit15) of PMCSR register in the PCI Configuration Space will clear this bit and cause the RTL8101L to stop asserting a PME# (if enabled). 2003-05-28 52 Rev.1.3 RTL8101L When the RTL8101L is in power down mode, ex. D1-D3, the IO, MEM, and Boot ROM space are all disabled. After RST# asserted, the power state must be changed to D0 if the original power state is D3cold. There is no hardware enforced delays at RTL8101L’s power state. When in ACPI mode, the RTL8101L does not support PME from D0 (owing to the setting of PMC register. This setting comes from EEPROM). The RTL8101L also supports the LAN WAKE-UP function. The LWAKE pin is used to notify the motherboard to execute the wake-up process whenever the RTL8101L receives a wakeup event, such as Magic Packet. The LWAKE signal is asserted according the following setting: LWPME bit (bit4, CONFIG4): 0: The LWAKE is asserted whenever there is wakeup event occurs. 1: The LWAKE can only be asserted when the PMEB is asserted and the ISOLATEB is low. Bit1 of DELAY byte(offset 1Fh, EEPROM): 0: LWAKE signal is disabled. 1: LWAKE signal is enabled 8.5 VPD (Vital Product Data) Bit 31 of the VPD is used to issue VPD read/write commands and is also a flag used to indicate whether the transfer of data between the VPD data register and the 93C46 is completed or not. 1. Write VPD register: (write data to 93C46) Write the flag bit to a one at the same time the VPD address is written. When the flag bit is set to zero by the RTL8101L, the VPD data (all 4 bytes) has been transferred from the VPD data register to the 93C46. 2. Read VPD register: (read data from 93C46) Write the flag bit to a zero at the same time the VPD address is written. When the flag bit is set to one by the RTL8101L, the VPD data (all 4 bytes) has been transferred from 93C46 to the VPD data register. 2003-05-28 53 Rev.1.3 RTL8101L 9. Block Diagram MAC EEPROM Interface LED Driver AC-Link Interface Early Interrupt Control Logic MII Interface 100M 5B 4B Decoder MII Interface Transmit/ Receive Logic Interface FIFO Control Logic FIFO PHY Packet Length Register Early Interrupt Threshold Register Interrupt Control Logic PCI Interface + Register PCI Interface Packet Type Discriminator Power Control Logic 10/100 half/full Switch Logic Data Alignment 4B 5B Encoder Descrambler TXD TXC 25M Scrambler 10/100M Auto-negotiation Control Logic RXD RXC 25M Link pulse 10M TXC10 TXD10 RXC10 RXD10 Manchester coded waveform 10M Output waveform shaping Data Recovery Receive low pass filter Transceiver TXC 25M TXD TD+ Parrallel to Serial 3 Level Driver TXO+ TXO - Variable Current Baseline wander Correction 3 Level Comparator MLT-3 to NRZI RXC 25M RXD Serial to Parrallel Peak Detect ck data Slave PLL Adaptive Equalizer RXIN+ RXIN- Master PPL Control Voltage 25M 2003-05-28 54 Rev.1.3 RTL8101L 10. Functional Description 10.1 Transmit operation The host CPU initiates a transmit by storing an entire packet of data in one of the descriptors in the main memory. When the entire packet has been transferred to the Tx buffer, the RTL8101L is instructed to move the data from the Tx buffer to the internal transmit FIFO in PCI bus master mode. When the transmit FIFO contains a complete packet or is filled to the programmed threshold level, the RTL8101L begins packet transmission. 10.2 Receive operation The incoming packet is placed in the RTL8101L's Rx FIFO. Concurrently, the RTL8101L performs address filtering of multicast packets according to its hash algorithms. When the amount of data in the Rx FIFO reaches the level defined in the Receive Configuration Register, the RTL8101L requests the PCI bus to begin transferring the data to the Rx buffer in PCI bus master mode. 10.3 Wander Compensation The 8101L is ANSI TP-PMD compliant and supports input and Base Line Wander (BLW) compensation in 100Base-TX mode. The 8101L does not require external attenuation circuitry at its receive inputs, RD+/-. It accepts TP-PMD compliant waveforms directly, requiring only a 100Ω termination and a 1:1 transformer. BLW is the change in the average DC content, over time, of an AC coupled digital transmission over a given transmission medium. BLW is a result from the interaction between the low frequency components of a transmitted bit stream and the frequency response of the AC coupling component(s) within the transmission system. If the low frequency content of the digital bit stream goes below the low frequency pole of the AC coupling transformers, then the droop characteristics of the transformers will dominate resulting in potentially serious BLW. If BLW is not compensated, packet loss can occur. 10.4 Signal Detect The 8101L supports signal detect in 100Base-TX mode. Therefore, the reception of normal 10Base-T link pulses and fast link pulses defined by IEEE 802.3u Auto-negotiation by the 100Base-TX receiver do not cause the 8101L to assert signal detect. The signal detect function of the 8101L is incorporated to meet the specifications mandated by the ANSI FDDI TP-PMD standard as well as the IEEE 802.3 100Base-TX standard for both voltage thresholds and timing parameters. 10.5 Line Quality Monitor The line quality monitor function is available in 100Base-TX mode. It is possible to determine the amount of Equalization being used by accessing certain test registers with the DSP engine. This provides a crude indication of connected cable length. This function allows for a quick and simple verification of the line quality in that any significant deviation from an expected register value (based on a known cable length) would indicate that the signal quality has deviated from the expected nominal case. 10.6 Clock Recovery Module The Clock Recovery Module (CRM) is supported in 100Base-TX mode. The CRM accepts 125Mb/s MLT3 data from the equalizer. The DPLL locks onto the 125Mb/s data stream and extracts a 125MHz recovered clock. The extracted and synchronized clock and data are used as required by the synchronous receive operations. 10.7 Loopback Operation Loopback mode is normally used to verify that the logic operations up to the Ethernet cable function correctly. In loopback mode for 100Mbps, the RTL8101L takes frames from the transmit descriptor and transmits them up to internal Twister logic. 2003-05-28 55 Rev.1.3 RTL8101L 10.8 Tx Encapsulation While operating in 100Base-TX mode, the RTL8101L encapsulates the frames that it transmits according to the 4B/5B code-groups table. The changes of the original packet data are listed as follows : 1. The first byte of the preamble in the MAC frame is replaced with the JK symbol pair. 2. After the CRC, the TR symbol pair is inserted. 10.9 Collision If the RTL8101L is not in full-duplex mode, a collision event occurs when the receive input is not idle while the RTL8101L transmits. If the collision was detected during the preamble transmission, the jam pattern is transmitted after completing the preamble (including the JK symbol pair). 10.10 Rx Decapsulation The RTL8101L continuously monitors the network when reception is enabled. When activity is recognized it starts to process the incoming data. After detecting receive activity on the line, the RTL8101L starts to process the preamble bytes based on the mode of operation. While operating in 100Base-Tx mode, the RTL8101L expects the frame to start with the symbol pair JK in the first byte of the 8-byte preamble. The RTL8101L checks the CRC bytes and checks if the packet data ends with the TR symbol pair, if not, the RTL8101L reports an CRC error RSR. The RTL8101L reports a RSR<CRC> error in any of the following cases : 1. In the 100Base-Tx mode, one of the following occur. a. An invalid symbol (4B/5B Table) is received in the middle of the frame. RSR<ISE> bit also sets. b. The frame does not end with the TR symbol pair. 10.11 Flow Control The RTL8101L supports IEEE802.3X flow control to improve performance in full-duplex mode. It detects PAUSE packets to achieve flow control task. 10.11.1 Control Frame Transmission When the RTL8101L detects that its free receive buffer is less than 3K bytes, it sends a PAUSE packet with pause_time(=FFFFh) to inform the source station to stop transmission for the specified period of time. After the driver has processed the packets in the receive buffer and updated the boundary pointer, the RTL8101L sends the other PAUSE packet with pause_time(=0000h) to wake up the source station to restart transmission. 10.11.2 Control Frame Reception The RTL8101L enters a back off state for a specified period of time when it receives a valid PAUSE packet with pause_time(=n). If the PAUSE packet is received while the RTL8101L is transmitting, the RTL8101L starts to back off after current transmission completes. The RTL8101L is free to transmit the next packets when it receives a valid PAUSE packet with pause_time(=0000h) or the backoff timer(=n*512 bit time) elapses. Note: The PAUSE operation cannot be used to inhibit transmission of MAC Control frames (e.g. PAUSE packet). The N-way flow control capability can be disabled, please refer to Section 6, EEPROM (93C46) Contents for a detailed description. 2003-05-28 56 Rev.1.3 RTL8101L 10.12 LED Functions 10.12.1 10/100 Mbps Link Monitor The Link Monitor senses the link integrity or if a station is down. 10.12.2 LED_RX In 10/100 Mbps mode, the LED function is like RTL8139C(L). Power On LED = Low Receiving Packet? No Yes LED = High for (100 +- 10) ms LED = Low for (12 +- 2) ms 2003-05-28 57 Rev.1.3 RTL8101L 10.12.3 LED_TX Power On LED = Low No Transmitting Packet Yes LED = High for (100 +- 10) ms LED = Low for (12 +- 2) ms 10.12.4 LED_TX+LED_RX Power On LED = Low Tx or Rx Packet? No Yes LED = High for (100 +- 10) ms LED = Low for (12 +- 2) ms 2003-05-28 58 Rev.1.3 RTL8101L 11. Application Diagram LED EEPROM AC-Link RJ45 RTL8101L Magetics GPIO0-1 Modem Codec CS/OE BootROM INTAB Auxiliary Power INTBB PCI INTERFACE PCI Interface 2003-05-28 59 Rev.1.3 RTL8101L 12. Electrical Characteristics 12.1 Temperature Limit Ratings: Parameter Storage temperature Operating temperature Minimum -55 0 Maximum +125 70 Units °C °C 12.2 DC Characteristics: Supply voltage Vcc = 3.0V min. to 3.6V max. Symbol VOH Parameter Minimum High Level Output Voltage Conditions IOH= -8mA VOL Maximum Low Level Output Voltage IOL= 8mA VIH Minimum High Level Input Voltage VIL Maximum Low Level Input Voltage IIN Input Current IOZ Tri-State Output Leakage Current ICC Average Operating Supply Current 2003-05-28 Maximum Vcc Units V 0.1 * Vcc V 0.5 * Vcc Vcc+0.5 V -0.5 0.3 * Vcc V VIN=VCC or GND -1.0 1.0 uA VOUT=VCC or GND IOUT=0mA, -10 10 uA 330 mA 60 Minimum 0.9 * Vcc Rev.1.3 RTL8101L 12.3 AC Characteristics 12.3.1 PCI Bus Operation Timing: Target Read Target Write 2003-05-28 61 Rev.1.3 RTL8101L Configuration Read Configuration Write 2003-05-28 62 Rev.1.3 RTL8101L BUS Arbitration Memory Read 2003-05-28 63 Rev.1.3 RTL8101L Memory Write Target Initiated Termination - Retry 2003-05-28 64 Rev.1.3 RTL8101L Target Initiated Termination - Disconnect Target Initiated Termination - Abort 2003-05-28 65 Rev.1.3 RTL8101L Master Initiated Termination – Abort Parity Operation - one example 2003-05-28 66 Rev.1.3 RTL8101L 13. Dimensions Symbol A A1 A2 B b1 C c1 D D1 E E1 L L1 θ θ1 θ2 θ3 Dimension in inch Min Nom Max - 0.067 0.000 0.004 0.008 0.051 0.055 0.059 0.006 0.009 0.011 0.006 0.008 0.010 0.004 - 0.008 0.004 - 0.006 0.630 BSC 0.551 BSC 0.630 BSC 0.551 BSC 0.020 BSC 0.016 0.024 0.031 0.039 REF 0° 3.5° 9° 0° 12°TYP 12°TYP 2003-05-28 Dimension in mm Min Nom Max 1.70 0.00 0.1 0.20 1.30 1.40 1.50 0.15 0.22 0.29 0.15 0.20 0.25 0.09 0.20 0.09 0.16 16.00 BSC 14.00 BSC 16.00 BSC 14.00 BSC 0.50 BSC 0.40 0.60 0.80 1.00 REF 0° 3.5° 9° 0° 12°TYP 12°TYP Note: 1.To be determined at seating plane -c2.Dimensions D1 and E1 do not include mold protrusion. D1 and E1 are maximum plastic body size dimensions including mold mismatch. 3.Dimension b does not include dambar protrusion. Dambar can not be located on the lower radius of the foot. 4.Exact shape of each corner is optional. 5.These dimensions apply to the flat section of the lead between 0.10 mm and 0.25 mm from the lead tip. 6. A1 is defined as the distance from the seating plane to the lowest point of the package body. 7.Controlling dimension: millimeter. 8. Reference document: JEDEC MS-026 , BED. TITLE: 100LD LQFP ( 14x14x1.4mm) PACKAGE OUTLINE DRAWING , FOOTPRINT 2.0mm LEADFRAME MATERIAL: APPROVE DOC. NO. VERSION 1 PAGE OF CHECK DWG NO. LQ100 - P1 DATE REALTEK SEMICONDUCTOR CORP. 67 Rev.1.3 RTL8101L Realtek Semiconductor Corp. Headquarters No. 2, Industry East Road IX, Science-based Industrial Park, Hsinchu, 300, Taiwan, R.O.C. Tel : 886-3-5780211 Fax : 886-3-5776047 WWW: www.realtek.com.tw 2003-05-28 68 Rev.1.3