xref: /OK3568_Linux_fs/kernel/drivers/net/wireless/ath/ath9k/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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