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