1.\" $NetBSD: tlp.4,v 1.24 2006/06/17 04:58:14 reed Exp $ 2.\" 3.\" Copyright (c) 1999-2006 The NetBSD Foundation, Inc. 4.\" All rights reserved. 5.\" 6.\" This code is derived from software contributed to The NetBSD Foundation 7.\" by Jason R. Thorpe of the Numerical Aerospace Simulation Facility, 8.\" NASA Ames Research Center. 9.\" 10.\" Redistribution and use in source and binary forms, with or without 11.\" modification, are permitted provided that the following conditions 12.\" are met: 13.\" 1. Redistributions of source code must retain the above copyright 14.\" notice, this list of conditions and the following disclaimer. 15.\" 2. Redistributions in binary form must reproduce the above copyright 16.\" notice, this list of conditions and the following disclaimer in the 17.\" documentation and/or other materials provided with the distribution. 18.\" 3. All advertising materials mentioning features or use of this software 19.\" must display the following acknowledgement: 20.\" This product includes software developed by the NetBSD 21.\" Foundation, Inc. and its contributors. 22.\" 4. Neither the name of The NetBSD Foundation nor the names of its 23.\" contributors may be used to endorse or promote products derived 24.\" from this software without specific prior written permission. 25.\" 26.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 27.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 28.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 29.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 30.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 33.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 34.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 35.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 36.\" POSSIBILITY OF SUCH DAMAGE. 37.\" 38.Dd March 26, 2006 39.Dt TLP 4 40.Os 41.Sh NAME 42.Nm tlp 43.Nd DECchip 21x4x and clone Ethernet interfaces device driver 44.Sh SYNOPSIS 45.Cd "tlp* at eisa? slot ?" 46.Cd "tlp* at pci? dev ? function ?" 47.Cd "tlp* at cardbus? function ?" 48.Pp 49Configuration of PHYs may also be necessary. 50See 51.Xr mii 4 . 52.Sh DESCRIPTION 53The 54.Nm 55device driver supports Ethernet interfaces based on the DECchip 21x4x 56.Dq Tulip 57(DEC fourth generation Ethernet controller) and a variety of clone chips. 58The Tulip has several features designed to make it flexible and reduce 59CPU usage: 60.Bl -bullet -offset indent 61.It 62Flexible receive filter allowing for 16 perfect matches, 16 perfect 63inverse matches, 512-bit hash table plus 1 perfect match, or 64512-bit hash table only. 65.It 66Uniform transmit descriptor architecture, configurable as a ring (allowing 672 buffers per descriptor) or a chain (allowing 1 buffer per descriptor). 68.It 69Uniform receive descriptor architecture, configurable as a ring (allowing 702 buffers per descriptor) or a chain (allowing 1 buffer per descriptor). 71.It 72Interrupt pacing; host may choose whether or not completion of processing of 73an individual descriptor causes an interrupt. 74.It 75Support for jumbo packets (by disabling transmit and receive watchdog 76timers). 77.It 78A patented transmit backoff algorithm which solves the Ethernet capture 79effect problem. 80.It 81Flexible bus modes to optimize DMA cycles for various cache sizes and 82bus implementations. 83.It 84Programmable transmit FIFO drain threshold to allow DMA overlap and reduce 85time to transmit. 86.It 87Flexible media attachment facilities. 88.El 89.Pp 90The 91.Nm 92driver supports the following chips: 93.Bl -bullet -offset indent 94.It 95.Em DECchip 21040 96-- This is the original Tulip Ethernet chip. 97It supports 10Mb/s speeds over a built-in serial interface. 98The serial interface has support for 10BASE-T and AUI media. 99The AUI port may be connected to 10BASE5 AUI or 10BASE2 BNC 100connectors, or both, selected by a gang jumper on the board. 101Some boards connect the BNC connector to an external serial interface. 102The driver has no way of knowing this, but the external 103serial interface may be selected with the 104.Dq manual 105media setting. 106.Pp 107Boards that include this chip include the DEC DE-435, on-board Ethernet on 108many DEC AlphaStation and AlphaServer systems, ZNYX ZX312, ZX312T, 109ZX314, ZX315, SMC 8432, SMC 8434, ACCTON EN1203, and some Cogent 110multi-port boards. 111.Pp 112This chip also appears on the DEC DE-425 EISA Ethernet board. 113This board is a DECchip 21040 and a PLX PCI glue chip, which provides 114the interface to the EISA bus, and special address decoding so that 115the PCI configuration space registers of the 21040 are accessible 116in normal EISA I/O space. 117.Pp 118The very first versions of this chip were labeled 119.Dq DC1003 120and 121.Dq DC1003 Prototype . 122.It 123.Em DECchip 21041 124-- This is the second chip in the Tulip family, dubbed 125.Dq Tulip Plus . 126It supports 10Mb/s speeds over a built-in serial interface. 127The serial interface has support for 10BASE-T, 10BASE5 AUI, and 12810BASE2 BNC media. 129The serial interface also includes support for IEEE 802.3u NWay over 130the 10BASE-T interface, for negotiation of duplex mode with the link 131partner. 132.Pp 133Boards that include this chip include the DEC DE-450 and some SMC boards. 134.It 135.Em DECchip 21140 and 21140A 136-- This is the third chip in the Tulip family, dubbed 137.Dq FasterNet . 138It supports 10Mb/s speeds with a built-in 10BASE-T encoder/decoder, 139and 100Mb/s speeds with a built-in 100BASE PCS function. 140Support for 100BASE-TX and 100BASE-T4 is provided by a built-in 141scrambler. 142Support for 100BASE-FX is possible with an appropriate PMD connected 143to the 100BASE PCS. 144The 21140 and 21140A also support 10Mb/s and 145100Mb/s speeds over an MII interface connected to one or more PHYs. 146.Pp 147The 21140 and 21140A include a general purpose I/O facility, which 148may be used to toggle relays on the board. 149This facility is often used to reset individual board modules (e.g. 150the MII bus), select the output path of the chip (e.g. connect the 151UTP port on the board to the PHY, built-in 10BASE-T ENDEC, or 152built-in 100BASE-T PMD), or detect link status (by reading an output 153pin on the 100BASE-T magnetics). 154.Pp 155The 21140 and 21140A use a standardized data structure located in 156the SROM to describe how the chip should be programmed for various 157media settings, including the internal chip pathway, and GPIO settings. 158If the SROM data is not in the standardized format, the device driver 159must know specific programming information for that particular board. 160.Pp 161Boards that include the 21140 and 21140A include the DEC EB140, DE-500XA, 162DE-500AA, Asante EtherFast, DaynaPORT BlueStreak, Cogent EM100TX, EM110TX, 163EM440T4 multi-port, Kingston KNE100TX, older versions of the NetGear FA-310TX, 164SMC 9332, SMC 9334, ZNYX ZX34x multi-port, and Adaptec ANA-6944A/TX multi-port. 165.It 166.Em DECchip 21142 and 21143 167-- These are the fourth and fifth chips in the Tulip family. 168While they have two different chip numbers, the 21142 and 21143 169are essentially identical, with only minor differences related to 170available technology at time of manufacture. 171Both chips include support for 10Mb/s speeds over a built-in serial 172interface, and support for 10Mb/s and 100Mb/s speeds over an MII 173interface connected to one or more PHYs. 174The serial interface includes support for 10BASE-T, 10BASE5 AUI, 175and 10BASE2 BNC media, as well as support for IEEE 802.3u NWay over 176the 10BASE-T interface, for negotiation of duplex mode and link 177speed with the link partner. 178.Pp 179The 21143 adds support for 100Mb/s speeds with a built-in 180PCS function. 181Support for 100BASE-TX and 100BASE-T4 is provided by 182a built-in scrambler. 183Support for 100BASE-FX is possible with an 184appropriate PMD connected to the 100BASE PCS. 185.Pp 186The 21142 and 21143 include a general purpose I/O facility, which 187may be used to toggle relays on the board. 188This facility is often used to reset individual board modules (e.g. 189the MII bus), select the output path of the chip (e.g. connect the 190UTP port on the board to the PHY, built-in serial interface, or 191built-in 100BASE-T PMD), or detect link status (by reading an output 192pin on the 100BASE-T magnetics). 193.Pp 194The 21142 and 21143 use a standardized data structure located in 195the SROM to describe how the chip should be programmed for various 196media settings, including the internal chip pathway, and GPIO settings. 197If the SROM data is not in the standardized format, the device driver 198must know specific programming information for that particular board. 199.Pp 200Boards that include the 21142 include the DEC EB142, and on-board Ethernet 201on the Digital Personal Workstation (Alpha 202.Dq Miata 203and x86 models) and several Digital PCs. 204.Pp 205Boards that include the 21143 include the DEC EB143, DE-500BA, several 206commonly-available 100BASE-FX boards, the NetGear FA-510c CardBus 207card, and the Compu-Shack FASTline-II PCI boards. 208.It 209.Em Lite-On 82C168 and 82C169 210-- These chips, dubbed 211.Dq PNIC , 212were some of the first commonly-available Tulip clones, 213appearing on low-cost boards when it became difficult for board 214vendors to obtain DECchip 21140A parts. 215They include support for 10Mb/s speeds over a built-in 10BASE-T 216encoder/decoder, and 100Mb/s speeds over a built-in PCS function. 217Support for 100BASE-TX and 100BASE-T4 is provided by a built-in 218scrambler and transceiver module. 219The transceiver module also includes support for NWay, 220for negotiating duplex mode and link speed with the link partner. 221These chips also include support for 10Mb/s and 100Mb/s speeds over 222and MII interface connected to one or more PHYs. 223.Pp 224These chips also include a GPIO facility, although it is programmed 225differently than the 21140's. 226.Pp 227Unfortunately, these chips seem to be plagued by two unfortunate 228hardware bugs: in some situations, the receive logic incorrectly 229dumps the entire transmit FIFO into the receive chain, rather 230than a single Ethernet frame, and the DMA engines appear to be 231substandard; they must be run in store-and-forward mode, and 232occasionally fail to upload the filter setup frame. 233.Pp 234Boards that include the 82C168 and 82C169 include the newer NetGear 235FA-310TX, the Kingston KNE110TX, and some older LinkSys LNE100TX boards. 236.It 237.Em Macronix 98713, 98713A, 98715, 98715A, and 98725 238-- Of all the clones, these chips, dubbed 239.Dq PMAC , 240are the best. 241They are very close clones of their respective 242originals, with the exception of some slight programming magic 243necessary to work around an apparent hardware bug. 244.Pp 245The 98713 is a DECchip 21140A clone. 246It includes all of the 21140A's features, and uses the same SROM 247data format. 248.Pp 249The 98713A is a half-clone of the DECchip 21143. 250It has support for serial, PCS, and MII media. 251The serial interface has a built-in NWay function. 252However, the 98713A does not have a GPIO facility, and, 253as a result, usually does not use the same SROM format as the 21143 (no 254need for GPIO programming information). 255.Pp 256The 98715, 98715A, and 98725 are more 21143-like, but lack the GPIO 257facility and MII. 258These chips also support ACPI power management. 259.Pp 260Boards that include the Macronix chips include some SVEC boards, 261some SOHOWare boards, and the Compex RL100TX. 262.It 263.Em Lite-On/Macronix 82C115 264-- This chip, dubbed the 265.Dq PNIC-II , 266was co-designed by Lite-On and Macronix. 267It is almost identical to the Macronix 98725, with a few exceptions: 268it has Wake-On-LAN support, uses a 128-bit receive filter hash 269table, and supports IEEE 802.3x flow control. 270.Pp 271Boards that include the 82C115 include the newer LinkSys (Version 2) 272LNE100TX boards. 273.It 274.Em Winbond 89C840F 275-- This chip is a very low-end barely-a-clone of the 21140. 276It supports 10Mb/s and 100Mb/s speeds over an MII interface only, 277and has several programming differences from the 21140. 278.Pp 279The receive filter is completely different: it supports only a single 280perfect match, and has only a 64-bit multicast filter hash table. 281The receive filter is programmed using special registers rather 282than the standard Tulip setup frame. 283.Pp 284This chip is also plagued by a terrible DMA engine. 285The chip must be run in store-and-forward mode or it will often 286transmit garbage onto the wire. 287.Pp 288Interrupt pacing is also less flexible on the chip. 289.Pp 290Boards that include the 89C940F include the Complex RL100ATX, 291some Unicom 10/100 boards, and several no-name 10/100 boards. 292.It 293.Em ADMtek AL981 294-- This chip is a low cost, single-chip (sans magnetics) 10/100 Ethernet 295implementation. 296It supports 10Mb/s and 100Mb/s speeds over an internal PHY. 297There is no generic MII bus; instead the IEEE 802.3u-compliant PHY 298is accessed via special registers on the chip. 299This chip also supports Wake-On-LAN and IEEE 802.3x flow control. 300.Pp 301The receive filter on the AL981 is completely different: it supports only 302a single perfect match, and has only a 64-bit multicast filter hash table. 303The receive filter is programmed using special registers rather than the 304standard Tulip setup frame. 305.Pp 306This chip also supports ACPI power management. 307.Pp 308A list of boards which include the AL981 is not yet available. 309.Pp 310Support for the AL981 has not yet been tested. 311If you have a board 312which uses this chip, please contact the author (listed below). 313.It 314.Em Xircom X3201-3 315-- This chip is a CardBus 21143 clone with a loosely-coupled modem 316function (the modem is on a separate CardBus function, but the MAC 317portion includes a shadow of its interrupt status). 318Media is provided 319by an IEEE 802.3u-compliant PHY connected to an MII interface. 320These chips have no SROM; instead, the MAC address must be obtained 321from the card's CIS information. 322Unlike most other Tulip-like chips, the X3201-3 323requires that transmit buffers be aligned to a 4-byte boundary. 324This virtually ensures that each outgoing packet must be copied 325into an aligned buffer, since the Ethernet header is 14 bytes long. 326.Pp 327This chip also supports ACPI power management. 328.Pp 329This chip is found in Xircom RealPort(tm) 10/100 CardBus Ethernet/Modem 330cards, as well as some Intel OEM'd RealPort(tm) and IBM Etherjet cards. 331.It 332.Em Davicom DM9102 and DM9102A 333-- These chips are 21104A-like with a few minor exceptions. 334Media is provided by an internal IEEE 802.3u-compliant PHY accessed 335as if it were connected to a normal MII interface. 336The DM9102A also provides an external MII interface, to which a 337HomePNA 1 PHY is typically connected. 338The DM9102A also includes support for CardBus. 339.Pp 340This chip also supports ACPI power management and Wake-On-LAN. 341.Pp 342A complete list of boards with the DM9102 and DM9102A is not available. 343However, the DM9102 is often found on PC motherboards that include a 344built-in Ethernet interface. 345.It 346.Em ASIX AX88140A and AX88141 347-- These chips are 21143-like with some exceptions. 348Media is proved by an internal IEEE 802.3u-compliant PHY connected to 349an MII interface. 350Unlike most other Tulip-like chips, AX88140A and AX88141 both require 351that the transmit buffers be aligned to a 4-byte boundary. 352.Pp 353It has a specific broadcast bit. 354.Pp 355This chip also supports ACPI power management. 356.Pp 357A list of boards which include the AX88140A or the AX88141 is not 358yet available. 359.It 360.Em Conexant RS7112 (LANfinity) 361-- These chips are 21143 clones with coupled modem function. 362Media is provided 363by an IEEE 802.3u-compliant PHY connected to an MII interface. 364.Pp 365A list of boards which include the RS7112 is not yet available. 366.El 367.Sh MEDIA SELECTION 368Media selection done using 369.Xr ifconfig 8 370using the standard 371.Xr ifmedia 4 372mechanism. 373Refer to those manual pages for more information. 374.\" .Sh DIAGNOSTICS 375.\" XXX too be done. 376.Sh SEE ALSO 377.Xr arp 4 , 378.Xr eisa 4 , 379.Xr ifmedia 4 , 380.Xr mii 4 , 381.Xr netintro 4 , 382.Xr pci 4 , 383.Xr ifconfig 8 384.Rs 385.%T "DECchip 21040 Ethernet LAN Controller for PCI Hardware Reference Manual" 386.%D May 1994 387.%A Digital Equipment Corporation 388.%O Order Number EC-N0752-72 389.Re 390.Rs 391.%T "DECchip 21041 PCI Ethernet LAN Controller Hardware Reference Manual" 392.%N Preliminary 393.%D April 1995 394.%A Digital Equipment Corporation 395.%O Order Number EC-QAWXA-TE 396.Re 397.Rs 398.%T "DECchip 21041 DC1017-BA Errata" 399.%N Revision 1.0 400.%D April 27, 1995 401.%A Digital Equipment Corporation 402.%O Order Number EC-QD2MA-TE 403.Re 404.Rs 405.%T "DECchip 21140 PCI Fast Ethernet LAN Controller Hardware Reference Manual" 406.%N Supersedes EC-Q0CA-TE 407.%D May 1995 408.%A Digital Equipment Corporation 409.%O Order Number EC-Q0CB-TE 410.Re 411.Rs 412.%T "DECchip 21140A PCI Fast Ethernet LAN Controller Hardware Reference Manual" 413.%N Supersedes EC-QN7NA-TE, EC-QN7NB-TE 414.%D January 1996 415.%A Digital Equipment Corporation 416.%O Order Number EC-QN7NC-TE 417.Re 418.Rs 419.%T "21143 PCI/CardBus 10/100Mb/s Ethernet LAN Controller Hardware Reference Manual" 420.%N Revision 1.0 421.%D October 1998 422.%A Intel Corporation 423.%O Document Number 278074-001 424.Re 425.Rs 426.%T "Ethernet Address ROM Programming: An Application Note" 427.%D April 1994 428.%A Digital Equipment Corporation 429.%O Order Number EC-N3214-72 430.Re 431.Rs 432.%T "Using the DECchip 21041 with Boot ROM, Serial ROM, and External Register: An Application Note" 433.%D April 1995 434.%A Digital Equipment Corporation 435.%O Order Number EC-QJLGA-TE 436.Re 437.Rs 438.%T "Connecting the DECchip 21140 PCI Fast Ethernet LAN Controller to the Network: An Application Note" 439.%N Preliminary 440.%D December 1994 441.%A Digital Equipment Corporation 442.%O Order Number EC-QAR2A-TE 443.Re 444.Rs 445.%T "MXIC MX98713 PMAC 100/10BASE PCI MAC Controller" 446.%N Revision 1.1 447.%D November 8, 1996 448.%A Macronix International Co., Ltd. 449.%O Part Number: PM0386 450.Re 451.Rs 452.%T "MXIC MX98713A Fast Ethernet MAC Controller" 453.%N Revision 1.0 454.%D August 28, 1997 455.%A Macronix International Co., Ltd. 456.%O Part Number: PM0489 457.Re 458.Rs 459.%T "MXIC MX98715A Single Chip Fast Ethernet NIC Controller" 460.%N Revision 1.2 461.%D February 24, 1999 462.%A Macronix International Co., Ltd. 463.%O Part Number: PM0537 464.Re 465.Rs 466.%T "MXIC MX98725 Single Chip Fast Ethernet NIC Controller" 467.%N Revision 1.7 468.%D September 15, 1998 469.%A Macronix International Co., Ltd. 470.%O Part Number: PM0468 471.Re 472.Rs 473.%T "MXIC MX98715 Application Note" 474.%N Revision 1.5 475.%D October 9, 1998 476.%A Macronix International Co., Ltd. 477.%O Part Number: PM0498 478.Re 479.Rs 480.%T "MXIC MX98715A Application Note" 481.%N Revision 1.2 482.%D October 9, 1998 483.%A Macronix International Co., Ltd. 484.%O Part Number: PM0541 485.Re 486.Rs 487.%T "MXIC MX98725 Application Note" 488.%N Revision 1.1 489.%D July 10, 1998 490.%A Macronix International Co., Ltd. 491.%O Part Number: PM0525 492.Re 493.Rs 494.%T "MXIC LC82C115 Single Chip Fast Ethernet NIC Controller" 495.%N Revision 0.2 496.%D February 12, 1999 497.%A Macronix International Co., Ltd. 498.%O Part Number: PM0572 499.Re 500.Rs 501.%T "PNIC Hardware Specification" 502.%N Revision 1.0 503.%D December 1, 1994 504.%A LITE ON, Inc. 505.Re 506.Rs 507.%T "Comet: AL981 PCI 10/100 Fast Ethernet Controller with Integrated PHY" 508.%N Revision 0.93 509.%D January, 1999 510.%A ADMtek Incorporated 511.Re 512.Rs 513.%T "Winbond LAN W89C840F 100/10Mbps Ethernet Controller" 514.%N Revision A1 515.%D April 1997 516.%A Winbond Electronics Corporation 517.Re 518.Rs 519.%T "Xircom X3201-3 CardBus 10/100 Mbps Ethernet Controller Software Developer's Specification" 520.%N Revision B 521.%D April 7, 1999 522.%O Reference number: 103-0548-001 523.Re 524.Rs 525.%T "Davicom DM9102 10/100 Mbps Single Chip LAN Controller" 526.%N Version DM9102-DS-F01 527.%D July 22, 1999 528.Re 529.Rs 530.%T "Davicom DM9102A Single Chip Fast Ethernet NIC Controller" 531.%N Version DM9102A-DS-F01 532.%D January 20, 2000 533.Re 534.Rs 535.%T "ASIX AX88140A 100BaseTX/FX PCI Bus Fast Ethernet MAC Controller" 536.%D March 11, 1997 537.%N Preliminary 538.%A ASIX Electronics Co. 539.%O Document Number AX140D2.DOC 540.Re 541.Rs 542.%T "LANfinity - Home Networking Physical Layer Device with Integrated Analog Front End Circuitry" 543.%A Conexant Systems, Inc. 544.%N Revision A 545.%D March 12, 1999 546.Re 547.Sh HISTORY 548The 549.Nm 550driver first appeared in 551.Nx 1.5 . 552.Sh AUTHORS 553.An -nosplit 554The 555.Nm 556driver was written by 557.An Jason R. Thorpe 558while employed at the Numerical Aerospace Simulation Facility, 559NASA Ames Research Center. 560The author may be contacted at 561.Aq thorpej@NetBSD.org . 562.Pp 563ASIX AX88140A and AX881401 support was added by 564.An Rui Paulo 565.Aq rpaulo@NetBSD.org . 566.Pp 567Conexant RS7112 support was contributed by 568.An Frank Wille 569.Aq frank@phoenix.owl.de . 570.Sh BUGS 571Media autosense is not yet supported for any serial or PCS function media. 572It is, however, supported for IEEE 802.3u-compliant PHY media. 573