# SPDX-License-Identifier: GPL-2.0-only
config HERMES
	tristate "Hermes chipset 802.11b support (Orinoco/Prism2/Symbol)"
	depends on (PPC_PMAC || PCI || PCMCIA)
	depends on CFG80211
	select CFG80211_WEXT_EXPORT
	select WIRELESS_EXT
	select WEXT_SPY
	select WEXT_PRIV
	select FW_LOADER
	select CRYPTO
	select CRYPTO_MICHAEL_MIC
	help
	  A driver for 802.11b wireless cards based on the "Hermes" or
	  Intersil HFA384x (Prism 2) MAC controller.  This includes the vast
	  majority of the PCMCIA 802.11b cards (which are nearly all rebadges)
	  - except for the Cisco/Aironet cards.  Cards supported include the
	  Apple Airport (not a PCMCIA card), WavelanIEEE/Orinoco,
	  Cabletron/EnteraSys Roamabout, ELSA AirLancer, MELCO Buffalo, Avaya,
	  IBM High Rate Wireless, Farralon Syyline, Samsung MagicLAN, Netgear
	  MA401, LinkSys WPC-11, D-Link DWL-650, 3Com AirConnect, Intel
	  IPW2011, and Symbol Spectrum24 High Rate amongst others.

	  This option includes the guts of the driver, but in order to
	  actually use a card you will also need to enable support for PCMCIA
	  Hermes cards, PLX9052 based PCI adaptors or the Apple Airport below.

	  You will also very likely also need the Wireless Tools in order to
	  configure your card and that /etc/pcmcia/wireless.opts works :
	  <https://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>

config HERMES_PRISM
	bool "Support Prism 2/2.5 chipset"
	depends on HERMES
	help

	  Say Y to enable support for Prism 2 and 2.5 chipsets.  These
	  chipsets are better handled by the hostap driver.  This driver
	  would not support WPA or firmware download for Prism chipset.

	  If you are not sure, say N.

config HERMES_CACHE_FW_ON_INIT
	bool "Cache Hermes firmware on driver initialisation"
	depends on HERMES
	default y
	help
	  Say Y to cache any firmware required by the Hermes drivers
	  on startup.  The firmware will remain cached until the
	  driver is unloaded.  The cache uses 64K of RAM.

	  Otherwise load the firmware from userspace as required.  In
	  this case the driver should be unloaded and restarted
	  whenever the firmware is changed.

	  If you are not sure, say Y.

config APPLE_AIRPORT
	tristate "Apple Airport support (built-in)"
	depends on PPC_PMAC && HERMES
	help
	  Say Y here to support the Airport 802.11b wireless Ethernet hardware
	  built into the Macintosh iBook and other recent PowerPC-based
	  Macintosh machines. This is essentially a Lucent Orinoco card with
	  a non-standard interface.

	  This driver does not support the Airport Extreme (802.11b/g). Use
	  the BCM43xx driver for Airport Extreme cards.

config PLX_HERMES
	tristate "Hermes in PLX9052 based PCI adaptor support (Netgear MA301 etc.)"
	depends on PCI && HERMES
	help
	  Enable support for PCMCIA cards supported by the "Hermes" (aka
	  orinoco) driver when used in PLX9052 based PCI adaptors.  These
	  adaptors are not a full PCMCIA controller but act as a more limited
	  PCI <-> PCMCIA bridge.  Several vendors sell such adaptors so that
	  802.11b PCMCIA cards can be used in desktop machines.  The Netgear
	  MA301 is such an adaptor.

config TMD_HERMES
	tristate "Hermes in TMD7160 based PCI adaptor support"
	depends on PCI && HERMES
	help
	  Enable support for PCMCIA cards supported by the "Hermes" (aka
	  orinoco) driver when used in TMD7160 based PCI adaptors.  These
	  adaptors are not a full PCMCIA controller but act as a more limited
	  PCI <-> PCMCIA bridge.  Several vendors sell such adaptors so that
	  802.11b PCMCIA cards can be used in desktop machines.

config NORTEL_HERMES
	tristate "Nortel emobility PCI adaptor support"
	depends on PCI && HERMES
	help
	  Enable support for PCMCIA cards supported by the "Hermes" (aka
	  orinoco) driver when used in Nortel emobility PCI adaptors.  These
	  adaptors are not full PCMCIA controllers, but act as a more limited
	  PCI <-> PCMCIA bridge.

config PCI_HERMES
	tristate "Prism 2.5 PCI 802.11b adaptor support"
	depends on PCI && HERMES && HERMES_PRISM
	help
	  Enable support for PCI and mini-PCI 802.11b wireless NICs based on
	  the Prism 2.5 chipset.  These are true PCI cards, not the 802.11b
	  PCMCIA cards bundled with PCI<->PCMCIA adaptors which are also
	  common.  Some of the built-in wireless adaptors in laptops are of
	  this variety.

config PCMCIA_HERMES
	tristate "Hermes PCMCIA card support"
	depends on PCMCIA && HERMES && HAS_IOPORT_MAP
	help
	  A driver for "Hermes" chipset based PCMCIA wireless adaptors, such
	  as the Lucent WavelanIEEE/Orinoco cards and their OEM (Cabletron/
	  EnteraSys RoamAbout 802.11, ELSA Airlancer, Melco Buffalo and
	  others).  It should also be usable on various Prism II based cards
	  such as the Linksys, D-Link and Farallon Skyline.  It should also
	  work on Symbol cards such as the 3Com AirConnect and Ericsson WLAN.

	  You will very likely need the Wireless Tools in order to
	  configure your card and that /etc/pcmcia/wireless.opts works:
	  <https://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.

config PCMCIA_SPECTRUM
	tristate "Symbol Spectrum24 Trilogy PCMCIA card support"
	depends on PCMCIA && HERMES && HAS_IOPORT_MAP
	help

	  This is a driver for 802.11b cards using RAM-loadable Symbol
	  firmware, such as Symbol Wireless Networker LA4100, CompactFlash
	  cards by Socket Communications and Intel PRO/Wireless 2011B.

	  This driver requires firmware download on startup.  Utilities
	  for downloading Symbol firmware are available at
	  <http://sourceforge.net/projects/orinoco/>

config ORINOCO_USB
	tristate "Agere Orinoco USB support"
	depends on USB && HERMES
	select FW_LOADER
	help
	  This driver is for USB versions of the Agere Orinoco card.