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