1*4882a593Smuzhiyun# SPDX-License-Identifier: ISC 2*4882a593Smuzhiyunconfig ATH9K_HW 3*4882a593Smuzhiyun tristate 4*4882a593Smuzhiyunconfig ATH9K_COMMON 5*4882a593Smuzhiyun tristate 6*4882a593Smuzhiyun select ATH_COMMON 7*4882a593Smuzhiyunconfig ATH9K_COMMON_DEBUG 8*4882a593Smuzhiyun bool 9*4882a593Smuzhiyunconfig ATH9K_DFS_DEBUGFS 10*4882a593Smuzhiyun def_bool y 11*4882a593Smuzhiyun depends on ATH9K_DEBUGFS && ATH9K_DFS_CERTIFIED 12*4882a593Smuzhiyun 13*4882a593Smuzhiyunconfig ATH9K_BTCOEX_SUPPORT 14*4882a593Smuzhiyun bool "Atheros bluetooth coexistence support" 15*4882a593Smuzhiyun depends on (ATH9K || ATH9K_HTC) 16*4882a593Smuzhiyun default y 17*4882a593Smuzhiyun help 18*4882a593Smuzhiyun Say Y, if you want to use the ath9k/ath9k_htc radios together with 19*4882a593Smuzhiyun Bluetooth modules in the same system. 20*4882a593Smuzhiyun 21*4882a593Smuzhiyunconfig ATH9K 22*4882a593Smuzhiyun tristate "Atheros 802.11n wireless cards support" 23*4882a593Smuzhiyun depends on MAC80211 && HAS_DMA 24*4882a593Smuzhiyun select MAC80211_LEDS if LEDS_CLASS=y || LEDS_CLASS=MAC80211 25*4882a593Smuzhiyun select ATH9K_HW 26*4882a593Smuzhiyun select ATH9K_COMMON 27*4882a593Smuzhiyun help 28*4882a593Smuzhiyun This module adds support for wireless adapters based on 29*4882a593Smuzhiyun Atheros IEEE 802.11n AR5008, AR9001 and AR9002 family 30*4882a593Smuzhiyun of chipsets. For a specific list of supported external 31*4882a593Smuzhiyun cards, laptops that already ship with these cards and 32*4882a593Smuzhiyun APs that come with these cards refer to ath9k wiki 33*4882a593Smuzhiyun products page: 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun https://wireless.wiki.kernel.org/en/users/Drivers/ath9k/products 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun If you choose to build a module, it'll be called ath9k. 38*4882a593Smuzhiyun 39*4882a593Smuzhiyunconfig ATH9K_PCI 40*4882a593Smuzhiyun bool "Atheros ath9k PCI/PCIe bus support" 41*4882a593Smuzhiyun default y 42*4882a593Smuzhiyun depends on ATH9K && PCI 43*4882a593Smuzhiyun help 44*4882a593Smuzhiyun This option enables the PCI bus support in ath9k. 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun Say Y, if you have a compatible PCI/PCIe wireless card. 47*4882a593Smuzhiyun 48*4882a593Smuzhiyunconfig ATH9K_AHB 49*4882a593Smuzhiyun bool "Atheros ath9k AHB bus support" 50*4882a593Smuzhiyun depends on ATH9K 51*4882a593Smuzhiyun default n 52*4882a593Smuzhiyun help 53*4882a593Smuzhiyun This option enables the AHB bus support in ath9k. 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun Say Y, if you have a SoC with a compatible built-in 56*4882a593Smuzhiyun wireless MAC. Say N if unsure. 57*4882a593Smuzhiyun 58*4882a593Smuzhiyunconfig ATH9K_DEBUGFS 59*4882a593Smuzhiyun bool "Atheros ath9k debugging" 60*4882a593Smuzhiyun depends on ATH9K && DEBUG_FS 61*4882a593Smuzhiyun select MAC80211_DEBUGFS 62*4882a593Smuzhiyun select ATH9K_COMMON_DEBUG 63*4882a593Smuzhiyun help 64*4882a593Smuzhiyun Say Y, if you need access to ath9k's statistics for 65*4882a593Smuzhiyun interrupts, rate control, etc. 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun Also required for changing debug message flags at run time and for 68*4882a593Smuzhiyun TX99. 69*4882a593Smuzhiyun 70*4882a593Smuzhiyunconfig ATH9K_STATION_STATISTICS 71*4882a593Smuzhiyun bool "Detailed station statistics" 72*4882a593Smuzhiyun depends on ATH9K && ATH9K_DEBUGFS && DEBUG_FS 73*4882a593Smuzhiyun select MAC80211_DEBUGFS 74*4882a593Smuzhiyun default n 75*4882a593Smuzhiyun help 76*4882a593Smuzhiyun This option enables detailed statistics for association stations. 77*4882a593Smuzhiyun 78*4882a593Smuzhiyunconfig ATH9K_TX99 79*4882a593Smuzhiyun bool "Atheros ath9k TX99 testing support" 80*4882a593Smuzhiyun depends on ATH9K_DEBUGFS && CFG80211_CERTIFICATION_ONUS 81*4882a593Smuzhiyun default n 82*4882a593Smuzhiyun help 83*4882a593Smuzhiyun Say N. This should only be enabled on systems undergoing 84*4882a593Smuzhiyun certification testing and evaluation in a controlled environment. 85*4882a593Smuzhiyun Enabling this will only enable TX99 support, all other modes of 86*4882a593Smuzhiyun operation will be disabled. 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun TX99 support enables Specific Absorption Rate (SAR) testing. 89*4882a593Smuzhiyun SAR is the unit of measurement for the amount of radio frequency(RF) 90*4882a593Smuzhiyun absorbed by the body when using a wireless device. The RF exposure 91*4882a593Smuzhiyun limits used are expressed in the terms of SAR, which is a measure 92*4882a593Smuzhiyun of the electric and magnetic field strength and power density for 93*4882a593Smuzhiyun transmitters operating at frequencies from 300 kHz to 100 GHz. 94*4882a593Smuzhiyun Regulatory bodies around the world require that wireless device 95*4882a593Smuzhiyun be evaluated to meet the RF exposure limits set forth in the 96*4882a593Smuzhiyun governmental SAR regulations. 97*4882a593Smuzhiyun 98*4882a593Smuzhiyunconfig ATH9K_DFS_CERTIFIED 99*4882a593Smuzhiyun bool "Atheros DFS support for certified platforms" 100*4882a593Smuzhiyun depends on ATH9K && CFG80211_CERTIFICATION_ONUS 101*4882a593Smuzhiyun default n 102*4882a593Smuzhiyun help 103*4882a593Smuzhiyun This option enables DFS support for initiating radiation on 104*4882a593Smuzhiyun ath9k. There is no way to dynamically detect if a card was DFS 105*4882a593Smuzhiyun certified and as such this is left as a build time option. This 106*4882a593Smuzhiyun option should only be enabled by system integrators that can 107*4882a593Smuzhiyun guarantee that all the platforms that their kernel will run on 108*4882a593Smuzhiyun have obtained appropriate regulatory body certification for a 109*4882a593Smuzhiyun respective Atheros card by using ath9k on the target shipping 110*4882a593Smuzhiyun platforms. 111*4882a593Smuzhiyun 112*4882a593Smuzhiyun This is currently only a placeholder for future DFS support, 113*4882a593Smuzhiyun as DFS support requires more components that still need to be 114*4882a593Smuzhiyun developed. At this point enabling this option won't do anything 115*4882a593Smuzhiyun except increase code size. 116*4882a593Smuzhiyun 117*4882a593Smuzhiyunconfig ATH9K_DYNACK 118*4882a593Smuzhiyun bool "Atheros ath9k ACK timeout estimation algorithm" 119*4882a593Smuzhiyun depends on ATH9K 120*4882a593Smuzhiyun default n 121*4882a593Smuzhiyun help 122*4882a593Smuzhiyun This option enables ath9k dynamic ACK timeout estimation algorithm 123*4882a593Smuzhiyun based on ACK frame RX timestamp, TX frame timestamp and frame 124*4882a593Smuzhiyun duration 125*4882a593Smuzhiyun 126*4882a593Smuzhiyunconfig ATH9K_WOW 127*4882a593Smuzhiyun bool "Wake on Wireless LAN support (EXPERIMENTAL)" 128*4882a593Smuzhiyun depends on ATH9K && PM 129*4882a593Smuzhiyun default n 130*4882a593Smuzhiyun help 131*4882a593Smuzhiyun This option enables Wake on Wireless LAN support for certain cards. 132*4882a593Smuzhiyun Currently, AR9462 is supported. 133*4882a593Smuzhiyun 134*4882a593Smuzhiyunconfig ATH9K_RFKILL 135*4882a593Smuzhiyun bool "Atheros ath9k rfkill support" if EXPERT 136*4882a593Smuzhiyun depends on ATH9K 137*4882a593Smuzhiyun depends on RFKILL=y || RFKILL=ATH9K 138*4882a593Smuzhiyun default y 139*4882a593Smuzhiyun help 140*4882a593Smuzhiyun Say Y to have ath9k poll the RF-Kill GPIO every couple of 141*4882a593Smuzhiyun seconds. Turn off to save power, but enable it if you have 142*4882a593Smuzhiyun a platform that can toggle the RF-Kill GPIO. 143*4882a593Smuzhiyun 144*4882a593Smuzhiyunconfig ATH9K_CHANNEL_CONTEXT 145*4882a593Smuzhiyun bool "Channel Context support" 146*4882a593Smuzhiyun depends on ATH9K 147*4882a593Smuzhiyun default n 148*4882a593Smuzhiyun help 149*4882a593Smuzhiyun This option enables channel context support in ath9k, which is needed 150*4882a593Smuzhiyun for multi-channel concurrency. Enable this if P2P PowerSave support 151*4882a593Smuzhiyun is required. 152*4882a593Smuzhiyun 153*4882a593Smuzhiyunconfig ATH9K_PCOEM 154*4882a593Smuzhiyun bool "Atheros ath9k support for PC OEM cards" if EXPERT 155*4882a593Smuzhiyun depends on ATH9K 156*4882a593Smuzhiyun default y 157*4882a593Smuzhiyun 158*4882a593Smuzhiyunconfig ATH9K_PCI_NO_EEPROM 159*4882a593Smuzhiyun tristate "Atheros ath9k pci loader for EEPROM-less chips" 160*4882a593Smuzhiyun depends on ATH9K_PCI 161*4882a593Smuzhiyun default n 162*4882a593Smuzhiyun help 163*4882a593Smuzhiyun This separate driver provides a loader in order to support the 164*4882a593Smuzhiyun AR500X to AR92XX-generation of ath9k PCI(e) WiFi chips, which have 165*4882a593Smuzhiyun their initialization data (which contains the real PCI Device ID 166*4882a593Smuzhiyun that ath9k will need) stored together with the calibration data out 167*4882a593Smuzhiyun of reach for the ath9k chip. 168*4882a593Smuzhiyun 169*4882a593Smuzhiyun These devices are usually various network appliances, routers or 170*4882a593Smuzhiyun access Points and such. 171*4882a593Smuzhiyun 172*4882a593Smuzhiyun If unsure say N. 173*4882a593Smuzhiyun 174*4882a593Smuzhiyunconfig ATH9K_HTC 175*4882a593Smuzhiyun tristate "Atheros HTC based wireless cards support" 176*4882a593Smuzhiyun depends on USB && MAC80211 177*4882a593Smuzhiyun select MAC80211_LEDS if LEDS_CLASS=y || LEDS_CLASS=MAC80211 178*4882a593Smuzhiyun select ATH9K_HW 179*4882a593Smuzhiyun select ATH9K_COMMON 180*4882a593Smuzhiyun help 181*4882a593Smuzhiyun Support for Atheros HTC based cards. 182*4882a593Smuzhiyun Chipsets supported: AR9271 183*4882a593Smuzhiyun 184*4882a593Smuzhiyun For more information: 185*4882a593Smuzhiyun https://wireless.wiki.kernel.org/en/users/Drivers/ath9k_htc 186*4882a593Smuzhiyun 187*4882a593Smuzhiyun The built module will be ath9k_htc. 188*4882a593Smuzhiyun 189*4882a593Smuzhiyunconfig ATH9K_HTC_DEBUGFS 190*4882a593Smuzhiyun bool "Atheros ath9k_htc debugging" 191*4882a593Smuzhiyun depends on ATH9K_HTC && DEBUG_FS 192*4882a593Smuzhiyun select ATH9K_COMMON_DEBUG 193*4882a593Smuzhiyun help 194*4882a593Smuzhiyun Say Y, if you need access to ath9k_htc's statistics. 195*4882a593Smuzhiyun As well as access to the FFT/spectral data. 196*4882a593Smuzhiyun 197*4882a593Smuzhiyunconfig ATH9K_HWRNG 198*4882a593Smuzhiyun bool "Random number generator support" 199*4882a593Smuzhiyun depends on ATH9K && (HW_RANDOM = y || HW_RANDOM = ATH9K) 200*4882a593Smuzhiyun default n 201*4882a593Smuzhiyun help 202*4882a593Smuzhiyun This option incorporates the ADC register output as a source of 203*4882a593Smuzhiyun randomness into Linux entropy pool (/dev/urandom and /dev/random) 204*4882a593Smuzhiyun 205*4882a593Smuzhiyun Say Y, feeds the entropy directly from the WiFi driver to the input 206*4882a593Smuzhiyun pool. 207*4882a593Smuzhiyun 208*4882a593Smuzhiyunconfig ATH9K_COMMON_SPECTRAL 209*4882a593Smuzhiyun bool "Atheros ath9k/ath9k_htc spectral scan support" 210*4882a593Smuzhiyun depends on ATH9K_DEBUGFS || ATH9K_HTC_DEBUGFS 211*4882a593Smuzhiyun select RELAY 212*4882a593Smuzhiyun default n 213*4882a593Smuzhiyun help 214*4882a593Smuzhiyun Say Y to enable access to the FFT/spectral data via debugfs. 215