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