ath9k: Set ATH9K_STATION_STATISTICS when enabling debugging
[openwrt/staging/yousong.git] / package / kernel / mac80211 / Makefile
1 #
2 # Copyright (C) 2007-2015 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9 include $(INCLUDE_DIR)/kernel.mk
10
11 PKG_NAME:=mac80211
12
13 PKG_VERSION:=2016-06-20
14 PKG_RELEASE:=1
15 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
16 PKG_BACKPORT_VERSION:=
17 PKG_MD5SUM:=29c79bdc3928ef5113b17042ebda9237
18
19 PKG_SOURCE:=compat-wireless-$(PKG_VERSION)$(PKG_BACKPORT_VERSION).tar.bz2
20 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
21 PKG_BUILD_PARALLEL:=1
22
23 PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
24
25 PKG_DRIVERS = \
26 adm8211 \
27 airo \
28 ath ath5k ath9k ath9k-common ath9k-htc ath10k \
29 b43 b43legacy \
30 carl9170 \
31 hermes hermes-pci hermes-pcmcia hermes-plx\
32 iwl-legacy iwl3945 iwl4965 iwlwifi \
33 lib80211 \
34 libipw ipw2100 ipw2200 \
35 libertas-sdio libertas-usb libertas-spi \
36 mac80211-hwsim \
37 mt7601u \
38 mwl8k mwifiex-pcie \
39 p54-common p54-pci p54-spi p54-usb \
40 rt2x00-lib rt2x00-pci rt2x00-usb \
41 rt2400-pci rt2500-pci rt2500-usb \
42 rt2800-lib rt2800-mmio rt2800-pci rt2800-soc rt2800-usb \
43 rt61-pci rt73-usb \
44 rtl8180 rtl8187 \
45 rtlwifi rtlwifi-pci rtlwifi-usb rtl8192c-common rtl8192ce rtl8192se \
46 rtl8192de rtl8192cu \
47 rtl8xxxu \
48 wlcore wl12xx wl18xx \
49 zd1211rw
50
51 PKG_CONFIG_DEPENDS:= \
52 CONFIG_PACKAGE_kmod-mac80211 \
53 $(patsubst %,CONFIG_PACKAGE_kmod-%,$(PKG_DRIVERS)) \
54 CONFIG_PACKAGE_MAC80211_DEBUGFS \
55 CONFIG_PACKAGE_MAC80211_MESH \
56 CONFIG_PACKAGE_MAC80211_TRACING \
57 CONFIG_PACKAGE_ATH_DEBUG \
58 CONFIG_PACKAGE_ATH_DFS \
59 CONFIG_PACKAGE_B43_DEBUG \
60 CONFIG_PACKAGE_B43_PIO \
61 CONFIG_PACKAGE_B43_PHY_G \
62 CONFIG_PACKAGE_B43_PHY_N \
63 CONFIG_PACKAGE_B43_PHY_LP \
64 CONFIG_PACKAGE_B43_PHY_HT \
65 CONFIG_PACKAGE_B43_BUSES_BCMA_AND_SSB \
66 CONFIG_PACKAGE_B43_BUSES_BCMA \
67 CONFIG_PACKAGE_B43_BUSES_SSB \
68 CONFIG_PACKAGE_BRCM80211_DEBUG \
69 CONFIG_PACKAGE_IWLWIFI_DEBUG \
70 CONFIG_PACKAGE_IWLWIFI_DEBUGFS \
71 CONFIG_PACKAGE_RTLWIFI_DEBUG \
72 CONFIG_ATH9K_SUPPORT_PCOEM \
73 CONFIG_ATH9K_TX99 \
74 CONFIG_ATH_USER_REGD \
75
76 include $(INCLUDE_DIR)/package.mk
77
78 WMENU:=Wireless Drivers
79
80 define KernelPackage/mac80211/Default
81 SUBMENU:=$(WMENU)
82 URL:=https://wireless.wiki.kernel.org/
83 MAINTAINER:=Felix Fietkau <nbd@nbd.name>
84 endef
85
86 define KernelPackage/cfg80211
87 $(call KernelPackage/mac80211/Default)
88 TITLE:=cfg80211 - wireless configuration API
89 DEPENDS+= +iw
90 FILES:= \
91 $(PKG_BUILD_DIR)/compat/compat.ko \
92 $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
93 endef
94
95 define KernelPackage/cfg80211/description
96 cfg80211 is the Linux wireless LAN (802.11) configuration API.
97 endef
98
99 define KernelPackage/mac80211
100 $(call KernelPackage/mac80211/Default)
101 TITLE:=Linux 802.11 Wireless Networking Stack
102 DEPENDS+= +kmod-cfg80211 +hostapd-common
103 KCONFIG:=\
104 CONFIG_AVERAGE=y
105 FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.ko
106 MENU:=1
107 endef
108
109 define KernelPackage/mac80211/config
110 if PACKAGE_kmod-mac80211
111
112 config PACKAGE_MAC80211_DEBUGFS
113 bool "Export mac80211 internals in DebugFS"
114 select KERNEL_DEBUG_FS
115 default y
116 help
117 Select this to see extensive information about
118 the internal state of mac80211 in debugfs.
119
120 config PACKAGE_MAC80211_TRACING
121 bool "Enable tracing (mac80211 and supported drivers)"
122 select KERNEL_FTRACE
123 select KERNEL_ENABLE_DEFAULT_TRACERS
124 default n
125 help
126 Select this to enable tracing of mac80211 and
127 related wifi drivers (using trace-cmd).
128
129 config PACKAGE_MAC80211_MESH
130 bool "Enable 802.11s mesh support"
131 default y
132
133 endif
134 endef
135
136 define KernelPackage/mac80211/description
137 Generic IEEE 802.11 Networking Stack (mac80211)
138 endef
139
140 define KernelPackage/adm8211
141 $(call KernelPackage/mac80211/Default)
142 TITLE:=ADMTek 8211 support
143 DEPENDS+=@PCI_SUPPORT +kmod-mac80211 +kmod-eeprom-93cx6
144 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/admtek/adm8211.ko
145 AUTOLOAD:=$(call AutoProbe,adm8211)
146 endef
147
148 define KernelPackage/airo
149 $(call KernelPackage/mac80211/Default)
150 TITLE:=Cisco Aironet driver
151 DEPENDS+=@PCI_SUPPORT +@DRIVER_WEXT_SUPPORT +kmod-cfg80211 @TARGET_x86
152 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/cisco/airo.ko
153 AUTOLOAD:=$(call AutoProbe,airo)
154 endef
155
156 define KernelPackage/airo/description
157 Kernel support for Cisco Aironet cards
158 endef
159
160 define KernelPackage/ath/config
161 if PACKAGE_kmod-ath
162 config ATH_USER_REGD
163 bool "Force Atheros drivers to respect the user's regdomain settings"
164 default y
165 help
166 Atheros' idea of regulatory handling is that the EEPROM of the card defines
167 the regulatory limits and the user is only allowed to restrict the settings
168 even further, even if the country allows frequencies or power levels that
169 are forbidden by the EEPROM settings.
170
171 Select this option if you want the driver to respect the user's decision about
172 regulatory settings.
173
174 config PACKAGE_ATH_DEBUG
175 bool "Atheros wireless debugging"
176 help
177 Say Y, if you want to debug atheros wireless drivers.
178 Only ath9k & ath10k make use of this.
179
180 config PACKAGE_ATH_DFS
181 bool "Enable DFS support"
182 default y
183 help
184 Dynamic frequency selection (DFS) is required for most of the 5 GHz band
185 channels in Europe, US, and Japan.
186
187 Select this option if you want to use such channels.
188
189 endif
190 endef
191
192 define KernelPackage/ath
193 $(call KernelPackage/mac80211/Default)
194 TITLE:=Atheros common driver part
195 DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ar71xx||TARGET_ath25 +kmod-mac80211
196 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.ko
197 MENU:=1
198 endef
199
200 define KernelPackage/ath/description
201 This module contains some common parts needed by Atheros Wireless drivers.
202 endef
203
204 define KernelPackage/ath5k
205 $(call KernelPackage/mac80211/Default)
206 TITLE:=Atheros 5xxx wireless cards support
207 URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath5k
208 DEPENDS+= @PCI_SUPPORT||@TARGET_ath25 +kmod-ath
209 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath5k/ath5k.ko
210 AUTOLOAD:=$(call AutoProbe,ath5k)
211 endef
212
213 define KernelPackage/ath5k/description
214 This module adds support for wireless adapters based on
215 Atheros 5xxx chipset.
216 endef
217
218 define KernelPackage/ath9k-common
219 $(call KernelPackage/mac80211/Default)
220 TITLE:=Atheros 802.11n wireless devices (common code for ath9k and ath9k_htc)
221 URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath9k
222 HIDDEN:=1
223 DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ar71xx +kmod-ath +@DRIVER_11N_SUPPORT +@DRIVER_11W_SUPPORT +@KERNEL_RELAY
224 FILES:= \
225 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_common.ko \
226 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.ko
227 endef
228
229 define KernelPackage/ath9k
230 $(call KernelPackage/mac80211/Default)
231 TITLE:=Atheros 802.11n PCI wireless cards support
232 URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath9k
233 DEPENDS+= @PCI_SUPPORT||TARGET_ar71xx +kmod-ath9k-common
234 FILES:= \
235 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.ko
236 AUTOLOAD:=$(call AutoProbe,ath9k)
237 endef
238
239 define KernelPackage/ath9k/description
240 This module adds support for wireless adapters based on
241 Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
242 endef
243
244 define KernelPackage/ath9k/config
245
246 config ATH9K_SUPPORT_PCOEM
247 bool "Support chips used in PC OEM cards"
248 depends on PACKAGE_kmod-ath9k
249
250 config ATH9K_TX99
251 bool "Enable TX99 support"
252 depends on PACKAGE_kmod-ath9k
253
254 endef
255
256 define KernelPackage/ath9k-htc
257 $(call KernelPackage/mac80211/Default)
258 TITLE:=Atheros 802.11n USB device support
259 URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath9k
260 DEPENDS+= @USB_SUPPORT +kmod-ath9k-common +kmod-usb-core +ath9k-htc-firmware
261 FILES:= \
262 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
263 AUTOLOAD:=$(call AutoProbe,ath9k_htc)
264 endef
265
266 define KernelPackage/ath9k-htc/description
267 This module adds support for wireless adapters based on
268 Atheros USB AR9271 and AR7010 family of chipsets.
269 endef
270
271 define KernelPackage/ath10k
272 $(call KernelPackage/mac80211/Default)
273 TITLE:=Atheros 802.11ac wireless cards support
274 URL:=https://wireless.wiki.kernel.org/en/users/Drivers/ath10k
275 DEPENDS+= @PCI_SUPPORT +kmod-ath +@DRIVER_11N_SUPPORT +@DRIVER_11W_SUPPORT +@KERNEL_RELAY
276 FILES:= \
277 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath10k/ath10k_core.ko \
278 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath10k/ath10k_pci.ko
279 AUTOLOAD:=$(call AutoLoad,55,ath10k_core ath10k_pci)
280 endef
281
282 define KernelPackage/ath10k/description
283 This module adds support for wireless adapters based on
284 Atheros IEEE 802.11ac family of chipsets. For now only
285 PCI is supported.
286 endef
287
288 #Broadcom firmware
289 ifneq ($(CONFIG_B43_FW_6_30),)
290 PKG_B43_FWV4_NAME:=broadcom-wl
291 PKG_B43_FWV4_VERSION:=6.30.163.46
292 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).wl_apsta.o
293 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
294 PKG_B43_FWV4_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
295 PKG_B43_FWV4_MD5SUM:=6fe97e9368d25342a1ab943d3cf3496d
296 else
297 ifneq ($(CONFIG_B43_FW_5_10),)
298 PKG_B43_FWV4_NAME:=broadcom-wl
299 PKG_B43_FWV4_VERSION:=5.10.56.27.3
300 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta/wl_prebuilt.o
301 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)_mipsel.tar.bz2
302 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
303 PKG_B43_FWV4_MD5SUM:=3363e3a6b3d9d73c49dea870c7834eac
304 else
305 ifneq ($(CONFIG_B43_FW_4_178),)
306 PKG_B43_FWV4_NAME:=broadcom-wl
307 PKG_B43_FWV4_VERSION:=4.178.10.4
308 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
309 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
310 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
311 PKG_B43_FWV4_MD5SUM:=14477e8cbbb91b11896affac9b219fdb
312 else
313 ifneq ($(CONFIG_B43_FW_5_100_138),)
314 PKG_B43_FWV4_NAME:=broadcom-wl
315 PKG_B43_FWV4_VERSION:=5.100.138
316 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
317 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
318 PKG_B43_FWV4_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
319 PKG_B43_FWV4_MD5SUM:=f4e357b09eaf5d8b1f1920cf3493a555
320 else
321 PKG_B43_FWV4_NAME:=broadcom-wl
322 PKG_B43_FWV4_VERSION:=4.150.10.5
323 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
324 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
325 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
326 PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
327 endif
328 endif
329 endif
330 endif
331 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
332 PKG_B43_FWV4_NAME:=broadcom-wl
333 PKG_B43_FWV4_VERSION:=5.2
334 PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
335 PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
336 PKG_B43_FWV4_SOURCE_URL:=http://www.ing.unibs.it/openfwwf/firmware/
337 PKG_B43_FWV4_MD5SUM:=e045a135453274e439ae183f8498b0fa
338 endif
339
340
341 define Download/b43
342 FILE:=$(PKG_B43_FWV4_SOURCE)
343 URL:=$(PKG_B43_FWV4_SOURCE_URL)
344 MD5SUM:=$(PKG_B43_FWV4_MD5SUM)
345 endef
346 $(eval $(call Download,b43))
347
348 define KernelPackage/b43
349 $(call KernelPackage/mac80211/Default)
350 TITLE:=Broadcom 43xx wireless support
351 URL:=https://wireless.wiki.kernel.org/en/users/drivers/b43
352 KCONFIG:= \
353 CONFIG_HW_RANDOM=y
354 # Depend on PCI_SUPPORT to make sure we can select kmod-bcma or kmod-ssb
355 DEPENDS += \
356 @PCI_SUPPORT +kmod-mac80211 \
357 $(if $(CONFIG_PACKAGE_B43_USE_SSB),+kmod-ssb) \
358 $(if $(CONFIG_PACKAGE_B43_USE_BCMA),+kmod-bcma)
359 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/b43/b43.ko
360 AUTOLOAD:=$(call AutoProbe,b43)
361 MENU:=1
362 endef
363
364 define KernelPackage/b43/config
365
366 config PACKAGE_B43_USE_SSB
367 select PACKAGE_kmod-ssb
368 tristate
369 depends on !TARGET_brcm47xx && !TARGET_brcm63xx
370 default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA_AND_SSB
371 default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_SSB
372
373 config PACKAGE_B43_USE_BCMA
374 select PACKAGE_kmod-bcma
375 tristate
376 depends on !TARGET_brcm47xx && !TARGET_bcm53xx
377 default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA_AND_SSB
378 default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA
379
380 if PACKAGE_kmod-b43
381
382 choice
383 prompt "b43 firmware version"
384 default B43_FW_5_100_138
385 help
386 This option allows you to select the version of the b43 firmware.
387
388 config B43_FW_4_150
389 bool "Firmware 410.2160 from driver 4.150.10.5 (old stable)"
390 help
391 Old stable firmware for BCM43xx devices.
392
393 If unsure, select this.
394
395 config B43_FW_4_178
396 bool "Firmware 478.104 from driver 4.178.10.4"
397 help
398 Older firmware for BCM43xx devices.
399
400 If unsure, select the "stable" firmware.
401
402 config B43_FW_5_10
403 bool "Firmware 508.1084 from driver 5.10.56.27"
404 help
405 Older firmware for BCM43xx devices.
406
407 If unsure, select the "stable" firmware.
408
409 config B43_FW_5_100_138
410 bool "Firmware 666.2 from driver 5.100.138 (stable)"
411 help
412 The currently default firmware for BCM43xx devices.
413
414 This firmware currently gets most of the testing and is needed for some N-PHY devices.
415
416 If unsure, select the this firmware.
417
418 config B43_FW_6_30
419 bool "Firmware 784.2 from driver 6.30.163.46 (experimental)"
420 help
421 Newer experimental firmware for BCM43xx devices.
422
423 This firmware is mostly untested.
424
425 If unsure, select the "stable" firmware.
426
427 config B43_OPENFIRMWARE
428 bool "Open FirmWare for WiFi networks"
429 help
430 Opensource firmware for BCM43xx devices.
431
432 Do _not_ select this, unless you know what you are doing.
433 The Opensource firmware is not suitable for embedded devices, yet.
434 It does not support QoS, which is bad for AccessPoints.
435 It does not support hardware crypto acceleration, which is a showstopper
436 for embedded devices with low CPU resources.
437
438 If unsure, select the "stable" firmware.
439
440 endchoice
441
442 config B43_FW_SQUASH
443 bool "Remove unnecessary firmware files"
444 depends on !B43_OPENFIRMWARE
445 default y
446 help
447 This options allows you to remove unnecessary b43 firmware files
448 from the final rootfs image. This can reduce the rootfs size by
449 up to 200k.
450
451 If unsure, say Y.
452
453 config B43_FW_SQUASH_COREREVS
454 string "Core revisions to include"
455 depends on B43_FW_SQUASH
456 default "5,6,7,8,9,10,11,13,15" if TARGET_brcm47xx_legacy
457 default "16,28,29,30" if TARGET_brcm47xx_mips74k
458 default "5,6,7,8,9,10,11,13,15,16,28,29,30"
459 help
460 This is a comma seperated list of core revision numbers.
461
462 Example (keep files for rev5 only):
463 5
464
465 Example (keep files for rev5 and rev11):
466 5,11
467
468 config B43_FW_SQUASH_PHYTYPES
469 string "PHY types to include"
470 depends on B43_FW_SQUASH
471 default "G,N,LP" if TARGET_brcm47xx_legacy
472 default "N,HT" if TARGET_brcm47xx_mips74k
473 default "G,N,LP,HT"
474 help
475 This is a comma seperated list of PHY types:
476 A => A-PHY
477 AG => Dual A-PHY G-PHY
478 G => G-PHY
479 LP => LP-PHY
480 N => N-PHY
481 HT => HT-PHY
482 LCN => LCN-PHY
483 LCN40 => LCN40-PHY
484 AC => AC-PHY
485
486 Example (keep files for G-PHY only):
487 G
488
489 Example (keep files for G-PHY and N-PHY):
490 G,N
491
492 choice
493 prompt "Supported buses"
494 default PACKAGE_B43_BUSES_BCMA_AND_SSB
495 help
496 This allows choosing buses that b43 should support.
497
498 config PACKAGE_B43_BUSES_BCMA_AND_SSB
499 depends on !TARGET_brcm47xx_legacy && !TARGET_brcm47xx_mips74k && !TARGET_bcm53xx
500 bool "BCMA and SSB"
501
502 config PACKAGE_B43_BUSES_BCMA
503 depends on !TARGET_brcm47xx_legacy
504 bool "BCMA only"
505
506 config PACKAGE_B43_BUSES_SSB
507 depends on !TARGET_brcm47xx_mips74k && !TARGET_bcm53xx
508 bool "SSB only"
509
510 endchoice
511
512 config PACKAGE_B43_DEBUG
513 bool "Enable debug output and debugfs for b43"
514 default n
515 help
516 Enable additional debug output and runtime sanity checks for b43
517 and enables the debugfs interface.
518
519 If unsure, say N.
520
521 config PACKAGE_B43_PIO
522 bool "Enable support for PIO transfer mode"
523 default n
524 help
525 Enable support for using PIO instead of DMA. Unless you have DMA
526 transfer problems you don't need this.
527
528 If unsure, say N.
529
530 config PACKAGE_B43_PHY_G
531 bool "Enable support for G-PHYs"
532 default n if TARGET_brcm47xx_mips74k
533 default y
534 help
535 Enable support for G-PHY. This includes support for the following devices:
536 PCI: BCM4306, BCM4311, BCM4318
537 SoC: BCM5352E, BCM4712
538
539 If unsure, say Y.
540
541 config PACKAGE_B43_PHY_N
542 bool "Enable support for N-PHYs"
543 default y
544 help
545 Enable support for N-PHY. This includes support for the following devices:
546 PCI: BCM4321, BCM4322, BCM43222, BCM43224, BCM43225
547 SoC: BCM4716, BCM4717, BCM4718
548
549 Currently only 11g speed is available.
550
551 If unsure, say Y.
552
553 config PACKAGE_B43_PHY_LP
554 bool "Enable support for LP-PHYs"
555 default n if TARGET_brcm47xx_mips74k
556 default y
557 help
558 Enable support for LP-PHY. This includes support for the following devices:
559 PCI: BCM4312
560 SoC: BCM5354
561
562 If unsure, say Y.
563
564 config PACKAGE_B43_PHY_HT
565 bool "Enable support for HT-PHYs"
566 default n if TARGET_brcm47xx_legacy
567 default y
568 help
569 Enable support for HT-PHY. This includes support for the following devices:
570 PCI: BCM4331
571
572 Currently only 11g speed is available.
573
574 If unsure, say Y.
575
576 config PACKAGE_B43_PHY_LCN
577 bool "Enable support for LCN-PHYs"
578 depends on BROKEN
579 default n
580 help
581 Currently broken.
582
583 If unsure, say N.
584
585 endif
586 endef
587
588 define KernelPackage/b43/description
589 Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
590 endef
591
592 define KernelPackage/b43legacy
593 $(call KernelPackage/mac80211/Default)
594 TITLE:=Broadcom 43xx-legacy wireless support
595 URL:=https://wireless.wiki.kernel.org/en/users/drivers/b43
596 KCONFIG:= \
597 CONFIG_HW_RANDOM=y
598 DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb +b43legacy-firmware
599 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/b43legacy/b43legacy.ko
600 AUTOLOAD:=$(call AutoProbe,b43legacy)
601 MENU:=1
602 endef
603
604 define KernelPackage/b43legacy/description
605 Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
606 endef
607
608
609 define KernelPackage/brcmutil
610 $(call KernelPackage/mac80211/Default)
611 TITLE:=Broadcom IEEE802.11n common driver parts
612 URL:=https://wireless.wiki.kernel.org/en/users/drivers/brcm80211
613 DEPENDS+=@PCI_SUPPORT||USB_SUPPORT
614 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil.ko
615 AUTOLOAD:=$(call AutoProbe,brcmutil)
616 MENU:=1
617 endef
618
619 define KernelPackage/brcmutil/description
620 This module contains some common parts needed by Broadcom Wireless drivers brcmsmac and brcmfmac.
621 endef
622
623 define KernelPackage/brcmutil/config
624 if PACKAGE_kmod-brcmutil
625
626 config PACKAGE_BRCM80211_DEBUG
627 bool "Broadcom wireless driver debugging"
628 help
629 Say Y, if you want to debug brcmsmac and brcmfmac wireless driver.
630
631 endif
632 endef
633
634 PKG_BRCMSMAC_FW_NAME:=broadcom-wl
635 PKG_BRCMSMAC_FW_VERSION:=5.100.138
636 PKG_BRCMSMAC_FW_OBJECT:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION)/linux/wl_apsta.o
637 PKG_BRCMSMAC_FW_SOURCE:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION).tar.bz2
638 PKG_BRCMSMAC_FW_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
639 PKG_BRCMSMAC_FW_MD5SUM:=f4e357b09eaf5d8b1f1920cf3493a555
640
641 define Download/brcmsmac
642 FILE:=$(PKG_BRCMSMAC_FW_SOURCE)
643 URL:=$(PKG_BRCMSMAC_FW_SOURCE_URL)
644 MD5SUM:=$(PKG_BRCMSMAC_FW_MD5SUM)
645 endef
646 $(eval $(call Download,brcmsmac))
647
648 define KernelPackage/brcmsmac
649 $(call KernelPackage/mac80211/Default)
650 TITLE:=Broadcom IEEE802.11n PCIe SoftMAC WLAN driver
651 URL:=https://wireless.wiki.kernel.org/en/users/drivers/brcm80211
652 DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT +!TARGET_brcm47xx:kmod-bcma +kmod-lib-cordic +kmod-lib-crc8 +kmod-brcmutil +!BRCMSMAC_USE_FW_FROM_WL:brcmsmac-firmware
653 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcmsmac.ko
654 AUTOLOAD:=$(call AutoProbe,brcmsmac)
655 MENU:=1
656 endef
657
658 define KernelPackage/brcmsmac/description
659 Kernel module for Broadcom IEEE802.11n PCIe Wireless cards
660 endef
661
662 define KernelPackage/brcmsmac/config
663 if PACKAGE_kmod-brcmsmac
664
665 config BRCMSMAC_USE_FW_FROM_WL
666 bool "Use firmware extracted from broadcom proprietary driver"
667 default y
668 help
669 Instead of using the official brcmsmac firmware a firmware
670 version 666.2 extracted from the proprietary Broadcom driver
671 is used. This is needed to get core rev 17 used in bcm4716
672 to work.
673
674 If unsure, say Y.
675
676 endif
677 endef
678
679
680 define KernelPackage/brcmfmac
681 $(call KernelPackage/mac80211/Default)
682 TITLE:=Broadcom IEEE802.11n USB FullMAC WLAN driver
683 URL:=https://wireless.wiki.kernel.org/en/users/drivers/brcm80211
684 DEPENDS+= @USB_SUPPORT +kmod-cfg80211 +@DRIVER_11N_SUPPORT +kmod-brcmutil \
685 +BRCMFMAC_PCIE:brcmfmac-firmware-pcie \
686 +BRCMFMAC_SDIO:kmod-mmc +BRCMFMAC_SDIO:brcmfmac-firmware-sdio \
687 +BRCMFMAC_USB:kmod-usb-core +BRCMFMAC_USB:brcmfmac-firmware-usb
688 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
689 AUTOLOAD:=$(call AutoProbe,brcmfmac)
690 endef
691
692 define KernelPackage/brcmfmac/description
693 Kernel module for Broadcom IEEE802.11n USB Wireless cards
694 endef
695
696 define KernelPackage/brcmfmac/config
697 if PACKAGE_kmod-brcmfmac
698
699 config BRCMFMAC_SDIO
700 bool "Enable SDIO bus interface support"
701 default y if TARGET_brcm2708
702 default n
703 help
704 Enable support for cards attached to an SDIO bus.
705 Select this option only if you are sure that your
706 board has a Broadcom wireless chip atacched to
707 that bus.
708
709 config BRCMFMAC_USB
710 bool "Enable USB bus interface support"
711 depends on USB_SUPPORT
712 default y
713 help
714 Supported USB connected chipsets:
715 BCM43235, BCM43236, BCM43238 (all in revision 3 only)
716 BCM43143, BCM43242, BCM43566, BCM43569
717
718 config BRCMFMAC_PCIE
719 bool "Enable PCIE bus interface support"
720 depends on PCI_SUPPORT
721 default y
722 help
723 Supported PCIe connected chipsets:
724 BCM4354, BCM4356, BCM43567, BCM43570, BCM43602
725
726 endif
727 endef
728
729
730 define KernelPackage/carl9170
731 $(call KernelPackage/mac80211/Default)
732 TITLE:=Driver for Atheros AR9170 USB sticks
733 DEPENDS:=@USB_SUPPORT +kmod-mac80211 +kmod-ath +kmod-usb-core +kmod-input-core +@DRIVER_11N_SUPPORT +carl9170-firmware
734 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/carl9170/carl9170.ko
735 AUTOLOAD:=$(call AutoProbe,carl9170)
736 endef
737
738
739 define KernelPackage/hermes
740 $(call KernelPackage/mac80211/Default)
741 TITLE:=Hermes 802.11b chipset support
742 DEPENDS:=@PCI_SUPPORT||PCMCIA_SUPPORT +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT +kmod-crypto-michael-mic
743 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco.ko
744 AUTOLOAD:=$(call AutoProbe,orinoco)
745 endef
746
747 define KernelPackage/hermes/description
748 Kernel support for Hermes 802.11b chipsets
749 endef
750
751 define KernelPackage/hermes-pci
752 $(call KernelPackage/mac80211/Default)
753 TITLE:=Intersil Prism 2.5 PCI support
754 DEPENDS:=@PCI_SUPPORT +kmod-hermes
755 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco_pci.ko
756 AUTOLOAD:=$(call AutoProbe,orinoco_pci)
757 endef
758
759 define KernelPackage/hermes-pci/description
760 Kernel modules for Intersil Prism 2.5 PCI support
761 endef
762
763 define KernelPackage/hermes-plx
764 $(call KernelPackage/mac80211/Default)
765 TITLE:=PLX9052 based PCI adaptor
766 DEPENDS:=@PCI_SUPPORT +kmod-hermes
767 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco_plx.ko
768 AUTOLOAD:=$(call AutoProbe,orinoco_plx)
769 endef
770
771 define KernelPackage/hermes-plx/description
772 Kernel modules for Hermes in PLX9052 based PCI adaptors
773 endef
774
775 define KernelPackage/hermes-pcmcia
776 $(call KernelPackage/mac80211/Default)
777 TITLE:=Hermes based PCMCIA adaptors
778 DEPENDS:=@PCMCIA_SUPPORT +kmod-hermes @BROKEN
779 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/orinoco/orinoco_cs.ko
780 AUTOLOAD:=$(call AutoProbe,orinoco_cs)
781 endef
782
783 define KernelPackage/hermes-pcmcia/description
784 Kernel modules for Hermes based PCMCIA adaptors
785 endef
786
787
788 define KernelPackage/iwlwifi
789 $(call KernelPackage/mac80211/Default)
790 DEPENDS:= +kmod-mac80211 @PCI_SUPPORT +@DRIVER_11N_SUPPORT +iwlwifi-firmware @!LINUX_3_18
791 TITLE:=Intel AGN Wireless support
792 FILES:= \
793 $(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko \
794 $(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlwifi/dvm/iwldvm.ko \
795 $(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlwifi/mvm/iwlmvm.ko
796 AUTOLOAD:=$(call AutoProbe,iwlwifi iwldvm iwlmvm)
797 MENU:=1
798 endef
799
800 define KernelPackage/iwlwifi/description
801 iwlwifi kernel module for
802 Intel Wireless WiFi Link 6250AGN Adapter
803 Intel 6000 Series Wi-Fi Adapters (6200AGN and 6300AGN)
804 Intel WiFi Link 1000BGN
805 Intel Wireless WiFi 5150AGN
806 Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN
807 Intel 6005 Series Wi-Fi Adapters
808 Intel 6030 Series Wi-Fi Adapters
809 Intel Wireless WiFi Link 6150BGN 2 Adapter
810 Intel 100 Series Wi-Fi Adapters (100BGN and 130BGN)
811 Intel 2000 Series Wi-Fi Adapters
812 Intel 7260 Wi-Fi Adapter
813 Intel 3160 Wi-Fi Adapter
814 Intel 7265 Wi-Fi Adapter
815 Intel 8260 Wi-Fi Adapter
816 Intel 3165 Wi-Fi Adapter
817 endef
818
819 define KernelPackage/iwlwifi/config
820 if PACKAGE_kmod-iwlwifi
821
822 config PACKAGE_IWLWIFI_DEBUG
823 bool "Enable full debugging output in the iwlwifi driver"
824 default n
825 help
826 This option will enable debug tracing output for the iwlwifi drivers
827
828 This will result in the kernel module being ~100k larger. You can
829 control which debug output is sent to the kernel log by setting the
830 value in
831
832 /sys/module/iwlwifi/parameters/debug
833
834 This entry will only exist if this option is enabled.
835
836 To set a value, simply echo an 8-byte hex value to the same file:
837
838 % echo 0x43fff > /sys/module/iwlwifi/parameters/debug
839
840 You can find the list of debug mask values in:
841 drivers/net/wireless/intel/iwlwifi/iwl-debug.h
842
843 If this is your first time using this driver, you should say Y here
844 as the debug information can assist others in helping you resolve
845 any problems you may encounter.
846
847 config PACKAGE_IWLWIFI_DEBUGFS
848 bool "iwlwifi debugfs support"
849 depends on PACKAGE_MAC80211_DEBUGFS
850 default n
851 help
852 Enable creation of debugfs files for the iwlwifi drivers. This
853 is a low-impact option that allows getting insight into the
854 driver's state at runtime.
855
856 endif
857 endef
858
859 define KernelPackage/iwl-legacy
860 $(call KernelPackage/mac80211/Default)
861 DEPENDS:= +kmod-mac80211 @PCI_SUPPORT
862 TITLE:=Intel legacy Wireless support
863 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlegacy/iwlegacy.ko
864 AUTOLOAD:=$(call AutoProbe,iwlegacy)
865 endef
866
867 define KernelPackage/iwl-legacy/description
868 iwl-legacy kernel module for legacy Intel wireless support
869 endef
870
871 define KernelPackage/iwl3945
872 $(call KernelPackage/mac80211/Default)
873 DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy +iwl3945-firmware
874 TITLE:=Intel iwl3945 Wireless support
875 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlegacy/iwl3945.ko
876 AUTOLOAD:=$(call AutoProbe,iwl3945)
877 endef
878
879 define KernelPackage/iwl3945/description
880 iwl3945 kernel module for Intel 3945 support
881 endef
882
883 define KernelPackage/iwl4965
884 $(call KernelPackage/mac80211/Default)
885 DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy +@DRIVER_11N_SUPPORT +iwl4965-firmware
886 TITLE:=Intel iwl4965 Wireless support
887 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/iwlegacy/iwl4965.ko
888 AUTOLOAD:=$(call AutoProbe,iwl4965)
889 endef
890
891 define KernelPackage/iwl4965/description
892 iwl4965 kernel module for Intel 4965 support
893 endef
894
895
896 define KernelPackage/lib80211
897 $(call KernelPackage/mac80211/Default)
898 TITLE:=802.11 Networking stack
899 DEPENDS:=+kmod-cfg80211 +kmod-crypto-hash
900 FILES:= \
901 $(PKG_BUILD_DIR)/net/wireless/lib80211.ko \
902 $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_wep.ko \
903 $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_ccmp.ko \
904 $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_tkip.ko
905 AUTOLOAD:=$(call AutoProbe, \
906 lib80211 \
907 lib80211_crypt_wep \
908 lib80211_crypt_ccmp \
909 lib80211_crypt_tkip \
910 )
911 endef
912
913 define KernelPackage/lib80211/description
914 Kernel modules for 802.11 Networking stack
915 Includes:
916 - lib80211
917 - lib80211_crypt_wep
918 - lib80211_crypt_tkip
919 - lib80211_crytp_ccmp
920 endef
921
922
923 define KernelPackage/libipw
924 $(call KernelPackage/mac80211/Default)
925 TITLE:=libipw for ipw2100 and ipw2200
926 DEPENDS:=@PCI_SUPPORT +kmod-crypto-michael-mic +kmod-lib80211 +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT @!BIG_ENDIAN
927 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/ipw2x00/libipw.ko
928 AUTOLOAD:=$(call AutoProbe,libipw)
929 endef
930
931 define KernelPackage/libipw/description
932 Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200.
933 endef
934
935 IPW2100_NAME:=ipw2100-fw
936 IPW2100_VERSION:=1.3
937
938 define Download/ipw2100
939 URL:=http://bughost.org/firmware/
940 FILE:=$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
941 MD5SUM=46aa75bcda1a00efa841f9707bbbd113
942 endef
943 $(eval $(call Download,ipw2100))
944
945 define KernelPackage/ipw2100
946 $(call KernelPackage/mac80211/Default)
947 TITLE:=Intel IPW2100 driver
948 DEPENDS:=@PCI_SUPPORT +kmod-libipw
949 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/ipw2x00/ipw2100.ko
950 AUTOLOAD:=$(call AutoProbe,ipw2100)
951 endef
952
953 define KernelPackage/ipw2100/description
954 Kernel support for Intel IPW2100
955 Includes:
956 - ipw2100
957 endef
958
959 IPW2200_NAME:=ipw2200-fw
960 IPW2200_VERSION:=3.1
961
962 define Download/ipw2200
963 URL:=http://bughost.org/firmware/
964 FILE:=$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
965 MD5SUM=eaba788643c7cc7483dd67ace70f6e99
966 endef
967 $(eval $(call Download,ipw2200))
968
969 define KernelPackage/ipw2200
970 $(call KernelPackage/mac80211/Default)
971 TITLE:=Intel IPW2200 driver
972 DEPENDS:=@PCI_SUPPORT +kmod-libipw
973 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intel/ipw2x00/ipw2200.ko
974 AUTOLOAD:=$(call AutoProbe,ipw2200)
975 endef
976
977 define KernelPackage/ipw2200/description
978 Kernel support for Intel IPW2200
979 Includes:
980 - ipw2200
981 endef
982
983
984 define KernelPackage/libertas-usb
985 $(call KernelPackage/mac80211/Default)
986 DEPENDS+= @USB_SUPPORT +kmod-cfg80211 +kmod-usb-core +kmod-lib80211 +@DRIVER_WEXT_SUPPORT +libertas-usb-firmware
987 TITLE:=Marvell 88W8015 Wireless Driver
988 FILES:= \
989 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas.ko \
990 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/usb8xxx.ko
991 AUTOLOAD:=$(call AutoProbe,libertas usb8xxx)
992 endef
993
994 define KernelPackage/libertas-sdio
995 $(call KernelPackage/mac80211/Default)
996 DEPENDS+= +kmod-cfg80211 +kmod-lib80211 +kmod-mmc +@DRIVER_WEXT_SUPPORT @!TARGET_uml +libertas-sdio-firmware
997 TITLE:=Marvell 88W8686 Wireless Driver
998 FILES:= \
999 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas.ko \
1000 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas_sdio.ko
1001 AUTOLOAD:=$(call AutoProbe,libertas libertas_sdio)
1002 endef
1003
1004 define KernelPackage/libertas-spi
1005 $(call KernelPackage/mac80211/Default)
1006 SUBMENU:=Wireless Drivers
1007 DEPENDS+= +kmod-cfg80211 +kmod-lib80211 +@DRIVER_WEXT_SUPPORT @!TARGET_uml +libertas-spi-firmware
1008 KCONFIG := \
1009 CONFIG_SPI=y \
1010 CONFIG_SPI_MASTER=y
1011 TITLE:=Marvell 88W8686 SPI Wireless Driver
1012 FILES:= \
1013 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas.ko \
1014 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/libertas/libertas_spi.ko
1015 AUTOLOAD:=$(call AutoProbe,libertas libertas_spi)
1016 endef
1017
1018 define KernelPackage/mac80211-hwsim
1019 $(call KernelPackage/mac80211/Default)
1020 TITLE:=mac80211 HW simulation device
1021 DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT
1022 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.ko
1023 AUTOLOAD:=$(call AutoProbe,mac80211_hwsim)
1024 endef
1025
1026
1027 define KernelPackage/mt7601u
1028 $(call KernelPackage/mac80211/Default)
1029 TITLE:=MT7601U-based USB dongles Wireless Driver
1030 DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT @USB_SUPPORT +kmod-usb-core +mt7601u-firmware
1031 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mediatek/mt7601u/mt7601u.ko
1032 AUTOLOAD:=$(call AutoProbe,mt7601u)
1033 endef
1034
1035
1036 define KernelPackage/mwl8k
1037 $(call KernelPackage/mac80211/Default)
1038 TITLE:=Driver for Marvell TOPDOG 802.11 Wireless cards
1039 URL:=http://wireless.kernel.org/en/users/Drivers/mwl8k
1040 DEPENDS+= @PCI_SUPPORT +kmod-mac80211 +@DRIVER_11N_SUPPORT +mwl8k-firmware
1041 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwl8k.ko
1042 AUTOLOAD:=$(call AutoProbe,mwl8k)
1043 endef
1044
1045 define KernelPackage/mwl8k/description
1046 Kernel modules for Marvell TOPDOG 802.11 Wireless cards
1047 endef
1048
1049
1050 define KernelPackage/mwifiex-pcie
1051 $(call KernelPackage/mac80211/Default)
1052 TITLE:=Driver for Marvell 802.11n/802.11ac PCIe Wireless cards
1053 URL:=http://wireless.kernel.org/en/users/Drivers/mwifiex
1054 DEPENDS+= @PCI_SUPPORT +kmod-mac80211 +@DRIVER_11N_SUPPORT +mwifiex-pcie-firmware
1055 FILES:= \
1056 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwifiex/mwifiex.ko \
1057 $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwifiex/mwifiex_pcie.ko
1058 AUTOLOAD:=$(call AutoProbe,mwifiex_pcie)
1059 endef
1060
1061 define KernelPackage/mwifiex-pcie/description
1062 Kernel modules for Marvell 802.11n/802.11ac PCIe Wireless cards
1063 endef
1064
1065 define KernelPackage/p54/Default
1066 $(call KernelPackage/mac80211/Default)
1067 TITLE:=Prism54 Drivers
1068 endef
1069
1070 define KernelPackage/p54/description
1071 Kernel module for Prism54 chipsets (mac80211)
1072 endef
1073
1074 define KernelPackage/p54-common
1075 $(call KernelPackage/p54/Default)
1076 DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT||@TARGET_omap24xx +kmod-mac80211 +kmod-lib-crc-ccitt
1077 TITLE+= (COMMON)
1078 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54common.ko
1079 endef
1080
1081 define KernelPackage/p54-pci
1082 $(call KernelPackage/p54/Default)
1083 TITLE+= (PCI)
1084 DEPENDS+= @PCI_SUPPORT +kmod-p54-common +p54-pci-firmware
1085 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54pci.ko
1086 AUTOLOAD:=$(call AutoProbe,p54pci)
1087 endef
1088
1089 define KernelPackage/p54-usb
1090 $(call KernelPackage/p54/Default)
1091 TITLE+= (USB)
1092 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common +p54-usb-firmware
1093 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54usb.ko
1094 AUTOLOAD:=$(call AutoProbe,p54usb)
1095 endef
1096
1097 define KernelPackage/p54-spi
1098 $(call KernelPackage/p54/Default)
1099 TITLE+= (SPI)
1100 DEPENDS+= @TARGET_omap24xx +kmod-p54-common +p54-spi-firmware
1101 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54spi.ko
1102 AUTOLOAD:=$(call AutoProbe,p54spi)
1103 endef
1104
1105 define KernelPackage/rt2x00/Default
1106 $(call KernelPackage/mac80211/Default)
1107 TITLE:=Ralink Drivers for RT2x00 cards
1108 endef
1109
1110 define KernelPackage/rt2x00-lib
1111 $(call KernelPackage/rt2x00/Default)
1112 DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-mac80211 +kmod-lib-crc-itu-t
1113 TITLE+= (LIB)
1114 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00lib.ko
1115 MENU:=1
1116 endef
1117
1118 define KernelPackage/rt2x00-lib/config
1119 if PACKAGE_kmod-rt2x00-lib
1120
1121 config PACKAGE_RT2X00_LIB_DEBUGFS
1122 bool "Enable rt2x00 debugfs support"
1123 depends on PACKAGE_MAC80211_DEBUGFS
1124 help
1125 Enable creation of debugfs files for the rt2x00 drivers.
1126 These debugfs files support both reading and writing of the
1127 most important register types of the rt2x00 hardware.
1128
1129 config PACKAGE_RT2X00_DEBUG
1130 bool "Enable rt2x00 debug output"
1131 help
1132 Enable debugging output for all rt2x00 modules
1133
1134 endif
1135 endef
1136
1137 define KernelPackage/rt2x00-mmio
1138 $(call KernelPackage/rt2x00/Default)
1139 DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-eeprom-93cx6
1140 HIDDEN:=1
1141 TITLE+= (MMIO)
1142 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00mmio.ko
1143 endef
1144
1145 define KernelPackage/rt2x00-pci
1146 $(call KernelPackage/rt2x00/Default)
1147 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-mmio +kmod-rt2x00-lib
1148 HIDDEN:=1
1149 TITLE+= (PCI)
1150 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00pci.ko
1151 AUTOLOAD:=$(call AutoProbe,rt2x00pci)
1152 endef
1153
1154 define KernelPackage/rt2x00-usb
1155 $(call KernelPackage/rt2x00/Default)
1156 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-lib +kmod-usb-core
1157 HIDDEN:=1
1158 TITLE+= (USB)
1159 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00usb.ko
1160 AUTOLOAD:=$(call AutoProbe,rt2x00usb)
1161 endef
1162
1163 define KernelPackage/rt2800-lib
1164 $(call KernelPackage/rt2x00/Default)
1165 DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-lib-crc-ccitt +@DRIVER_11N_SUPPORT
1166 HIDDEN:=1
1167 TITLE+= (rt2800 LIB)
1168 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800lib.ko
1169 endef
1170
1171 define KernelPackage/rt2400-pci
1172 $(call KernelPackage/rt2x00/Default)
1173 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
1174 TITLE+= (RT2400 PCI)
1175 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2400pci.ko
1176 AUTOLOAD:=$(call AutoProbe,rt2400pci)
1177 endef
1178
1179 define KernelPackage/rt2500-pci
1180 $(call KernelPackage/rt2x00/Default)
1181 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
1182 TITLE+= (RT2500 PCI)
1183 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2500pci.ko
1184 AUTOLOAD:=$(call AutoProbe,rt2500pci)
1185 endef
1186
1187 define KernelPackage/rt2500-usb
1188 $(call KernelPackage/rt2x00/Default)
1189 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
1190 TITLE+= (RT2500 USB)
1191 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2500usb.ko
1192 AUTOLOAD:=$(call AutoProbe,rt2500usb)
1193 endef
1194
1195 define KernelPackage/rt2800-mmio
1196 $(call KernelPackage/rt2x00/Default)
1197 TITLE += (RT28xx/RT3xxx MMIO)
1198 DEPENDS += +kmod-rt2800-lib +kmod-rt2x00-mmio
1199 HIDDEN:=1
1200 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800mmio.ko
1201 endef
1202
1203 define KernelPackage/rt2800-soc
1204 $(call KernelPackage/rt2x00/Default)
1205 DEPENDS += @(TARGET_ramips_rt288x||TARGET_ramips_rt305x||TARGET_ramips_rt3883||TARGET_ramips_mt7620) +kmod-rt2800-mmio +kmod-rt2800-lib
1206 TITLE += (RT28xx/RT3xxx SoC)
1207 FILES := \
1208 $(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00soc.ko \
1209 $(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800soc.ko
1210 AUTOLOAD:=$(call AutoProbe,rt2800soc)
1211 endef
1212
1213 define KernelPackage/rt2800-pci
1214 $(call KernelPackage/rt2x00/Default)
1215 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci +kmod-rt2800-lib +kmod-rt2800-mmio +rt2800-pci-firmware
1216 TITLE+= (RT2860 PCI)
1217 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800pci.ko
1218 AUTOLOAD:=$(call AutoProbe,rt2800pci)
1219 endef
1220
1221 define KernelPackage/rt2800-usb
1222 $(call KernelPackage/rt2x00/Default)
1223 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb +kmod-rt2800-lib +kmod-lib-crc-ccitt +rt2800-usb-firmware
1224 TITLE+= (RT2870 USB)
1225 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800usb.ko
1226 AUTOLOAD:=$(call AutoProbe,rt2800usb)
1227 endef
1228
1229
1230 define KernelPackage/rt61-pci
1231 $(call KernelPackage/rt2x00/Default)
1232 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci +rt61-pci-firmware
1233 TITLE+= (RT2x61 PCI)
1234 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt61pci.ko
1235 AUTOLOAD:=$(call AutoProbe,rt61pci)
1236 endef
1237
1238 define KernelPackage/rt73-usb
1239 $(call KernelPackage/rt2x00/Default)
1240 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb +rt73-usb-firmware
1241 TITLE+= (RT73 USB)
1242 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt73usb.ko
1243 AUTOLOAD:=$(call AutoProbe,rt73usb)
1244 endef
1245
1246
1247 define KernelPackage/rtl818x/Default
1248 $(call KernelPackage/mac80211/Default)
1249 TITLE:=Realtek Drivers for RTL818x devices
1250 URL:=http://wireless.kernel.org/en/users/Drivers/rtl8187
1251 DEPENDS+= +kmod-eeprom-93cx6 +kmod-mac80211
1252 endef
1253
1254 define KernelPackage/rtl8180
1255 $(call KernelPackage/rtl818x/Default)
1256 DEPENDS+= @PCI_SUPPORT
1257 TITLE+= (RTL8180 PCI)
1258 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl818x/rtl8180/rtl818x_pci.ko
1259 AUTOLOAD:=$(call AutoProbe,rtl818x_pci)
1260 endef
1261
1262 define KernelPackage/rtl8187
1263 $(call KernelPackage/rtl818x/Default)
1264 DEPENDS+= @USB_SUPPORT +kmod-usb-core
1265 TITLE+= (RTL8187 USB)
1266 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl818x/rtl8187/rtl8187.ko
1267 AUTOLOAD:=$(call AutoProbe,rtl8187)
1268 endef
1269
1270 define KernelPackage/rtlwifi/config
1271 config PACKAGE_RTLWIFI_DEBUG
1272 bool "Realtek wireless debugging"
1273 depends on PACKAGE_kmod-rtlwifi
1274 help
1275 Say Y, if you want to debug realtek wireless drivers.
1276
1277 endef
1278
1279 define KernelPackage/rtlwifi
1280 $(call KernelPackage/mac80211/Default)
1281 TITLE:=Realtek common driver part
1282 DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT) +kmod-mac80211 +@DRIVER_11N_SUPPORT
1283 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtlwifi.ko
1284 HIDDEN:=1
1285 endef
1286
1287 define KernelPackage/rtlwifi-pci
1288 $(call KernelPackage/mac80211/Default)
1289 TITLE:=Realtek common driver part (PCI support)
1290 DEPENDS+= @PCI_SUPPORT +kmod-rtlwifi
1291 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl_pci.ko
1292 AUTOLOAD:=$(call AutoProbe,rtl_pci)
1293 HIDDEN:=1
1294 endef
1295
1296 define KernelPackage/rtlwifi-usb
1297 $(call KernelPackage/mac80211/Default)
1298 TITLE:=Realtek common driver part (USB support)
1299 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-rtlwifi
1300 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl_usb.ko
1301 AUTOLOAD:=$(call AutoProbe,rtl_usb)
1302 HIDDEN:=1
1303 endef
1304
1305 define KernelPackage/rtl8192c-common
1306 $(call KernelPackage/mac80211/Default)
1307 TITLE:=Realtek RTL8192CE/RTL8192CU common support module
1308 DEPENDS+= +kmod-rtlwifi
1309 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common.ko
1310 HIDDEN:=1
1311 endef
1312
1313 define KernelPackage/rtl8192ce
1314 $(call KernelPackage/mac80211/Default)
1315 TITLE:=Realtek RTL8192CE/RTL8188CE support
1316 DEPENDS+= +kmod-rtlwifi-pci +kmod-rtl8192c-common +rtl8192ce-firmware
1317 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/rtl8192ce.ko
1318 AUTOLOAD:=$(call AutoProbe,rtl8192ce)
1319 endef
1320
1321 define KernelPackage/rtl8192se
1322 $(call KernelPackage/mac80211/Default)
1323 TITLE:=Realtek RTL8192SE/RTL8191SE support
1324 DEPENDS+= +kmod-rtlwifi-pci +rtl8192se-firmware
1325 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192se/rtl8192se.ko
1326 AUTOLOAD:=$(call AutoProbe,rtl8192se)
1327 endef
1328
1329 define KernelPackage/rtl8192de
1330 $(call KernelPackage/mac80211/Default)
1331 TITLE:=Realtek RTL8192DE/RTL8188DE support
1332 DEPENDS+= +kmod-rtlwifi-pci +rtl8192de-firmware
1333 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192de/rtl8192de.ko
1334 AUTOLOAD:=$(call AutoProbe,rtl8192de)
1335 endef
1336
1337 define KernelPackage/rtl8192cu
1338 $(call KernelPackage/mac80211/Default)
1339 TITLE:=Realtek RTL8192CU/RTL8188CU support
1340 DEPENDS+= +kmod-rtlwifi-usb +kmod-rtl8192c-common +rtl8192cu-firmware
1341 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rtl8192cu.ko
1342 AUTOLOAD:=$(call AutoProbe,rtl8192cu)
1343 endef
1344
1345
1346 define KernelPackage/rtl8xxxu
1347 $(call KernelPackage/mac80211/Default)
1348 TITLE:=alternative Realtek RTL8XXXU support
1349 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
1350 FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.ko
1351 AUTOLOAD:=$(call AutoProbe,rtl8xxxu)
1352 endef
1353
1354 define KernelPackage/rtl8xxxu/description
1355 This is an alternative driver for various Realtek RTL8XXX
1356 parts written to utilize the Linux mac80211 stack.
1357 The driver is known to work with a number of RTL8723AU,
1358 RL8188CU, RTL8188RU, RTL8191CU, and RTL8192CU devices
1359
1360 This driver is under development and has a limited feature
1361 set. In particular it does not yet support 40MHz channels
1362 and power management. However it should have a smaller
1363 memory footprint than the vendor drivers and benetifs
1364 from the in kernel mac80211 stack.
1365
1366 It can coexist with drivers from drivers/staging/rtl8723au,
1367 drivers/staging/rtl8192u, and drivers/net/wireless/rtlwifi,
1368 but you will need to control which module you wish to load.
1369
1370 RTL8XXXU_UNTESTED is enabled
1371 This option enables detection of Realtek 8723/8188/8191/8192 WiFi
1372 USB devices which have not been tested directly by the driver
1373 author or reported to be working by third parties.
1374
1375 Please report your results!
1376 endef
1377
1378
1379 define KernelPackage/wlcore
1380 $(call KernelPackage/mac80211/Default)
1381 TITLE:=TI common driver part
1382 DEPENDS+= @TARGET_omap +kmod-mac80211 +@DRIVER_11N_SUPPORT
1383 FILES:= \
1384 $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore.ko \
1385 $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore_sdio.ko
1386 AUTOLOAD:=$(call AutoProbe,wlcore wlcore_sdio)
1387 endef
1388
1389 define KernelPackage/wlcore/description
1390 This module contains some common parts needed by TI Wireless drivers.
1391 endef
1392
1393 define KernelPackage/wl12xx
1394 $(call KernelPackage/mac80211/Default)
1395 TITLE:=Driver for TI WL12xx
1396 URL:=http://wireless.kernel.org/en/users/Drivers/wl12xx
1397 DEPENDS+= +kmod-wlcore +wl12xx-firmware
1398 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl12xx/wl12xx.ko
1399 AUTOLOAD:=$(call AutoProbe,wl12xx)
1400 endef
1401
1402 define KernelPackage/wl12xx/description
1403 Kernel modules for TI WL12xx
1404 endef
1405
1406 define KernelPackage/wl18xx
1407 $(call KernelPackage/mac80211/Default)
1408 TITLE:=Driver for TI WL18xx
1409 URL:=http://wireless.kernel.org/en/users/Drivers/wl18xx
1410 DEPENDS+= +kmod-wlcore +wl18xx-firmware
1411 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl18xx/wl18xx.ko
1412 AUTOLOAD:=$(call AutoProbe,wl18xx)
1413 endef
1414
1415 define KernelPackage/wl18xx/description
1416 Kernel modules for TI WL18xx
1417 endef
1418
1419
1420 ZD1211FW_NAME:=zd1211-firmware
1421 ZD1211FW_VERSION:=1.4
1422 define Download/zd1211rw
1423 FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
1424 URL:=@SF/zd1211/
1425 MD5SUM:=19f28781d76569af8551c9d11294c870
1426 endef
1427 $(eval $(call Download,zd1211rw))
1428
1429 define KernelPackage/zd1211rw
1430 $(call KernelPackage/mac80211/Default)
1431 TITLE:=Zydas ZD1211 support
1432 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
1433 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zydas/zd1211rw/zd1211rw.ko
1434 AUTOLOAD:=$(call AutoProbe,zd1211rw)
1435 endef
1436
1437
1438
1439 config_package=$(if $(CONFIG_PACKAGE_kmod-$(1)),m)
1440
1441 config-y:= \
1442 WLAN \
1443 NL80211_TESTMODE \
1444 CFG80211_WEXT \
1445 CFG80211_INTERNAL_REGDB \
1446 CFG80211_CERTIFICATION_ONUS \
1447 MAC80211_RC_MINSTREL \
1448 MAC80211_RC_MINSTREL_HT \
1449 MAC80211_RC_MINSTREL_VHT \
1450 MAC80211_RC_DEFAULT_MINSTREL \
1451 WLAN_VENDOR_ADMTEK \
1452 WLAN_VENDOR_ATH \
1453 WLAN_VENDOR_ATMEL \
1454 WLAN_VENDOR_BROADCOM \
1455 WLAN_VENDOR_CISCO \
1456 WLAN_VENDOR_INTEL \
1457 WLAN_VENDOR_INTERSIL \
1458 WLAN_VENDOR_MARVELL \
1459 WLAN_VENDOR_MEDIATEK \
1460 WLAN_VENDOR_RALINK \
1461 WLAN_VENDOR_REALTEK \
1462 WLAN_VENDOR_RSI \
1463 WLAN_VENDOR_ST \
1464 WLAN_VENDOR_TI \
1465 WLAN_VENDOR_ZYDAS \
1466
1467 config-$(call config_package,cfg80211) += CFG80211
1468
1469 config-$(call config_package,mac80211) += MAC80211
1470 config-$(CONFIG_PACKAGE_MAC80211_MESH) += MAC80211_MESH
1471 ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS
1472 config-y += \
1473 CFG80211_DEBUGFS \
1474 MAC80211_DEBUGFS \
1475 ATH9K_DEBUGFS \
1476 ATH9K_HTC_DEBUGFS \
1477 ATH10K_DEBUGFS \
1478 CARL9170_DEBUGFS \
1479 ATH5K_DEBUG
1480 endif
1481
1482 ifdef CONFIG_PACKAGE_MAC80211_TRACING
1483 config-y += \
1484 ATH10K_TRACING \
1485 ATH6KL_TRACING \
1486 ATH_TRACEPOINTS \
1487 WIL6210_TRACING \
1488 ATH5K_TRACER \
1489 IWLWIFI_DEVICE_TRACING
1490 endif
1491
1492 config-$(call config_package,lib80211) += LIB80211 LIB80211_CRYPT_WEP LIB80211_CRYPT_CCMP LIB80211_CRYPT_TKIP
1493
1494 config-$(call config_package,airo) += AIRO
1495
1496 config-$(call config_package,ath) += ATH_CARDS ATH_COMMON
1497 config-$(CONFIG_PACKAGE_ATH_DEBUG) += ATH_DEBUG ATH10K_DEBUG ATH9K_STATION_STATISTICS
1498 config-$(CONFIG_PACKAGE_ATH_DFS) += ATH9K_DFS_CERTIFIED ATH10K_DFS_CERTIFIED
1499
1500 config-$(call config_package,ath9k) += ATH9K
1501 config-$(call config_package,ath9k-common) += ATH9K_COMMON
1502 config-$(CONFIG_TARGET_ar71xx) += ATH9K_AHB
1503 config-$(CONFIG_PCI) += ATH9K_PCI
1504 config-$(CONFIG_ATH_USER_REGD) += ATH_USER_REGD
1505 config-$(CONFIG_ATH9K_SUPPORT_PCOEM) += ATH9K_PCOEM
1506 config-$(CONFIG_ATH9K_TX99) += ATH9K_TX99
1507
1508 config-$(call config_package,ath9k-htc) += ATH9K_HTC
1509 config-$(call config_package,ath10k) += ATH10K ATH10K_PCI
1510
1511 config-$(call config_package,ath5k) += ATH5K
1512 ifdef CONFIG_TARGET_ath25
1513 config-y += ATH5K_AHB
1514 else
1515 config-y += ATH5K_PCI
1516 endif
1517
1518 config-$(call config_package,carl9170) += CARL9170
1519
1520 config-$(call config_package,b43) += B43
1521 config-$(CONFIG_PACKAGE_B43_BUSES_BCMA_AND_SSB) += B43_BUSES_BCMA_AND_SSB
1522 config-$(CONFIG_PACKAGE_B43_BUSES_BCMA) += B43_BUSES_BCMA
1523 config-$(CONFIG_PACKAGE_B43_BUSES_SSB) += B43_BUSES_SSB
1524 config-$(CONFIG_PACKAGE_B43_PHY_G) += B43_PHY_G
1525 config-$(CONFIG_PACKAGE_B43_PHY_N) += B43_PHY_N
1526 config-$(CONFIG_PACKAGE_B43_PHY_LP) += B43_PHY_LP
1527 config-$(CONFIG_PACKAGE_B43_PHY_HT) += B43_PHY_HT
1528 config-$(CONFIG_PACKAGE_B43_PIO) += B43_PIO
1529 config-$(CONFIG_PACKAGE_B43_DEBUG) += B43_DEBUG
1530
1531 config-$(call config_package,b43legacy) += B43LEGACY
1532 config-y += B43LEGACY_DMA_MODE
1533
1534 config-$(call config_package,brcmutil) += BRCMUTIL
1535 config-$(call config_package,brcmsmac) += BRCMSMAC
1536 config-$(call config_package,brcmfmac) += BRCMFMAC
1537 config-$(CONFIG_BRCMFMAC_SDIO) += BRCMFMAC_SDIO
1538 config-$(CONFIG_BRCMFMAC_USB) += BRCMFMAC_USB
1539 config-$(CONFIG_BRCMFMAC_PCIE) += BRCMFMAC_PCIE
1540 config-$(CONFIG_PACKAGE_BRCM80211_DEBUG) += BRCMDBG
1541
1542 config-$(call config_package,mac80211-hwsim) += MAC80211_HWSIM
1543 config-$(call config_package,mt7601u) += MT7601U
1544 config-y += WL_MEDIATEK
1545
1546 config-$(call config_package,rt2x00-lib) += RT2X00 RT2X00_LIB
1547 config-$(call config_package,rt2x00-pci) += RT2X00_LIB_PCI
1548 config-$(call config_package,rt2x00-mmio) += RT2X00_LIB_MMIO
1549 config-$(call config_package,rt2x00-usb) += RT2X00_LIB_USB
1550 config-$(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS) += RT2X00_LIB_DEBUGFS
1551 config-$(CONFIG_PACKAGE_RT2X00_DEBUG) += RT2X00_DEBUG
1552
1553 config-$(call config_package,rt2400-pci) += RT2400PCI
1554 config-$(call config_package,rt2500-pci) += RT2500PCI
1555 config-$(call config_package,rt2500-usb) += RT2500USB
1556 config-$(call config_package,rt61-pci) += RT61PCI
1557 config-$(call config_package,rt73-usb) += RT73USB
1558
1559 config-$(call config_package,rt2800-lib) += RT2800_LIB
1560
1561 config-$(call config_package,rt2800-soc) += RT2800SOC
1562 config-$(call config_package,rt2800-pci) += RT2800PCI
1563 config-y += RT2800PCI_RT33XX RT2800PCI_RT35XX RT2800PCI_RT53XX RT2800PCI_RT3290
1564
1565 config-$(call config_package,rt2800-usb) += RT2800USB
1566 config-y += RT2800USB_RT33XX RT2800USB_RT35XX RT2800USB_RT3573 RT2800USB_RT53XX RT2800USB_RT55XX RT2800USB_UNKNOWN
1567
1568 config-$(call config_package,iwl-legacy) += IWLEGACY
1569 config-$(call config_package,iwl3945) += IWL3945
1570 config-$(call config_package,iwl4965) += IWL4965
1571 config-$(call config_package,iwlwifi) += IWLWIFI IWLDVM IWLMVM
1572 config-$(CONFIG_PACKAGE_IWLWIFI_DEBUG)+= IWLWIFI_DEBUG
1573 config-$(CONFIG_PACKAGE_IWLWIFI_DEBUGFS)+= IWLWIFI_DEBUGFS
1574
1575 config-$(call config_package,libipw) += LIBIPW
1576 config-$(call config_package,ipw2100) += IPW2100
1577 config-$(call config_package,ipw2200) += IPW2200
1578
1579 config-$(call config_package,p54-common) += P54_COMMON
1580 config-$(call config_package,p54-pci) += P54_PCI
1581 config-$(call config_package,p54-usb) += P54_USB
1582 config-$(call config_package,p54-spi) += P54_SPI
1583
1584 config-$(call config_package,hermes) += HERMES
1585 config-$(call config_package,hermes-pci) += PCI_HERMES
1586 config-$(call config_package,hermes-plx) += PLX_HERMES
1587 config-$(call config_package,hermes-pcmcia) += PCMCIA_HERMES
1588 config-y += HERMES_PRISM
1589
1590 config-$(call config_package,adm8211) += ADM8211
1591 config-$(call config_package,libertas-sdio) += LIBERTAS LIBERTAS_SDIO
1592 config-$(call config_package,libertas-usb) += LIBERTAS LIBERTAS_USB
1593 config-$(call config_package,libertas-spi) += LIBERTAS LIBERTAS_SPI
1594 config-$(call config_package,mwl8k) += MWL8K
1595 config-$(call config_package,mwifiex-pcie) += MWIFIEX MWIFIEX_PCIE
1596 config-$(call config_package,rtl8180) += RTL8180
1597 config-$(call config_package,rtl8187) += RTL8187
1598 config-$(call config_package,wlcore) += WLCORE WLCORE_SDIO
1599 config-$(call config_package,wl12xx) += WL12XX
1600 config-$(call config_package,wl18xx) += WL18XX
1601 config-y += WL_TI WILINK_PLATFORM_DATA
1602 config-$(call config_package,zd1211rw) += ZD1211RW
1603
1604 config-$(call config_package,rtlwifi) += RTL_CARDS RTLWIFI
1605 config-$(call config_package,rtlwifi-pci) += RTLWIFI_PCI
1606 config-$(call config_package,rtlwifi-usb) += RTLWIFI_USB
1607 config-$(call config_package,rtl8192c-common) += RTL8192C_COMMON
1608 config-$(call config_package,rtl8192ce) += RTL8192CE
1609 config-$(call config_package,rtl8192se) += RTL8192SE
1610 config-$(call config_package,rtl8192de) += RTL8192DE
1611 config-$(call config_package,rtl8192cu) += RTL8192CU
1612 config-$(CONFIG_PACKAGE_RTLWIFI_DEBUG) += RTLWIFI_DEBUG
1613
1614 config-$(call config_package,rtl8xxxu) += RTL8XXXU
1615 config-y += RTL8XXXU_UNTESTED
1616
1617 config-$(CONFIG_LEDS_TRIGGERS) += MAC80211_LEDS B43_LEDS B43LEGACY_LEDS
1618
1619 MAKE_OPTS:= -C "$(PKG_BUILD_DIR)" \
1620 CROSS_COMPILE="$(KERNEL_CROSS)" \
1621 ARCH="$(LINUX_KARCH)" \
1622 EXTRA_CFLAGS="-I$(PKG_BUILD_DIR)/include $(IREMAP_CFLAGS)" \
1623 KLIB_BUILD="$(LINUX_DIR)" \
1624 MODPROBE=true \
1625 KLIB=$(TARGET_MODULES_DIR) \
1626 KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER))) \
1627 KBUILD_LDFLAGS_MODULE_PREREQ=
1628
1629 ifneq ($(findstring c,$(OPENWRT_VERBOSE)),)
1630 MAKE_OPTS += V=1
1631 endif
1632
1633 define ConfigVars
1634 $(subst $(space),,$(foreach opt,$(config-$(1)),CPTCFG_$(opt)=$(1)
1635 ))
1636 endef
1637
1638 define mac80211_config
1639 $(call ConfigVars,m)$(call ConfigVars,y)
1640 endef
1641 $(eval $(call shexport,mac80211_config))
1642
1643 define Build/Prepare
1644 rm -rf $(PKG_BUILD_DIR)
1645 mkdir -p $(PKG_BUILD_DIR)
1646 $(PKG_UNPACK)
1647 $(Build/Patch)
1648 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
1649 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
1650 $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
1651 rm -rf \
1652 $(PKG_BUILD_DIR)/include/linux/ssb \
1653 $(PKG_BUILD_DIR)/include/linux/bcma \
1654 $(PKG_BUILD_DIR)/include/net/bluetooth
1655
1656 rm -f \
1657 $(PKG_BUILD_DIR)/include/linux/cordic.h \
1658 $(PKG_BUILD_DIR)/include/linux/crc8.h \
1659 $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h \
1660 $(PKG_BUILD_DIR)/include/linux/wl12xx.h \
1661 $(PKG_BUILD_DIR)/include/linux/spi/libertas_spi.h \
1662 $(PKG_BUILD_DIR)/include/net/ieee80211.h \
1663 $(PKG_BUILD_DIR)/backport-include/linux/bcm47xx_nvram.h
1664
1665 echo 'compat-wireless-$(PKG_VERSION)-$(PKG_RELEASE)-$(REVISION)' > $(PKG_BUILD_DIR)/compat_version
1666 $(CP) ./files/regdb.txt $(PKG_BUILD_DIR)/net/wireless/db.txt
1667 endef
1668
1669 ifneq ($(CONFIG_PACKAGE_kmod-cfg80211)$(CONFIG_PACKAGE_kmod-lib80211),)
1670 define Build/Compile/kmod
1671 rm -rf $(PKG_BUILD_DIR)/modules
1672 +$(MAKE) $(PKG_JOBS) $(MAKE_OPTS) modules
1673 endef
1674 endif
1675
1676 define Build/Configure
1677 cmp $(PKG_BUILD_DIR)/include/linux/ath9k_platform.h $(LINUX_DIR)/include/linux/ath9k_platform.h
1678 cmp $(PKG_BUILD_DIR)/include/linux/ath5k_platform.h $(LINUX_DIR)/include/linux/ath5k_platform.h
1679 cmp $(PKG_BUILD_DIR)/include/linux/rt2x00_platform.h $(LINUX_DIR)/include/linux/rt2x00_platform.h
1680 endef
1681
1682 define Build/Compile
1683 $(SH_FUNC) var2file "$(call shvar,mac80211_config)" $(PKG_BUILD_DIR)/.config
1684 $(MAKE) $(MAKE_OPTS) allnoconfig
1685 $(call Build/Compile/kmod)
1686 endef
1687
1688 define Build/InstallDev
1689 mkdir -p \
1690 $(1)/usr/include/mac80211 \
1691 $(1)/usr/include/mac80211-backport \
1692 $(1)/usr/include/mac80211/ath \
1693 $(1)/usr/include/net/mac80211
1694 $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
1695 $(CP) $(PKG_BUILD_DIR)/backport-include/* $(1)/usr/include/mac80211-backport/
1696 $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
1697 $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
1698 rm -f $(1)/usr/include/mac80211-backport/linux/module.h
1699 endef
1700
1701
1702 define KernelPackage/b43/install
1703 rm -rf $(1)/lib/firmware/
1704 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1705 tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1706 else
1707 tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1708 endif
1709 $(INSTALL_DIR) $(1)/lib/firmware/
1710 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1711 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
1712 $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
1713 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
1714 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
1715 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
1716 else
1717 b43-fwcutter -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
1718 endif
1719 ifneq ($(CONFIG_B43_FW_SQUASH),)
1720 b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
1721 endif
1722 endef
1723
1724 define KernelPackage/brcmsmac/install
1725 $(INSTALL_DIR) $(1)/lib/firmware/brcm
1726 ifeq ($(CONFIG_BRCMSMAC_USE_FW_FROM_WL),y)
1727 tar xjf "$(DL_DIR)/$(PKG_BRCMSMAC_FW_SOURCE)" -C "$(PKG_BUILD_DIR)"
1728 b43-fwcutter --brcmsmac -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_BRCMSMAC_FW_OBJECT)
1729 endif
1730 endef
1731
1732 define KernelPackage/cfg80211/install
1733 $(INSTALL_DIR) $(1)/lib/wifi $(1)/lib/netifd/wireless
1734 $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
1735 $(INSTALL_BIN) ./files/lib/netifd/wireless/mac80211.sh $(1)/lib/netifd/wireless
1736 endef
1737
1738 define KernelPackage/ipw2100/install
1739 $(INSTALL_DIR) $(1)/lib/firmware
1740 $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware
1741 endef
1742
1743 define KernelPackage/ipw2200/install
1744 $(INSTALL_DIR) $(1)/lib/firmware
1745 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware
1746 endef
1747
1748 define KernelPackage/zd1211rw/install
1749 $(INSTALL_DIR) $(1)/lib/firmware/zd1211
1750 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
1751 endef
1752
1753
1754 $(eval $(call KernelPackage,adm8211))
1755 $(eval $(call KernelPackage,airo))
1756 $(eval $(call KernelPackage,ath))
1757 $(eval $(call KernelPackage,ath10k))
1758 $(eval $(call KernelPackage,ath5k))
1759 $(eval $(call KernelPackage,ath9k))
1760 $(eval $(call KernelPackage,ath9k-common))
1761 $(eval $(call KernelPackage,ath9k-htc))
1762 $(eval $(call KernelPackage,b43))
1763 $(eval $(call KernelPackage,b43legacy))
1764 $(eval $(call KernelPackage,brcmsmac))
1765 $(eval $(call KernelPackage,brcmfmac))
1766 $(eval $(call KernelPackage,brcmutil))
1767 $(eval $(call KernelPackage,carl9170))
1768 $(eval $(call KernelPackage,cfg80211))
1769 $(eval $(call KernelPackage,hermes))
1770 $(eval $(call KernelPackage,hermes-pci))
1771 $(eval $(call KernelPackage,hermes-plx))
1772 $(eval $(call KernelPackage,hermes-pcmcia))
1773 $(eval $(call KernelPackage,iwlwifi))
1774 $(eval $(call KernelPackage,iwl-legacy))
1775 $(eval $(call KernelPackage,iwl4965))
1776 $(eval $(call KernelPackage,iwl3945))
1777 $(eval $(call KernelPackage,lib80211))
1778 $(eval $(call KernelPackage,libertas-usb))
1779 $(eval $(call KernelPackage,libertas-sdio))
1780 $(eval $(call KernelPackage,libertas-spi))
1781 $(eval $(call KernelPackage,libipw))
1782 $(eval $(call KernelPackage,ipw2100))
1783 $(eval $(call KernelPackage,ipw2200))
1784 $(eval $(call KernelPackage,mac80211))
1785 $(eval $(call KernelPackage,mac80211-hwsim))
1786 $(eval $(call KernelPackage,mt7601u))
1787 $(eval $(call KernelPackage,mwl8k))
1788 $(eval $(call KernelPackage,mwifiex-pcie))
1789 $(eval $(call KernelPackage,p54-common))
1790 $(eval $(call KernelPackage,p54-pci))
1791 $(eval $(call KernelPackage,p54-usb))
1792 $(eval $(call KernelPackage,p54-spi))
1793 $(eval $(call KernelPackage,rt2x00-lib))
1794 $(eval $(call KernelPackage,rt2x00-mmio))
1795 $(eval $(call KernelPackage,rt2x00-pci))
1796 $(eval $(call KernelPackage,rt2x00-usb))
1797 $(eval $(call KernelPackage,rt2800-lib))
1798 $(eval $(call KernelPackage,rt2400-pci))
1799 $(eval $(call KernelPackage,rt2500-pci))
1800 $(eval $(call KernelPackage,rt2500-usb))
1801 $(eval $(call KernelPackage,rt2800-mmio))
1802 $(eval $(call KernelPackage,rt2800-soc))
1803 $(eval $(call KernelPackage,rt2800-pci))
1804 $(eval $(call KernelPackage,rt2800-usb))
1805 $(eval $(call KernelPackage,rt61-pci))
1806 $(eval $(call KernelPackage,rt73-usb))
1807 $(eval $(call KernelPackage,rtl8180))
1808 $(eval $(call KernelPackage,rtl8187))
1809 $(eval $(call KernelPackage,rtlwifi))
1810 $(eval $(call KernelPackage,rtlwifi-pci))
1811 $(eval $(call KernelPackage,rtlwifi-usb))
1812 $(eval $(call KernelPackage,rtl8192c-common))
1813 $(eval $(call KernelPackage,rtl8192ce))
1814 $(eval $(call KernelPackage,rtl8192se))
1815 $(eval $(call KernelPackage,rtl8192de))
1816 $(eval $(call KernelPackage,rtl8192cu))
1817 $(eval $(call KernelPackage,rtl8xxxu))
1818 $(eval $(call KernelPackage,wlcore))
1819 $(eval $(call KernelPackage,wl12xx))
1820 $(eval $(call KernelPackage,wl18xx))
1821 $(eval $(call KernelPackage,zd1211rw))