ath25: drop target
[openwrt/staging/mans0n.git] / package / kernel / mac80211 / ath.mk
1 PKG_DRIVERS += \
2 ath ath5k ath6kl ath6kl-sdio ath6kl-usb ath9k ath9k-common ath9k-htc ath10k ath10k-smallbuffers \
3 ath11k ath11k-ahb ath11k-pci carl9170 owl-loader ar5523 wil6210
4
5 PKG_CONFIG_DEPENDS += \
6 CONFIG_PACKAGE_ATH_DEBUG \
7 CONFIG_PACKAGE_ATH_DFS \
8 CONFIG_PACKAGE_ATH_SPECTRAL \
9 CONFIG_PACKAGE_ATH_DYNACK \
10 CONFIG_ATH9K_HWRNG \
11 CONFIG_ATH9K_SUPPORT_PCOEM \
12 CONFIG_ATH9K_TX99 \
13 CONFIG_ATH10K_LEDS \
14 CONFIG_ATH10K_THERMAL \
15 CONFIG_ATH11K_THERMAL \
16 CONFIG_ATH_USER_REGD
17
18 ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS
19 config-y += \
20 ATH9K_DEBUGFS \
21 ATH9K_HTC_DEBUGFS \
22 ATH10K_DEBUGFS \
23 ATH11K_DEBUGFS \
24 CARL9170_DEBUGFS \
25 ATH5K_DEBUG \
26 ATH6KL_DEBUG \
27 WIL6210_DEBUGFS
28 endif
29
30 ifdef CONFIG_PACKAGE_MAC80211_TRACING
31 config-y += \
32 ATH10K_TRACING \
33 ATH11K_TRACING \
34 ATH6KL_TRACING \
35 ATH_TRACEPOINTS \
36 ATH5K_TRACER \
37 WIL6210_TRACING
38 endif
39
40 config-$(call config_package,ath,regular smallbuffers) += ATH_CARDS ATH_COMMON
41 config-$(CONFIG_PACKAGE_ATH_DEBUG) += ATH_DEBUG ATH10K_DEBUG ATH11K_DEBUG ATH9K_STATION_STATISTICS
42 config-$(CONFIG_PACKAGE_ATH_DFS) += ATH9K_DFS_CERTIFIED ATH10K_DFS_CERTIFIED
43 config-$(CONFIG_PACKAGE_ATH_SPECTRAL) += ATH9K_COMMON_SPECTRAL ATH10K_SPECTRAL ATH11K_SPECTRAL
44 config-$(CONFIG_PACKAGE_ATH_DYNACK) += ATH9K_DYNACK
45 config-$(call config_package,ath9k) += ATH9K
46 config-$(call config_package,ath9k-common) += ATH9K_COMMON
47 config-$(call config_package,owl-loader) += ATH9K_PCI_NO_EEPROM
48 config-$(CONFIG_TARGET_ath79) += ATH9K_AHB
49 config-$(CONFIG_TARGET_ipq40xx) += ATH10K_AHB
50 config-$(CONFIG_PCI) += ATH9K_PCI
51 config-$(CONFIG_ATH_USER_REGD) += ATH_USER_REGD ATH_REG_DYNAMIC_USER_REG_HINTS
52 config-$(CONFIG_ATH9K_HWRNG) += ATH9K_HWRNG
53 config-$(CONFIG_ATH9K_SUPPORT_PCOEM) += ATH9K_PCOEM
54 config-$(CONFIG_ATH9K_TX99) += ATH9K_TX99
55 config-$(CONFIG_ATH9K_UBNTHSR) += ATH9K_UBNTHSR
56 config-$(CONFIG_ATH10K_LEDS) += ATH10K_LEDS
57 config-$(CONFIG_ATH10K_THERMAL) += ATH10K_THERMAL
58 config-$(CONFIG_ATH11K_THERMAL) += ATH11K_THERMAL
59
60 config-$(call config_package,ath9k-htc) += ATH9K_HTC
61 config-$(call config_package,ath10k,regular) += ATH10K ATH10K_PCI
62 config-$(call config_package,ath10k-smallbuffers,smallbuffers) += ATH10K ATH10K_PCI ATH10K_SMALLBUFFERS
63 config-$(call config_package,ath11k) += ATH11K
64 config-$(call config_package,ath11k-ahb) += ATH11K_AHB
65 config-$(call config_package,ath11k-pci) += ATH11K_PCI
66
67 config-$(call config_package,ath5k) += ATH5K ATH5K_PCI
68
69 config-$(call config_package,ath6kl) += ATH6KL
70 config-$(call config_package,ath6kl-sdio) += ATH6KL_SDIO
71 config-$(call config_package,ath6kl-usb) += ATH6KL_USB
72
73 config-$(call config_package,carl9170) += CARL9170
74 config-$(call config_package,ar5523) += AR5523
75
76 config-$(call config_package,wil6210) += WIL6210
77
78 define KernelPackage/ath/config
79 if PACKAGE_kmod-ath
80 config ATH_USER_REGD
81 bool "Force Atheros drivers to respect the user's regdomain settings"
82 default y
83 help
84 Atheros' idea of regulatory handling is that the EEPROM of the card defines
85 the regulatory limits and the user is only allowed to restrict the settings
86 even further, even if the country allows frequencies or power levels that
87 are forbidden by the EEPROM settings.
88
89 Select this option if you want the driver to respect the user's decision about
90 regulatory settings.
91
92 config PACKAGE_ATH_DEBUG
93 bool "Atheros wireless debugging"
94 help
95 Say Y, if you want to debug atheros wireless drivers.
96 Only ath9k & ath10k & ath11k make use of this.
97
98 config PACKAGE_ATH_DFS
99 bool "Enable DFS support"
100 default y
101 help
102 Dynamic frequency selection (DFS) is required for most of the 5 GHz band
103 channels in Europe, US, and Japan.
104
105 Select this option if you want to use such channels.
106
107 config PACKAGE_ATH_SPECTRAL
108 bool "Atheros spectral scan support"
109 depends on PACKAGE_ATH_DEBUG
110 select KERNEL_RELAY
111 help
112 Say Y to enable access to the FFT/spectral data via debugfs.
113
114 config PACKAGE_ATH_DYNACK
115 bool "Enable Dynack support"
116 depends on PACKAGE_kmod-ath9k-common
117 help
118 Enables support for Dynamic ACK estimation, which allows the fastest possible speed
119 at any distance automatically by increasing/decreasing the max frame ACK time for
120 the most remote station detected. It can be enabled by using iw (iw phy0 set distance auto),
121 or by sending the NL80211_ATTR_WIPHY_DYN_ACK flag to mac80211 driver using netlink.
122
123 Select this option if you want to enable this feature
124
125 endif
126 endef
127
128 define KernelPackage/ath
129 $(call KernelPackage/mac80211/Default)
130 TITLE:=Atheros common driver part
131 DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ath79 +kmod-mac80211
132 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.ko
133 MENU:=1
134 endef
135
136 define KernelPackage/ath/description
137 This module contains some common parts needed by Atheros Wireless drivers.
138 endef
139
140 define KernelPackage/ath5k
141 $(call KernelPackage/mac80211/Default)
142 TITLE:=Atheros 5xxx wireless cards support
143 URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath5k
144 DEPENDS+= @PCI_SUPPORT +kmod-ath
145 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath5k/ath5k.ko
146 AUTOLOAD:=$(call AutoProbe,ath5k)
147 endef
148
149 define KernelPackage/ath5k/description
150 This module adds support for wireless adapters based on
151 Atheros 5xxx chipset.
152 endef
153
154 define KernelPackage/ath6kl
155 $(call KernelPackage/mac80211/Default)
156 TITLE:=Atheros FullMAC wireless devices (common code for ath6kl_sdio and ath6kl_usb)
157 URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath6kl
158 HIDDEN:=1
159 DEPENDS+= +kmod-ath
160 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath6kl/ath6kl_core.ko
161 endef
162
163 define KernelPackage/ath6kl-sdio
164 $(call KernelPackage/mac80211/Default)
165 TITLE:=Atheros 802.11n SDIO wireless cards support
166 URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath6kl
167 DEPENDS+= +kmod-mmc +kmod-ath6kl
168 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath6kl/ath6kl_sdio.ko
169 AUTOLOAD:=$(call AutoProbe,ath6kl_sdio)
170 endef
171
172 define KernelPackage/ath6kl-sdio/description
173 This module adds support for wireless adapters based on
174 Atheros IEEE 802.11n AR6003 and AR6004 family of chipsets.
175 endef
176
177 define KernelPackage/ath6kl-usb
178 $(call KernelPackage/mac80211/Default)
179 TITLE:=Atheros 802.11n USB wireless cards support
180 URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath6kl
181 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-ath6kl
182 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath6kl/ath6kl_usb.ko
183 AUTOLOAD:=$(call AutoProbe,ath6kl_usb)
184 endef
185
186 define KernelPackage/ath6kl-usb/description
187 This module adds support for wireless adapters based on the
188 Atheros IEEE 802.11n AR6004 chipset.
189 endef
190
191 define KernelPackage/ath9k-common
192 $(call KernelPackage/mac80211/Default)
193 TITLE:=Atheros 802.11n wireless devices (common code for ath9k and ath9k_htc)
194 URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath9k
195 HIDDEN:=1
196 DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ath79 +kmod-ath +kmod-random-core
197 FILES:= \
198 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_common.ko \
199 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.ko
200 endef
201
202 define KernelPackage/ath9k
203 $(call KernelPackage/mac80211/Default)
204 TITLE:=Atheros 802.11n PCI wireless cards support
205 URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath9k
206 DEPENDS+= @PCI_SUPPORT||TARGET_ath79 +kmod-ath9k-common
207 FILES:= \
208 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.ko
209 AUTOLOAD:=$(call AutoProbe,ath9k)
210 endef
211
212 define KernelPackage/ath9k/description
213 This module adds support for wireless adapters based on
214 Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
215 endef
216
217 define KernelPackage/ath9k/config
218
219 config ATH9K_HWRNG
220 bool "Add wireless noise as source of randomness to kernel entropy pool"
221 depends on PACKAGE_kmod-ath9k
222 select PACKAGE_kmod-random-core
223 default y
224
225 config ATH9K_SUPPORT_PCOEM
226 bool "Support chips used in PC OEM cards"
227 depends on PACKAGE_kmod-ath9k
228 default y if (x86_64 || i386)
229
230 config ATH9K_TX99
231 bool "Enable TX99 support (WARNING: testing only, breaks normal operation!)"
232 depends on PACKAGE_kmod-ath9k
233
234 config ATH9K_UBNTHSR
235 bool "Support for Ubiquiti UniFi Outdoor+ access point"
236 depends on PACKAGE_kmod-ath9k && TARGET_ath79
237 default y
238
239 endef
240
241 define KernelPackage/ath9k-htc
242 $(call KernelPackage/mac80211/Default)
243 TITLE:=Atheros 802.11n USB device support
244 URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath9k
245 DEPENDS+= @USB_SUPPORT +kmod-ath9k-common +kmod-usb-core +ath9k-htc-firmware
246 FILES:= \
247 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
248 AUTOLOAD:=$(call AutoProbe,ath9k_htc)
249 endef
250
251 define KernelPackage/ath9k-htc/description
252 This module adds support for wireless adapters based on
253 Atheros USB AR9271 and AR7010 family of chipsets.
254 endef
255
256 define KernelPackage/ath10k
257 $(call KernelPackage/mac80211/Default)
258 TITLE:=Atheros 802.11ac wireless cards support
259 URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath10k
260 DEPENDS+= @PCI_SUPPORT +kmod-ath +@DRIVER_11AC_SUPPORT \
261 +ATH10K_THERMAL:kmod-hwmon-core +ATH10K_THERMAL:kmod-thermal
262 FILES:= \
263 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath10k/ath10k_core.ko \
264 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath10k/ath10k_pci.ko
265 AUTOLOAD:=$(call AutoProbe,ath10k_core ath10k_pci)
266 MODPARAMS.ath10k_core:=frame_mode=2
267 VARIANT:=regular
268 endef
269
270 define KernelPackage/ath10k/description
271 This module adds support for wireless adapters based on
272 Atheros IEEE 802.11ac family of chipsets. For now only
273 PCI is supported.
274 endef
275
276 define KernelPackage/ath10k/config
277
278 config ATH10K_LEDS
279 bool "Enable LED support"
280 default y
281 depends on PACKAGE_kmod-ath10k || PACKAGE_kmod-ath10k-smallbuffers
282
283 config ATH10K_THERMAL
284 bool "Enable thermal sensors and throttling support"
285 depends on PACKAGE_kmod-ath10k || PACKAGE_kmod-ath10k-smallbuffers
286
287 endef
288
289 define KernelPackage/ath10k-smallbuffers
290 $(call KernelPackage/ath10k)
291 TITLE+= (small buffers for low-RAM devices)
292 VARIANT:=smallbuffers
293 endef
294
295 define KernelPackage/ath11k
296 $(call KernelPackage/mac80211/Default)
297 TITLE:=Qualcomm 802.11ax wireless chipset support (common code)
298 URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath11k
299 DEPENDS+= +kmod-ath +@DRIVER_11AC_SUPPORT +@DRIVER_11AX_SUPPORT \
300 +kmod-crypto-michael-mic +ATH11K_THERMAL:kmod-hwmon-core +ATH11K_THERMAL:kmod-thermal
301 FILES:=$(PKG_BUILD_DIR)/drivers/soc/qcom/qmi_helpers.ko \
302 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath11k/ath11k.ko
303 endef
304
305 define KernelPackage/ath11k/description
306 This module adds support for Qualcomm Technologies 802.11ax family of
307 chipsets.
308 endef
309
310 define KernelPackage/ath11k/config
311
312 config ATH11K_THERMAL
313 bool "Enable thermal sensors and throttling support"
314 depends on PACKAGE_kmod-ath11k
315 default y if TARGET_qualcommax
316
317 endef
318
319 define KernelPackage/ath11k-ahb
320 $(call KernelPackage/mac80211/Default)
321 TITLE:=Qualcomm 802.11ax AHB wireless chipset support
322 URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath11k
323 DEPENDS+= @TARGET_qualcommax +kmod-ath11k +kmod-qrtr-smd
324 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath11k/ath11k_ahb.ko
325 AUTOLOAD:=$(call AutoProbe,ath11k_ahb)
326 endef
327
328 define KernelPackage/ath11k-ahb/description
329 This module adds support for Qualcomm Technologies 802.11ax family of
330 chipsets with AHB bus.
331 endef
332
333 define KernelPackage/ath11k-pci
334 $(call KernelPackage/mac80211/Default)
335 TITLE:=Qualcomm 802.11ax PCI wireless chipset support
336 URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath11k
337 DEPENDS+= @PCI_SUPPORT +kmod-qrtr-mhi +kmod-ath11k
338 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath11k/ath11k_pci.ko
339 AUTOLOAD:=$(call AutoProbe,ath11k_pci)
340 endef
341
342 define KernelPackage/ath11k-pci/description
343 This module adds support for Qualcomm Technologies 802.11ax family of
344 chipsets with PCI bus.
345 endef
346
347 define KernelPackage/carl9170
348 $(call KernelPackage/mac80211/Default)
349 TITLE:=Driver for Atheros AR9170 USB sticks
350 DEPENDS:=@USB_SUPPORT +kmod-mac80211 +kmod-ath +kmod-usb-core +kmod-input-core +carl9170-firmware
351 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/carl9170/carl9170.ko
352 AUTOLOAD:=$(call AutoProbe,carl9170)
353 endef
354
355 define KernelPackage/owl-loader
356 $(call KernelPackage/mac80211/Default)
357 TITLE:=Owl loader for initializing Atheros PCI(e) Wifi chips
358 DEPENDS:=@PCI_SUPPORT +kmod-ath9k
359 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.ko
360 AUTOLOAD:=$(call AutoProbe,ath9k_pci_owl_loader)
361 endef
362
363 define KernelPackage/owl-loader/description
364 Kernel module that helps to initialize certain Qualcomm
365 Atheros' PCI(e) Wifi chips, which have the init data
366 (which contains the PCI device ID for example) stored
367 together with the calibration data in the file system.
368
369 This is necessary for devices like the Cisco Meraki Z1.
370 endef
371
372 define KernelPackage/ar5523
373 $(call KernelPackage/mac80211/Default)
374 TITLE:=Driver for Atheros AR5523 USB sticks
375 DEPENDS:=@USB_SUPPORT +kmod-mac80211 +kmod-ath +kmod-usb-core +kmod-input-core
376 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ar5523/ar5523.ko
377 AUTOLOAD:=$(call AutoProbe,ar5523)
378 endef
379
380 define KernelPackage/wil6210
381 $(call KernelPackage/mac80211/Default)
382 TITLE:=QCA/Wilocity 60g WiFi card wil6210 support
383 DEPENDS+= @PCI_SUPPORT +kmod-mac80211 +wil6210-firmware
384 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/wil6210/wil6210.ko
385 AUTOLOAD:=$(call AutoProbe,wil6210)
386 endef