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