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