162306a36Sopenharmony_ci# SPDX-License-Identifier: ISC
262306a36Sopenharmony_ciconfig ATH9K_HW
362306a36Sopenharmony_ci	tristate
462306a36Sopenharmony_ciconfig ATH9K_COMMON
562306a36Sopenharmony_ci	tristate
662306a36Sopenharmony_ci	select ATH_COMMON
762306a36Sopenharmony_ciconfig ATH9K_COMMON_DEBUG
862306a36Sopenharmony_ci	bool
962306a36Sopenharmony_ciconfig ATH9K_DFS_DEBUGFS
1062306a36Sopenharmony_ci	def_bool y
1162306a36Sopenharmony_ci	depends on ATH9K_DEBUGFS && ATH9K_DFS_CERTIFIED
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ciconfig ATH9K_BTCOEX_SUPPORT
1462306a36Sopenharmony_ci	bool "Atheros bluetooth coexistence support"
1562306a36Sopenharmony_ci	depends on (ATH9K || ATH9K_HTC)
1662306a36Sopenharmony_ci	default y
1762306a36Sopenharmony_ci	help
1862306a36Sopenharmony_ci	  Say Y, if you want to use the ath9k/ath9k_htc radios together with
1962306a36Sopenharmony_ci	  Bluetooth modules in the same system.
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ciconfig ATH9K
2262306a36Sopenharmony_ci	tristate "Atheros 802.11n wireless cards support"
2362306a36Sopenharmony_ci	depends on MAC80211 && HAS_DMA
2462306a36Sopenharmony_ci	select MAC80211_LEDS if LEDS_CLASS=y || LEDS_CLASS=MAC80211
2562306a36Sopenharmony_ci	select ATH9K_HW
2662306a36Sopenharmony_ci	select ATH9K_COMMON
2762306a36Sopenharmony_ci	help
2862306a36Sopenharmony_ci	  This module adds support for wireless adapters based on
2962306a36Sopenharmony_ci	  Atheros IEEE 802.11n AR5008, AR9001 and AR9002 family
3062306a36Sopenharmony_ci	  of chipsets. For a specific list of supported external
3162306a36Sopenharmony_ci	  cards, laptops that already ship with these cards and
3262306a36Sopenharmony_ci	  APs that come with these cards refer to ath9k wiki
3362306a36Sopenharmony_ci	  products page:
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci	  https://wireless.wiki.kernel.org/en/users/Drivers/ath9k/products
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci	  If you choose to build a module, it'll be called ath9k.
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ciconfig ATH9K_PCI
4062306a36Sopenharmony_ci	bool "Atheros ath9k PCI/PCIe bus support"
4162306a36Sopenharmony_ci	default y
4262306a36Sopenharmony_ci	depends on ATH9K && PCI
4362306a36Sopenharmony_ci	help
4462306a36Sopenharmony_ci	  This option enables the PCI bus support in ath9k.
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci	  Say Y, if you have a compatible PCI/PCIe wireless card.
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ciconfig ATH9K_AHB
4962306a36Sopenharmony_ci	bool "Atheros ath9k AHB bus support"
5062306a36Sopenharmony_ci	depends on ATH9K
5162306a36Sopenharmony_ci	default n
5262306a36Sopenharmony_ci	help
5362306a36Sopenharmony_ci	  This option enables the AHB bus support in ath9k.
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci	  Say Y, if you have a SoC with a compatible built-in
5662306a36Sopenharmony_ci	  wireless MAC. Say N if unsure.
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ciconfig ATH9K_DEBUGFS
5962306a36Sopenharmony_ci	bool "Atheros ath9k debugging"
6062306a36Sopenharmony_ci	depends on ATH9K && DEBUG_FS
6162306a36Sopenharmony_ci	select MAC80211_DEBUGFS
6262306a36Sopenharmony_ci	select ATH9K_COMMON_DEBUG
6362306a36Sopenharmony_ci	help
6462306a36Sopenharmony_ci	  Say Y, if you need access to ath9k's statistics for
6562306a36Sopenharmony_ci	  interrupts, rate control, etc.
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci	  Also required for changing debug message flags at run time and for
6862306a36Sopenharmony_ci	  TX99.
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ciconfig ATH9K_STATION_STATISTICS
7162306a36Sopenharmony_ci	bool "Detailed station statistics"
7262306a36Sopenharmony_ci	depends on ATH9K && ATH9K_DEBUGFS && DEBUG_FS
7362306a36Sopenharmony_ci	select MAC80211_DEBUGFS
7462306a36Sopenharmony_ci	default n
7562306a36Sopenharmony_ci	help
7662306a36Sopenharmony_ci	  This option enables detailed statistics for association stations.
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ciconfig ATH9K_TX99
7962306a36Sopenharmony_ci	bool "Atheros ath9k TX99 testing support"
8062306a36Sopenharmony_ci	depends on ATH9K_DEBUGFS && CFG80211_CERTIFICATION_ONUS
8162306a36Sopenharmony_ci	default n
8262306a36Sopenharmony_ci	help
8362306a36Sopenharmony_ci	  Say N. This should only be enabled on systems undergoing
8462306a36Sopenharmony_ci	  certification testing and evaluation in a controlled environment.
8562306a36Sopenharmony_ci	  Enabling this will only enable TX99 support, all other modes of
8662306a36Sopenharmony_ci	  operation will be disabled.
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ci	  TX99 support enables Specific Absorption Rate (SAR) testing.
8962306a36Sopenharmony_ci	  SAR is the unit of measurement for the amount of radio frequency(RF)
9062306a36Sopenharmony_ci	  absorbed by the body when using a wireless device. The RF exposure
9162306a36Sopenharmony_ci	  limits used are expressed in the terms of SAR, which is a measure
9262306a36Sopenharmony_ci	  of the electric and magnetic field strength and power density for
9362306a36Sopenharmony_ci	  transmitters operating at frequencies from 300 kHz to 100 GHz.
9462306a36Sopenharmony_ci	  Regulatory bodies around the world require that wireless device
9562306a36Sopenharmony_ci	  be evaluated to meet the RF exposure limits set forth in the
9662306a36Sopenharmony_ci	  governmental SAR regulations.
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ciconfig ATH9K_DFS_CERTIFIED
9962306a36Sopenharmony_ci	bool "Atheros DFS support for certified platforms"
10062306a36Sopenharmony_ci	depends on ATH9K && CFG80211_CERTIFICATION_ONUS
10162306a36Sopenharmony_ci	default n
10262306a36Sopenharmony_ci	help
10362306a36Sopenharmony_ci	  This option enables DFS support for initiating radiation on
10462306a36Sopenharmony_ci	  ath9k. There is no way to dynamically detect if a card was DFS
10562306a36Sopenharmony_ci	  certified and as such this is left as a build time option. This
10662306a36Sopenharmony_ci	  option should only be enabled by system integrators that can
10762306a36Sopenharmony_ci	  guarantee that all the platforms that their kernel will run on
10862306a36Sopenharmony_ci	  have obtained appropriate regulatory body certification for a
10962306a36Sopenharmony_ci	  respective Atheros card by using ath9k on the target shipping
11062306a36Sopenharmony_ci	  platforms.
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ci	  This is currently only a placeholder for future DFS support,
11362306a36Sopenharmony_ci	  as DFS support requires more components that still need to be
11462306a36Sopenharmony_ci	  developed. At this point enabling this option won't do anything
11562306a36Sopenharmony_ci	  except increase code size.
11662306a36Sopenharmony_ci
11762306a36Sopenharmony_ciconfig ATH9K_DYNACK
11862306a36Sopenharmony_ci	bool "Atheros ath9k ACK timeout estimation algorithm"
11962306a36Sopenharmony_ci	depends on ATH9K
12062306a36Sopenharmony_ci	default n
12162306a36Sopenharmony_ci	help
12262306a36Sopenharmony_ci	  This option enables ath9k dynamic ACK timeout estimation algorithm
12362306a36Sopenharmony_ci	  based on ACK frame RX timestamp, TX frame timestamp and frame
12462306a36Sopenharmony_ci	  duration
12562306a36Sopenharmony_ci
12662306a36Sopenharmony_ciconfig ATH9K_WOW
12762306a36Sopenharmony_ci	bool "Wake on Wireless LAN support (EXPERIMENTAL)"
12862306a36Sopenharmony_ci	depends on ATH9K && PM
12962306a36Sopenharmony_ci	default n
13062306a36Sopenharmony_ci	help
13162306a36Sopenharmony_ci	  This option enables Wake on Wireless LAN support for certain cards.
13262306a36Sopenharmony_ci	  Currently, AR9462 is supported.
13362306a36Sopenharmony_ci
13462306a36Sopenharmony_ciconfig ATH9K_RFKILL
13562306a36Sopenharmony_ci	bool "Atheros ath9k rfkill support" if EXPERT
13662306a36Sopenharmony_ci	depends on ATH9K
13762306a36Sopenharmony_ci	depends on RFKILL=y || RFKILL=ATH9K
13862306a36Sopenharmony_ci	default y
13962306a36Sopenharmony_ci	help
14062306a36Sopenharmony_ci	  Say Y to have ath9k poll the RF-Kill GPIO every couple of
14162306a36Sopenharmony_ci	  seconds. Turn off to save power, but enable it if you have
14262306a36Sopenharmony_ci	  a platform that can toggle the RF-Kill GPIO.
14362306a36Sopenharmony_ci
14462306a36Sopenharmony_ciconfig ATH9K_CHANNEL_CONTEXT
14562306a36Sopenharmony_ci	bool "Channel Context support"
14662306a36Sopenharmony_ci	depends on ATH9K
14762306a36Sopenharmony_ci	default n
14862306a36Sopenharmony_ci	help
14962306a36Sopenharmony_ci	  This option enables channel context support in ath9k, which is needed
15062306a36Sopenharmony_ci	  for multi-channel concurrency. Enable this if P2P PowerSave support
15162306a36Sopenharmony_ci	  is required.
15262306a36Sopenharmony_ci
15362306a36Sopenharmony_ciconfig ATH9K_PCOEM
15462306a36Sopenharmony_ci	bool "Atheros ath9k support for PC OEM cards" if EXPERT
15562306a36Sopenharmony_ci	depends on ATH9K
15662306a36Sopenharmony_ci	default y
15762306a36Sopenharmony_ci
15862306a36Sopenharmony_ciconfig ATH9K_PCI_NO_EEPROM
15962306a36Sopenharmony_ci	tristate "Atheros ath9k pci loader for EEPROM-less chips"
16062306a36Sopenharmony_ci	depends on ATH9K_PCI
16162306a36Sopenharmony_ci	default n
16262306a36Sopenharmony_ci	help
16362306a36Sopenharmony_ci	  This separate driver provides a loader in order to support the
16462306a36Sopenharmony_ci	  AR500X to AR92XX-generation of ath9k PCI(e) WiFi chips, which have
16562306a36Sopenharmony_ci	  their initialization data (which contains the real PCI Device ID
16662306a36Sopenharmony_ci	  that ath9k will need) stored together with the calibration data out
16762306a36Sopenharmony_ci	  of reach for the ath9k chip.
16862306a36Sopenharmony_ci
16962306a36Sopenharmony_ci	  These devices are usually various network appliances, routers or
17062306a36Sopenharmony_ci	  access Points and such.
17162306a36Sopenharmony_ci
17262306a36Sopenharmony_ci	  If unsure say N.
17362306a36Sopenharmony_ci
17462306a36Sopenharmony_ciconfig ATH9K_HTC
17562306a36Sopenharmony_ci	tristate "Atheros HTC based wireless cards support"
17662306a36Sopenharmony_ci	depends on USB && MAC80211
17762306a36Sopenharmony_ci	select MAC80211_LEDS if LEDS_CLASS=y || LEDS_CLASS=MAC80211
17862306a36Sopenharmony_ci	select ATH9K_HW
17962306a36Sopenharmony_ci	select ATH9K_COMMON
18062306a36Sopenharmony_ci	help
18162306a36Sopenharmony_ci	  Support for Atheros HTC based cards.
18262306a36Sopenharmony_ci	  Chipsets supported: AR9271
18362306a36Sopenharmony_ci
18462306a36Sopenharmony_ci	  For more information:
18562306a36Sopenharmony_ci	  https://wireless.wiki.kernel.org/en/users/Drivers/ath9k_htc
18662306a36Sopenharmony_ci
18762306a36Sopenharmony_ci	  The built module will be ath9k_htc.
18862306a36Sopenharmony_ci
18962306a36Sopenharmony_ciconfig ATH9K_HTC_DEBUGFS
19062306a36Sopenharmony_ci	bool "Atheros ath9k_htc debugging"
19162306a36Sopenharmony_ci	depends on ATH9K_HTC && DEBUG_FS
19262306a36Sopenharmony_ci	select ATH9K_COMMON_DEBUG
19362306a36Sopenharmony_ci	help
19462306a36Sopenharmony_ci	  Say Y, if you need access to ath9k_htc's statistics.
19562306a36Sopenharmony_ci	  As well as access to the FFT/spectral data.
19662306a36Sopenharmony_ci
19762306a36Sopenharmony_ciconfig ATH9K_HWRNG
19862306a36Sopenharmony_ci	bool "Random number generator support"
19962306a36Sopenharmony_ci	depends on ATH9K && (HW_RANDOM = y || HW_RANDOM = ATH9K)
20062306a36Sopenharmony_ci	default n
20162306a36Sopenharmony_ci	help
20262306a36Sopenharmony_ci	  This option incorporates the ADC register output as a source of
20362306a36Sopenharmony_ci	  randomness into Linux entropy pool (/dev/urandom and /dev/random)
20462306a36Sopenharmony_ci
20562306a36Sopenharmony_ci	  Say Y, feeds the entropy directly from the WiFi driver to the input
20662306a36Sopenharmony_ci	  pool.
20762306a36Sopenharmony_ci
20862306a36Sopenharmony_ciconfig ATH9K_COMMON_SPECTRAL
20962306a36Sopenharmony_ci	bool "Atheros ath9k/ath9k_htc spectral scan support"
21062306a36Sopenharmony_ci	depends on ATH9K_DEBUGFS || ATH9K_HTC_DEBUGFS
21162306a36Sopenharmony_ci	select RELAY
21262306a36Sopenharmony_ci	default n
21362306a36Sopenharmony_ci	help
21462306a36Sopenharmony_ci	  Say Y to enable access to the FFT/spectral data via debugfs.
215