mac80211: Add ath11k
[openwrt/staging/hauke.git] / package / kernel / mac80211 / ath.mk
1 PKG_DRIVERS += \
2 ath ath5k ath6kl ath6kl-sdio ath6kl-usb ath9k ath9k-common ath9k-htc ath10k \
3 ath11k 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_ATH_USER_REGD
16
17 ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS
18 config-y += \
19 ATH9K_DEBUGFS \
20 ATH9K_HTC_DEBUGFS \
21 ATH10K_DEBUGFS \
22 ATH11K_DEBUGFS \
23 CARL9170_DEBUGFS \
24 ATH5K_DEBUG \
25 ATH6KL_DEBUG \
26 WIL6210_DEBUGFS
27 endif
28
29 ifdef CONFIG_PACKAGE_MAC80211_TRACING
30 config-y += \
31 ATH10K_TRACING \
32 ATH11K_TRACING \
33 ATH6KL_TRACING \
34 ATH_TRACEPOINTS \
35 ATH5K_TRACER \
36 WIL6210_TRACING
37 endif
38
39 config-$(call config_package,ath) += ATH_CARDS ATH_COMMON ATH_REG_DYNAMIC_USER_REG_HINTS
40 config-$(CONFIG_PACKAGE_ATH_DEBUG) += ATH_DEBUG ATH10K_DEBUG ATH11K_DEBUG ATH9K_STATION_STATISTICS
41 config-$(CONFIG_PACKAGE_ATH_DFS) += ATH9K_DFS_CERTIFIED ATH10K_DFS_CERTIFIED
42 config-$(CONFIG_PACKAGE_ATH_SPECTRAL) += ATH9K_COMMON_SPECTRAL ATH10K_SPECTRAL
43 config-$(CONFIG_PACKAGE_ATH_DYNACK) += ATH9K_DYNACK
44 config-$(call config_package,ath9k) += ATH9K
45 config-$(call config_package,ath9k-common) += ATH9K_COMMON
46 config-$(call config_package,owl-loader) += ATH9K_PCI_NO_EEPROM
47 config-$(CONFIG_TARGET_ath79) += ATH9K_AHB
48 config-$(CONFIG_TARGET_ipq40xx) += ATH10K_AHB
49 config-$(CONFIG_PCI) += ATH9K_PCI
50 config-$(CONFIG_ATH_USER_REGD) += ATH_USER_REGD
51 config-$(CONFIG_ATH9K_HWRNG) += ATH9K_HWRNG
52 config-$(CONFIG_ATH9K_SUPPORT_PCOEM) += ATH9K_PCOEM
53 config-$(CONFIG_ATH9K_TX99) += ATH9K_TX99
54 config-$(CONFIG_ATH9K_UBNTHSR) += ATH9K_UBNTHSR
55 config-$(CONFIG_ATH10K_LEDS) += ATH10K_LEDS
56 config-$(CONFIG_ATH10K_THERMAL) += ATH10K_THERMAL
57
58 config-$(call config_package,ath9k-htc) += ATH9K_HTC
59 config-$(call config_package,ath10k) += ATH10K ATH10K_PCI
60 config-$(call config_package,ath11k) += ATH11K
61
62 config-$(call config_package,ath5k) += ATH5K
63 ifdef CONFIG_TARGET_ath25
64 config-y += ATH5K_AHB
65 else
66 config-y += ATH5K_PCI
67 endif
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 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||TARGET_ath25 +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||TARGET_ath25) +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 +@DRIVER_11N_SUPPORT
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 +@DRIVER_11N_SUPPORT
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 n
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_11N_SUPPORT +@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_pci)
266 endef
267
268 define KernelPackage/ath10k/description
269 This module adds support for wireless adapters based on
270 Atheros IEEE 802.11ac family of chipsets. For now only
271 PCI is supported.
272 endef
273
274 define KernelPackage/ath10k/config
275
276 config ATH10K_LEDS
277 bool "Enable LED support"
278 default y
279 depends on PACKAGE_kmod-ath10k
280
281 config ATH10K_THERMAL
282 bool "Enable thermal sensors and throttling support"
283 depends on PACKAGE_kmod-ath10k
284
285 endef
286
287 define KernelPackage/ath11k
288 $(call KernelPackage/mac80211/Default)
289 TITLE:=Qualcomm 802.11ax wireless chipset support
290 URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath11k
291 DEPENDS+= @TARGET_ipq807x +kmod-ath +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT +@DRIVER_11AX_SUPPORT +kmod-crypto-michael-mic
292 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath11k/ath11k.ko
293 AUTOLOAD:=$(call AutoProbe,ath11k)
294 endef
295
296 define KernelPackage/ath11k/description
297 This module adds support for Qualcomm Technologies 802.11ax family of
298 chipsets.
299 endef
300
301 define KernelPackage/carl9170
302 $(call KernelPackage/mac80211/Default)
303 TITLE:=Driver for Atheros AR9170 USB sticks
304 DEPENDS:=@USB_SUPPORT +kmod-mac80211 +kmod-ath +kmod-usb-core +kmod-input-core +@DRIVER_11N_SUPPORT +carl9170-firmware
305 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/carl9170/carl9170.ko
306 AUTOLOAD:=$(call AutoProbe,carl9170)
307 endef
308
309 define KernelPackage/owl-loader
310 $(call KernelPackage/mac80211/Default)
311 TITLE:=Owl loader for initializing Atheros PCI(e) Wifi chips
312 DEPENDS:=@PCI_SUPPORT +kmod-ath9k
313 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.ko
314 AUTOLOAD:=$(call AutoProbe,ath9k_pci_owl_loader)
315 endef
316
317 define KernelPackage/owl-loader/description
318 Kernel module that helps to initialize certain Qualcomm
319 Atheros' PCI(e) Wifi chips, which have the init data
320 (which contains the PCI device ID for example) stored
321 together with the calibration data in the file system.
322
323 This is necessary for devices like the Cisco Meraki Z1.
324 endef
325
326 define KernelPackage/ar5523
327 $(call KernelPackage/mac80211/Default)
328 TITLE:=Driver for Atheros AR5523 USB sticks
329 DEPENDS:=@USB_SUPPORT +kmod-mac80211 +kmod-ath +kmod-usb-core +kmod-input-core
330 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ar5523/ar5523.ko
331 AUTOLOAD:=$(call AutoProbe,ar5523)
332 endef
333
334 define KernelPackage/wil6210
335 $(call KernelPackage/mac80211/Default)
336 TITLE:=QCA/Wilocity 60g WiFi card wil6210 support
337 DEPENDS+= @PCI_SUPPORT +kmod-mac80211 +wil6210-firmware
338 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/wil6210/wil6210.ko
339 AUTOLOAD:=$(call AutoProbe,wil6210)
340 endef