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