Kconfig revision db0b82760ef84562b5c0fa880c22b4f352545554
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
129aaba215ca0b4232824c92b830853f465f16a6672Jeff Kirsher	select NET_CORE
1301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	select MII
131a88394cfb58007cca945699545469017beb0d206Jeff Kirsher	---help---
1321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  This driver is for the Winbond W89c840 chip.  It also works with 
1331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  the TX9882 chip on the Compex RL100-ATX board.
1341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  More specific information and updates are available from
1351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  <http://www.scyld.com/network/drivers.html>.
1361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig DM9102
1381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "Davicom DM910x/DM980x support"
139d1c0a65fb597697d1fbce4eadf42b84f70483edcJan Engelhardt	depends on PCI
1401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	select CRC32
1411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	---help---
1421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  This driver is for DM9102(A)/DM9132/DM9801 compatible PCI cards from
1431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Davicom (<http://www.davicom.com.tw/>).  If you have such a network
1441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  (Ethernet) card, say Y.  Some information is contained in the file
1451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  <file:Documentation/networking/dmfe.txt>.
1461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
14757ce45dd16cd427ac2bdef202daf513bd25d650bAdrian Bunk	  To compile this driver as a module, choose M here. The module will
1481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  be called dmfe.
1491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1504689ced99b18937e28c0f6c190394ccc3c61d651Peer Chenconfig ULI526X
1514689ced99b18937e28c0f6c190394ccc3c61d651Peer Chen	tristate "ULi M526x controller support"
152d1c0a65fb597697d1fbce4eadf42b84f70483edcJan Engelhardt	depends on PCI
1534689ced99b18937e28c0f6c190394ccc3c61d651Peer Chen	select CRC32
1544689ced99b18937e28c0f6c190394ccc3c61d651Peer Chen	---help---
1554689ced99b18937e28c0f6c190394ccc3c61d651Peer Chen	  This driver is for ULi M5261/M5263 10/100M Ethernet Controller
156631dd1a885b6d7e9f6f51b4e5b311c2bb04c323cJustin P. Mattock	  (<http://www.nvidia.com/page/uli_drivers.html>).
1574689ced99b18937e28c0f6c190394ccc3c61d651Peer Chen
15857ce45dd16cd427ac2bdef202daf513bd25d650bAdrian Bunk	  To compile this driver as a module, choose M here. The module will
1594689ced99b18937e28c0f6c190394ccc3c61d651Peer Chen	  be called uli526x.
1604689ced99b18937e28c0f6c190394ccc3c61d651Peer Chen	  
1611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig PCMCIA_XIRCOM
162fa6557aff47f25e5b6b92c930a9b60a12acd0b58Adrian Bunk	tristate "Xircom CardBus support"
163d1c0a65fb597697d1fbce4eadf42b84f70483edcJan Engelhardt	depends on CARDBUS
1641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	---help---
1651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  This driver is for the Digital "Tulip" Ethernet CardBus adapters.
1661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  It should work with most DEC 21*4*-based chips/ethercards, as well
1671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  as with work-alike chips from Lite-On (PNIC) and Macronix (MXIC) and
1681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  ASIX.
1691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
17057ce45dd16cd427ac2bdef202daf513bd25d650bAdrian Bunk	  To compile this driver as a module, choose M here. The module will
1711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  be called xircom_cb.  If unsure, say N.
1721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
173d1c0a65fb597697d1fbce4eadf42b84f70483edcJan Engelhardtendif # NET_TULIP
174