Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


TLP(4)                       Device Drivers Manual                      TLP(4)

NAME
     tlp - DECchip 21x4x and clone Ethernet interfaces device driver

SYNOPSIS
     tlp* at eisa? slot ?
     tlp* at pci? dev ? function ?
     tlp* at cardbus? function ?

     Configuration of PHYs may also be necessary.  See mii(4).

DESCRIPTION
     The tlp device driver supports Ethernet interfaces based on the DECchip
     21x4x "Tulip" (DEC fourth generation Ethernet controller) and a variety
     of clone chips.  The Tulip has several features designed to make it
     flexible and reduce CPU usage:

              Flexible receive filter allowing for 16 perfect matches, 16
               perfect inverse matches, 512-bit hash table plus 1 perfect
               match, or 512-bit hash table only.

              Uniform transmit descriptor architecture, configurable as a
               ring (allowing 2 buffers per descriptor) or a chain (allowing 1
               buffer per descriptor).

              Uniform receive descriptor architecture, configurable as a ring
               (allowing 2 buffers per descriptor) or a chain (allowing 1
               buffer per descriptor).

              Interrupt pacing; host may choose whether or not completion of
               processing of an individual descriptor causes an interrupt.

              Support for jumbo packets (by disabling transmit and receive
               watchdog timers).

              A patented transmit backoff algorithm which solves the Ethernet
               capture effect problem.

              Flexible bus modes to optimize DMA cycles for various cache
               sizes and bus implementations.

              Programmable transmit FIFO drain threshold to allow DMA overlap
               and reduce time to transmit.

              Flexible media attachment facilities.

     The tlp driver supports the following chips:

              DECchip 21040 -- This is the original Tulip Ethernet chip.  It
               supports 10Mb/s speeds over a built-in serial interface.  The
               serial interface has support for 10BASE-T and AUI media.  The
               AUI port may be connected to 10BASE5 AUI or 10BASE2 BNC
               connectors, or both, selected by a gang jumper on the board.
               Some boards connect the BNC connector to an external serial
               interface.  The driver has no way of knowing this, but the
               external serial interface may be selected with the "manual"
               media setting.

               Boards that include this chip include the DEC DE-435, on-board
               Ethernet on many DEC AlphaStation and AlphaServer systems, ZNYX
               ZX312, ZX312T, ZX314, ZX315, SMC 8432, SMC 8434, ACCTON EN1203,
               and some Cogent multi-port boards.

               This chip also appears on the DEC DE-425 EISA Ethernet board.
               This board is a DECchip 21040 and a PLX PCI glue chip, which
               provides the interface to the EISA bus, and special address
               decoding so that the PCI configuration space registers of the
               21040 are accessible in normal EISA I/O space.

               The very first versions of this chip were labeled "DC1003" and
               "DC1003 Prototype".

              DECchip 21041 -- This is the second chip in the Tulip family,
               dubbed "Tulip Plus".  It supports 10Mb/s speeds over a built-in
               serial interface.  The serial interface has support for 10BASE-
               T, 10BASE5 AUI, and 10BASE2 BNC media.  The serial interface
               also includes support for IEEE 802.3u NWay over the 10BASE-T
               interface, for negotiation of duplex mode with the link
               partner.

               Boards that include this chip include the DEC DE-450 and some
               SMC boards.

              DECchip 21140 and 21140A -- This is the third chip in the Tulip
               family, dubbed "FasterNet".  It supports 10Mb/s speeds with a
               built-in 10BASE-T encoder/decoder, and 100Mb/s speeds with a
               built-in 100BASE PCS function.  Support for 100BASE-TX and
               100BASE-T4 is provided by a built-in scrambler.  Support for
               100BASE-FX is possible with an appropriate PMD connected to the
               100BASE PCS.  The 21140 and 21140A also support 10Mb/s and
               100Mb/s speeds over an MII interface connected to one or more
               PHYs.

               The 21140 and 21140A include a general purpose I/O facility,
               which may be used to toggle relays on the board.  This facility
               is often used to reset individual board modules (e.g.  the MII
               bus), select the output path of the chip (e.g. connect the UTP
               port on the board to the PHY, built-in 10BASE-T ENDEC, or
               built-in 100BASE-T PMD), or detect link status (by reading an
               output pin on the 100BASE-T magnetics).

               The 21140 and 21140A use a standardized data structure located
               in the SROM to describe how the chip should be programmed for
               various media settings, including the internal chip pathway,
               and GPIO settings.  If the SROM data is not in the standardized
               format, the device driver must know specific programming
               information for that particular board.

               Boards that include the 21140 and 21140A include the DEC EB140,
               DE-500XA, DE-500AA, Asante EtherFast, DaynaPORT BlueStreak,
               Cogent EM100TX, EM110TX, EM440T4 multi-port, Kingston KNE100TX,
               older versions of the NetGear FA-310TX, SMC 9332, SMC 9334,
               ZNYX ZX34x multi-port, and Adaptec ANA-6944A/TX multi-port.

              DECchip 21142 and 21143 -- These are the fourth and fifth chips
               in the Tulip family.  While they have two different chip
               numbers, the 21142 and 21143 are essentially identical, with
               only minor differences related to available technology at time
               of manufacture.  Both chips include support for 10Mb/s speeds
               over a built-in serial interface, and support for 10Mb/s and
               100Mb/s speeds over an MII interface connected to one or more
               PHYs.  The serial interface includes support for 10BASE-T,
               10BASE5 AUI, and 10BASE2 BNC media, as well as support for IEEE
               802.3u NWay over the 10BASE-T interface, for negotiation of
               duplex mode and link speed with the link partner.

               The 21143 adds support for 100Mb/s speeds with a built-in PCS
               function.  Support for 100BASE-TX and 100BASE-T4 is provided by
               a built-in scrambler.  Support for 100BASE-FX is possible with
               an appropriate PMD connected to the 100BASE PCS.

               The 21142 and 21143 include a general purpose I/O facility,
               which may be used to toggle relays on the board.  This facility
               is often used to reset individual board modules (e.g.  the MII
               bus), select the output path of the chip (e.g. connect the UTP
               port on the board to the PHY, built-in serial interface, or
               built-in 100BASE-T PMD), or detect link status (by reading an
               output pin on the 100BASE-T magnetics).

               The 21142 and 21143 use a standardized data structure located
               in the SROM to describe how the chip should be programmed for
               various media settings, including the internal chip pathway,
               and GPIO settings.  If the SROM data is not in the standardized
               format, the device driver must know specific programming
               information for that particular board.

               Boards that include the 21142 include the DEC EB142, and on-
               board Ethernet on the Digital Personal Workstation (Alpha
               "Miata" and x86 models) and several Digital PCs.

               Boards that include the 21143 include the DEC EB143, DE-500BA,
               several commonly-available 100BASE-FX boards, the NetGear
               FA-510c CardBus card, and the Compu-Shack FASTline-II PCI
               boards.

              Lite-On 82C168 and 82C169 -- These chips, dubbed "PNIC", were
               some of the first commonly-available Tulip clones, appearing on
               low-cost boards when it became difficult for board vendors to
               obtain DECchip 21140A parts.  They include support for 10Mb/s
               speeds over a built-in 10BASE-T encoder/decoder, and 100Mb/s
               speeds over a built-in PCS function.  Support for 100BASE-TX
               and 100BASE-T4 is provided by a built-in scrambler and
               transceiver module.  The transceiver module also includes
               support for NWay, for negotiating duplex mode and link speed
               with the link partner.  These chips also include support for
               10Mb/s and 100Mb/s speeds over and MII interface connected to
               one or more PHYs.

               These chips also include a GPIO facility, although it is
               programmed differently than the 21140's.

               Unfortunately, these chips seem to be plagued by two
               unfortunate hardware bugs: in some situations, the receive
               logic incorrectly dumps the entire transmit FIFO into the
               receive chain, rather than a single Ethernet frame, and the DMA
               engines appear to be substandard; they must be run in store-
               and-forward mode, and occasionally fail to upload the filter
               setup frame.

               Boards that include the 82C168 and 82C169 include the newer
               NetGear FA-310TX, the Kingston KNE110TX, and some older LinkSys
               LNE100TX boards.

              Macronix 98713, 98713A, 98715, 98715A, and 98725 -- Of all the
               clones, these chips, dubbed "PMAC", are the best.  They are
               very close clones of their respective originals, with the
               exception of some slight programming magic necessary to work
               around an apparent hardware bug.

               The 98713 is a DECchip 21140A clone.  It includes all of the
               21140A's features, and uses the same SROM data format.

               The 98713A is a half-clone of the DECchip 21143.  It has
               support for serial, PCS, and MII media.  The serial interface
               has a built-in NWay function.  However, the 98713A does not
               have a GPIO facility, and, as a result, usually does not use
               the same SROM format as the 21143 (no need for GPIO programming
               information).

               The 98715, 98715A, and 98725 are more 21143-like, but lack the
               GPIO facility and MII.  These chips also support ACPI power
               management.

               Boards that include the Macronix chips include some SVEC
               boards, some SOHOWare boards, and the Compex RL100TX.

              Lite-On/Macronix 82C115 -- This chip, dubbed the "PNIC-II", was
               co-designed by Lite-On and Macronix.  It is almost identical to
               the Macronix 98725, with a few exceptions: it has Wake-On-LAN
               support, uses a 128-bit receive filter hash table, and supports
               IEEE 802.3x flow control.

               Boards that include the 82C115 include the newer LinkSys
               (Version 2) LNE100TX boards.

              Winbond 89C840F -- This chip is a very low-end barely-a-clone
               of the 21140.  It supports 10Mb/s and 100Mb/s speeds over an
               MII interface only, and has several programming differences
               from the 21140.

               The receive filter is completely different: it supports only a
               single perfect match, and has only a 64-bit multicast filter
               hash table.  The receive filter is programmed using special
               registers rather than the standard Tulip setup frame.

               This chip is also plagued by a terrible DMA engine.  The chip
               must be run in store-and-forward mode or it will often transmit
               garbage onto the wire.

               Interrupt pacing is also less flexible on the chip.

               Boards that include the 89C940F include the Complex RL100ATX,
               some Unicom 10/100 boards, and several no-name 10/100 boards.

              ADMtek AL981 -- This chip is a low cost, single-chip (sans
               magnetics) 10/100 Ethernet implementation.  It supports 10Mb/s
               and 100Mb/s speeds over an internal PHY.  There is no generic
               MII bus; instead the IEEE 802.3u-compliant PHY is accessed via
               special registers on the chip.  This chip also supports Wake-
               On-LAN and IEEE 802.3x flow control.

               The receive filter on the AL981 is completely different: it
               supports only a single perfect match, and has only a 64-bit
               multicast filter hash table.  The receive filter is programmed
               using special registers rather than the standard Tulip setup
               frame.

               This chip also supports ACPI power management.

               A list of boards which include the AL981 is not yet available.

               Support for the AL981 has not yet been tested.  If you have a
               board which uses this chip, please contact the author (listed
               below).

              Xircom X3201-3 -- This chip is a CardBus 21143 clone with a
               loosely-coupled modem function (the modem is on a separate
               CardBus function, but the MAC portion includes a shadow of its
               interrupt status).  Media is provided by an IEEE 802.3u-
               compliant PHY connected to an MII interface.  These chips have
               no SROM; instead, the MAC address must be obtained from the
               card's CIS information.  Unlike most other Tulip-like chips,
               the X3201-3 requires that transmit buffers be aligned to a
               4-byte boundary.  This virtually ensures that each outgoing
               packet must be copied into an aligned buffer, since the
               Ethernet header is 14 bytes long.

               This chip also supports ACPI power management.

               This chip is found in Xircom RealPort(tm) 10/100 CardBus
               Ethernet/Modem cards, as well as some Intel OEM'd RealPort(tm)
               and IBM Etherjet cards.

              Davicom DM9102 and DM9102A -- These chips are 21104A-like with
               a few minor exceptions.  Media is provided by an internal IEEE
               802.3u-compliant PHY accessed as if it were connected to a
               normal MII interface.  The DM9102A also provides an external
               MII interface, to which a HomePNA 1 PHY is typically connected.
               The DM9102A also includes support for CardBus.

               This chip also supports ACPI power management and Wake-On-LAN.

               A complete list of boards with the DM9102 and DM9102A is not
               available.  However, the DM9102 is often found on PC
               motherboards that include a built-in Ethernet interface.

              ASIX AX88140A and AX88141 -- These chips are 21143-like with
               some exceptions.  Media is proved by an internal IEEE 802.3u-
               compliant PHY connected to an MII interface.  Unlike most other
               Tulip-like chips, AX88140A and AX88141 both require that the
               transmit buffers be aligned to a 4-byte boundary.

               It has a specific broadcast bit.

               This chip also supports ACPI power management.

               A list of boards which include the AX88140A or the AX88141 is
               not yet available.

              Conexant RS7112 (LANfinity) -- These chips are 21143 clones
               with coupled modem function.  Media is provided by an IEEE
               802.3u-compliant PHY connected to an MII interface.

               A list of boards which include the RS7112 is not yet available.

MEDIA SELECTION
     Media selection done using ifconfig(8) using the standard ifmedia(4)
     mechanism.  Refer to those manual pages for more information.

SEE ALSO
     arp(4), eisa(4), ifmedia(4), mii(4), netintro(4), pci(4), ifconfig(8)

     Digital Equipment Corporation, DECchip 21040 Ethernet LAN Controller for
     PCI Hardware Reference Manual, May 1994, Order Number EC-N0752-72.

     Digital Equipment Corporation, DECchip 21041 PCI Ethernet LAN Controller
     Hardware Reference Manual, Preliminary, April 1995, Order Number EC-
     QAWXA-TE.

     Digital Equipment Corporation, DECchip 21041 DC1017-BA Errata, Revision
     1.0, April 27, 1995, Order Number EC-QD2MA-TE.

     Digital Equipment Corporation, DECchip 21140 PCI Fast Ethernet LAN
     Controller Hardware Reference Manual, Supersedes EC-Q0CA-TE, May 1995,
     Order Number EC-Q0CB-TE.

     Digital Equipment Corporation, DECchip 21140A PCI Fast Ethernet LAN
     Controller Hardware Reference Manual, Supersedes EC-QN7NA-TE, EC-QN7NB-
     TE, January 1996, Order Number EC-QN7NC-TE.

     Intel Corporation, 21143 PCI/CardBus 10/100Mb/s Ethernet LAN Controller
     Hardware Reference Manual, Revision 1.0, October 1998, Document Number
     278074-001.

     Digital Equipment Corporation, Ethernet Address ROM Programming: An
     Application Note, April 1994, Order Number EC-N3214-72.

     Digital Equipment Corporation, Using the DECchip 21041 with Boot ROM,
     Serial ROM, and External Register: An Application Note, April 1995, Order
     Number EC-QJLGA-TE.

     Digital Equipment Corporation, Connecting the DECchip 21140 PCI Fast
     Ethernet LAN Controller to the Network: An Application Note, Preliminary,
     December 1994, Order Number EC-QAR2A-TE.

     Macronix International Co., Ltd., MXIC MX98713 PMAC 100/10BASE PCI MAC
     Controller, Revision 1.1, November 8, 1996, Part Number: PM0386.

     Macronix International Co., Ltd., MXIC MX98713A Fast Ethernet MAC
     Controller, Revision 1.0, August 28, 1997, Part Number: PM0489.

     Macronix International Co., Ltd., MXIC MX98715A Single Chip Fast Ethernet
     NIC Controller, Revision 1.2, February 24, 1999, Part Number: PM0537.

     Macronix International Co., Ltd., MXIC MX98725 Single Chip Fast Ethernet
     NIC Controller, Revision 1.7, September 15, 1998, Part Number: PM0468.

     Macronix International Co., Ltd., MXIC MX98715 Application Note, Revision
     1.5, October 9, 1998, Part Number: PM0498.

     Macronix International Co., Ltd., MXIC MX98715A Application Note,
     Revision 1.2, October 9, 1998, Part Number: PM0541.

     Macronix International Co., Ltd., MXIC MX98725 Application Note, Revision
     1.1, July 10, 1998, Part Number: PM0525.

     Macronix International Co., Ltd., MXIC LC82C115 Single Chip Fast Ethernet
     NIC Controller, Revision 0.2, February 12, 1999, Part Number: PM0572.

     LITE ON, Inc., PNIC Hardware Specification, Revision 1.0, December 1,
     1994.

     ADMtek Incorporated, Comet: AL981 PCI 10/100 Fast Ethernet Controller
     with Integrated PHY, Revision 0.93, January, 1999.

     Winbond Electronics Corporation, Winbond LAN W89C840F 100/10Mbps Ethernet
     Controller, Revision A1, April 1997.

     Xircom X3201-3 CardBus 10/100 Mbps Ethernet Controller Software
     Developer's Specification, Revision B, April 7, 1999, Reference number:
     103-0548-001.

     Davicom DM9102 10/100 Mbps Single Chip LAN Controller, Version DM9102-DS-
     F01, July 22, 1999.

     Davicom DM9102A Single Chip Fast Ethernet NIC Controller, Version
     DM9102A-DS-F01, January 20, 2000.

     ASIX Electronics Co., ASIX AX88140A 100BaseTX/FX PCI Bus Fast Ethernet
     MAC Controller, Preliminary, March 11, 1997, Document Number AX140D2.DOC.

     Conexant Systems, Inc., LANfinity - Home Networking Physical Layer Device
     with Integrated Analog Front End Circuitry, Revision A, March 12, 1999.

HISTORY
     The tlp driver first appeared in NetBSD 1.5.

AUTHORS
     The tlp driver was written by Jason R. Thorpe while employed at the
     Numerical Aerospace Simulation Facility, NASA Ames Research Center.  The
     author may be contacted at <thorpej@NetBSD.org>.

     ASIX AX88140A and AX881401 support was added by Rui Paulo
     <rpaulo@NetBSD.org>.

     Conexant RS7112 support was contributed by Frank Wille
     <frank@phoenix.owl.de>.

BUGS
     Media autosense is not yet supported for any serial or PCS function
     media.  It is, however, supported for IEEE 802.3u-compliant PHY media.

NetBSD 10.99                    March 26, 2006                    NetBSD 10.99