![]() |
|
If you can't view the Datasheet, Please click here to try to view without PDF Reader . |
|
Datasheet File OCR Text: |
rtl8100b(l) 2001-11-9 rev.1.41 1 realtek single chip fast ethernet controller with power management rtl8100b(l) 1. features........................................................................ 2 2. general de scription .................................................... 3 3. pin assignments .......................................................... 4 4. pin description ............................................................ 6 4.1 power management/isolation interface.................. 6 4.2 pci interface .......................................................... 6 4.3 eprom/eepro m interface.................................. 8 4.4 power pins.............................................................. 8 4.5 led interface......................................................... 8 4.6 attachment unit interface ...................................... 9 4.7 test and other pins ................................................ 9 5. register descriptions ................................................ 10 5.1 receive status register in rx packet header ....... 12 5.2 transmit status register....................................... 13 5.3 ersr: early rx status register........................... 14 5.4 command register ............................................... 14 5.5 interrupt mask register........................................ 15 5.6 interrupt stat us register....................................... 15 5.7 transmit configur ation register.......................... 16 5.8 receive configur ation register ........................... 17 5.9 9346cr: 93c46 command register .................... 19 5.10 config 0: configur ation register 0 ................ 20 5.11 config 1: configur ation register 1 ................ 20 5.12 media status register......................................... 21 5.13 config 3: confi guration register3 ................. 22 5.14 config 4: confi guration register4 ................. 23 5.15 multiple interrupt select register ...................... 24 5.16 pci revision id ................................................. 24 5.17 transmit status of all descriptors (tsad) register .. 25 5.18 basic mode c ontrol register ............................. 25 5.19 basic mode st atus register................................ 26 5.20 auto-negotiation advertisement register ......... 27 5.21 auto-negotiation link partner ability register 28 5.22 auto-negotiation e xpansion register................ 28 5.23 disconnect counter ............................................ 29 5.24 false carrier sense counter ............................... 29 5.25 nway test register ........................................... 29 5.26 rx_er counter ................................................. 29 5.27 cs configura tion register ................................. 30 5.28 config5: configur ation register 5 ..................... 31 6. eeprom (93c46) contents .....................................32 6.1 summary of the rtl8100b(l) eeprom registers...34 6.2 summary of eeprom power management registers .34 7. pci configuration space registers..........................35 7.1 pci configura tion space table ............................35 7.2 pci configurati on space functions......................37 7.3 default values after power-on (rstb asserted) ..40 7.4 pci power manage ment functions.......................41 7.5 vpd (vital product data) .....................................43 8. block diagram ...........................................................44 9. functional description ..............................................45 9.1 transmit operation ................................................45 9.2 receive operation..................................................45 9.3 wander compensation..........................................45 9.4 signal detect.........................................................45 9.5 line quality monitor ............................................45 9.6 clock recovery module .......................................45 9.7 loopback operation..............................................45 9.8 tx encapsulation ..................................................46 9.9 collision................................................................46 9.10 rx decapsulation ................................................46 9.11 flow control .......................................................46 9.11.1. control frame transmission .......................46 9.11.2. control frame reception ............................46 9.12 led functions ....................................................47 9.12.1 10/100 mbps link monitor ..........................47 9.12.2 led_rx ......................................................47 9.12.3 led_tx.......................................................47 9.12.4 led_tx+led_rx .....................................48 10. application diagram ...............................................48 11. electrical characteristics ........................................49 11.1 temperature limit ratings .................................49 11.2 dc characteristics ..............................................49 11.2.1 supply voltage..............................................49 11.2.2 supply voltage..............................................49 11.3 ac characteristics ..............................................50 11.3.1 pci bus operation timing...........................50 12. mechanical dimensions ...........................................56 12.1 qfp .....................................................................56 12.2 lqfp...................................................................57
rtl8100b(l) 2001-11-9 rev.1.41 2 1. features 100 pin qfp/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 rtl8100b(l)'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, to be ready for remote wake-up when main power still 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) 2.5/3.3v power supply with 5v tolerant i/os. 0.25u cmos process * third-party brands and names are the property of their respective owners. note: the model number of the qfp package is rtl8100b. the lqfp package model number is RTL8100BL. rtl8100b(l) 2001-11-9 rev.1.41 3 2. general description the realtek rtl8100b(l) is a highly integrated, cost-effective single-chip fast ethernet controller that provides 32-bit performance, pci bus master capability, and full compliance with ieee 802.3u 100bas e-t specifications and ieee 802.3x full duplex flow control. it also supports the advanced configuration power mana gement interface (acpi), pci power management for modern operating systems that are capab le of operating system directed power management (ospm) to achieve the most efficient power management possible. the rtl8100b(l) does not support cardbus mode as the rtl8139c does. in addition to the acpi feature, the rtl8100b(l) also supports remote wake-up (including amd magic packet, linkchg, and microsoft ? wake-up frame) in both acpi and apm environments. the rtl8100b(l) 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 rtl8100b(l) 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, activ e low, positive pulse, and negative pulse. the versatility of the rtl8100b(l) lwake pin provides motherboards with wake-on-lan (wol) functionality. the rtl8100b(l) also supports analog auto-power-down, that is, the analog part of the rtl8100b(l) can be shut down temporarily according to user requirement s or when the rtl8100b(l) is in a pow er 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 ma in power is off), then both th e analog and digital parts stop f unctioning and the power consumption of the r tl8100b(l) will be negligible. the rtl8100b(l) also supports an auxiliary power auto-detect function, and will auto-configure re lated bits of their own pci power management registers in pci configuration space. the pci vital product data(vpd) is also supported to provide th e information that uniquely identifies hardware (i.e., the oem brand name of rtl8100b(l) lan card). the information may c onsist of part number, serial number, and other detailed information. to provide cost down support, the rtl8100b(l) is capable of using a 25mhz crystal or osc as its internal clock source. the rtl8100b(l) keeps network maintenance costs low and eliminates usage barriers. it is the easiest way to upgrade a network from 10 to 100mbps. it also suppor ts full-duplex operation, ma king 200mbps bandwidth possibl e at no additional cost. to improve compatibility with other brands? products, the rtl8100b(l) is also capable of receiving packets with interframegap no less than 40 bit-time. the rtl8100b(l) is highly integrated and requires no ?glue? logic or external memory. rtl8100b(l) 2001-11-9 rev.1.41 4 3. pin assignments 79 led1 80 led0 81 intab 82 rstb 83 clk 84 gntb 85 reqb 87 ad30 88 gnd 89 ad29 90 vdd 91 ad28 92 ad27 93 ad26 94 ad25 95 ad24 96 vdd25 97 vdd 98 cbe3b 86 ad31 48 eesk 47 eedi 46 eedo 45 ad0 44 ad1 43 gnd 42 ad2 41 ad3 40 nc 37 ad5 36 ad6 35 nc 34 vdd 33 ad7 32 cbe0b 31 gnd 30 ad8 29 ad9 39 vdd 38 ad4 100 ad23 1 ad22 2 gnd 3 ad21 4 ad20 5 ad19 6 vdd 7 nc 8 ad18 9 ad17 10 ad16 11 cbe2b 12 frameb 13 irdyb 27 ad11 26 ad12 25 ad13 24 ad14 23 ad15 22 vdd 21 cbe1b 20 par 19 serrb 18 perrb 28 ad10 17 stopb 16 gnd 15 devselb 14 trdyb 99 idsel 62 gnd 61 x1 60 x2 59 avdd 58 avdd25 57 pmeb 56 gnd 55 vctrl 54 nc 53 nc 63 rtt3 52 nc 51 vdd25 50 aux 49 eecs 65 rtset 66 gnd 67 rxin- 68 rxin+ 69 nc 70 avdd 71 txd- 72 txd+ 73 gnd 74 isolateb 64 lwake 75 avdd 76 nc 77 led2 78 nc rtl8100b qfp rtl8100b(l) 2001-11-9 rev.1.41 5 81 intab 82 rstb 83 clk 84 gntb 85 reqb 87 ad30 88 gnd 89 ad29 90 vdd 91 ad28 92 ad27 93 ad26 94 ad25 95 ad24 96 vdd25 97 vdd 98 cbe3b 86 ad31 100 ad23 99 idsel 79 led1 80 led0 76 nc 77 led2 78 nc RTL8100BL lqfp 1 ad22 2 gnd 3 ad21 4 ad20 5 ad19 6 vdd 7 nc 8 ad18 9 ad17 10 ad16 11 cbe2b 12 frameb 13 irdyb 25 ad13 24 ad14 23 ad15 22 vdd 21 cbe1b 20 par 19 serrb 18 perrb 17 stopb 16 gnd 15 devselb 14 trdyb 48 eesk 47 eedi 46 eedo 45 ad0 44 ad1 43 gnd 42 ad2 41 ad3 40 nc 37 ad5 36 ad6 35 nc 34 vdd 33 ad7 32 cbe0b 31 gnd 30 ad8 29 ad9 39 vdd 38 ad4 27 ad11 26 ad12 28 ad10 50 aux 49 eecs 65 rtset 66 gnd 62 gnd 61 x1 60 x2 59 avdd 58 avdd25 57 pmeb 56 gnd 55 vctrl 54 nc 53 nc 63 rtt3 52 nc 51 vdd25 67 rxin- 68 rxin+ 69 nc 70 avdd 71 txd- 72 txd+ 73 gnd 74 isolateb 64 lwake 75 avdd rtl8100b(l) 2001-11-9 rev.1.41 6 4. pin description 4.1 power management/isolation interface symbol type pin no description pmeb (pme#) o/d 57 power management event: open drain, active low. used by the rtl8100b(l) to request a change in its current power management state and/or to indicate that a pow er management event has occurred. isolateb (isolate#) i 74 isolate pin: active low. used to isolate the rtl8100b(l) from the pci bus. the rtl8100b(l) 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. lwake o 64 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 type pin no description ad31-0 t/s 86,87,89,91-95,100, 1,3-5,8-10,23-30,33, 36-38,41,42,44,45 pci address and data multiplexed pins c/be3-0 t/s 98,11,21,32 pci bus command and byte enables multiplexed pins. clk i 83 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 ra nges from 0 to 40mhz. for normal network operation, the rtl8100b(l) requires a minimum pci clock frequency of 16.75mhz. devselb s/t/s 15 device select: as a bus master, the rtl8100b (l) samples this signal to insure that a pci target recognizes the destination address for the data transfer. as a target, the rtl8100b(l) asserts this signal low when it recognizes its target address after frameb is asserted. frameb s/t/s 12 cycle frame: as a bus master, this pin indicates the beginning and duration of an access. frameb is asse rted 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. rtl8100b(l) 2001-11-9 rev.1.41 7 gntb i 84 grant: this signal is asserted low to indicate to the rtl8100b(l) that the central arbiter has granted ownership of the bus to the rtl8100b (l). this input is used when the rtl8100b(l) is acting as a bus master. reqb t/s 85 request: the rtl8100b(l) will assert this signal low to request the ownership of the bus from the central arbiter. idsel i 99 initialization device select : this pin allows the rtl8100b(l) to identify when configuration read/write transactions are intended for it. intab o/d 81 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. irdyb s/t/s 13 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 rtl8100b(l) 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 targ et, this signal indicates that the master has put data on the bus. trdyb s/t/s 14 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. da ta transaction takes place at the rising edge of clk when both irdyb and trdyb are asserted low. par t/s 20 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. perrb s/t/s 18 parity error: when the rtl8100b(l) is the bus master and a parity error is detected, the rtl8100b(l) 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 rtl8100b(l) continues its operation. when the rtl8100b(l) is the bus target and a parity error is detected, the rtl8100b(l) asserts this perrb pin low. serrb o/d 19 system error: if an address parity error is detected and configuration space status register bit 15 (detect ed parity error) is enabled, rtl8100b(l) asserts both serrb pin low and bit 14 of status register in configuration space. stopb s/t/s 17 stop: indicates the current target is requesting the master to stop the current transaction. rstb i 82 reset: when rstb is asserted low, the rtl8100b(l) performs internal system hardware reset. rs tb must be held for a minimum of 120 ns. rtl8100b(l) 2001-11-9 rev.1.41 8 4.3 eprom/eeprom interface symbol type pin no description aux i 50 aux. power detect: this pin is used to notify the rtl8100b(l) 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 rtl8100b(l) assumes that no aux. power exists. eesk o 48 the ma2-0 pins are switched to eesk, eedi, eedo in 93c46 programming or auto-load mode. eedi o 47 eedo o, i 46 eecs o 49 eeprom chip select 4.4 power pins symbol type pin no description vdd p 6,22,34,39,90,97 +3.3v (digital) avdd p 59,70,75 +3.3v (analog) vdd25 p 51,96 +2.5v (digital) avdd25 p 58 +2.5v (analog) gnd p 2,16,31,43,56, 62,66,73,88 ground 4.5 led interface symbol type pin no description led0, 1, 2 o 80,79,77 led pins leds1-0 00 01 10 11 led0 tx/rx tx/rx tx tx led1 link100 link10/100 link10/100 link100 led2 link10 full rx link10 during power down mode, the leds are off. rtl8100b(l) 2001-11-9 rev.1.41 9 4.6 attachment unit interface symbol type pin no description txd+ txd- o o 72 71 100/10base-t transmit (tx) data. rxin+ rxin- i i 68 67 100/10base-t receive (rx) data. x1 i 61 25 mhz crystal/osc. input. x2 o 60 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 test and other pins symbol type pin no description rtt3 test 63 chip test pin rtset i/o 65 this pin must be pulled low by a resistor. please refer to the application circuit for the correct value. vctrl analog 55 use this pin and an external pnp type transistor to generate +2.5v for the rtl8100b(l). nc - 7,35,40, 52,53, 54, 69, 76, 78 reserved rtl8100b(l) 2001-11-9 rev.1.41 10 5. register descriptions the rtl8100b(l) provides the following se t of operational registers mapped in to pci memory space or i/o space. offset r/w tag description 0000h r/w idr0 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 the eeprom ethernetid field. 0001h r/w idr1 id register 1 0002h r/w idr2 id register 2 0003h r/w idr3 id register 3 0004h r/w idr4 id register 4 0005h r/w idr5 id register 5 0006h-0007h - - reserved 0008h r/w mar0 multicast register 0: the mar register 0-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. 0009h r/w mar1 multicast register 1 000ah r/w mar2 multicast register 2 000bh r/w mar3 multicast register 3 000ch r/w mar4 multicast register 4 000dh r/w mar5 multicast register 5 000eh r/w mar6 multicast register 6 000fh r/w mar7 multicast register 7 0010h-0013h r/w tsd0 transmit status of descriptor 0 0014h-0017h r/w tsd1 transmit status of descriptor 1 0018h-001bh r/w tsd2 transmit status of descriptor 2 001ch-001fh r/w tsd3 transmit status of descriptor 3 0020h-0023h r/w tsad0 transmit start address of descriptor0 0024h-0027h r/w tsad1 transmit start address of descriptor1 0028h-002bh r/w tsad2 transmit start address of descriptor2 002ch-002fh r/w tsad3 transmit start address of descriptor3 0030h-0033h r/w rbstart receive (rx) buffer start address 0034h-0035h r erbcr early receive (rx) byte count register 0036h r ersr early rx status register 0037h r/w cr command register 0038h-0039h r/w capr current address of packet read 003ah-003bh r cbr current buffer address: the initial value is 0000h. it reflects total received byte-count in the rx buffer. 003ch-003dh r/w imr interrupt mask register 003eh-003fh r/w isr interrupt status register 0040h-0043h r/w tcr transmit (tx) configuration register 0044h-0047h r/w rcr receive (rx) configuration register 0048h-004bh r/w tctr 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. 004ch-004fh r/w mpc 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 any value is written, mpc will be reset also. 0050h r/w 9346cr 93c46 command register 0051h r/w config0 configuration register 0 rtl8100b(l) 2001-11-9 rev.1.41 11 0052h r/w config1 configuration register 1 0053h - - reserved 0054h-0057h r /w timerint 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. th e timeout bit will never be set as long as the timerint register is zero. 0058h r/w msr media status register 0059h r/w config3 configuration register 3 005ah r/w config4 configuration register 4 005bh - - reserved 005ch-005dh r/w mulint multiple interrupt select 005eh r rerid pci revision id = 10h. 005fh - - reserved 0060h-0061h r tsad transmit status of all descriptors 0062h-0063h r/w bmcr basic mode control register 0064h-0065h r bmsr basic mode status register 0066h-0067h r/w anar auto-negotiation advertisement register 0068h-0069h r anlpar auto-negotiation link partner register 006ah-006bh r aner auto-negotiation expansion register 006ch-006dh r dis disconnect counter 006eh-006fh r fcsc false carrier sense counter 0070h-0071h r/w nwaytr n-way test register 0072h-0073h r rec rx_er counter 0074h-0075h r/w cscr cs configuration register 0076-0077h - - reserved 0078h-007bh r/w phy1_parm phy parameter 1 007ch-007fh r/w tw_parm twister parameter 0080h r/w phy2_parm phy parameter 2 0081-0083h - - reserved 0084h r/w crc0 power management crc regist er0 for wakeup frame0 0085h r/w crc1 power management crc regist er1 for wakeup frame1 0086h r/w crc2 power management crc regist er2 for wakeup frame2 0087h r/w crc3 power management crc regist er3 for wakeup frame3 0088h r/w crc4 power management crc regist er4 for wakeup frame4 0089h r/w crc5 power management crc regist er5 for wakeup frame5 008ah r/w crc6 power management crc regist er6 for wakeup frame6 008bh r/w crc7 power management crc regist er7 for wakeup frame7 008ch?0093h r/w wakeup0 power management wakeup frame0 (64bit) 0094h?009bh r/w wakeup1 power management wakeup frame1 (64bit) 009ch?00a3h r/w wakeup2 power management wakeup frame2 (64bit) 00a4h?00abh r/w wakeup3 power management wakeup frame3 (64bit) 00ach?00b3h r/w wakeup4 power management wakeup frame4 (64bit) 00b4h?00bbh r/w wakeup5 power management wakeup frame5 (64bit) 00bch?00c3h r/w wakeup6 power management wakeup frame6 (64bit) 00c4h?00cbh r/w wakeup7 power management wakeup frame7 (64bit) 00cch r/w lsbcrc0 lsb of the mask byte of wakeup frame0 within offset 12 to 75 00cdh r/w lsbcrc1 lsb of the mask byte of wakeup frame1 within offset 12 to 75 00ceh r/w lsbcrc2 lsb of the mask byte of wakeup frame2 within offset 12 to 75 00cfh r/w lsbcrc3 lsb of the mask byte of wakeup frame3 within offset 12 to 75 00d0h r/w lsbcrc4 lsb of the mask byte of wakeup frame4 within offset 12 to 75 00d1h r/w lsbcrc5 lsb of the mask byte of wakeup frame5 within offset 12 to 75 rtl8100b(l) 2001-11-9 rev.1.41 12 00d2h r/w lsbcrc6 lsb of the mask byte of wakeup frame6 within offset 12 to 75 00d3h r/w lsbcrc7 lsb of the mask byte of wakeup frame7 within offset 12 to 75 00d4h-00d7h - - reserved 00d8h r/w config5 configuration register 5 00d9h-00ffh - - reserved 5.1 receive status register in rx packet header bit r/w symbol description 15 r mar multicast address received: this bit set to 1 indicates that a multicast packet is received. 14 r pam physical address matched: this bit set to 1 indicates that the destination address of this packet matches the value written in id registers. 13 r bar broadcast address received: this bit set to 1 indicates that a broadcast packet is received. bar, mar b it will not be set simultaneously. 12-6 - - reserved 5 r ise invalid symbol error: (100base-tx only) this bit set to 1 indicates that an invalid symbol was encountered during the reception of this packet. 4 r runt 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 ) 3 r long long packet: this bit set to 1 indicates that the size of the received packet exceeds 4k bytes. 2 r crc crc error: when set, indicates that a crc error occurred on the received packet. 1 r fae frame alignment error: when set, indicates that a frame alignment error occurred on this received packet. 0 r rok receive ok: when set, indicates that a good packet is received. rtl8100b(l) 2001-11-9 rev.1.41 13 5.2 transmit status register (tsd0-3)(offset 0010h-001fh, r/w) the read-only bits (crs, tabt, owc, c dh, ncc3-0, tok, tun) will be cleared by the rtl8100b(l) when the transmit byte count (bits 12-0) in the corresponding tx descriptor is written. it is not affect ed when software writes to these bits. th ese registers are only permitted to write by doubl e-word access. after a software reset, a ll bits except own bit are reset to ?0?. bit r/w symbol description 31 r crs carrier sense lost: this bit is set to 1 when the carrier is lost during transmission of a packet. 30 r tabt 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. 29 r owc out of window collision: this bit is set to 1 if the rtl8100b(l) encountered an "out of window" co llision during the transmission of a packet. 28 r cdh 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. 27-24 r ncc3-0 number of collision count: indicates the number of collisions encountered during the transmission of a packet. 23-22 - - reserved 21-16 r/w ertxth5-0 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 cont ains at least one complete packet) the rtl8100b(l) will transmit this packet. 000000 = 8 bytes these fields count from 000001 to 111111 in unit of 32 bytes. this threshold must be a voided from exceeding 2k byte. 15 r tok transmit ok: set to 1 indicates that the transmission of a packet was completed successfully and no transmit underrun has occurred. 14 r tun transmit fifo underrun: set to 1 if the tx fifo was exhausted during the transmission of a packet. the rtl8100b(l) 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 rtl8100b(l) 2001-11-9 rev.1.41 14 5.3 ersr: early rx status register (offset 0036h, r) bit r/w symbol description 7-4 - - reserved 3 r ergood early rx good packet: this bit is set whenever a packet is completely received and the packet is good. writi ng a 1 to this bit will clear it. 2 r erbad early rx bad packet: this bit is set whenever a packet is completely received and the packet is bad. wr iting a 1 to this bit will clear it. 1 r erovw early rx overwrite: this bit is set when the rtl8100b(l)'s local address pointer is equal to capr. in the early mode, this is different from buffer overflow. it happens that the rtl8100b(l) 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. 0 r erok early rx ok: the power-on value is 0. it is set when the rx byte count of the arriving packet ex ceeds the rx threshold. after the whole packet is received, the rtl8100b(l) 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 comma nds to the rtl8100b(l). these commands are issued by setting the corresponding bits for the function. a global software reset along with individual reset and enable/disable fo r transmitter and receiver are provided here . bit r/w symbol description 7-5 - - reserved 4 r/w rst reset: setting to 1 forces the rtl8100b(l) 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 ch anges. this bit is 1 during the reset operation, and is cleared to 0 by the rtl8100b(l) when the reset operation is complete. 3 r/w re receiver enable: when set to 1, and the recei ve state machine is idle, the receive machine beco mes active. this bit w ill read back as a 1 whenever the receive st ate machine is active. after initial power-up, software must insure that the r eceiver has completely reset before setting this bit. this bit will be reset after pci reset deassertion. 2 r/w te 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. this bit will be reset after pci reset deassertion. 1 - - reserved 0 r bufe buffer empty: rx buffer empty. there is no packet stored in the rx buffer ring. rtl8100b(l) 2001-11-9 rev.1.41 15 5.5 interrupt mask register (offset 003ch-003dh, r/w) this register masks the interrupts that can be generated from the interrupt status register. a hardware reset will clear all ma sk bits. setting a mask bit allows the corresponding bit in the interrupt status register to cause an interrupt. the interrupt sta tus register bits are always set to 1 if the condition is present, regardless of the state of the corresponding mask bit. bit r/w symbol description 15 r/w serr system error interrupt: 1 => enable, 0 => disable. 14 r/w timeout time out interrupt: 1 => enable, 0 => disable. 13 r/w lenchg cable length change interrupt: 1 => enable, 0 => disable. 12-7 - - reserved 6 r/w fovw rx fifo overflow interrupt: 1 => enable, 0 => disable. 5 r/w pun/linkchg packet underrun/link change interrupt: 1 => enable, 0 => disable. 4 r/w rxovw rx buffer overflow interrupt: 1 => enable, 0 => disable. 3 r/w ter transmit error interrupt: 1 => enable, 0 => disable. 2 r/w tok transmit ok interrupt: 1 => enable, 0 => disable. 1 r/w rer receive error interrupt: 1 => enable, 0 => disable. 0 r/w rok 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 interr upt 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 th e corresponding mask bit in the imr. reading the isr cl ears all interrupts. writing to the isr has no effect. bit r/w symbol description 15 r/w serr system error: set to 1 when the rtl8100b(l) signals a system error on the pci bus. 14 r/w timeout time out: set to 1 when the tctr regist er reaches to the value of the timerint register. 13 r/w lenchg cable length change: cable length is changed after receiver is enabled. 12 - 7 - - reserved 6 r/w fovw rx fifo overflow: set when an overflow occurs on the rx status fifo. 5 r/w pun/linkchg packet underrun/link change: set to 1 when capr is written but rx buffer is empty, or when link status is changed. 4 r/w rxovw rx buffer overflow: set when receive (rx) buffer ring storage resources have been exhausted. 3 r/w ter transmit (tx) error: indicates that a packet transmission was aborted, due to excessive collisi ons, according to the txrr's setting. 2 r/w tok transmit (tx) ok: indicates that a packet transmission is completed successfully. 1 r/w rer receive (rx) error: indicates that a packet has either crc error or frame alignment error (fae). the co llided frame will not be recognized as crc error if the length of this frame is shorter than 16 byte. 0 r/w rok 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. rtl8100b(l) 2001-11-9 rev.1.41 16 5.7 transmit configuration register (offset 0040h-0043h, r/w) this register defines the transmit configuration for the rtl 8100b(l). it controls such functions as loopback, programmable interframe gap, fill and drain thres holds, and maximum dma burst size. bit r/w symbol description 31 - - 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 rtl8100b/ 8139d 1 1 1 0 1 0 1 rtl8139c+ 1 1 1 0 1 1 0 rtl8101 1 1 1 0 1 1 1 30-26 r hwverid_a reserved other combination 25-24 r/w ifg1, 0 interframe gap time: this field allows the user to adjust the interframe gap time below the standard: 9.6 s for 10mbps, 960 ns for 100mbps. the time can be programmed from 9.6 s to 8.4 s (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.4s + 0.4(ifg(1:0)) s 100 mbps 840ns + 40(ifg(1:0)) ns 23-22 r hwverid_b hardware version id b 21-19 - - reserved 18, 17 r/w lbk1, lbk0 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 16 r/w crc 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. 15-11 - - reserved 10-8 r/w mxdma2, 1, 0 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 rtl8100b(l) 2001-11-9 rev.1.41 17 7-4 r/w txrr tx retry count: these are used to speci fy 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. 3-1 - - reserved 0 w clrabt clear abort: setting this bit to 1 causes the rtl8100b(l) 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 rtl 8100b(l). receive properties su ch as accepting error packets, runt packets, setting the receive drai n threshold etc. are controlled here. bit r/w symbol description 31-28 - - reserved 27-24 r/w erth3, 2, 1, 0 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 rtl8100b(l)'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 23-18 - - reserved 17 r/w mulerint multiple early interrupt select: when this bit is set, any received packet invokes early interrupt according to mulint rtl8100b(l) 2001-11-9 rev.1.41 18 15-13 r/w rxfth2, 1, 0 rx fifo threshold: specifies rx fifo threshold level. when the number of the received data bytes fro m a packet, which is being received into the rtl8100b(l)'s rx fifo, has r eached 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 rtl8100b(l) begins the transfer of data after having received a whole packet in the fifo. 12-11 r/w rblen1, 0 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 10-8 r/w mxdma2, 1, 0 max dma burst size per rx dma burst: this field sets the maximum size of the receive dma data burst s 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 7 r/w wrap when set to 0: the rtl8100b(l) 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 rtl8100b(l) 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 re mainder 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. 6 - - reserved 5 r/w aer accept error packet: when set to 1, all packets with crc error, alignment error, and/or collided fragmen ts will be accepted. when set to 0, all packets with crc error, alignment error, and/or collided fragments will be rejected. 4 r/w ar accept runt: this bit allows the receive r 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. 3 r/w ab accept broadcast packets: set to 1 to accept, 0 to reject. 2 r/w am accept multicast packets: set to 1 to accept, 0 to reject. 1 r/w apm accept physical match packets: set to 1 to accept, 0 to reject. 0 r/w aap accept all packets: set to 1 to accept all p ackets with a physical destination address, 0 to reject. rtl8100b(l) 2001-11-9 rev.1.41 19 5.9 9346cr: 93c46 command register (offset 0050h, r/w) this register is used for issuing comma nds to the rtl8100b(l). these commands are issued by setting the corresponding bits for the function. a warm software reset along with individual reset and enable/disable for transmitter and receiver are provided as well. bit r/w symbol description 7-6 r/w eem1-0 operating mode: these 2 bits select the rtl8100b(l) operating mode. eem1 eem0 operating mode 0 0 normal: rtl8100b(l) network/host communication mode. 0 1 auto-load: entering this mode will make the rtl8100b(l) 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 rtl8100b(l) goes back to the normal mode automatically (eem1 = eem0 = 0) and all the other registers are reset to default values. 1 0 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. 1 1 config register write enable: before writing to config0, 1, 3, 4 registers, and bit13, 12, 8 of bmcr(offset 62h-63h), the rtl8100b(l) must be placed in this mode. this will prevent rtl8100b(l)'s configurations from accidental change. 4-5 - - reserved 3 r/w eecs 2 r/w eesk 1 r/w eedi 0 r eedo these bits reflect the state of eecs, eesk, eedi & eedo pins in auto-load or 93c46 programming mode. rtl8100b(l) 2001-11-9 rev.1.41 20 5.10 config 0: configuration register 0 (offset 0051h, r/w) bit r/w symbol description 7 r scr scrambler mode: always 0. 6 r pcs pcs mode: always 0. 5 r t10 10 mbps mode: always 0. 4-3 r pl1, pl0 select 10 mbps medium type: always (pl1, pl0) = (1, 0) 2-0 - - reserved 5.11 config 1: configuration register 1 (offset 0052h, r/w) bit r/w symbol description 7-6 r/w leds1-0 refer to the led pin definition. the initial value of these bits comes from the 93c46. 5 r/w dvrload 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 c onfiguration space are written, the rtl8100b(l) 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 150 ms. 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 4 r/w lwact * default value. 3 r memmap memory mapping: the operational registers are mapped into pci memory space. 2 r iomap i/o mapping: the operational registers ar e mapped into pci i/o space. 1 r/w vpd set to enable vital product data: the vpd data is stored in 93c46 from within offset 40h-7fh. 0 r/w pmen 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 re gisters 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 1 a=1, b=50h, c=01h, d valid, e=0 0 a=b=c=e=0, d not valid rtl8100b(l) 2001-11-9 rev.1.41 21 5.12 media status register (offset 0058h, r/w) this register allows configuration of device and phy options, and provides phy status information. bit r/w symbol description 7 r/w txfce/ ldtxfce tx flow control enable: the flow control is valid in full-duplex mode only. this register?s default value comes from 93c46. rtl8100b(l) remote txfce/ldtxfce ane = 1 nway fly mode r/o ane = 1 nway mode only r/w ane = 1 no nway r/w ane = 0 & full-duplex mode - r/w ane = 0 & half-duplex mode - invalid nway fly mode : nway with flow control capability nway mode only : nway without flow control capability 6 r/w rxfce rx flow control enable: the flow control is enabled in full-duplex mode only. the default value comes from 93c46. 5 - - reserved 4 r aux_status 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. 3 r speed_10 speed: set, when current media is 10 mbps mode. reset, when current media is 100 mbps mode. 2 r linkb inverse of link status. 0 = link ok. 1 = link fail. 1 r txpf set, when rtl8100b(l) sends pause packet. reset, when rtl8100b(l) sends timer done packet. 0 r rxpf pause flag: set, when rtl8100b(l) is in backoff state because a pause packet received. reset, when pause state is clear. rtl8100b(l) 2001-11-9 rev.1.41 22 5.13 config 3: configuration register3 (offset 0059h, r/w) bit r/w symbol description 7 r gntsel gnt select: select the frame?s asserted time after the grant signal has been asserted. the frame a nd grant are the pci signals. 1: delay one clock from gnt assertion. 0: no delay 6 r/w parm_en parameter enable: (used in 100mbps mode only) this set to 0 and the 9346cr regi ster 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. 5 r/w magic magic packet: this bit is valid when the pwen bit of the config1 register is set. the rtl8100b(l) will assert the pmeb signal to wakeup the operating system when the magic packet is received. once the rtl8100b(l) has been enabled for magic packet wakeup and has been put into adequate st ate, 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 pr eceded by a synchronization stream, 6 bytes of ffh. the device will also accep t a multicast address, as long as the 16 duplications of the ieee addr ess match the address of the id registers. 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 4 r/w linkup link up: this bit is valid when the pwen bit of config1 register is set. the rtl8100b(l), in adequate power state, will assert the pmeb signal to wakeup the operating system when the cable connection is re-established. 3-1 - - reserved 0 r fbtben fast back to back enable: set to 1 to enable fast back to back. rtl8100b(l) 2001-11-9 rev.1.41 23 5.14 config 4: configuration register4 (offset 005ah, r/w) bit r/w symbol description 7 r/w rxfifoautoclr set to 1, the rtl 8100b(l) will clear the rx fifo overflow automatically. 6 r/w anaoff analog power off: this bit can not be auto-loaded from eeprom (93c46). 1: turn off the analog power of the rtl8100b(l) internally. 0: normal working state. this is also power-on default value. 5 r/w longwf long wake-up frame: the initial value comes from eeprom autoload. set to 0: the rtl8100b(l) suppor ts up to 8 wake-up frames, each with masked bytes selected from offset 12 to 75. set to 1: the rtl8100b(l) suppor ts 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 th e 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 respec tively into another 2 long wake-up frames. please refer to 7.4 pci po wer management functions for a detailed description. 4 r/w lwpme 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. 3 - - reserved 2 r/w lwptn lwake pattern: please refer to lwact bit in config1 register. 1 - - reserved 0 r/w pbwakeup 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. rtl8100b(l) 2001-11-9 rev.1.41 24 5.15 multiple interrupt select register (offset 005ch-005dh, r/w) if the received packet data is not a fam iliar protocol (ipx, ip, ndis, etc.) to th e rtl8100b(l), rcr rtl8100b(l) 2001-11-9 rev.1.41 25 5.17 transmit status of all descriptors (tsad) register (offset 0060h-0061h, r/w) bit r/w symbol description 15 r tok3 tok bit of descriptor 3 14 r tok2 tok bit of descriptor 2 13 r tok1 tok bit of descriptor 1 12 r tok0 tok bit of descriptor 0 11 r tun3 tun bit of descriptor 3 10 r tun2 tun bit of descriptor 2 9 r tun1 tun bit of descriptor 1 8 r tun0 tun bit of descriptor 0 7 r tabt3 tabt bit of descriptor 3 6 r tabt2 tabt bit of descriptor 2 5 r tabt1 tabt bit of descriptor 1 4 r tabt0 tabt bit of descriptor 0 3 r own3 own bit of descriptor 3 2 r own2 own bit of descriptor 2 1 r own1 own bit of descriptor 1 0 r own0 own bit of descriptor 0 5.18 basic mode control register (offset 0062h-0063h, r/w) bit name description/usage default/attribute 15 reset this bit sets the status and control registers of the phy(register 0062-0074h) in a default state. this bit is self-clearing. 1 = software reset; 0 = normal operation. 0, rw 14 - reserved - 13 spd_set this bit sets the network speed. 1 = 100mbps; 0 = 10mbps. this bit?s initial value comes from 93c46. 0, rw 12 auto negotiation enable (ane) this bit enables/disables the nway auto-negotiation function. set to 1 to enable auto-negotiati on, 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. 0, rw 11-10 - reserved - 9 restart auto negotiation this bit allows the nway auto-negotiation function to be reset. 1 = re-start auto-negotiation; 0 = normal operation. 0, rw 8 duplex mode 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. 0, rw 7-0 - reserved - rtl8100b(l) 2001-11-9 rev.1.41 26 5.19 basic mode status register (offset 0064h-0065h, r) bit name description/usage default/attribute 15 100base-t4 1 = enable 100base-t4 support; 0 = suppress 100base-t4 support. 0, ro 14 100base_tx_ fd 1 = enable 100base-tx full duplex support; 0 = suppress 100base-tx full duplex support. 1, ro 13 100base_tx_h d 1 = enable 100base-tx half-duplex support; 0 = suppress 100base-tx half-duplex support. 1, ro 12 10base_t_fd 1 = enable 10base-t full duplex support; 0 = suppress 10base-t full duplex support. 1, ro 11 10_base_t_hd 1 = enable 10base-t half-duplex support; 0 = suppress 10base-t half-duplex support. 1, ro 10-6 - reserved - 5 auto negotiation complete 1 = auto-negotiation process completed; 0 = auto-negotiation process not completed. 0, ro 4 remote fault 1 = remote fault condition detected (cleared on read); 0 = no remote fault condition detected. 0, ro 3 auto negotiation 1 = link had not been experienced fail state. 0 = link had been experienced fail state 1, rd 2 link status 1 = valid link established; 0 = no valid link established. 0, ro 1 jabber detect 1 = jabber condition detected; 0 = no jabber condition detected. 0, ro 0 extended capability 1 = extended register capability; 0 = basic register capability only. 1, ro rtl8100b(l) 2001-11-9 rev.1.41 27 5.20 auto-negotiation advertisement register (offset 0066h-0067h, r/w) this register contains the advertised abilities of this device as they will be transmitted to its link partner during auto-nego tiation. bit name description/usage default/attribute 15 np next page bit. 1 = transmitting the protocol specific data page; 0 = transmitting the primary capability data page 0, ro 14 ack 1 = acknowledge reception of link part ner capability data word. 0, ro 13 rf 1 = advertise remote fault detection capability; 0 = do not advertise remote fault detection capability. 0, rw 12-11 - reserved - 10 pause 1 = flow control is supported by local node. 0 = flow control is not supported by local mode. the default value comes from eeprom, ro 9 t4 1 = 100base-t4 is supported by local node; 0 = 100base-t4 not supported by local node. 0, ro 8 txfd 1 = 100base-tx full duplex is supported by local node; 0 = 100base-tx full duplex not supported by local node. 1, rw 7 tx 1 = 100base-tx is supported by local node; 0 = 100base-tx not supported by local node. 1, rw 6 10fd 1 = 10base-t full duplex supported by local node; 0 = 10base-t full duplex not supported by local node. 1, rw 5 10 1 = 10base-t is supported by local node; 0 = 10base-t not supported by local node. 1, rw 4-0 selector binary encoded selector supported by this node. currently only csma/cd <00001> is specified. no other protocols are supported. <00001>, rw rtl8100b(l) 2001-11-9 rev.1.41 28 5.21 auto-negotiation link partner ability register (offset 0068h-0069h, r) this register contains the advertised abilities of the link partner as received duri ng auto-negotiation. the content changes af ter the successful auto-negotiation if next-pages are supported. bit name description/usage default/attribute 15 np next page bit. 1 = transmitting the protocol specific data page; 0 = transmitting the primary capability data page 0, ro 14 ack 1 = link partner acknowledges recep tion of local node?s capability data word. 0, ro 13 rf 1 = link partner is indicating a remote fault. 0, ro 12-11 - reserved - 10 pause 1 = flow control is supported by link partner , 0 = flow control is not supported by link partner. 0, ro 9 t4 1 = 100base-t4 is supported by link partner; 0 = 100base-t4 not supported by link partner. 0, ro 8 txfd 1 = 100base-tx full duplex is supported by link partner; 0 = 100base-tx full duplex not supported by link partner. 0, ro 7 tx 1 = 100base-tx is supported by link partner; 0 = 100base-tx not supported by link partner. 0, ro 6 10fd 1 = 10base-t full duplex is supported by link partner; 0 = 10base-t full duplex not supported by link partner. 0, ro 5 10 1 = 10base-t is supported by link partner; 0 = 10base-t not supported by link partner. 0, ro 4-0 selector link partner's binary encoded node selector. currently only csma/cd <00001> is specified. <00000>, ro 5.22 auto-negotiation expansion register (offset 006ah-006bh, r) this register contains additional status for nway auto-negotiation. bit name description/usage default/attribute 15-5 - reserved. these bits are always set to 0. - 4 mlf status indicating if a multiple link fault has occurred. 1 = fault occurred; 0 = no fault occurred. 0, ro 3 lp_np_able status indicating if the link partne r supports next page negotiation. 1 = supported; 0 = not supported. 0, ro 2 np_able this bit indicates if the local node is able to send additional next pages. 0, ro 1 page_rx this bit is set when a new link code word page has been received. the bit is automatically cleared when the auto-negotiation link partner?s ability register (register 5) is read by management. 0, ro 0 lp_nw_able 1 = link partner supports nway auto-negotiation. 0, ro rtl8100b(l) 2001-11-9 rev.1.41 29 5.23 disconnect counter (offset 006ch-006dh, r) bit name description/usage default/attribute 15-0 dcnt 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. h'[0000], r 5.24 false carrier sense counter (offset 006eh-006fh, r) this counter provides information required to implement the ?fal secarriers? attribute within the mau managed object class of clause 30 of ieee 802.3u specification. bit name description/usage default/attribute 15-0 fcscnt this 16-bit counter increments by 1 for each false carrier event. it is cleared to zero by read command. h'[0000], r 5.25 nway test register (offset 0070h-0071h, r/w) bit name description/usage default/attribute 15-8 - reserved - 7 nwlpbk 1 = set nway to loopback mode. 0, rw 6-4 - reserved - 3 ennwle 1 = led0 pin indicates linkpulse 0, rw 2 flagabd 1 = auto-neg experienced ability detect state 0, ro 1 flagpdf 1 = auto-neg experienced parallel detection fault state 0, ro 0 flaglsc 1 = auto-neg experienced link status check state 0, ro 5.26 rx_er counter (offset 0072h-0073h, r) bit name description/usage default/attribute 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 rtl8100b(l) 2001-11-9 rev.1.41 30 5.27 cs configuration register (offset 0074h-0075h, r/w) bit name description/usage default/attribute 15 testfun 1 = auto-neg speeds up internal timer 0,wo 14-10 - reserved - 9 ld active low tpi link disable signal. when low, tpi still transmits link pulses and tpi stays in good link state. 1, rw 8 heart beat 1 = heart beat enable, 0 = heart beat disable. heart beat function is only valid in 10mbps mode. 1, rw 7 jben 1 = enable jabber function. 0 = disable jabber function 1, rw 6 f_link_100 used to login force good link in 100mbps for diagnostic purposes. 1 = disable, 0 = enable. 1, rw 5 f_connect assertion of this bit forces the disconnect function to be bypassed. 0, rw 4 - reserved - 3 con_status this bit indicates the status of the connection. 1 = valid connected link detected; 0 = disconnected link detected. 0, ro 2 con_status_en assertion of this bit configures led1 pin to indicate connection status. 0, rw 1 - reserved - 0 pass_scr bypass scramble 0, rw rtl8100b(l) 2001-11-9 rev.1.41 31 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 confi g register write prior to writing to config5. bit r/w symbol description 7 - - reserved 6 r/w bwf 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. 5 r/w mwf 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. 4 r/w uwf 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. 3 r/w fifoaddrptr fifo address pointer: (realtek internal use only to test fifo sram) 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 disconn ected(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 rese t 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 rtl8100b(l).) the 3 bits (bit2-0) are auto-loaded from eeprom config5 byte to rtl8100b(l) config5 register. rtl8100b(l) 2001-11-9 rev.1.41 32 6. 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. the rtl8100b(l) performs a series of eepro m read operations from the 93c46 addresses 00h to 31h. it is suggested to obtain rea ltek approval before changing the default settings of the eeprom. bytes contents description 00h 29h 01h 81h these 2 bytes contain the id code word for the rtl8100b(l). the rtl8100b(l) will load the contents of the eeprom into the corresponding location if the id word (8129h) is right, otherwise, the rtl8100b(l) will not proceed with the eeprom au toload process. 02h-05h - reserved. the rtl8100b(l) no longer suppor ts autoload of vender id and device id. the default values of vid and did are hex 10ec and 8139, respectively. 06h-07h svid pci subsystem vendor id, pci configuration space offset 2ch-2dh. 08h-09h smid pci subsystem id, pci c onfiguration space offset 2eh-2fh. 0ah mngnt pci minimum grant timer, pci configuration space offset 3eh. 0bh mxlat pci maximum latency timer, pci configuration space offset 3fh. 0ch msrbmcr 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 rtl8100b(l) supports flow c ontrol (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 rtl8100b(l) does not support flow control. in this case, bit 10=0 in auto-negotiation advertisement. this is b ecause there are nway switch hubs which keep sending flow control pause packets for no reason, if the link partner supports nway flow control. 0dh config3 rtl8100b(l) configuration regist er 3, operational register offset 59h. 0eh-13h ethernet id after auto-load command or hardware reset, the rtl8100b(l) loads the ethernet id to idr0-idr5 of rtl8100b(l)'s i/o registers. 14h config0 rtl8100b(l) configuration regist er 0, operational registers offset 51h. 15h config1 rtl8100b(l) configuration regist er 1, operational registers offset 52h. 16h-17h pmc reserved. do not change this field without realtek approval. power management capabilities. pci c onfiguration space address 52h and 53h. 18h pmcsr reserved. do not change this field without realtek approval. power management control/status. pci configuration space address 55h. 19h config4 reserved. do not change this field without realtek approval. rtl8100b(l) configuration register 4, operational registers offset 5ah. 1ah-1dh phy1_parm_u reserved. do not change this field without realtek approval. phy parameter 1-u for rtl8100b(l). operational registers of the rtl8100b(l) are from 78h to 7bh. 1eh phy2_parm_u reserved. do not change this field without realtek approval. phy parameter 2-u for rtl8100b(l). opera tional register of the rtl8100b(l) is 80h. rtl8100b(l) 2001-11-9 rev.1.41 33 do not change this field without realtek approval. 1fh config_5 bit7-3: 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. 20h-23h tw_parm_u reserved. do not change this field without realtek approval. twister parameter u for rtl8100b(l). operational registers of the rtl8100b(l) are 7ch-7fh. 24h-27h tw_parm_t reserved. do not change this field without realtek approval. twister parameter t for rtl8100b(l). operational registers of the rtl8100b(l) are 7ch-7fh. 28h-2bh phy1_parm_t reserved. do not change this field without realtek approval. phy parameter 1-t for rtl8100b(l). operational registers of the rtl8100b(l) are from 78h to 7bh. 2ch phy2_parm_t reserved. do not change this field without realtek approval. phy parameter 2-t for rtl8100b(l). operati onal register of the rtl8100b(l) is 80h. 2dh-31h - reserved. 32h-33h checksum reserved. do not change this field without realtek approval. checksum of the eeprom content. 34h-3eh - reserved. do not change this field without realtek approval. 3fh pxe_para reserved. do not change this field without realtek approval. pxe rom code parameter. 40h-7fh vpd_data vpd data field. offset 40h is the start address of the vpd data. rtl8100b(l) 2001-11-9 rev.1.41 34 6.1 summary of the rtl 8100b(l) eeprom registers offset name type bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 00h-05h idr0 ? idr5 r/w * 51h config0 r - - - - bs2 bs1 bs0 w * - - - - - - - - 52h config1 r leds1 leds0 dvrload lwact memmap iomap vpd pmen w * leds1 leds0 dvrload lwact - - vpd pmen 58h r txfce rxfce - - - - w * txfce rxfce - - - - 63h r - - spd_set ane - - - fudup msrbmcr w * - - spd_set ane - - - fudup 59h config3 r gntdel parm_en magic linkup - - - fbtben w * - parm_en magic linkup - - - - 5ah config4 r/w * rxfifoa utoclr anaoff longwf lwpme - lwptn - - 78h-7bh phy1_parm r/w ** 32 bit read write 7ch-7fh tw1_parm tw2_parm r/w ** 32 bit read write 32 bit read write 80h phy2_parm r/w ** 8 bit read write d8h config5 r/w * - - - - - ldps lanwake pme_sts * 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 rtl8100b(l) 2001-11-9 rev.1.41 35 7. pci configuration space registers 7.1 pci configuration space table no. name type bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 00h vid r 1 1 1 0 1 1 0 0 01h r 0 0 0 1 0 0 0 0 02h did r 0 0 1 1 1 0 0 1 03h r 1 0 0 0 0 0 0 1 04h command r 0 perrsp 0 0 - bmen memen ioen w - perrsp - - - bmen memen ioen 05h r 0 0 0 0 0 0 fbtben serren w - - - - - - - serren 06h status r fbbc 0 0 newcap 0 0 0 0 07h r dperr sserr rmabt rtabt stabt dst1 dst0 dpd w dperr sserr rmabt rtabt stabt - - dpd 08h revision id r 0 0 0 0 0 0 0 0 09h pifr r 0 0 0 0 0 0 0 0 0ah scr r 0 0 0 0 0 0 0 0 0bh bcr r 0 0 0 0 0 0 1 0 0ch cls r 0 0 0 0 0 0 0 0 0dh ltr r ltr7 ltr6 ltr5 ltr4 ltr3 ltp2 ltr1 ltr0 w ltr7 ltr6 ltr5 ltr 4 ltr3 ltp2 ltr1 ltr0 0eh htr r 0 0 0 0 0 0 0 0 0fh bist r 0 0 0 0 0 0 0 0 10h ioar r 0 0 0 0 0 0 0 ioin w - - - - - - - - 11h r/w ioar15 ioar14 ioar13 ioar12 ioar11 ioar10 ioar9 ioar8 12h r/w ioar23 ioar22 ioar21 ioar20 ioar19 ioar18 ioar17 ioar16 13h r/w ioar31 ioar30 ioar29 ioar28 ioar27 ioar26 ioar25 ioar24 14h memar r 0 0 0 0 0 0 0 memin w - - - - - - - - 15h r/w mem15 mem14 mem13 mem12 mem11 mem10 mem9 mem8 16h r/w mem23 mem22 mem21 mem20 mem19 mem18 mem17 mem16 17h r/w mem31 mem30 mem29 mem28 mem27 mem26 mem25 mem24 18h-2bh reserved 2ch svid r svid7 svid6 svid5 svid4 svid3 svid2 svid1 svid0 2dh r svid15 svid14 svid13 svid12 svid11 svid10 svid9 svid8 2eh smid r smid7 smid6 smid5 smid4 smid3 smid2 smid1 smid0 2fh r smid15 smid14 smid13 smid12 smid11 smid10 smid9 smid8 30h-33h reserved - - - - - - - - - 34h cap_ptr r 0 1 0 1 0 0 0 0 35h-3bh reserved 3ch ilr r/w irl7 ilr6 ilr5 ilr4 ilr3 ilr2 ilr1 ilr0 3dh ipr r 0 0 0 0 0 0 0 1 3eh mngnt r 0 0 1 0 0 0 0 0 3fh mxlat r 0 0 1 0 0 0 0 0 40h?4fh reserved 50h pmid r 0 0 0 0 0 0 0 1 51h nextptr r 0 0 0 0 0 0 0 0 52h pmc r aux_i_b1 aux_i_b0 dsi reserved pmeclk version rtl8100b(l) 2001-11-9 rev.1.41 36 53h r pme_d3 cold pme_d3 hot pme_d2 pme_d1 pme_d0 d2 d1 aux_i_b2 54h pmcsr r 0 0 0 0 0 0 power state w - - - - - - power state 55h r pme_status - - - - - - pme_en w pme_status - - - - - - pme_en 56h?5fh reserved 60h vpdid r 0 0 0 0 0 0 1 1 61h nextptr r 0 0 0 0 0 0 0 0 62h flag vpd address r/w vpdaddr 7 vpdaddr 6 vpdadd r5 vpdadd r4 vpdadd r3 vpdadd r2 vpdadd r1 vpdadd r0 63h r/w flag vpdaddr 14 vpdadd r13 vpdadd r12 vpdadd r11 vpdadd r10 vpdadd r9 vpdadd r8 64h r/w data7 data6 data5 data 4 data3 data2 data1 data0 65h r/w data15 data14 data13 data 12 data11 data10 data9 data8 66h r/w data23 data22 data21 data 20 data19 data18 data17 data16 67h vpd data r/w data31 data30 data29 data 28 data27 data26 data25 data24 68h-ffh reserved rtl8100b(l) 2001-11-9 rev.1.41 37 7.2 pci configuration space functions the pci configuration space is intended for configuration, initialization, and catastrophic error handling functions. the functions of rtl8100b(l)'s confi guration space are described below. vid: vendor id. this field will default to a value of 10e ch 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 symbol description 15-10 - reserved 9 fbtben fast back-to-back enable: config3 rtl8100b(l) 2001-11-9 rev.1.41 38 status: the status register is a 16-bit register us ed 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 symbol description 15 dperr detected parity error: when set indicates that the rtl8100b(l) detected a parity error, even if parity error handling is disabled in command register perrsp bit. 14 sserr signaled system error: when set indicates that the rtl8100b(l) asserted the system error pin, serrb. writing a 1 clears this bit to 0. 13 rmabt received master abort: when set indicates that the rtl8100b(l) terminated a master transaction with master abort. writing a 1 clears this bit to 0. 12 rtabt received target abort: when set indicates that the rtl8100b(l) master transaction was terminated due to a target abort. writing a 1 clears this bit to 0. 11 stabt signaled target abort: set to 1 whenever the rtl8100b(l) terminates a transaction with target abort. writing a 1 clears this bit to 0. 10-9 dst1-0 device select timing: these bits encode the timing of devselb. they are set to 01b (medium), indicating the rtl8100b(l) will assert devselb two clocks after frameb is asserted. 8 dpd data parity error detected: this bit sets when the following conditions are met: ? the rtl8100b(l) asserts parity e rror(perrb pin) or it senses the a ssertion of perrb pin by another device. ? the rtl8100b(l) 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. 7 fbbc fast back-to-back capable: config3 rtl8100b(l) 2001-11-9 rev.1.41 39 bist: built-in self test reads will return a 0, writes are ignored. ioar: this register specifies the base io a ddress 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 symbol description 31-8 ioar31-8 base io address: this is set by software to the base io address for the operational register map. 7-2 iosize size indication: read back as 0. this allows the pci bridge to determine that the rtl8100b(l) requires 256 bytes of io space. 1 - reserved 0 ioin io space indicator: read only. set to 1 by the rtl8100b(l) to indicate that it is capable of being mapped into io space. memar: this register specifies the base memo ry address for memory accesses to the rtl8100b(l) operational registers. this register must be initialized prior to accessing any of the rtl8100b(l)'s register with memory access. bit symbol description 31-8 mem31-8 base memory address: this is set by software to the base address for the operational register map. 7-4 memsize memory size: these bits return 0, which indicates that the rtl8100b(l) requires 256 bytes of memory space. 3 mempf memory prefetchable: read only. set to 0 by the rtl8100b(l). 2-1 memloc memory location select: read only. set to 0 by the rtl8100b(l). this indicates that the base register is 32-bit wide and can be placed anywhere in the 32-bit memory space. 0 memin memory space indicator: read only. set to 0 by the rtl8100b(l) 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 fi eld 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 is disabled in the rtl8100b(l). ilr: interrupt line register the interrupt line register is an 8-bit register used to co mmunicate with the routing of the interrupt. it is written by the post software to set interrupt line for the rtl8100b(l). ipr: interrupt pin register the interrupt pin register is an 8-bit register indicating the interrupt pin used by the rtl8100b(l). the rtl8100b(l) uses inta interrupt pin. read only. ipr = 01h. mngnt: minimum grant timer: read only specifies how long a burst peri od the rtl8100b(l) 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 fi eld will default to a value of 20h. mxlat: maximum latency timer: read only specifies how often the rtl8100b(l) needs to gain access to the pci bus in units of 1/4 microseconds. this field will be set to a value from the external eep rom. if there is no eeprom, this fi eld will default to a value of 20h. rtl8100b(l) 2001-11-9 rev.1.41 40 7.3 default values after power-on (rstb asserted) pci configuration space table no. name type bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 00h vid r 1 1 1 0 1 1 0 0 01h r 0 0 0 1 0 0 0 0 02h did r 0 0 1 1 1 0 0 1 03h r 1 0 0 0 0 0 0 1 04h command r 0 0 0 0 0 0 0 0 w - perrsp - - - bmen memen ioen 05h r 0 0 0 0 0 0 0 0 w - - - - - - - serren 06h status r 0 0 0 newcap 0 0 0 0 07h r 0 0 0 0 0 0 1 0 w dperr sserr rmabt rtabt stabt - - dpd 08h revision id r 0 0 0 0 0 0 0 0 09h pifr r 0 0 0 0 0 0 0 0 0ah scr r 0 0 0 0 0 0 0 0 0bh bcr r 0 0 0 0 0 0 1 0 0ch cls r 0 0 0 0 0 0 0 0 0dh ltr r 0 0 0 0 0 0 0 0 w ltr7 ltr6 ltr5 ltr 4 ltr3 ltp2 ltr1 ltr0 0eh htr r 0 0 0 0 0 0 0 0 0fh bist r 0 0 0 0 0 0 0 0 10h ioar r 0 0 0 0 0 0 0 1 11h r/w 0 0 0 0 0 0 0 0 12h r/w 0 0 0 0 0 0 0 0 13h r/w 0 0 0 0 0 0 0 0 14h memar r 0 0 0 0 0 0 0 0 15h r/w 0 0 0 0 0 0 0 0 16h r/w 0 0 0 0 0 0 0 0 17h r/w 0 0 0 0 0 0 0 0 18h-2bh reserved (all 0) 2ch svid r 1 1 1 0 1 1 0 0 2dh r 0 0 0 1 0 0 0 1 2eh smid r 0 0 1 1 1 0 0 1 2fh r 1 0 0 0 0 0 0 1 30h-33h reserved - - - - - - - - - 34h cap-ptr r ptr7 ptr6 ptr5 ptr4 ptr3 ptr2 ptr1 ptr0 35h-3bh reserved (all 0) 3ch ilr r/w 0 0 0 0 0 0 0 0 3dh ipr r 0 0 0 0 0 0 0 1 3eh mngnt r 0 0 1 0 0 0 0 0 3fh mxlat r 0 0 1 0 0 0 0 0 40h-ffh - reserved (all 0) rtl8100b(l) 2001-11-9 rev.1.41 41 7.4 pci power management functions the rtl8100b(l) 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 di rected power management (ospm) environment. to support this, the rtl8100b(l) provides the following capabilities: the rtl8100b(l) 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 rtl8100b(l) can be isolated from the pci bus automatically with the auxiliary power ci rcuit when the pci bus is in b3 state, i.e. the power on the pci bus is remove d. when the motherboard includes a built-in rtl8100b(l) single-chip fast ethernet controller, th e rtl8100b(l) can be disabled when needed by pulling the isolate pin low to 0v. when the rtl8100b(l) is in power down mode (d1 ~ d3), ? the rx state machine is stopped, and the rtl8100b(l) 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 rtl8100b(l) will not reflect the st atus of any incoming packets in the isr regi ster and will not recei ve any packets into the rx fifo. ? the fifo status and the packets which ar e already contained in the rx fifo before entering power down mode are kept by the rtl8100b(l) 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 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 re gister) & aux_i_b2:0 (bit8:6, pmc regi ster) 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, if 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 eeprom pmc be set to: c2 f7 (realtek 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 rtl8100b(l) is in isolation state, or the pme# can be asse rted in current power state. ? 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 doe s not contain a crc error. rtl8100b(l) 2001-11-9 rev.1.41 42 ? the magic bit (config3#5) is set to 1, the pmen bit (config1#0) is set to 1, and the rtl8100b(l) is in isolation state, or the pme# can be asse rted 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 fr ame 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 gene rate 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 re gister for the rtl8100b(l) to check if there is a wakeup frame packet coming in. 16-bit crc: (long wakeup frame mode, the ma sk bytes cover from offset 0 to 127) long wakeup frame: the rtl8100b(l) also supports 3 long wakeup frames. if the range of mask bytes of the sample wakeup frame, passed down by the os to the driv er, exceeds the range from offset 12 to 75, the related registers of wakeup frame 2 and 3 can be merged to support one long wake up 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 the calculated 16-bit crc should be put into register crc2 and lsbcrc2 respectively. the mask bytes (16 bytes) should be stored to register wa keup2 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 s hould be reset to 0, if the rtl8100b(l) is set to support long wakeup frames. in this case, the rtl8100b (l) 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 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 conditions are met: the pmen bit (bit0, config1) is set to 1. the pme_en bit (bit8, pm csr) in pci configuration space is set to 1. the rtl8100b(l) may assert pme# in current power state, or the rtl8100b(l) is in isolation state. refer to pme_support(bit15-11) of the pmc regi ster 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 configur ation space will clear this bit and cause the rtl8100b(l) to stop asserting a pme# (if enabled). when the rtl8100b(l) is in power down mode, ex. d1-d3, the io, and mem are all disabled. after rst# asserted, the power state must be changed to d0 if the original power state is d3 cold . there is no hardware enforced delays at rtl8100b(l)?s power state. when in acpi mode, the rtl8100b (l) does not support pme from d0 (owing to the setting of pmc register. this setting comes from eeprom). rtl8100b(l) 2001-11-9 rev.1.41 43 the rtl8100b(l) also supports the lan wake-up function. the lwake pin is used to notify the motherboard to execute the wake-up process whenever the rtl8100b(l) r eceives 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 whenev er there is wakeup event occurs. 1: the lwake can only be asserted when the pm eb is asserted and the isolateb is low. bit1 of delay byte(offset 1fh, eeprom): 0: lwake signal is disabled. 1: lwake signal is enabled 7.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 fl ag bit is set to zero by the rtl8100b(l), 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 fl ag bit is set to one by the rtl8100b(l), the vpd data (all 4 bytes) has been transferred from 93c46 to the vpd data register. rtl8100b(l) 2001-11-9 rev.1.41 44 8. block diagram mii interface interrupt control logic fifo transmit/ receive logic interface early interrupt control logic fifo control logic packet type discriminator power control logic pci interface + register packet length register early interrupt threshold register eeprom interface led driver rxin+ rxin- txo+ txo - rxc 25m 25m txc 25m txd rxd td+ variable current 3 level driver master ppl adaptive equalizer peak detect 3 level comparator control voltage mlt-3 to nrzi serial to parrallel ck data slave pll parrallel to serial baseline wander correction 5b 4b decoder data alignment descrambler 4b 5b encoder scrambler 10/100 half/full switch logic 10/100m auto-negotiation control logic manchester coded waveform 10m output waveform shaping data recovery receive low pass filter rxd rxc 25m txd txc 25m txd10 txc10 rxd10 rxc10 link pulse mii interface 10m 100m pci interface mac phy transceiver rtl8100b(l) 2001-11-9 rev.1.41 45 9. functional description 9.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 rtl8100b (l) is instructed to move the data from the tx buffer to the internal transmit fifo in pci bus master mode. when the tran smit fifo contains a complete packet or is filled to the programmed threshold level, the rtl8100b(l) begins packet transmission. 9.2 receive operation the incoming packet is placed in the rtl8100b(l)'s rx fifo. concurrently, the rtl8100b(l) performs address filtering of multicast packets according to its hash algor ithms. when the amount of data in the rx fifo reaches the level defined in the receive configuration regi ster, the rtl8100b(l) requests the pc i bus to begin transferring the da ta to the rx buffer in pci bus master mode. 9.3 wander compensation the 8100b(l) is ansi tp-pmd compliant and supports input and base line wander (blw) compensation in 100base-tx mode. the 8100b(l) does not require extern al attenuation circuitry at its receive inputs, rd+/-. it accepts tp-pmd compliant waveform s 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 betw een the low frequency components of a tran smitted bit stream and the frequency respons e 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 transf ormers, then the droop characteristics of the transformers will dominate resulting in potentially serious blw. if blw is not compensated, packet loss can occur. 9.4 signal detect the 8100b(l) supports signal detect in 100base-tx mode. therefore, the recepti on of normal 10base-t li nk pulses and fast link pulses defined by ieee 802.3u auto-negotiati on by the 100base-tx receiver do not cause the 8100b(l) to assert signal detect. the signal detect function of the 8100b(l) 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. 9.5 line quality monitor the line quality monitor function is availabl e 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 indicati on of connected cable length. this funct ion allows for a quick and simple verification of the line quality in that any significant deviation from an expected register valu e (based on a known cable length) would indicate that the signal quality has deviated from the expected nominal case. 9.6 clock recovery module the clock recovery module (crm) is s upported 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. 9.7 loopback operation loopback mode is normally used to verify that the logic operati ons up to the ethernet cable function correctly. in loopback mod e for 100mbps, the rtl8100b(l) takes frames from the transmit descriptor and transmits them up to internal twister logic. rtl8100b(l) 2001-11-9 rev.1.41 46 9.8 tx encapsulation while operating in 100base-tx mode, the rtl8100b(l) encapsula tes the frames that it transm its 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. 9.9 collision if the rtl8100b(l) is not in full-duplex mode, a collision even t occurs when the receive i nput is not idle while the rtl8100b(l) transmits. if the collision was de tected during the preamble transmission, the jam pattern is transmitted after completing the preamble (including the jk symbol pair). 9.10 rx decapsulation the rtl8100b(l) continuously monitors the ne twork when reception is enabled. when ac tivity is recognized it starts to process the incoming data. after detecting receive activity on the lin e, the rtl8100b(l) starts to process th e preamble bytes based on the mode of operation. while operating in 100base-tx mode, the rtl8100b(l) expects the frame to start with the symbol pair jk in the first bye of the 8-byte preamble. the rtl8100b(l) checks the crc bytes and check s if the packet data ends with the tr symbol pair, if not, the rtl8100b(l) reports an crc error rsr. the rtl8100b(l) reports a rsr rtl8100b(l) 2001-11-9 rev.1.41 47 9.12 led functions 9.12.1 10/100 mbps link monitor the link monitor senses the link integrity or if a station is down. 9.12.2 led_rx in 10/100 mbps mode, the led function is like the rtl8139c(l). receiving packet? power on led = low led = high for (100 +- 10) ms led = low for (12 +- 2) ms yes no 9.12.3 led_tx power on led = low led = high for (100 +- 10) ms led = low for (12 +- 2) ms yes no transmitting packet rtl8100b(l) 2001-11-9 rev.1.41 48 9.12.4 led_tx+led_rx power on led = low led = high for (100 +- 10) ms led = low for (12 +- 2) ms yes no tx or rx packet? 10. application diagram rtl8100b(l) rj45 ma g etics eeprom led clk pci interface a uxiliar y power rtl8100b(l) 2001-11-9 rev.1.41 49 11. electrical characteristics 11.1 temperature limit ratings parameter minimum maximum units storage temperature -55 +125 c operating temperature 0 70 c 11.2 dc characteristics 11.2.1 supply voltage vcc = 3.0v min. to 3.6v max. symbol parameter conditions minimum maximum units v oh minimum high level output voltage i oh= -8ma 0.9 * vcc vcc v v ol maximum low level output voltage i ol= 8ma 0.1 * vcc v v ih minimum high level input voltage 0.5 * vcc vcc+0.5 v v il maximum low level input voltage -0.5 0.3 * vcc v i in input current v in= v cc or gnd -1.0 1.0 ua i oz tri-state output leakage current v out= v cc or gnd -10 10 ua i cc average operating supply current i out= 0ma, 330 ma 11.2.2 supply voltage vdd25 = 2.3v min. to 2.7v max. symbol parameter conditions minimum maximum units v oh minimum high level output voltage i oh= -8ma 0.9 * vdd25 vdd25 v v ol maximum low level output voltage i ol= 8ma 0.1 * vdd25 v v ih minimum high level input voltage 0.5 * vdd25 vdd25+0.5 v v il maximum low level input voltage -0.5 0.3 * vdd25 v i in input current v in= v dd25 or gnd -1.0 1.0 ua i oz tri-state output leakage current v out= v dd25 or gnd -10 10 ua i dd25 average operating supply current i out= 0ma, 40 ma rtl8100b(l) 2001-11-9 rev.1.41 50 11.3 ac characteristics 11.3.1 pci bus operation timing target read target write rtl8100b(l) 2001-11-9 rev.1.41 51 configuration read configuration write rtl8100b(l) 2001-11-9 rev.1.41 52 bus arbitration memory read rtl8100b(l) 2001-11-9 rev.1.41 53 memory write target initiated termination - retry rtl8100b(l) 2001-11-9 rev.1.41 54 target initiated termination - disconnect target initiated termination - abort rtl8100b(l) 2001-11-9 rev.1.41 55 master initiated termination ? abort parity operation - one example rtl8100b(l) 2001-11-9 rev.1.41 56 12. mechanical dimensions 12.1 qfp notes: symbol dimension in mil dimension in mm 1.dimension d & e do not include interlead flash. min typical max min typical max 2.dimension b does not include dambar protrusion/intrusion. a 106.3 118.1 129.9 2.70 3.00 3.30 3.controlling dimension: millimeter a 1 4.3 20.1 35.8 0.11 0.51 0.91 4.general appearance spec. should be based on final visual a 2 102.4 112.2 122.0 2.60 2.85 3.10 inspection spec. b 7.1 11.8 16.5 0.18 0.30 0.42 c 1.6 5.9 10.2 0.04 0.15 0.26 d 541.3 551.2 561.0 13.75 14.00 14.25 title : 100l qfp ( 14x20 mm**2 ) footprint 4.8 mm e 777.6 787.4 797.2 19.75 20.00 20.25 package outline drawing 19.7 25.6 31.5 0.50 0.65 0.80 leadframe material: h d 726.4 740.2 753.9 18.45 18.80 19.15 approve dwg no. h e 962.6 976.4 990.2 24.45 24.80 25.15 rev no. l 39.4 47.2 55.1 1.00 1.20 1.40 scale l 1 88.6 94.5 104.3 2.25 2.40 2.65 check ricardo chen date y - - 3.9 - - 0.10 sht no. 1 of 0 - 12 0 - 12 realtek semiconductor corp. rtl8100b(l) 2001-11-9 rev.1.41 57 12.2 lqfp notes: 1.to be determined at seating plane -c- 2.dimensions d 1 and e 1 do not include mold protrusion. symbol dimension in inch dimension in mm d 1 and e 1 are maximum plastic body size dimensions min nom max min nom max including mold mismatch. a - - 0.067 - - 1.70 3.dimension b does not include dambar protrusion. a 1 0.000 0.004 0.008 0.00 0.1 0.20 dambar can not be located on the lower radius of the foot. a 2 0.051 0.055 0.059 1.30 1.40 1.50 4.exact shape of each corner is optional. b 0.006 0.009 0.011 0. 15 0.22 0.29 5.these dimensions apply to the flat section of the lead b 1 0.006 0.008 0.010 0.15 0.20 0.25 between 0.10 mm and 0.25 mm from the lead tip. c 0.004 - 0.008 0.09 - 0.20 6. a 1 is defined as the distance from the seating plane c 1 0.004 - 0.006 0.09 - 0.16 to the lowest point of the package body. d 0.630 bsc 16.00 bsc 7.controlling dimension : millimeter. d 1 0.551 bsc 14.00 bsc 8. reference document : jedec ms-026 , bed. e 0.630 bsc 16.00 bsc title : 100ld lqfp ( 14x14x1.4mm) e 1 0.551 bsc 14.00 bsc package outline drawing , footprint 2.0mm e 0.020 bsc 0.50 bsc leadframe material: l 0.016 0.024 0.031 0.40 0.60 0.80 approve doc. no. l 1 0.039 ref 1.00 ref version 1 0 3.5 9 0 3.5 9 page of 1 0 - - 0 - - check dwg no. lq100 - p1 2 12typ 12typ date 3 12typ 12typ realtek semiconductor corp. rtl8100b(l) 2001-11-9 rev.1.41 58 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 |
Price & Availability of RTL8100BL
![]() |
|
|
All Rights Reserved © IC-ON-LINE 2003 - 2022 |
[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy] |
Mirror Sites : [www.datasheet.hk]
[www.maxim4u.com] [www.ic-on-line.cn]
[www.ic-on-line.com] [www.ic-on-line.net]
[www.alldatasheet.com.cn]
[www.gdcy.com]
[www.gdcy.net] |