18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: ISC
28c2ecf20Sopenharmony_ciconfig ATH9K_HW
38c2ecf20Sopenharmony_ci	tristate
48c2ecf20Sopenharmony_ciconfig ATH9K_COMMON
58c2ecf20Sopenharmony_ci	tristate
68c2ecf20Sopenharmony_ci	select ATH_COMMON
78c2ecf20Sopenharmony_ciconfig ATH9K_COMMON_DEBUG
88c2ecf20Sopenharmony_ci	bool
98c2ecf20Sopenharmony_ciconfig ATH9K_DFS_DEBUGFS
108c2ecf20Sopenharmony_ci	def_bool y
118c2ecf20Sopenharmony_ci	depends on ATH9K_DEBUGFS && ATH9K_DFS_CERTIFIED
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciconfig ATH9K_BTCOEX_SUPPORT
148c2ecf20Sopenharmony_ci	bool "Atheros bluetooth coexistence support"
158c2ecf20Sopenharmony_ci	depends on (ATH9K || ATH9K_HTC)
168c2ecf20Sopenharmony_ci	default y
178c2ecf20Sopenharmony_ci	help
188c2ecf20Sopenharmony_ci	  Say Y, if you want to use the ath9k/ath9k_htc radios together with
198c2ecf20Sopenharmony_ci	  Bluetooth modules in the same system.
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ciconfig ATH9K
228c2ecf20Sopenharmony_ci	tristate "Atheros 802.11n wireless cards support"
238c2ecf20Sopenharmony_ci	depends on MAC80211 && HAS_DMA
248c2ecf20Sopenharmony_ci	select MAC80211_LEDS if LEDS_CLASS=y || LEDS_CLASS=MAC80211
258c2ecf20Sopenharmony_ci	select ATH9K_HW
268c2ecf20Sopenharmony_ci	select ATH9K_COMMON
278c2ecf20Sopenharmony_ci	help
288c2ecf20Sopenharmony_ci	  This module adds support for wireless adapters based on
298c2ecf20Sopenharmony_ci	  Atheros IEEE 802.11n AR5008, AR9001 and AR9002 family
308c2ecf20Sopenharmony_ci	  of chipsets. For a specific list of supported external
318c2ecf20Sopenharmony_ci	  cards, laptops that already ship with these cards and
328c2ecf20Sopenharmony_ci	  APs that come with these cards refer to ath9k wiki
338c2ecf20Sopenharmony_ci	  products page:
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci	  https://wireless.wiki.kernel.org/en/users/Drivers/ath9k/products
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci	  If you choose to build a module, it'll be called ath9k.
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ciconfig ATH9K_PCI
408c2ecf20Sopenharmony_ci	bool "Atheros ath9k PCI/PCIe bus support"
418c2ecf20Sopenharmony_ci	default y
428c2ecf20Sopenharmony_ci	depends on ATH9K && PCI
438c2ecf20Sopenharmony_ci	help
448c2ecf20Sopenharmony_ci	  This option enables the PCI bus support in ath9k.
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci	  Say Y, if you have a compatible PCI/PCIe wireless card.
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ciconfig ATH9K_AHB
498c2ecf20Sopenharmony_ci	bool "Atheros ath9k AHB bus support"
508c2ecf20Sopenharmony_ci	depends on ATH9K
518c2ecf20Sopenharmony_ci	default n
528c2ecf20Sopenharmony_ci	help
538c2ecf20Sopenharmony_ci	  This option enables the AHB bus support in ath9k.
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_ci	  Say Y, if you have a SoC with a compatible built-in
568c2ecf20Sopenharmony_ci	  wireless MAC. Say N if unsure.
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ciconfig ATH9K_DEBUGFS
598c2ecf20Sopenharmony_ci	bool "Atheros ath9k debugging"
608c2ecf20Sopenharmony_ci	depends on ATH9K && DEBUG_FS
618c2ecf20Sopenharmony_ci	select MAC80211_DEBUGFS
628c2ecf20Sopenharmony_ci	select ATH9K_COMMON_DEBUG
638c2ecf20Sopenharmony_ci	help
648c2ecf20Sopenharmony_ci	  Say Y, if you need access to ath9k's statistics for
658c2ecf20Sopenharmony_ci	  interrupts, rate control, etc.
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_ci	  Also required for changing debug message flags at run time and for
688c2ecf20Sopenharmony_ci	  TX99.
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ciconfig ATH9K_STATION_STATISTICS
718c2ecf20Sopenharmony_ci	bool "Detailed station statistics"
728c2ecf20Sopenharmony_ci	depends on ATH9K && ATH9K_DEBUGFS && DEBUG_FS
738c2ecf20Sopenharmony_ci	select MAC80211_DEBUGFS
748c2ecf20Sopenharmony_ci	default n
758c2ecf20Sopenharmony_ci	help
768c2ecf20Sopenharmony_ci	  This option enables detailed statistics for association stations.
778c2ecf20Sopenharmony_ci
788c2ecf20Sopenharmony_ciconfig ATH9K_TX99
798c2ecf20Sopenharmony_ci	bool "Atheros ath9k TX99 testing support"
808c2ecf20Sopenharmony_ci	depends on ATH9K_DEBUGFS && CFG80211_CERTIFICATION_ONUS
818c2ecf20Sopenharmony_ci	default n
828c2ecf20Sopenharmony_ci	help
838c2ecf20Sopenharmony_ci	  Say N. This should only be enabled on systems undergoing
848c2ecf20Sopenharmony_ci	  certification testing and evaluation in a controlled environment.
858c2ecf20Sopenharmony_ci	  Enabling this will only enable TX99 support, all other modes of
868c2ecf20Sopenharmony_ci	  operation will be disabled.
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ci	  TX99 support enables Specific Absorption Rate (SAR) testing.
898c2ecf20Sopenharmony_ci	  SAR is the unit of measurement for the amount of radio frequency(RF)
908c2ecf20Sopenharmony_ci	  absorbed by the body when using a wireless device. The RF exposure
918c2ecf20Sopenharmony_ci	  limits used are expressed in the terms of SAR, which is a measure
928c2ecf20Sopenharmony_ci	  of the electric and magnetic field strength and power density for
938c2ecf20Sopenharmony_ci	  transmitters operating at frequencies from 300 kHz to 100 GHz.
948c2ecf20Sopenharmony_ci	  Regulatory bodies around the world require that wireless device
958c2ecf20Sopenharmony_ci	  be evaluated to meet the RF exposure limits set forth in the
968c2ecf20Sopenharmony_ci	  governmental SAR regulations.
978c2ecf20Sopenharmony_ci
988c2ecf20Sopenharmony_ciconfig ATH9K_DFS_CERTIFIED
998c2ecf20Sopenharmony_ci	bool "Atheros DFS support for certified platforms"
1008c2ecf20Sopenharmony_ci	depends on ATH9K && CFG80211_CERTIFICATION_ONUS
1018c2ecf20Sopenharmony_ci	default n
1028c2ecf20Sopenharmony_ci	help
1038c2ecf20Sopenharmony_ci	  This option enables DFS support for initiating radiation on
1048c2ecf20Sopenharmony_ci	  ath9k. There is no way to dynamically detect if a card was DFS
1058c2ecf20Sopenharmony_ci	  certified and as such this is left as a build time option. This
1068c2ecf20Sopenharmony_ci	  option should only be enabled by system integrators that can
1078c2ecf20Sopenharmony_ci	  guarantee that all the platforms that their kernel will run on
1088c2ecf20Sopenharmony_ci	  have obtained appropriate regulatory body certification for a
1098c2ecf20Sopenharmony_ci	  respective Atheros card by using ath9k on the target shipping
1108c2ecf20Sopenharmony_ci	  platforms.
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ci	  This is currently only a placeholder for future DFS support,
1138c2ecf20Sopenharmony_ci	  as DFS support requires more components that still need to be
1148c2ecf20Sopenharmony_ci	  developed. At this point enabling this option won't do anything
1158c2ecf20Sopenharmony_ci	  except increase code size.
1168c2ecf20Sopenharmony_ci
1178c2ecf20Sopenharmony_ciconfig ATH9K_DYNACK
1188c2ecf20Sopenharmony_ci	bool "Atheros ath9k ACK timeout estimation algorithm"
1198c2ecf20Sopenharmony_ci	depends on ATH9K
1208c2ecf20Sopenharmony_ci	default n
1218c2ecf20Sopenharmony_ci	help
1228c2ecf20Sopenharmony_ci	  This option enables ath9k dynamic ACK timeout estimation algorithm
1238c2ecf20Sopenharmony_ci	  based on ACK frame RX timestamp, TX frame timestamp and frame
1248c2ecf20Sopenharmony_ci	  duration
1258c2ecf20Sopenharmony_ci
1268c2ecf20Sopenharmony_ciconfig ATH9K_WOW
1278c2ecf20Sopenharmony_ci	bool "Wake on Wireless LAN support (EXPERIMENTAL)"
1288c2ecf20Sopenharmony_ci	depends on ATH9K && PM
1298c2ecf20Sopenharmony_ci	default n
1308c2ecf20Sopenharmony_ci	help
1318c2ecf20Sopenharmony_ci	  This option enables Wake on Wireless LAN support for certain cards.
1328c2ecf20Sopenharmony_ci	  Currently, AR9462 is supported.
1338c2ecf20Sopenharmony_ci
1348c2ecf20Sopenharmony_ciconfig ATH9K_RFKILL
1358c2ecf20Sopenharmony_ci	bool "Atheros ath9k rfkill support" if EXPERT
1368c2ecf20Sopenharmony_ci	depends on ATH9K
1378c2ecf20Sopenharmony_ci	depends on RFKILL=y || RFKILL=ATH9K
1388c2ecf20Sopenharmony_ci	default y
1398c2ecf20Sopenharmony_ci	help
1408c2ecf20Sopenharmony_ci	  Say Y to have ath9k poll the RF-Kill GPIO every couple of
1418c2ecf20Sopenharmony_ci	  seconds. Turn off to save power, but enable it if you have
1428c2ecf20Sopenharmony_ci	  a platform that can toggle the RF-Kill GPIO.
1438c2ecf20Sopenharmony_ci
1448c2ecf20Sopenharmony_ciconfig ATH9K_CHANNEL_CONTEXT
1458c2ecf20Sopenharmony_ci	bool "Channel Context support"
1468c2ecf20Sopenharmony_ci	depends on ATH9K
1478c2ecf20Sopenharmony_ci	default n
1488c2ecf20Sopenharmony_ci	help
1498c2ecf20Sopenharmony_ci	  This option enables channel context support in ath9k, which is needed
1508c2ecf20Sopenharmony_ci	  for multi-channel concurrency. Enable this if P2P PowerSave support
1518c2ecf20Sopenharmony_ci	  is required.
1528c2ecf20Sopenharmony_ci
1538c2ecf20Sopenharmony_ciconfig ATH9K_PCOEM
1548c2ecf20Sopenharmony_ci	bool "Atheros ath9k support for PC OEM cards" if EXPERT
1558c2ecf20Sopenharmony_ci	depends on ATH9K
1568c2ecf20Sopenharmony_ci	default y
1578c2ecf20Sopenharmony_ci
1588c2ecf20Sopenharmony_ciconfig ATH9K_PCI_NO_EEPROM
1598c2ecf20Sopenharmony_ci	tristate "Atheros ath9k pci loader for EEPROM-less chips"
1608c2ecf20Sopenharmony_ci	depends on ATH9K_PCI
1618c2ecf20Sopenharmony_ci	default n
1628c2ecf20Sopenharmony_ci	help
1638c2ecf20Sopenharmony_ci	  This separate driver provides a loader in order to support the
1648c2ecf20Sopenharmony_ci	  AR500X to AR92XX-generation of ath9k PCI(e) WiFi chips, which have
1658c2ecf20Sopenharmony_ci	  their initialization data (which contains the real PCI Device ID
1668c2ecf20Sopenharmony_ci	  that ath9k will need) stored together with the calibration data out
1678c2ecf20Sopenharmony_ci	  of reach for the ath9k chip.
1688c2ecf20Sopenharmony_ci
1698c2ecf20Sopenharmony_ci	  These devices are usually various network appliances, routers or
1708c2ecf20Sopenharmony_ci	  access Points and such.
1718c2ecf20Sopenharmony_ci
1728c2ecf20Sopenharmony_ci	  If unsure say N.
1738c2ecf20Sopenharmony_ci
1748c2ecf20Sopenharmony_ciconfig ATH9K_HTC
1758c2ecf20Sopenharmony_ci	tristate "Atheros HTC based wireless cards support"
1768c2ecf20Sopenharmony_ci	depends on USB && MAC80211
1778c2ecf20Sopenharmony_ci	select MAC80211_LEDS if LEDS_CLASS=y || LEDS_CLASS=MAC80211
1788c2ecf20Sopenharmony_ci	select ATH9K_HW
1798c2ecf20Sopenharmony_ci	select ATH9K_COMMON
1808c2ecf20Sopenharmony_ci	help
1818c2ecf20Sopenharmony_ci	  Support for Atheros HTC based cards.
1828c2ecf20Sopenharmony_ci	  Chipsets supported: AR9271
1838c2ecf20Sopenharmony_ci
1848c2ecf20Sopenharmony_ci	  For more information:
1858c2ecf20Sopenharmony_ci	  https://wireless.wiki.kernel.org/en/users/Drivers/ath9k_htc
1868c2ecf20Sopenharmony_ci
1878c2ecf20Sopenharmony_ci	  The built module will be ath9k_htc.
1888c2ecf20Sopenharmony_ci
1898c2ecf20Sopenharmony_ciconfig ATH9K_HTC_DEBUGFS
1908c2ecf20Sopenharmony_ci	bool "Atheros ath9k_htc debugging"
1918c2ecf20Sopenharmony_ci	depends on ATH9K_HTC && DEBUG_FS
1928c2ecf20Sopenharmony_ci	select ATH9K_COMMON_DEBUG
1938c2ecf20Sopenharmony_ci	help
1948c2ecf20Sopenharmony_ci	  Say Y, if you need access to ath9k_htc's statistics.
1958c2ecf20Sopenharmony_ci	  As well as access to the FFT/spectral data.
1968c2ecf20Sopenharmony_ci
1978c2ecf20Sopenharmony_ciconfig ATH9K_HWRNG
1988c2ecf20Sopenharmony_ci	bool "Random number generator support"
1998c2ecf20Sopenharmony_ci	depends on ATH9K && (HW_RANDOM = y || HW_RANDOM = ATH9K)
2008c2ecf20Sopenharmony_ci	default n
2018c2ecf20Sopenharmony_ci	help
2028c2ecf20Sopenharmony_ci	  This option incorporates the ADC register output as a source of
2038c2ecf20Sopenharmony_ci	  randomness into Linux entropy pool (/dev/urandom and /dev/random)
2048c2ecf20Sopenharmony_ci
2058c2ecf20Sopenharmony_ci	  Say Y, feeds the entropy directly from the WiFi driver to the input
2068c2ecf20Sopenharmony_ci	  pool.
2078c2ecf20Sopenharmony_ci
2088c2ecf20Sopenharmony_ciconfig ATH9K_COMMON_SPECTRAL
2098c2ecf20Sopenharmony_ci	bool "Atheros ath9k/ath9k_htc spectral scan support"
2108c2ecf20Sopenharmony_ci	depends on ATH9K_DEBUGFS || ATH9K_HTC_DEBUGFS
2118c2ecf20Sopenharmony_ci	select RELAY
2128c2ecf20Sopenharmony_ci	default n
2138c2ecf20Sopenharmony_ci	help
2148c2ecf20Sopenharmony_ci	  Say Y to enable access to the FFT/spectral data via debugfs.
215