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