1 .\" $NetBSD: tlp.4,v 1.24 2006/06/17 04:58:14 reed Exp $
3 .\" Copyright (c) 1999-2006 The NetBSD Foundation, Inc.
4 .\" All rights reserved.
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.
10 .\" Redistribution and use in source and binary forms, with or without
11 .\" modification, are permitted provided that the following conditions
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.
19 .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20 .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21 .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23 .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 .\" POSSIBILITY OF SUCH DAMAGE.
36 .Nd DECchip 21x4x and clone Ethernet interfaces device driver
38 .Cd "tlp* at eisa? slot ?"
39 .Cd "tlp* at pci? dev ? function ?"
40 .Cd "tlp* at cardbus? function ?"
42 Configuration of PHYs may also be necessary.
48 device driver supports Ethernet interfaces based on the DECchip 21x4x
50 (DEC fourth generation Ethernet controller) and a variety of clone chips.
51 The Tulip has several features designed to make it flexible and reduce
53 .Bl -bullet -offset indent
55 Flexible receive filter allowing for 16 perfect matches, 16 perfect
56 inverse matches, 512-bit hash table plus 1 perfect match, or
57 512-bit hash table only.
59 Uniform transmit descriptor architecture, configurable as a ring (allowing
60 2 buffers per descriptor) or a chain (allowing 1 buffer per descriptor).
62 Uniform receive descriptor architecture, configurable as a ring (allowing
63 2 buffers per descriptor) or a chain (allowing 1 buffer per descriptor).
65 Interrupt pacing; host may choose whether or not completion of processing of
66 an individual descriptor causes an interrupt.
68 Support for jumbo packets (by disabling transmit and receive watchdog
71 A patented transmit backoff algorithm which solves the Ethernet capture
74 Flexible bus modes to optimize DMA cycles for various cache sizes and
77 Programmable transmit FIFO drain threshold to allow DMA overlap and reduce
80 Flexible media attachment facilities.
85 driver supports the following chips:
86 .Bl -bullet -offset indent
89 -- This is the original Tulip Ethernet chip.
90 It supports 10Mb/s speeds over a built-in serial interface.
91 The serial interface has support for 10BASE-T and AUI media.
92 The AUI port may be connected to 10BASE5 AUI or 10BASE2 BNC
93 connectors, or both, selected by a gang jumper on the board.
94 Some boards connect the BNC connector to an external serial interface.
95 The driver has no way of knowing this, but the external
96 serial interface may be selected with the
100 Boards that include this chip include the DEC DE-435, on-board Ethernet on
101 many DEC AlphaStation and AlphaServer systems, ZNYX ZX312, ZX312T,
102 ZX314, ZX315, SMC 8432, SMC 8434, ACCTON EN1203, and some Cogent
105 This chip also appears on the DEC DE-425 EISA Ethernet board.
106 This board is a DECchip 21040 and a PLX PCI glue chip, which provides
107 the interface to the EISA bus, and special address decoding so that
108 the PCI configuration space registers of the 21040 are accessible
109 in normal EISA I/O space.
111 The very first versions of this chip were labeled
114 .Dq DC1003 Prototype .
117 -- This is the second chip in the Tulip family, dubbed
119 It supports 10Mb/s speeds over a built-in serial interface.
120 The serial interface has support for 10BASE-T, 10BASE5 AUI, and
122 The serial interface also includes support for IEEE 802.3u NWay over
123 the 10BASE-T interface, for negotiation of duplex mode with the link
126 Boards that include this chip include the DEC DE-450 and some SMC boards.
128 .Em DECchip 21140 and 21140A
129 -- This is the third chip in the Tulip family, dubbed
131 It supports 10Mb/s speeds with a built-in 10BASE-T encoder/decoder,
132 and 100Mb/s speeds with a built-in 100BASE PCS function.
133 Support for 100BASE-TX and 100BASE-T4 is provided by a built-in
135 Support for 100BASE-FX is possible with an appropriate PMD connected
137 The 21140 and 21140A also support 10Mb/s and
138 100Mb/s speeds over an MII interface connected to one or more PHYs.
140 The 21140 and 21140A include a general purpose I/O facility, which
141 may be used to toggle relays on the board.
142 This facility is often used to reset individual board modules (e.g.
143 the MII bus), select the output path of the chip (e.g. connect the
144 UTP port on the board to the PHY, built-in 10BASE-T ENDEC, or
145 built-in 100BASE-T PMD), or detect link status (by reading an output
146 pin on the 100BASE-T magnetics).
148 The 21140 and 21140A use a standardized data structure located in
149 the SROM to describe how the chip should be programmed for various
150 media settings, including the internal chip pathway, and GPIO settings.
151 If the SROM data is not in the standardized format, the device driver
152 must know specific programming information for that particular board.
154 Boards that include the 21140 and 21140A include the DEC EB140, DE-500XA,
155 DE-500AA, Asante EtherFast, DaynaPORT BlueStreak, Cogent EM100TX, EM110TX,
156 EM440T4 multi-port, Kingston KNE100TX, older versions of the NetGear FA-310TX,
157 SMC 9332, SMC 9334, ZNYX ZX34x multi-port, and Adaptec ANA-6944A/TX multi-port.
159 .Em DECchip 21142 and 21143
160 -- These are the fourth and fifth chips in the Tulip family.
161 While they have two different chip numbers, the 21142 and 21143
162 are essentially identical, with only minor differences related to
163 available technology at time of manufacture.
164 Both chips include support for 10Mb/s speeds over a built-in serial
165 interface, and support for 10Mb/s and 100Mb/s speeds over an MII
166 interface connected to one or more PHYs.
167 The serial interface includes support for 10BASE-T, 10BASE5 AUI,
168 and 10BASE2 BNC media, as well as support for IEEE 802.3u NWay over
169 the 10BASE-T interface, for negotiation of duplex mode and link
170 speed with the link partner.
172 The 21143 adds support for 100Mb/s speeds with a built-in
174 Support for 100BASE-TX and 100BASE-T4 is provided by
175 a built-in scrambler.
176 Support for 100BASE-FX is possible with an
177 appropriate PMD connected to the 100BASE PCS.
179 The 21142 and 21143 include a general purpose I/O facility, which
180 may be used to toggle relays on the board.
181 This facility is often used to reset individual board modules (e.g.
182 the MII bus), select the output path of the chip (e.g. connect the
183 UTP port on the board to the PHY, built-in serial interface, or
184 built-in 100BASE-T PMD), or detect link status (by reading an output
185 pin on the 100BASE-T magnetics).
187 The 21142 and 21143 use a standardized data structure located in
188 the SROM to describe how the chip should be programmed for various
189 media settings, including the internal chip pathway, and GPIO settings.
190 If the SROM data is not in the standardized format, the device driver
191 must know specific programming information for that particular board.
193 Boards that include the 21142 include the DEC EB142, and on-board Ethernet
194 on the Digital Personal Workstation (Alpha
196 and x86 models) and several Digital PCs.
198 Boards that include the 21143 include the DEC EB143, DE-500BA, several
199 commonly-available 100BASE-FX boards, the NetGear FA-510c CardBus
200 card, and the Compu-Shack FASTline-II PCI boards.
202 .Em Lite-On 82C168 and 82C169
203 -- These chips, dubbed
205 were some of the first commonly-available Tulip clones,
206 appearing on low-cost boards when it became difficult for board
207 vendors to obtain DECchip 21140A parts.
208 They include support for 10Mb/s speeds over a built-in 10BASE-T
209 encoder/decoder, and 100Mb/s speeds over a built-in PCS function.
210 Support for 100BASE-TX and 100BASE-T4 is provided by a built-in
211 scrambler and transceiver module.
212 The transceiver module also includes support for NWay,
213 for negotiating duplex mode and link speed with the link partner.
214 These chips also include support for 10Mb/s and 100Mb/s speeds over
215 and MII interface connected to one or more PHYs.
217 These chips also include a GPIO facility, although it is programmed
218 differently than the 21140's.
220 Unfortunately, these chips seem to be plagued by two unfortunate
221 hardware bugs: in some situations, the receive logic incorrectly
222 dumps the entire transmit FIFO into the receive chain, rather
223 than a single Ethernet frame, and the DMA engines appear to be
224 substandard; they must be run in store-and-forward mode, and
225 occasionally fail to upload the filter setup frame.
227 Boards that include the 82C168 and 82C169 include the newer NetGear
228 FA-310TX, the Kingston KNE110TX, and some older LinkSys LNE100TX boards.
230 .Em Macronix 98713, 98713A, 98715, 98715A, and 98725
231 -- Of all the clones, these chips, dubbed
234 They are very close clones of their respective
235 originals, with the exception of some slight programming magic
236 necessary to work around an apparent hardware bug.
238 The 98713 is a DECchip 21140A clone.
239 It includes all of the 21140A's features, and uses the same SROM
242 The 98713A is a half-clone of the DECchip 21143.
243 It has support for serial, PCS, and MII media.
244 The serial interface has a built-in NWay function.
245 However, the 98713A does not have a GPIO facility, and,
246 as a result, usually does not use the same SROM format as the 21143 (no
247 need for GPIO programming information).
249 The 98715, 98715A, and 98725 are more 21143-like, but lack the GPIO
251 These chips also support ACPI power management.
253 Boards that include the Macronix chips include some SVEC boards,
254 some SOHOWare boards, and the Compex RL100TX.
256 .Em Lite-On/Macronix 82C115
257 -- This chip, dubbed the
259 was co-designed by Lite-On and Macronix.
260 It is almost identical to the Macronix 98725, with a few exceptions:
261 it has Wake-On-LAN support, uses a 128-bit receive filter hash
262 table, and supports IEEE 802.3x flow control.
264 Boards that include the 82C115 include the newer LinkSys (Version 2)
268 -- This chip is a very low-end barely-a-clone of the 21140.
269 It supports 10Mb/s and 100Mb/s speeds over an MII interface only,
270 and has several programming differences from the 21140.
272 The receive filter is completely different: it supports only a single
273 perfect match, and has only a 64-bit multicast filter hash table.
274 The receive filter is programmed using special registers rather
275 than the standard Tulip setup frame.
277 This chip is also plagued by a terrible DMA engine.
278 The chip must be run in store-and-forward mode or it will often
279 transmit garbage onto the wire.
281 Interrupt pacing is also less flexible on the chip.
283 Boards that include the 89C940F include the Complex RL100ATX,
284 some Unicom 10/100 boards, and several no-name 10/100 boards.
287 -- This chip is a low cost, single-chip (sans magnetics) 10/100 Ethernet
289 It supports 10Mb/s and 100Mb/s speeds over an internal PHY.
290 There is no generic MII bus; instead the IEEE 802.3u-compliant PHY
291 is accessed via special registers on the chip.
292 This chip also supports Wake-On-LAN and IEEE 802.3x flow control.
294 The receive filter on the AL981 is completely different: it supports only
295 a single perfect match, and has only a 64-bit multicast filter hash table.
296 The receive filter is programmed using special registers rather than the
297 standard Tulip setup frame.
299 This chip also supports ACPI power management.
301 A list of boards which include the AL981 is not yet available.
303 Support for the AL981 has not yet been tested.
305 which uses this chip, please contact the author (listed below).
308 -- This chip is a CardBus 21143 clone with a loosely-coupled modem
309 function (the modem is on a separate CardBus function, but the MAC
310 portion includes a shadow of its interrupt status).
312 by an IEEE 802.3u-compliant PHY connected to an MII interface.
313 These chips have no SROM; instead, the MAC address must be obtained
314 from the card's CIS information.
315 Unlike most other Tulip-like chips, the X3201-3
316 requires that transmit buffers be aligned to a 4-byte boundary.
317 This virtually ensures that each outgoing packet must be copied
318 into an aligned buffer, since the Ethernet header is 14 bytes long.
320 This chip also supports ACPI power management.
322 This chip is found in Xircom RealPort(tm) 10/100 CardBus Ethernet/Modem
323 cards, as well as some Intel OEM'd RealPort(tm) and IBM Etherjet cards.
325 .Em Davicom DM9102 and DM9102A
326 -- These chips are 21104A-like with a few minor exceptions.
327 Media is provided by an internal IEEE 802.3u-compliant PHY accessed
328 as if it were connected to a normal MII interface.
329 The DM9102A also provides an external MII interface, to which a
330 HomePNA 1 PHY is typically connected.
331 The DM9102A also includes support for CardBus.
333 This chip also supports ACPI power management and Wake-On-LAN.
335 A complete list of boards with the DM9102 and DM9102A is not available.
336 However, the DM9102 is often found on PC motherboards that include a
337 built-in Ethernet interface.
339 .Em ASIX AX88140A and AX88141
340 -- These chips are 21143-like with some exceptions.
341 Media is proved by an internal IEEE 802.3u-compliant PHY connected to
343 Unlike most other Tulip-like chips, AX88140A and AX88141 both require
344 that the transmit buffers be aligned to a 4-byte boundary.
346 It has a specific broadcast bit.
348 This chip also supports ACPI power management.
350 A list of boards which include the AX88140A or the AX88141 is not
353 .Em Conexant RS7112 (LANfinity)
354 -- These chips are 21143 clones with coupled modem function.
356 by an IEEE 802.3u-compliant PHY connected to an MII interface.
358 A list of boards which include the RS7112 is not yet available.
361 Media selection done using
366 Refer to those manual pages for more information.
378 .%T "DECchip 21040 Ethernet LAN Controller for PCI Hardware Reference Manual"
380 .%A Digital Equipment Corporation
381 .%O Order Number EC-N0752-72
384 .%T "DECchip 21041 PCI Ethernet LAN Controller Hardware Reference Manual"
387 .%A Digital Equipment Corporation
388 .%O Order Number EC-QAWXA-TE
391 .%T "DECchip 21041 DC1017-BA Errata"
394 .%A Digital Equipment Corporation
395 .%O Order Number EC-QD2MA-TE
398 .%T "DECchip 21140 PCI Fast Ethernet LAN Controller Hardware Reference Manual"
399 .%N Supersedes EC-Q0CA-TE
401 .%A Digital Equipment Corporation
402 .%O Order Number EC-Q0CB-TE
405 .%T "DECchip 21140A PCI Fast Ethernet LAN Controller Hardware Reference Manual"
406 .%N Supersedes EC-QN7NA-TE, EC-QN7NB-TE
408 .%A Digital Equipment Corporation
409 .%O Order Number EC-QN7NC-TE
412 .%T "21143 PCI/CardBus 10/100Mb/s Ethernet LAN Controller Hardware Reference Manual"
415 .%A Intel Corporation
416 .%O Document Number 278074-001
419 .%T "Ethernet Address ROM Programming: An Application Note"
421 .%A Digital Equipment Corporation
422 .%O Order Number EC-N3214-72
425 .%T "Using the DECchip 21041 with Boot ROM, Serial ROM, and External Register: An Application Note"
427 .%A Digital Equipment Corporation
428 .%O Order Number EC-QJLGA-TE
431 .%T "Connecting the DECchip 21140 PCI Fast Ethernet LAN Controller to the Network: An Application Note"
434 .%A Digital Equipment Corporation
435 .%O Order Number EC-QAR2A-TE
438 .%T "MXIC MX98713 PMAC 100/10BASE PCI MAC Controller"
441 .%A Macronix International Co., Ltd.
442 .%O Part Number: PM0386
445 .%T "MXIC MX98713A Fast Ethernet MAC Controller"
448 .%A Macronix International Co., Ltd.
449 .%O Part Number: PM0489
452 .%T "MXIC MX98715A Single Chip Fast Ethernet NIC Controller"
454 .%D February 24, 1999
455 .%A Macronix International Co., Ltd.
456 .%O Part Number: PM0537
459 .%T "MXIC MX98725 Single Chip Fast Ethernet NIC Controller"
461 .%D September 15, 1998
462 .%A Macronix International Co., Ltd.
463 .%O Part Number: PM0468
466 .%T "MXIC MX98715 Application Note"
469 .%A Macronix International Co., Ltd.
470 .%O Part Number: PM0498
473 .%T "MXIC MX98715A Application Note"
476 .%A Macronix International Co., Ltd.
477 .%O Part Number: PM0541
480 .%T "MXIC MX98725 Application Note"
483 .%A Macronix International Co., Ltd.
484 .%O Part Number: PM0525
487 .%T "MXIC LC82C115 Single Chip Fast Ethernet NIC Controller"
489 .%D February 12, 1999
490 .%A Macronix International Co., Ltd.
491 .%O Part Number: PM0572
494 .%T "PNIC Hardware Specification"
500 .%T "Comet: AL981 PCI 10/100 Fast Ethernet Controller with Integrated PHY"
503 .%A ADMtek Incorporated
506 .%T "Winbond LAN W89C840F 100/10Mbps Ethernet Controller"
509 .%A Winbond Electronics Corporation
512 .%T "Xircom X3201-3 CardBus 10/100 Mbps Ethernet Controller Software Developer's Specification"
515 .%O Reference number: 103-0548-001
518 .%T "Davicom DM9102 10/100 Mbps Single Chip LAN Controller"
519 .%N Version DM9102-DS-F01
523 .%T "Davicom DM9102A Single Chip Fast Ethernet NIC Controller"
524 .%N Version DM9102A-DS-F01
528 .%T "ASIX AX88140A 100BaseTX/FX PCI Bus Fast Ethernet MAC Controller"
531 .%A ASIX Electronics Co.
532 .%O Document Number AX140D2.DOC
535 .%T "LANfinity - Home Networking Physical Layer Device with Integrated Analog Front End Circuitry"
536 .%A Conexant Systems, Inc.
543 driver first appeared in
549 driver was written by
551 while employed at the Numerical Aerospace Simulation Facility,
552 NASA Ames Research Center.
553 The author may be contacted at
554 .Aq thorpej@NetBSD.org .
556 ASIX AX88140A and AX881401 support was added by
558 .Aq rpaulo@NetBSD.org .
560 Conexant RS7112 support was contributed by
562 .Aq frank@phoenix.owl.de .
564 Media autosense is not yet supported for any serial or PCS function media.
565 It is, however, supported for IEEE 802.3u-compliant PHY media.