11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#
21da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# Tulip family network device configuration
31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#
41da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
5a88394cfb58007cca945699545469017beb0d206Jeff Kirsherconfig NET_TULIP
6a88394cfb58007cca945699545469017beb0d206Jeff Kirsher	bool "DEC - Tulip devices"
7a88394cfb58007cca945699545469017beb0d206Jeff Kirsher	depends on (PCI || EISA || CARDBUS)
8a88394cfb58007cca945699545469017beb0d206Jeff Kirsher	---help---
91da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  This selects the "Tulip" family of EISA/PCI network cards.
101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
11d1c0a65fb597697d1fbce4eadf42b84f70483edcJan Engelhardtif NET_TULIP
12d1c0a65fb597697d1fbce4eadf42b84f70483edcJan Engelhardt
131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig DE2104X
149812cb12c9d58c5d9aead84eb2e7864c68c80302Ondrej Zary	tristate "Early DECchip Tulip (dc2104x) PCI support"
159812cb12c9d58c5d9aead84eb2e7864c68c80302Ondrej Zary	depends on PCI
161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	select CRC32
171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	---help---
181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  This driver is developed for the SMC EtherPower series Ethernet
191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  cards and also works with cards based on the DECchip
201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  21040 (Tulip series) chips.  Some LinkSys PCI cards are
211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  of this type.  (If your card is NOT SMC EtherPower 10/100 PCI
221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  (smc9332dst), you can also try the driver for "Generic DECchip"
231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  cards, below.  However, most people with a network card of this type
241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  will say Y here.) Do read the Ethernet-HOWTO, available from
251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  <http://www.tldp.org/docs.html#howto>.
261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2757ce45dd16cd427ac2bdef202daf513bd25d650bAdrian Bunk	  To compile this driver as a module, choose M here. The module will
281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  be called de2104x.
291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
30b77e5228849fdcd7a5d73beb16b9ad99395236ecRisto Suominenconfig DE2104X_DSL
31b77e5228849fdcd7a5d73beb16b9ad99395236ecRisto Suominen	int "Descriptor Skip Length in 32 bit longwords"
32b77e5228849fdcd7a5d73beb16b9ad99395236ecRisto Suominen	depends on DE2104X
33b77e5228849fdcd7a5d73beb16b9ad99395236ecRisto Suominen	range 0 31
34b77e5228849fdcd7a5d73beb16b9ad99395236ecRisto Suominen	default 0
35a88394cfb58007cca945699545469017beb0d206Jeff Kirsher	---help---
36b77e5228849fdcd7a5d73beb16b9ad99395236ecRisto Suominen	  Setting this value allows to align ring buffer descriptors into their
37b77e5228849fdcd7a5d73beb16b9ad99395236ecRisto Suominen	  own cache lines. Value of 4 corresponds to the typical 32 byte line
38b77e5228849fdcd7a5d73beb16b9ad99395236ecRisto Suominen	  (the descriptor is 16 bytes). This is necessary on systems that lack
39b77e5228849fdcd7a5d73beb16b9ad99395236ecRisto Suominen	  cache coherence, an example is PowerMac 5500. Otherwise 0 is safe.
40b77e5228849fdcd7a5d73beb16b9ad99395236ecRisto Suominen	  Default is 0, and range is 0 to 31.
41b77e5228849fdcd7a5d73beb16b9ad99395236ecRisto Suominen
421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig TULIP
431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "DECchip Tulip (dc2114x) PCI support"
44d1c0a65fb597697d1fbce4eadf42b84f70483edcJan Engelhardt	depends on PCI
451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	select CRC32
461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	---help---
471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  This driver is developed for the SMC EtherPower series Ethernet
481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  cards and also works with cards based on the DECchip 
491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  21140 (Tulip series) chips.  Some LinkSys PCI cards are
501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  of this type.  (If your card is NOT SMC EtherPower 10/100 PCI
511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  (smc9332dst), you can also try the driver for "Generic DECchip"
521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  cards, above.  However, most people with a network card of this type
531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  will say Y here.) Do read the Ethernet-HOWTO, available from
541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  <http://www.tldp.org/docs.html#howto>.
551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
5657ce45dd16cd427ac2bdef202daf513bd25d650bAdrian Bunk	  To compile this driver as a module, choose M here. The module will
571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  be called tulip.
581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig TULIP_MWI
60cb40390b86029051900e57307815e243cce126c6Kees Cook	bool "New bus configuration"
61cb40390b86029051900e57307815e243cce126c6Kees Cook	depends on TULIP
62a88394cfb58007cca945699545469017beb0d206Jeff Kirsher	---help---
631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  This configures your Tulip card specifically for the card and
641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  system cache line size type you are using.
651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  This is experimental code, not yet tested on many boards.
671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  If unsure, say N.
691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig TULIP_MMIO
711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	bool "Use PCI shared mem for NIC registers"
721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	depends on TULIP
73a88394cfb58007cca945699545469017beb0d206Jeff Kirsher	---help---
741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Use PCI shared memory for the NIC registers, rather than going through
751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  the Tulip's PIO (programmed I/O ports).  Faster, but could produce
761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  obscure bugs if your mainboard has memory controller timing issues.
771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  If in doubt, say N.
781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig TULIP_NAPI
80bf45abeb1d917e92775b4523ba0ddcfd331464b4Randy Dunlap	bool "Use RX polling (NAPI)"
811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	depends on TULIP
82a88394cfb58007cca945699545469017beb0d206Jeff Kirsher	---help---
831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  NAPI is a new driver API designed to reduce CPU and interrupt load
841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  when the driver is receiving lots of packets from the card. It is
851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  still somewhat experimental and thus not yet enabled by default.
861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  If your estimated Rx load is 10kpps or more, or if the card will be
881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  deployed on potentially unfriendly networks (e.g. in a firewall),
891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  then say Y here.
901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  If in doubt, say N.
921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig TULIP_NAPI_HW_MITIGATION
94bf45abeb1d917e92775b4523ba0ddcfd331464b4Randy Dunlap	bool "Use Interrupt Mitigation"
951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	depends on TULIP_NAPI
961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	---help---
97bf45abeb1d917e92775b4523ba0ddcfd331464b4Randy Dunlap	  Use HW to reduce RX interrupts. Not strictly necessary since NAPI
98bf45abeb1d917e92775b4523ba0ddcfd331464b4Randy Dunlap	  reduces RX interrupts by itself. Interrupt mitigation reduces RX
99bf45abeb1d917e92775b4523ba0ddcfd331464b4Randy Dunlap	  interrupts even at low levels of traffic at the cost of a small
100bf45abeb1d917e92775b4523ba0ddcfd331464b4Randy Dunlap	  latency.
1011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  If in doubt, say Y.
1031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1044d907069bc1b745f4abd4745c332d33098e733b8Ben Hutchingsconfig TULIP_DM910X
1054d907069bc1b745f4abd4745c332d33098e733b8Ben Hutchings	def_bool y
1064d907069bc1b745f4abd4745c332d33098e733b8Ben Hutchings	depends on TULIP && SPARC
1074d907069bc1b745f4abd4745c332d33098e733b8Ben Hutchings
1081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig DE4X5
1091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "Generic DECchip & DIGITAL EtherWORKS PCI/EISA"
110a88394cfb58007cca945699545469017beb0d206Jeff Kirsher	depends on (PCI || EISA)
111db0b82760ef84562b5c0fa880c22b4f352545554Arnd Bergmann	depends on VIRT_TO_BUS || ALPHA || PPC || SPARC
1121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	select CRC32
1131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	---help---
1141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  This is support for the DIGITAL series of PCI/EISA Ethernet cards.
1151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  These include the DE425, DE434, DE435, DE450 and DE500 models.  If
1161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  you have a network card of this type, say Y and read the
1171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Ethernet-HOWTO, available from
1181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  <http://www.tldp.org/docs.html#howto>. More specific
1191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  information is contained in
1201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  <file:Documentation/networking/de4x5.txt>.
1211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
12257ce45dd16cd427ac2bdef202daf513bd25d650bAdrian Bunk	  To compile this driver as a module, choose M here. The module will
1231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  be called de4x5.
1241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig WINBOND_840
1261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "Winbond W89c840 Ethernet support"
127d1c0a65fb597697d1fbce4eadf42b84f70483edcJan Engelhardt	depends on PCI
1281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	select CRC32
1291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	select MII
130a88394cfb58007cca945699545469017beb0d206Jeff Kirsher	---help---
1311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  This driver is for the Winbond W89c840 chip.  It also works with 
1321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  the TX9882 chip on the Compex RL100-ATX board.
1331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  More specific information and updates are available from
1341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  <http://www.scyld.com/network/drivers.html>.
1351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig DM9102
1371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "Davicom DM910x/DM980x support"
138d1c0a65fb597697d1fbce4eadf42b84f70483edcJan Engelhardt	depends on PCI
1391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	select CRC32
1401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	---help---
1411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  This driver is for DM9102(A)/DM9132/DM9801 compatible PCI cards from
1421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Davicom (<http://www.davicom.com.tw/>).  If you have such a network
1431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  (Ethernet) card, say Y.  Some information is contained in the file
1441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  <file:Documentation/networking/dmfe.txt>.
1451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
14657ce45dd16cd427ac2bdef202daf513bd25d650bAdrian Bunk	  To compile this driver as a module, choose M here. The module will
1471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  be called dmfe.
1481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1494689ced99b18937e28c0f6c190394ccc3c61d651Peer Chenconfig ULI526X
1504689ced99b18937e28c0f6c190394ccc3c61d651Peer Chen	tristate "ULi M526x controller support"
151d1c0a65fb597697d1fbce4eadf42b84f70483edcJan Engelhardt	depends on PCI
1524689ced99b18937e28c0f6c190394ccc3c61d651Peer Chen	select CRC32
1534689ced99b18937e28c0f6c190394ccc3c61d651Peer Chen	---help---
1544689ced99b18937e28c0f6c190394ccc3c61d651Peer Chen	  This driver is for ULi M5261/M5263 10/100M Ethernet Controller
155631dd1a885b6d7e9f6f51b4e5b311c2bb04c323cJustin P. Mattock	  (<http://www.nvidia.com/page/uli_drivers.html>).
1564689ced99b18937e28c0f6c190394ccc3c61d651Peer Chen
15757ce45dd16cd427ac2bdef202daf513bd25d650bAdrian Bunk	  To compile this driver as a module, choose M here. The module will
1584689ced99b18937e28c0f6c190394ccc3c61d651Peer Chen	  be called uli526x.
1594689ced99b18937e28c0f6c190394ccc3c61d651Peer Chen	  
1601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig PCMCIA_XIRCOM
161fa6557aff47f25e5b6b92c930a9b60a12acd0b58Adrian Bunk	tristate "Xircom CardBus support"
162d1c0a65fb597697d1fbce4eadf42b84f70483edcJan Engelhardt	depends on CARDBUS
1631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	---help---
1641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  This driver is for the Digital "Tulip" Ethernet CardBus adapters.
1651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  It should work with most DEC 21*4*-based chips/ethercards, as well
1661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  as with work-alike chips from Lite-On (PNIC) and Macronix (MXIC) and
1671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  ASIX.
1681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
16957ce45dd16cd427ac2bdef202daf513bd25d650bAdrian Bunk	  To compile this driver as a module, choose M here. The module will
1701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  be called xircom_cb.  If unsure, say N.
1711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
172d1c0a65fb597697d1fbce4eadf42b84f70483edcJan Engelhardtendif # NET_TULIP
173