# SPDX-License-Identifier: ISC
config ATH9K_HW
	tristate
config ATH9K_COMMON
	tristate
	select ATH_COMMON
config ATH9K_COMMON_DEBUG
	bool
config ATH9K_DFS_DEBUGFS
	def_bool y
	depends on ATH9K_DEBUGFS && ATH9K_DFS_CERTIFIED

config ATH9K_BTCOEX_SUPPORT
	bool "Atheros bluetooth coexistence support"
	depends on (ATH9K || ATH9K_HTC)
	default y
	help
	  Say Y, if you want to use the ath9k/ath9k_htc radios together with
	  Bluetooth modules in the same system.

config ATH9K
	tristate "Atheros 802.11n wireless cards support"
	depends on MAC80211 && HAS_DMA
	select MAC80211_LEDS if LEDS_CLASS=y || LEDS_CLASS=MAC80211
	select ATH9K_HW
	select ATH9K_COMMON
	help
	  This module adds support for wireless adapters based on
	  Atheros IEEE 802.11n AR5008, AR9001 and AR9002 family
	  of chipsets. For a specific list of supported external
	  cards, laptops that already ship with these cards and
	  APs that come with these cards refer to ath9k wiki
	  products page:

	  https://wireless.wiki.kernel.org/en/users/Drivers/ath9k/products

	  If you choose to build a module, it'll be called ath9k.

config ATH9K_PCI
	bool "Atheros ath9k PCI/PCIe bus support"
	default y
	depends on ATH9K && PCI
	help
	  This option enables the PCI bus support in ath9k.

	  Say Y, if you have a compatible PCI/PCIe wireless card.

config ATH9K_AHB
	bool "Atheros ath9k AHB bus support"
	depends on ATH9K
	default n
	help
	  This option enables the AHB bus support in ath9k.

	  Say Y, if you have a SoC with a compatible built-in
	  wireless MAC. Say N if unsure.

config ATH9K_DEBUGFS
	bool "Atheros ath9k debugging"
	depends on ATH9K && DEBUG_FS
	select MAC80211_DEBUGFS
	select ATH9K_COMMON_DEBUG
	help
	  Say Y, if you need access to ath9k's statistics for
	  interrupts, rate control, etc.

	  Also required for changing debug message flags at run time and for
	  TX99.

config ATH9K_STATION_STATISTICS
	bool "Detailed station statistics"
	depends on ATH9K && ATH9K_DEBUGFS && DEBUG_FS
	select MAC80211_DEBUGFS
	default n
	help
	  This option enables detailed statistics for association stations.

config ATH9K_TX99
	bool "Atheros ath9k TX99 testing support"
	depends on ATH9K_DEBUGFS && CFG80211_CERTIFICATION_ONUS
	default n
	help
	  Say N. This should only be enabled on systems undergoing
	  certification testing and evaluation in a controlled environment.
	  Enabling this will only enable TX99 support, all other modes of
	  operation will be disabled.

	  TX99 support enables Specific Absorption Rate (SAR) testing.
	  SAR is the unit of measurement for the amount of radio frequency(RF)
	  absorbed by the body when using a wireless device. The RF exposure
	  limits used are expressed in the terms of SAR, which is a measure
	  of the electric and magnetic field strength and power density for
	  transmitters operating at frequencies from 300 kHz to 100 GHz.
	  Regulatory bodies around the world require that wireless device
	  be evaluated to meet the RF exposure limits set forth in the
	  governmental SAR regulations.

config ATH9K_DFS_CERTIFIED
	bool "Atheros DFS support for certified platforms"
	depends on ATH9K && CFG80211_CERTIFICATION_ONUS
	default n
	help
	  This option enables DFS support for initiating radiation on
	  ath9k. There is no way to dynamically detect if a card was DFS
	  certified and as such this is left as a build time option. This
	  option should only be enabled by system integrators that can
	  guarantee that all the platforms that their kernel will run on
	  have obtained appropriate regulatory body certification for a
	  respective Atheros card by using ath9k on the target shipping
	  platforms.

	  This is currently only a placeholder for future DFS support,
	  as DFS support requires more components that still need to be
	  developed. At this point enabling this option won't do anything
	  except increase code size.

config ATH9K_DYNACK
	bool "Atheros ath9k ACK timeout estimation algorithm"
	depends on ATH9K
	default n
	help
	  This option enables ath9k dynamic ACK timeout estimation algorithm
	  based on ACK frame RX timestamp, TX frame timestamp and frame
	  duration

config ATH9K_WOW
	bool "Wake on Wireless LAN support (EXPERIMENTAL)"
	depends on ATH9K && PM
	default n
	help
	  This option enables Wake on Wireless LAN support for certain cards.
	  Currently, AR9462 is supported.

config ATH9K_RFKILL
	bool "Atheros ath9k rfkill support" if EXPERT
	depends on ATH9K
	depends on RFKILL=y || RFKILL=ATH9K
	default y
	help
	  Say Y to have ath9k poll the RF-Kill GPIO every couple of
	  seconds. Turn off to save power, but enable it if you have
	  a platform that can toggle the RF-Kill GPIO.

config ATH9K_CHANNEL_CONTEXT
	bool "Channel Context support"
	depends on ATH9K
	default n
	help
	  This option enables channel context support in ath9k, which is needed
	  for multi-channel concurrency. Enable this if P2P PowerSave support
	  is required.

config ATH9K_PCOEM
	bool "Atheros ath9k support for PC OEM cards" if EXPERT
	depends on ATH9K
	default y

config ATH9K_PCI_NO_EEPROM
	tristate "Atheros ath9k pci loader for EEPROM-less chips"
	depends on ATH9K_PCI
	default n
	help
	  This separate driver provides a loader in order to support the
	  AR500X to AR92XX-generation of ath9k PCI(e) WiFi chips, which have
	  their initialization data (which contains the real PCI Device ID
	  that ath9k will need) stored together with the calibration data out
	  of reach for the ath9k chip.

	  These devices are usually various network appliances, routers or
	  access Points and such.

	  If unsure say N.

config ATH9K_HTC
	tristate "Atheros HTC based wireless cards support"
	depends on USB && MAC80211
	select MAC80211_LEDS if LEDS_CLASS=y || LEDS_CLASS=MAC80211
	select ATH9K_HW
	select ATH9K_COMMON
	help
	  Support for Atheros HTC based cards.
	  Chipsets supported: AR9271

	  For more information:
	  https://wireless.wiki.kernel.org/en/users/Drivers/ath9k_htc

	  The built module will be ath9k_htc.

config ATH9K_HTC_DEBUGFS
	bool "Atheros ath9k_htc debugging"
	depends on ATH9K_HTC && DEBUG_FS
	select ATH9K_COMMON_DEBUG
	help
	  Say Y, if you need access to ath9k_htc's statistics.
	  As well as access to the FFT/spectral data.

config ATH9K_HWRNG
	bool "Random number generator support"
	depends on ATH9K && (HW_RANDOM = y || HW_RANDOM = ATH9K)
	default n
	help
	  This option incorporates the ADC register output as a source of
	  randomness into Linux entropy pool (/dev/urandom and /dev/random)

	  Say Y, feeds the entropy directly from the WiFi driver to the input
	  pool.

config ATH9K_COMMON_SPECTRAL
	bool "Atheros ath9k/ath9k_htc spectral scan support"
	depends on ATH9K_DEBUGFS || ATH9K_HTC_DEBUGFS
	select RELAY
	default n
	help
	  Say Y to enable access to the FFT/spectral data via debugfs.