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