162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# Tulip family network device configuration
462306a36Sopenharmony_ci#
562306a36Sopenharmony_ci
662306a36Sopenharmony_ciconfig NET_TULIP
762306a36Sopenharmony_ci	bool "DEC - Tulip devices"
862306a36Sopenharmony_ci	depends on (PCI || EISA || CARDBUS)
962306a36Sopenharmony_ci	help
1062306a36Sopenharmony_ci	  This selects the "Tulip" family of EISA/PCI network cards.
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciif NET_TULIP
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ciconfig DE2104X
1562306a36Sopenharmony_ci	tristate "Early DECchip Tulip (dc2104x) PCI support"
1662306a36Sopenharmony_ci	depends on PCI
1762306a36Sopenharmony_ci	select CRC32
1862306a36Sopenharmony_ci	help
1962306a36Sopenharmony_ci	  This driver is developed for the SMC EtherPower series Ethernet
2062306a36Sopenharmony_ci	  cards and also works with cards based on the DECchip
2162306a36Sopenharmony_ci	  21040 (Tulip series) chips.  Some LinkSys PCI cards are
2262306a36Sopenharmony_ci	  of this type.  (If your card is NOT SMC EtherPower 10/100 PCI
2362306a36Sopenharmony_ci	  (smc9332dst), you can also try the driver for "Generic DECchip"
2462306a36Sopenharmony_ci	  cards, below.  However, most people with a network card of this type
2562306a36Sopenharmony_ci	  will say Y here.)
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci	  To compile this driver as a module, choose M here. The module will
2862306a36Sopenharmony_ci	  be called de2104x.
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ciconfig DE2104X_DSL
3162306a36Sopenharmony_ci	int "Descriptor Skip Length in 32 bit longwords"
3262306a36Sopenharmony_ci	depends on DE2104X
3362306a36Sopenharmony_ci	range 0 31
3462306a36Sopenharmony_ci	default 0
3562306a36Sopenharmony_ci	help
3662306a36Sopenharmony_ci	  Setting this value allows to align ring buffer descriptors into their
3762306a36Sopenharmony_ci	  own cache lines. Value of 4 corresponds to the typical 32 byte line
3862306a36Sopenharmony_ci	  (the descriptor is 16 bytes). This is necessary on systems that lack
3962306a36Sopenharmony_ci	  cache coherence, an example is PowerMac 5500. Otherwise 0 is safe.
4062306a36Sopenharmony_ci	  Default is 0, and range is 0 to 31.
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ciconfig TULIP
4362306a36Sopenharmony_ci	tristate "DECchip Tulip (dc2114x) PCI support"
4462306a36Sopenharmony_ci	depends on PCI
4562306a36Sopenharmony_ci	select CRC32
4662306a36Sopenharmony_ci	help
4762306a36Sopenharmony_ci	  This driver is developed for the SMC EtherPower series Ethernet
4862306a36Sopenharmony_ci	  cards and also works with cards based on the DECchip 
4962306a36Sopenharmony_ci	  21140 (Tulip series) chips.  Some LinkSys PCI cards are
5062306a36Sopenharmony_ci	  of this type.  (If your card is NOT SMC EtherPower 10/100 PCI
5162306a36Sopenharmony_ci	  (smc9332dst), you can also try the driver for "Generic DECchip"
5262306a36Sopenharmony_ci	  cards, above.  However, most people with a network card of this type
5362306a36Sopenharmony_ci	  will say Y here.)
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci	  To compile this driver as a module, choose M here. The module will
5662306a36Sopenharmony_ci	  be called tulip.
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ciconfig TULIP_MWI
5962306a36Sopenharmony_ci	bool "New bus configuration"
6062306a36Sopenharmony_ci	depends on TULIP
6162306a36Sopenharmony_ci	help
6262306a36Sopenharmony_ci	  This configures your Tulip card specifically for the card and
6362306a36Sopenharmony_ci	  system cache line size type you are using.
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ci	  This is experimental code, not yet tested on many boards.
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci	  If unsure, say N.
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ciconfig TULIP_MMIO
7062306a36Sopenharmony_ci	bool "Use PCI shared mem for NIC registers"
7162306a36Sopenharmony_ci	depends on TULIP
7262306a36Sopenharmony_ci	help
7362306a36Sopenharmony_ci	  Use PCI shared memory for the NIC registers, rather than going through
7462306a36Sopenharmony_ci	  the Tulip's PIO (programmed I/O ports).  Faster, but could produce
7562306a36Sopenharmony_ci	  obscure bugs if your mainboard has memory controller timing issues.
7662306a36Sopenharmony_ci	  If in doubt, say N.
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ciconfig TULIP_NAPI
7962306a36Sopenharmony_ci	bool "Use RX polling (NAPI)"
8062306a36Sopenharmony_ci	depends on TULIP
8162306a36Sopenharmony_ci	help
8262306a36Sopenharmony_ci	  NAPI is a new driver API designed to reduce CPU and interrupt load
8362306a36Sopenharmony_ci	  when the driver is receiving lots of packets from the card. It is
8462306a36Sopenharmony_ci	  still somewhat experimental and thus not yet enabled by default.
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci	  If your estimated Rx load is 10kpps or more, or if the card will be
8762306a36Sopenharmony_ci	  deployed on potentially unfriendly networks (e.g. in a firewall),
8862306a36Sopenharmony_ci	  then say Y here.
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci	  If in doubt, say N.
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ciconfig TULIP_NAPI_HW_MITIGATION
9362306a36Sopenharmony_ci	bool "Use Interrupt Mitigation"
9462306a36Sopenharmony_ci	depends on TULIP_NAPI
9562306a36Sopenharmony_ci	help
9662306a36Sopenharmony_ci	  Use HW to reduce RX interrupts. Not strictly necessary since NAPI
9762306a36Sopenharmony_ci	  reduces RX interrupts by itself. Interrupt mitigation reduces RX
9862306a36Sopenharmony_ci	  interrupts even at low levels of traffic at the cost of a small
9962306a36Sopenharmony_ci	  latency.
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci	  If in doubt, say Y.
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ciconfig TULIP_DM910X
10462306a36Sopenharmony_ci	def_bool y
10562306a36Sopenharmony_ci	depends on TULIP && SPARC
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ciconfig WINBOND_840
10862306a36Sopenharmony_ci	tristate "Winbond W89c840 Ethernet support"
10962306a36Sopenharmony_ci	depends on PCI
11062306a36Sopenharmony_ci	select CRC32
11162306a36Sopenharmony_ci	select MII
11262306a36Sopenharmony_ci	help
11362306a36Sopenharmony_ci	  This driver is for the Winbond W89c840 chip.  It also works with 
11462306a36Sopenharmony_ci	  the TX9882 chip on the Compex RL100-ATX board.
11562306a36Sopenharmony_ci	  More specific information and updates are available from
11662306a36Sopenharmony_ci	  <http://www.scyld.com/network/drivers.html>.
11762306a36Sopenharmony_ci
11862306a36Sopenharmony_ciconfig DM9102
11962306a36Sopenharmony_ci	tristate "Davicom DM910x/DM980x support"
12062306a36Sopenharmony_ci	depends on PCI
12162306a36Sopenharmony_ci	select CRC32
12262306a36Sopenharmony_ci	help
12362306a36Sopenharmony_ci	  This driver is for DM9102(A)/DM9132/DM9801 compatible PCI cards from
12462306a36Sopenharmony_ci	  Davicom (<http://www.davicom.com.tw/>).  If you have such a network
12562306a36Sopenharmony_ci	  (Ethernet) card, say Y.  Some information is contained in the file
12662306a36Sopenharmony_ci	  <file:Documentation/networking/device_drivers/ethernet/dec/dmfe.rst>.
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_ci	  To compile this driver as a module, choose M here. The module will
12962306a36Sopenharmony_ci	  be called dmfe.
13062306a36Sopenharmony_ci
13162306a36Sopenharmony_ciconfig ULI526X
13262306a36Sopenharmony_ci	tristate "ULi M526x controller support"
13362306a36Sopenharmony_ci	depends on PCI
13462306a36Sopenharmony_ci	select CRC32
13562306a36Sopenharmony_ci	help
13662306a36Sopenharmony_ci	  This driver is for ULi M5261/M5263 10/100M Ethernet Controller
13762306a36Sopenharmony_ci	  (<http://www.nvidia.com/page/uli_drivers.html>).
13862306a36Sopenharmony_ci
13962306a36Sopenharmony_ci	  To compile this driver as a module, choose M here. The module will
14062306a36Sopenharmony_ci	  be called uli526x.
14162306a36Sopenharmony_ci	  
14262306a36Sopenharmony_ciconfig PCMCIA_XIRCOM
14362306a36Sopenharmony_ci	tristate "Xircom CardBus support"
14462306a36Sopenharmony_ci	depends on CARDBUS
14562306a36Sopenharmony_ci	help
14662306a36Sopenharmony_ci	  This driver is for the Digital "Tulip" Ethernet CardBus adapters.
14762306a36Sopenharmony_ci	  It should work with most DEC 21*4*-based chips/ethercards, as well
14862306a36Sopenharmony_ci	  as with work-alike chips from Lite-On (PNIC) and Macronix (MXIC) and
14962306a36Sopenharmony_ci	  ASIX.
15062306a36Sopenharmony_ci
15162306a36Sopenharmony_ci	  To compile this driver as a module, choose M here. The module will
15262306a36Sopenharmony_ci	  be called xircom_cb.  If unsure, say N.
15362306a36Sopenharmony_ci
15462306a36Sopenharmony_ciendif # NET_TULIP
155