Configuration of PHYs may also be necessary. See mii(4).
The tlp driver supports the following chips:
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''.
Boards that include this chip include the DEC DE-450 and some SMC boards.
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.
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.
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.
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.
Boards that include the 82C115 include the newer LinkSys (Version 2) LNE100TX boards.
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.
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).
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.
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.
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.
A list of boards which include the RS7112 is not yet available.
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>.