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