e52c18ec8c20f02b21fe7d05f3878f5a792a15cf
[openwrt/staging/noltari.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_ar71xx) += ATH9K_AHB
44 config-$(CONFIG_TARGET_ath79) += ATH9K_AHB
45 config-$(CONFIG_TARGET_ipq40xx) += ATH10K_AHB
46 config-$(CONFIG_PCI) += ATH9K_PCI
47 config-$(CONFIG_ATH_USER_REGD) += ATH_USER_REGD
48 config-$(CONFIG_ATH9K_HWRNG) += ATH9K_HWRNG
49 config-$(CONFIG_ATH9K_SUPPORT_PCOEM) += ATH9K_PCOEM
50 config-$(CONFIG_ATH9K_TX99) += ATH9K_TX99
51 config-$(CONFIG_ATH9K_UBNTHSR) += ATH9K_UBNTHSR
52 config-$(CONFIG_ATH10K_LEDS) += ATH10K_LEDS
53 config-$(CONFIG_ATH10K_THERMAL) += ATH10K_THERMAL
54
55 config-$(call config_package,ath9k-htc) += ATH9K_HTC
56 config-$(call config_package,ath10k) += ATH10K ATH10K_PCI
57
58 config-$(call config_package,ath5k) += ATH5K
59 ifdef CONFIG_TARGET_ath25
60 config-y += ATH5K_AHB
61 else
62 config-y += ATH5K_PCI
63 endif
64
65 config-$(call config_package,ath6kl) += ATH6KL
66 config-$(call config_package,ath6kl-sdio) += ATH6KL_SDIO
67 config-$(call config_package,ath6kl-usb) += ATH6KL_USB
68
69 config-$(call config_package,carl9170) += CARL9170
70 config-$(call config_package,ar5523) += AR5523
71
72 define KernelPackage/ath/config
73 if PACKAGE_kmod-ath
74 config ATH_USER_REGD
75 bool "Force Atheros drivers to respect the user's regdomain settings"
76 default y
77 help
78 Atheros' idea of regulatory handling is that the EEPROM of the card defines
79 the regulatory limits and the user is only allowed to restrict the settings
80 even further, even if the country allows frequencies or power levels that
81 are forbidden by the EEPROM settings.
82
83 Select this option if you want the driver to respect the user's decision about
84 regulatory settings.
85
86 config PACKAGE_ATH_DEBUG
87 bool "Atheros wireless debugging"
88 help
89 Say Y, if you want to debug atheros wireless drivers.
90 Only ath9k & ath10k make use of this.
91
92 config PACKAGE_ATH_DFS
93 bool "Enable DFS support"
94 default y
95 help
96 Dynamic frequency selection (DFS) is required for most of the 5 GHz band
97 channels in Europe, US, and Japan.
98
99 Select this option if you want to use such channels.
100
101 config PACKAGE_ATH_SPECTRAL
102 bool "Atheros spectral scan support"
103 depends on PACKAGE_ATH_DEBUG
104 select KERNEL_RELAY
105 help
106 Say Y to enable access to the FFT/spectral data via debugfs.
107
108 config PACKAGE_ATH_DYNACK
109 bool "Enable Dynack support"
110 depends on PACKAGE_kmod-ath9k-common
111 help
112 Enables support for Dynamic ACK estimation, which allows the fastest possible speed
113 at any distance automatically by increasing/decreasing the max frame ACK time for
114 the most remote station detected. It can be enabled by using iw (iw phy0 set distance auto),
115 or by sending the NL80211_ATTR_WIPHY_DYN_ACK flag to mac80211 driver using netlink.
116
117 Select this option if you want to enable this feature
118
119 endif
120 endef
121
122 define KernelPackage/ath
123 $(call KernelPackage/mac80211/Default)
124 TITLE:=Atheros common driver part
125 DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ar71xx||TARGET_ath79||TARGET_ath25 +kmod-mac80211
126 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.ko
127 MENU:=1
128 endef
129
130 define KernelPackage/ath/description
131 This module contains some common parts needed by Atheros Wireless drivers.
132 endef
133
134 define KernelPackage/ath5k
135 $(call KernelPackage/mac80211/Default)
136 TITLE:=Atheros 5xxx wireless cards support
137 URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath5k
138 DEPENDS+= @(PCI_SUPPORT||TARGET_ath25) +kmod-ath +@DRIVER_11W_SUPPORT
139 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath5k/ath5k.ko
140 AUTOLOAD:=$(call AutoProbe,ath5k)
141 endef
142
143 define KernelPackage/ath5k/description
144 This module adds support for wireless adapters based on
145 Atheros 5xxx chipset.
146 endef
147
148 define KernelPackage/ath6kl
149 $(call KernelPackage/mac80211/Default)
150 TITLE:=Atheros FullMAC wireless devices (common code for ath6kl_sdio and ath6kl_usb)
151 URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath6kl
152 HIDDEN:=1
153 DEPENDS+= +kmod-ath +@DRIVER_11N_SUPPORT
154 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath6kl/ath6kl_core.ko
155 endef
156
157 define KernelPackage/ath6kl-sdio
158 $(call KernelPackage/mac80211/Default)
159 TITLE:=Atheros 802.11n SDIO wireless cards support
160 URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath6kl
161 DEPENDS+= +kmod-mmc +kmod-ath6kl
162 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath6kl/ath6kl_sdio.ko
163 AUTOLOAD:=$(call AutoProbe,ath6kl_sdio)
164 endef
165
166 define KernelPackage/ath6kl-sdio/description
167 This module adds support for wireless adapters based on
168 Atheros IEEE 802.11n AR6003 and AR6004 family of chipsets.
169 endef
170
171 define KernelPackage/ath6kl-usb
172 $(call KernelPackage/mac80211/Default)
173 TITLE:=Atheros 802.11n USB wireless cards support
174 URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath6kl
175 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-ath6kl
176 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath6kl/ath6kl_usb.ko
177 AUTOLOAD:=$(call AutoProbe,ath6kl_usb)
178 endef
179
180 define KernelPackage/ath6kl-usb/description
181 This module adds support for wireless adapters based on the
182 Atheros IEEE 802.11n AR6004 chipset.
183 endef
184
185 define KernelPackage/ath9k-common
186 $(call KernelPackage/mac80211/Default)
187 TITLE:=Atheros 802.11n wireless devices (common code for ath9k and ath9k_htc)
188 URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath9k
189 HIDDEN:=1
190 DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ar71xx||TARGET_ath79 +kmod-ath +@DRIVER_11N_SUPPORT +@DRIVER_11W_SUPPORT
191 FILES:= \
192 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_common.ko \
193 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.ko
194 endef
195
196 define KernelPackage/ath9k
197 $(call KernelPackage/mac80211/Default)
198 TITLE:=Atheros 802.11n PCI wireless cards support
199 URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath9k
200 DEPENDS+= @PCI_SUPPORT||TARGET_ar71xx||TARGET_ath79 +kmod-ath9k-common
201 FILES:= \
202 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.ko
203 AUTOLOAD:=$(call AutoProbe,ath9k)
204 endef
205
206 define KernelPackage/ath9k/description
207 This module adds support for wireless adapters based on
208 Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
209 endef
210
211 define KernelPackage/ath9k/config
212
213 config ATH9K_HWRNG
214 bool "Add wireless noise as source of randomness to kernel entropy pool"
215 depends on PACKAGE_kmod-ath9k
216 select PACKAGE_kmod-random-core
217 default n
218
219 config ATH9K_SUPPORT_PCOEM
220 bool "Support chips used in PC OEM cards"
221 depends on PACKAGE_kmod-ath9k
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_ar71xx_generic||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