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