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