mac80211: mt7601u use linux-firmware
[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:=2
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:=bbe4917c054eb0a73e250c6363341e3bf6725839
134 PKG_LINUX_FIRMWARE_SOURCE:=$(PKG_LINUX_FIRMWARE_NAME)-2015-12-07-$(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
1158 define KernelPackage/mt7601u
1159   $(call KernelPackage/mac80211/Default)
1160   TITLE:=MT7601U-based USB dongles Wireless Driver
1161   DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT @USB_SUPPORT +kmod-usb-core
1162   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mediatek/mt7601u/mt7601u.ko
1163   AUTOLOAD:=$(call AutoProbe,mt7601u)
1164 endef
1165
1166
1167 define KernelPackage/mwl8k
1168   $(call KernelPackage/mac80211/Default)
1169   TITLE:=Driver for Marvell TOPDOG 802.11 Wireless cards
1170   URL:=http://wireless.kernel.org/en/users/Drivers/mwl8k
1171   DEPENDS+= @PCI_SUPPORT +kmod-mac80211 +@DRIVER_11N_SUPPORT
1172   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwl8k.ko
1173   AUTOLOAD:=$(call AutoProbe,mwl8k)
1174 endef
1175
1176 define KernelPackage/mwl8k/description
1177  Kernel modules for Marvell TOPDOG 802.11 Wireless cards
1178 endef
1179
1180
1181 define KernelPackage/mwifiex-pcie
1182   $(call KernelPackage/mac80211/Default)
1183   TITLE:=Driver for Marvell 802.11n/802.11ac PCIe Wireless cards
1184   URL:=http://wireless.kernel.org/en/users/Drivers/mwifiex
1185   DEPENDS+= @PCI_SUPPORT +kmod-mac80211 +@DRIVER_11N_SUPPORT
1186   FILES:= \
1187         $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwifiex/mwifiex.ko \
1188         $(PKG_BUILD_DIR)/drivers/net/wireless/marvell/mwifiex/mwifiex_pcie.ko
1189   AUTOLOAD:=$(call AutoProbe,mwifiex_pcie)
1190 endef
1191
1192 define KernelPackage/mwifiex-pcie/description
1193  Kernel modules for Marvell 802.11n/802.11ac PCIe Wireless cards
1194 endef
1195
1196
1197 # Prism54 drivers
1198 P54PCIFW:=2.13.12.0.arm
1199 P54USBFW:=2.13.24.0.lm87.arm
1200 P54SPIFW:=2.13.0.0.a.13.14.arm
1201
1202 define Download/p54usb
1203   FILE:=$(P54USBFW)
1204   URL:=http://daemonizer.de/prism54/prism54-fw/fw-usb
1205   MD5SUM:=8e8ab005a4f8f0123bcdc51bc25b47f6
1206 endef
1207 $(eval $(call Download,p54usb))
1208
1209 define Download/p54pci
1210   FILE:=$(P54PCIFW)
1211   URL:=http://daemonizer.de/prism54/prism54-fw/fw-softmac
1212   MD5SUM:=ff7536af2092b1c4b21315bd103ef4c4
1213 endef
1214 $(eval $(call Download,p54pci))
1215
1216 define Download/p54spi
1217   FILE:=$(P54SPIFW)
1218   URL:=http://daemonizer.de/prism54/prism54-fw/stlc4560
1219   MD5SUM:=42661f8ecbadd88012807493f596081d
1220 endef
1221 $(eval $(call Download,p54spi))
1222
1223 define KernelPackage/p54/Default
1224   $(call KernelPackage/mac80211/Default)
1225   TITLE:=Prism54 Drivers
1226 endef
1227
1228 define KernelPackage/p54/description
1229   Kernel module for Prism54 chipsets (mac80211)
1230 endef
1231
1232 define KernelPackage/p54-common
1233   $(call KernelPackage/p54/Default)
1234   DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT||@TARGET_omap24xx +kmod-mac80211 +kmod-lib-crc-ccitt
1235   TITLE+= (COMMON)
1236   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54common.ko
1237 endef
1238
1239 define KernelPackage/p54-pci
1240   $(call KernelPackage/p54/Default)
1241   TITLE+= (PCI)
1242   DEPENDS+= @PCI_SUPPORT +kmod-p54-common
1243   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54pci.ko
1244   AUTOLOAD:=$(call AutoProbe,p54pci)
1245 endef
1246
1247 define KernelPackage/p54-usb
1248   $(call KernelPackage/p54/Default)
1249   TITLE+= (USB)
1250   DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common
1251   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54usb.ko
1252   AUTOLOAD:=$(call AutoProbe,p54usb)
1253 endef
1254
1255 define KernelPackage/p54-spi
1256   $(call KernelPackage/p54/Default)
1257   TITLE+= (SPI)
1258   DEPENDS+= @TARGET_omap24xx +kmod-p54-common
1259   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/intersil/p54/p54spi.ko
1260   AUTOLOAD:=$(call AutoProbe,p54spi)
1261 endef
1262
1263 define KernelPackage/rt2x00/Default
1264   $(call KernelPackage/mac80211/Default)
1265   TITLE:=Ralink Drivers for RT2x00 cards
1266 endef
1267
1268 define KernelPackage/rt2x00-lib
1269 $(call KernelPackage/rt2x00/Default)
1270   DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-mac80211 +kmod-lib-crc-itu-t
1271   TITLE+= (LIB)
1272   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00lib.ko
1273   MENU:=1
1274 endef
1275
1276 define KernelPackage/rt2x00-lib/config
1277   if PACKAGE_kmod-rt2x00-lib
1278
1279         config PACKAGE_RT2X00_LIB_DEBUGFS
1280                 bool "Enable rt2x00 debugfs support"
1281                 depends on PACKAGE_MAC80211_DEBUGFS
1282                 help
1283                   Enable creation of debugfs files for the rt2x00 drivers.
1284                   These debugfs files support both reading and writing of the
1285                   most important register types of the rt2x00 hardware.
1286
1287         config PACKAGE_RT2X00_DEBUG
1288                 bool "Enable rt2x00 debug output"
1289                 help
1290                   Enable debugging output for all rt2x00 modules
1291
1292   endif
1293 endef
1294
1295 define KernelPackage/rt2x00-mmio
1296 $(call KernelPackage/rt2x00/Default)
1297   DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-eeprom-93cx6
1298   HIDDEN:=1
1299   TITLE+= (MMIO)
1300   FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00mmio.ko
1301 endef
1302
1303 define KernelPackage/rt2x00-pci
1304 $(call KernelPackage/rt2x00/Default)
1305   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-mmio +kmod-rt2x00-lib
1306   HIDDEN:=1
1307   TITLE+= (PCI)
1308   FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00pci.ko
1309   AUTOLOAD:=$(call AutoProbe,rt2x00pci)
1310 endef
1311
1312 define KernelPackage/rt2x00-usb
1313 $(call KernelPackage/rt2x00/Default)
1314   DEPENDS+= @USB_SUPPORT +kmod-rt2x00-lib +kmod-usb-core
1315   HIDDEN:=1
1316   TITLE+= (USB)
1317   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00usb.ko
1318   AUTOLOAD:=$(call AutoProbe,rt2x00usb)
1319 endef
1320
1321 define KernelPackage/rt2800-lib
1322 $(call KernelPackage/rt2x00/Default)
1323   DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-lib-crc-ccitt +@DRIVER_11N_SUPPORT
1324   HIDDEN:=1
1325   TITLE+= (rt2800 LIB)
1326   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800lib.ko
1327 endef
1328
1329 define KernelPackage/rt2400-pci
1330 $(call KernelPackage/rt2x00/Default)
1331   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
1332   TITLE+= (RT2400 PCI)
1333   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2400pci.ko
1334   AUTOLOAD:=$(call AutoProbe,rt2400pci)
1335 endef
1336
1337 define KernelPackage/rt2500-pci
1338 $(call KernelPackage/rt2x00/Default)
1339   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
1340   TITLE+= (RT2500 PCI)
1341   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2500pci.ko
1342   AUTOLOAD:=$(call AutoProbe,rt2500pci)
1343 endef
1344
1345 define KernelPackage/rt2500-usb
1346 $(call KernelPackage/rt2x00/Default)
1347   DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
1348   TITLE+= (RT2500 USB)
1349   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2500usb.ko
1350   AUTOLOAD:=$(call AutoProbe,rt2500usb)
1351 endef
1352
1353 define KernelPackage/rt2800-mmio
1354 $(call KernelPackage/rt2x00/Default)
1355   TITLE += (RT28xx/RT3xxx MMIO)
1356   DEPENDS += +kmod-rt2800-lib +kmod-rt2x00-mmio
1357   HIDDEN:=1
1358   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800mmio.ko
1359 endef
1360
1361 define KernelPackage/rt2800-soc
1362 $(call KernelPackage/rt2x00/Default)
1363   DEPENDS += @(TARGET_ramips_rt288x||TARGET_ramips_rt305x||TARGET_ramips_rt3883||TARGET_ramips_mt7620) +kmod-rt2800-mmio +kmod-rt2800-lib
1364   TITLE += (RT28xx/RT3xxx SoC)
1365   FILES := \
1366         $(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2x00soc.ko \
1367         $(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800soc.ko
1368   AUTOLOAD:=$(call AutoProbe,rt2800soc)
1369 endef
1370
1371 define KernelPackage/rt2800-pci
1372 $(call KernelPackage/rt2x00/Default)
1373   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci +kmod-rt2800-lib +kmod-rt2800-mmio
1374   TITLE+= (RT2860 PCI)
1375   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800pci.ko
1376   AUTOLOAD:=$(call AutoProbe,rt2800pci)
1377 endef
1378
1379 define KernelPackage/rt2800-usb
1380 $(call KernelPackage/rt2x00/Default)
1381   DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb +kmod-rt2800-lib +kmod-lib-crc-ccitt
1382   TITLE+= (RT2870 USB)
1383   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt2800usb.ko
1384   AUTOLOAD:=$(call AutoProbe,rt2800usb)
1385 endef
1386
1387
1388 define KernelPackage/rt61-pci
1389 $(call KernelPackage/rt2x00/Default)
1390   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
1391   TITLE+= (RT2x61 PCI)
1392   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt61pci.ko
1393   AUTOLOAD:=$(call AutoProbe,rt61pci)
1394 endef
1395
1396 define KernelPackage/rt73-usb
1397   $(call KernelPackage/rt2x00/Default)
1398   DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
1399   TITLE+= (RT73 USB)
1400   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ralink/rt2x00/rt73usb.ko
1401   AUTOLOAD:=$(call AutoProbe,rt73usb)
1402 endef
1403
1404
1405 define KernelPackage/rtl818x/Default
1406   $(call KernelPackage/mac80211/Default)
1407   TITLE:=Realtek Drivers for RTL818x devices
1408   URL:=http://wireless.kernel.org/en/users/Drivers/rtl8187
1409   DEPENDS+= +kmod-eeprom-93cx6 +kmod-mac80211
1410 endef
1411
1412 define KernelPackage/rtl8180
1413   $(call KernelPackage/rtl818x/Default)
1414   DEPENDS+= @PCI_SUPPORT
1415   TITLE+= (RTL8180 PCI)
1416   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl818x/rtl8180/rtl818x_pci.ko
1417   AUTOLOAD:=$(call AutoProbe,rtl818x_pci)
1418 endef
1419
1420 define KernelPackage/rtl8187
1421 $(call KernelPackage/rtl818x/Default)
1422   DEPENDS+= @USB_SUPPORT +kmod-usb-core
1423   TITLE+= (RTL8187 USB)
1424   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl818x/rtl8187/rtl8187.ko
1425   AUTOLOAD:=$(call AutoProbe,rtl8187)
1426 endef
1427
1428 define KernelPackage/rtlwifi/config
1429         config PACKAGE_RTLWIFI_DEBUG
1430                 bool "Realtek wireless debugging"
1431                 depends on PACKAGE_kmod-rtlwifi
1432                 help
1433                   Say Y, if you want to debug realtek wireless drivers.
1434
1435 endef
1436
1437 define KernelPackage/rtlwifi
1438   $(call KernelPackage/mac80211/Default)
1439   TITLE:=Realtek common driver part
1440   DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT) +kmod-mac80211 +@DRIVER_11N_SUPPORT
1441   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtlwifi.ko
1442   HIDDEN:=1
1443 endef
1444
1445 define KernelPackage/rtlwifi-pci
1446   $(call KernelPackage/mac80211/Default)
1447   TITLE:=Realtek common driver part (PCI support)
1448   DEPENDS+= @PCI_SUPPORT +kmod-rtlwifi
1449   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl_pci.ko
1450   AUTOLOAD:=$(call AutoProbe,rtl_pci)
1451   HIDDEN:=1
1452 endef
1453
1454 define KernelPackage/rtlwifi-usb
1455   $(call KernelPackage/mac80211/Default)
1456   TITLE:=Realtek common driver part (USB support)
1457   DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-rtlwifi
1458   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl_usb.ko
1459   AUTOLOAD:=$(call AutoProbe,rtl_usb)
1460   HIDDEN:=1
1461 endef
1462
1463 define KernelPackage/rtl8192c-common
1464   $(call KernelPackage/mac80211/Default)
1465   TITLE:=Realtek RTL8192CE/RTL8192CU common support module
1466   DEPENDS+= +kmod-rtlwifi
1467   FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common.ko
1468   HIDDEN:=1
1469 endef
1470
1471 define KernelPackage/rtl8192ce
1472   $(call KernelPackage/mac80211/Default)
1473   TITLE:=Realtek RTL8192CE/RTL8188CE support
1474   DEPENDS+= +kmod-rtlwifi-pci +kmod-rtl8192c-common
1475   FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/rtl8192ce.ko
1476   AUTOLOAD:=$(call AutoProbe,rtl8192ce)
1477 endef
1478
1479 define KernelPackage/rtl8192ce/install
1480         $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi
1481         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rtlwifi/rtl8192cfw.bin $(1)/lib/firmware/rtlwifi
1482         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rtlwifi/rtl8192cfwU.bin $(1)/lib/firmware/rtlwifi
1483         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rtlwifi/rtl8192cfwU_B.bin $(1)/lib/firmware/rtlwifi
1484 endef
1485
1486 define KernelPackage/rtl8192se
1487   $(call KernelPackage/mac80211/Default)
1488   TITLE:=Realtek RTL8192SE/RTL8191SE support
1489   DEPENDS+= +kmod-rtlwifi-pci
1490   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192se/rtl8192se.ko
1491   AUTOLOAD:=$(call AutoProbe,rtl8192se)
1492 endef
1493
1494 define KernelPackage/rtl8192se/install
1495         $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi
1496         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rtlwifi/rtl8192sefw.bin $(1)/lib/firmware/rtlwifi
1497 endef
1498
1499 define KernelPackage/rtl8192de
1500   $(call KernelPackage/mac80211/Default)
1501   TITLE:=Realtek RTL8192DE/RTL8188DE support
1502   DEPENDS+= +kmod-rtlwifi-pci
1503   FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192de/rtl8192de.ko
1504   AUTOLOAD:=$(call AutoProbe,rtl8192de)
1505 endef
1506
1507 define KernelPackage/rtl8192de/install
1508         $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi
1509         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rtlwifi/rtl8192defw.bin $(1)/lib/firmware/rtlwifi
1510 endef
1511
1512 define KernelPackage/rtl8192cu
1513   $(call KernelPackage/mac80211/Default)
1514   TITLE:=Realtek RTL8192CU/RTL8188CU support
1515   DEPENDS+= +kmod-rtlwifi-usb +kmod-rtl8192c-common
1516   FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rtl8192cu.ko
1517   AUTOLOAD:=$(call AutoProbe,rtl8192cu)
1518 endef
1519
1520 define KernelPackage/rtl8192cu/install
1521         $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi
1522         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rtlwifi/rtl8192cufw.bin $(1)/lib/firmware/rtlwifi
1523         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rtlwifi/rtl8192cufw_A.bin $(1)/lib/firmware/rtlwifi
1524         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rtlwifi/rtl8192cufw_B.bin $(1)/lib/firmware/rtlwifi
1525         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rtlwifi/rtl8192cufw_TMSC.bin $(1)/lib/firmware/rtlwifi
1526 endef
1527
1528
1529 define KernelPackage/wlcore
1530   $(call KernelPackage/mac80211/Default)
1531   TITLE:=TI common driver part
1532   DEPENDS+= @TARGET_omap +kmod-mac80211 +@DRIVER_11N_SUPPORT
1533   FILES:= \
1534         $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore.ko \
1535         $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore_sdio.ko
1536   AUTOLOAD:=$(call AutoProbe,wlcore wlcore_sdio)
1537 endef
1538
1539 define KernelPackage/wlcore/description
1540  This module contains some common parts needed by TI Wireless drivers.
1541 endef
1542
1543 define KernelPackage/wl12xx
1544   $(call KernelPackage/mac80211/Default)
1545   TITLE:=Driver for TI WL12xx
1546   URL:=http://wireless.kernel.org/en/users/Drivers/wl12xx
1547   DEPENDS+= +kmod-wlcore
1548   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl12xx/wl12xx.ko
1549   AUTOLOAD:=$(call AutoProbe,wl12xx)
1550 endef
1551
1552 define KernelPackage/wl12xx/description
1553  Kernel modules for TI WL12xx
1554 endef
1555
1556 define KernelPackage/wl18xx
1557   $(call KernelPackage/mac80211/Default)
1558   TITLE:=Driver for TI WL18xx
1559   URL:=http://wireless.kernel.org/en/users/Drivers/wl18xx
1560   DEPENDS+= +kmod-wlcore
1561   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl18xx/wl18xx.ko
1562   AUTOLOAD:=$(call AutoProbe,wl18xx)
1563 endef
1564
1565 define KernelPackage/wl18xx/description
1566  Kernel modules for TI WL18xx
1567 endef
1568
1569
1570 ZD1211FW_NAME:=zd1211-firmware
1571 ZD1211FW_VERSION:=1.4
1572 define Download/zd1211rw
1573   FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
1574   URL:=@SF/zd1211/
1575   MD5SUM:=19f28781d76569af8551c9d11294c870
1576 endef
1577 $(eval $(call Download,zd1211rw))
1578
1579 define KernelPackage/zd1211rw
1580   $(call KernelPackage/mac80211/Default)
1581   TITLE:=Zydas ZD1211 support
1582   DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
1583   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zydas/zd1211rw/zd1211rw.ko
1584   AUTOLOAD:=$(call AutoProbe,zd1211rw)
1585 endef
1586
1587
1588
1589 config_package=$(if $(CONFIG_PACKAGE_kmod-$(1)),m)
1590
1591 config-y:= \
1592         WLAN \
1593         NL80211_TESTMODE \
1594         CFG80211_WEXT \
1595         CFG80211_INTERNAL_REGDB \
1596         CFG80211_CERTIFICATION_ONUS \
1597         MAC80211_RC_MINSTREL \
1598         MAC80211_RC_MINSTREL_HT \
1599         MAC80211_RC_MINSTREL_VHT \
1600         MAC80211_RC_DEFAULT_MINSTREL \
1601         WLAN_VENDOR_ADMTEK \
1602         WLAN_VENDOR_ATH \
1603         WLAN_VENDOR_ATMEL \
1604         WLAN_VENDOR_BROADCOM \
1605         WLAN_VENDOR_INTEL \
1606         WLAN_VENDOR_INTERSIL \
1607         WLAN_VENDOR_MARVELL \
1608         WLAN_VENDOR_MEDIATEK \
1609         WLAN_VENDOR_RALINK \
1610         WLAN_VENDOR_REALTEK \
1611         WLAN_VENDOR_RSI \
1612         WLAN_VENDOR_ST \
1613         WLAN_VENDOR_TI \
1614         WLAN_VENDOR_ZYDAS \
1615
1616 config-$(call config_package,cfg80211) += CFG80211
1617
1618 config-$(call config_package,mac80211) += MAC80211
1619 config-$(CONFIG_PACKAGE_MAC80211_MESH) += MAC80211_MESH
1620 ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS
1621   config-y += \
1622         CFG80211_DEBUGFS \
1623         MAC80211_DEBUGFS \
1624         ATH9K_DEBUGFS \
1625         ATH9K_HTC_DEBUGFS \
1626         ATH10K_DEBUGFS \
1627         CARL9170_DEBUGFS \
1628         ATH5K_DEBUG
1629 endif
1630
1631 ifdef CONFIG_PACKAGE_MAC80211_TRACING
1632   config-y += \
1633         ATH10K_TRACING \
1634         ATH6KL_TRACING \
1635         ATH_TRACEPOINTS \
1636         WIL6210_TRACING \
1637         ATH5K_TRACER \
1638         IWLWIFI_DEVICE_TRACING
1639 endif
1640
1641 config-$(call config_package,lib80211) += LIB80211 LIB80211_CRYPT_WEP LIB80211_CRYPT_CCMP LIB80211_CRYPT_TKIP
1642
1643 config-$(call config_package,ath) += ATH_CARDS ATH_COMMON
1644 config-$(CONFIG_PACKAGE_ATH_DEBUG) += ATH_DEBUG ATH10K_DEBUG
1645 config-$(CONFIG_PACKAGE_ATH_DFS) += ATH9K_DFS_CERTIFIED ATH10K_DFS_CERTIFIED
1646
1647 config-$(call config_package,ath9k) += ATH9K
1648 config-$(call config_package,ath9k-common) += ATH9K_COMMON
1649 config-$(CONFIG_TARGET_ar71xx) += ATH9K_AHB
1650 config-$(CONFIG_PCI) += ATH9K_PCI
1651 config-$(CONFIG_ATH_USER_REGD) += ATH_USER_REGD
1652 config-$(CONFIG_ATH9K_SUPPORT_PCOEM) += ATH9K_PCOEM
1653
1654 config-$(call config_package,ath9k-htc) += ATH9K_HTC
1655 config-$(call config_package,ath10k) += ATH10K ATH10K_PCI
1656
1657 config-$(call config_package,ath5k) += ATH5K
1658 ifdef CONFIG_TARGET_ath25
1659   config-y += ATH5K_AHB
1660 else
1661   config-y += ATH5K_PCI
1662 endif
1663
1664 config-$(call config_package,carl9170) += CARL9170
1665
1666 config-$(call config_package,b43) += B43
1667 config-$(CONFIG_PACKAGE_B43_BUSES_BCMA_AND_SSB) += B43_BUSES_BCMA_AND_SSB
1668 config-$(CONFIG_PACKAGE_B43_BUSES_BCMA) += B43_BUSES_BCMA
1669 config-$(CONFIG_PACKAGE_B43_BUSES_SSB) += B43_BUSES_SSB
1670 config-$(CONFIG_PACKAGE_B43_PHY_G) += B43_PHY_G
1671 config-$(CONFIG_PACKAGE_B43_PHY_N) += B43_PHY_N
1672 config-$(CONFIG_PACKAGE_B43_PHY_LP) += B43_PHY_LP
1673 config-$(CONFIG_PACKAGE_B43_PHY_HT) += B43_PHY_HT
1674 config-$(CONFIG_PACKAGE_B43_PIO) += B43_PIO
1675 config-$(CONFIG_PACKAGE_B43_DEBUG) += B43_DEBUG
1676
1677 config-$(call config_package,b43legacy) += B43LEGACY
1678 config-y += B43LEGACY_DMA_MODE
1679
1680 config-$(call config_package,brcmutil) += BRCMUTIL
1681 config-$(call config_package,brcmsmac) += BRCMSMAC
1682 config-$(call config_package,brcmfmac) += BRCMFMAC
1683 config-$(CONFIG_BRCMFMAC_SDIO) += BRCMFMAC_SDIO
1684 config-$(CONFIG_BRCMFMAC_USB) += BRCMFMAC_USB
1685 config-$(CONFIG_BRCMFMAC_PCIE) += BRCMFMAC_PCIE
1686 config-$(CONFIG_PACKAGE_BRCM80211_DEBUG) += BRCMDBG
1687
1688 config-$(call config_package,mac80211-hwsim) += MAC80211_HWSIM
1689 config-$(call config_package,mt7601u) += MT7601U
1690 config-y += WL_MEDIATEK
1691
1692 config-$(call config_package,rt2x00-lib) += RT2X00 RT2X00_LIB
1693 config-$(call config_package,rt2x00-pci) += RT2X00_LIB_PCI
1694 config-$(call config_package,rt2x00-mmio) += RT2X00_LIB_MMIO
1695 config-$(call config_package,rt2x00-usb) += RT2X00_LIB_USB
1696 config-$(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS) += RT2X00_LIB_DEBUGFS
1697 config-$(CONFIG_PACKAGE_RT2X00_DEBUG) += RT2X00_DEBUG
1698
1699 config-$(call config_package,rt2400-pci) += RT2400PCI
1700 config-$(call config_package,rt2500-pci) += RT2500PCI
1701 config-$(call config_package,rt2500-usb) += RT2500USB
1702 config-$(call config_package,rt61-pci) += RT61PCI
1703 config-$(call config_package,rt73-usb) += RT73USB
1704
1705 config-$(call config_package,rt2800-lib) += RT2800_LIB
1706
1707 config-$(call config_package,rt2800-soc) += RT2800SOC
1708 config-$(call config_package,rt2800-pci) += RT2800PCI
1709 config-y += RT2800PCI_RT33XX RT2800PCI_RT35XX RT2800PCI_RT53XX RT2800PCI_RT3290
1710
1711 config-$(call config_package,rt2800-usb) += RT2800USB
1712 config-y += RT2800USB_RT33XX RT2800USB_RT35XX RT2800USB_RT3573 RT2800USB_RT53XX RT2800USB_RT55XX RT2800USB_UNKNOWN
1713
1714 config-$(call config_package,iwl-legacy) += IWLEGACY
1715 config-$(call config_package,iwl3945) += IWL3945
1716 config-$(call config_package,iwl4965) += IWL4965
1717 config-$(call config_package,iwlwifi) += IWLWIFI IWLDVM IWLMVM
1718 config-$(CONFIG_PACKAGE_IWLWIFI_DEBUG)+= IWLWIFI_DEBUG
1719 config-$(CONFIG_PACKAGE_IWLWIFI_DEBUGFS)+= IWLWIFI_DEBUGFS
1720
1721 config-$(call config_package,libipw) += LIBIPW
1722 config-$(call config_package,ipw2100) += IPW2100
1723 config-$(call config_package,ipw2200) += IPW2200
1724
1725 config-$(call config_package,p54-common) += P54_COMMON
1726 config-$(call config_package,p54-pci) += P54_PCI
1727 config-$(call config_package,p54-usb) += P54_USB
1728 config-$(call config_package,p54-spi) += P54_SPI
1729
1730 config-$(call config_package,hermes) += HERMES
1731 config-$(call config_package,hermes-pci) += PCI_HERMES
1732 config-$(call config_package,hermes-plx) += PLX_HERMES
1733 config-$(call config_package,hermes-pcmcia) += PCMCIA_HERMES
1734 config-y += HERMES_PRISM
1735
1736 config-$(call config_package,adm8211) += ADM8211
1737 config-$(call config_package,libertas-sdio) += LIBERTAS LIBERTAS_SDIO
1738 config-$(call config_package,libertas-usb) += LIBERTAS LIBERTAS_USB
1739 config-$(call config_package,mwl8k) += MWL8K
1740 config-$(call config_package,mwifiex-pcie) += MWIFIEX MWIFIEX_PCIE
1741 config-$(call config_package,rtl8180) += RTL8180
1742 config-$(call config_package,rtl8187) += RTL8187
1743 config-$(call config_package,wlcore) += WLCORE WLCORE_SDIO
1744 config-$(call config_package,wl12xx) += WL12XX
1745 config-$(call config_package,wl18xx) += WL18XX
1746 config-y += WL_TI WILINK_PLATFORM_DATA
1747 config-$(call config_package,zd1211rw) += ZD1211RW
1748
1749 config-$(call config_package,rtlwifi) += RTL_CARDS RTLWIFI
1750 config-$(call config_package,rtlwifi-pci) += RTLWIFI_PCI
1751 config-$(call config_package,rtlwifi-usb) += RTLWIFI_USB
1752 config-$(call config_package,rtl8192c-common) += RTL8192C_COMMON
1753 config-$(call config_package,rtl8192ce) += RTL8192CE
1754 config-$(call config_package,rtl8192se) += RTL8192SE
1755 config-$(call config_package,rtl8192de) += RTL8192DE
1756 config-$(call config_package,rtl8192cu) += RTL8192CU
1757 config-$(CONFIG_PACKAGE_RTLWIFI_DEBUG) += RTLWIFI_DEBUG
1758
1759 config-$(CONFIG_LEDS_TRIGGERS) += MAC80211_LEDS B43_LEDS B43LEGACY_LEDS
1760
1761 MAKE_OPTS:= -C "$(PKG_BUILD_DIR)" \
1762         CROSS_COMPILE="$(KERNEL_CROSS)" \
1763         ARCH="$(LINUX_KARCH)" \
1764         EXTRA_CFLAGS="-I$(PKG_BUILD_DIR)/include" \
1765         KLIB_BUILD="$(LINUX_DIR)" \
1766         MODPROBE=true \
1767         KLIB=$(TARGET_MODULES_DIR) \
1768         KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER))) \
1769         KBUILD_LDFLAGS_MODULE_PREREQ=
1770
1771 ifneq ($(findstring c,$(OPENWRT_VERBOSE)),)
1772   MAKE_OPTS += V=1
1773 endif
1774
1775 define ConfigVars
1776 $(subst $(space),,$(foreach opt,$(config-$(1)),CPTCFG_$(opt)=$(1)
1777 ))
1778 endef
1779
1780 define mac80211_config
1781 $(call ConfigVars,m)$(call ConfigVars,y)
1782 endef
1783 $(eval $(call shexport,mac80211_config))
1784
1785 define Build/Prepare
1786         rm -rf $(PKG_BUILD_DIR)
1787         mkdir -p $(PKG_BUILD_DIR)
1788         $(PKG_UNPACK)
1789         $(Build/Patch)
1790         $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
1791         $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
1792         $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
1793         $(TAR) -C $(PKG_BUILD_DIR) -xJf $(DL_DIR)/$(PKG_LINUX_FIRMWARE_SOURCE)
1794         rm -rf \
1795                 $(PKG_BUILD_DIR)/include/linux/ssb \
1796                 $(PKG_BUILD_DIR)/include/linux/bcma \
1797                 $(PKG_BUILD_DIR)/include/net/bluetooth
1798
1799         rm -f \
1800                 $(PKG_BUILD_DIR)/include/linux/cordic.h \
1801                 $(PKG_BUILD_DIR)/include/linux/crc8.h \
1802                 $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h \
1803                 $(PKG_BUILD_DIR)/include/linux/wl12xx.h \
1804                 $(PKG_BUILD_DIR)/include/linux/spi/libertas_spi.h \
1805                 $(PKG_BUILD_DIR)/include/net/ieee80211.h \
1806                 $(PKG_BUILD_DIR)/backport-include/linux/bcm47xx_nvram.h
1807
1808         echo 'compat-wireless-$(PKG_VERSION)-$(PKG_RELEASE)-$(REVISION)' > $(PKG_BUILD_DIR)/compat_version
1809         $(CP) ./files/regdb.txt $(PKG_BUILD_DIR)/net/wireless/db.txt
1810 endef
1811
1812 ifneq ($(CONFIG_PACKAGE_kmod-cfg80211)$(CONFIG_PACKAGE_kmod-lib80211),)
1813  define Build/Compile/kmod
1814         rm -rf $(PKG_BUILD_DIR)/modules
1815         +$(MAKE) $(PKG_JOBS) $(MAKE_OPTS) modules
1816  endef
1817 endif
1818
1819 define Build/Configure
1820         cmp $(PKG_BUILD_DIR)/include/linux/ath9k_platform.h $(LINUX_DIR)/include/linux/ath9k_platform.h
1821         cmp $(PKG_BUILD_DIR)/include/linux/ath5k_platform.h $(LINUX_DIR)/include/linux/ath5k_platform.h
1822         cmp $(PKG_BUILD_DIR)/include/linux/rt2x00_platform.h $(LINUX_DIR)/include/linux/rt2x00_platform.h
1823 endef
1824
1825 define Build/Compile
1826         $(SH_FUNC) var2file "$(call shvar,mac80211_config)" $(PKG_BUILD_DIR)/.config
1827         $(MAKE) $(MAKE_OPTS) allnoconfig
1828         $(call Build/Compile/kmod)
1829 endef
1830
1831 define Build/InstallDev
1832         mkdir -p \
1833                 $(1)/usr/include/mac80211 \
1834                 $(1)/usr/include/mac80211-backport \
1835                 $(1)/usr/include/mac80211/ath \
1836                 $(1)/usr/include/net/mac80211
1837         $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
1838         $(CP) $(PKG_BUILD_DIR)/backport-include/* $(1)/usr/include/mac80211-backport/
1839         $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
1840         $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
1841         rm -f $(1)/usr/include/mac80211-backport/linux/module.h
1842 endef
1843
1844
1845 define KernelPackage/ath9k-htc/install
1846         $(INSTALL_DIR) $(1)/lib/firmware/ath9k_htc
1847         $(INSTALL_DATA) \
1848                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ath9k_htc/htc_9271-1.4.0.fw \
1849                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ath9k_htc/htc_7010-1.4.0.fw \
1850                 $(1)/lib/firmware/ath9k_htc
1851 endef
1852
1853 define KernelPackage/b43/install
1854         rm -rf $(1)/lib/firmware/
1855 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1856         tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1857 else
1858         tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1859 endif
1860         $(INSTALL_DIR) $(1)/lib/firmware/
1861 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1862         $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
1863         $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
1864         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
1865         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
1866         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
1867 else
1868         b43-fwcutter -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
1869 endif
1870 ifneq ($(CONFIG_B43_FW_SQUASH),)
1871         b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
1872 endif
1873 endef
1874
1875 define KernelPackage/b43legacy/install
1876         $(INSTALL_DIR) $(1)/lib/firmware/
1877         b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
1878 ifneq ($(CONFIG_B43LEGACY_FW_SQUASH),)
1879         b43-fwsquash.py "G" "$(CONFIG_B43LEGACY_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43legacy"
1880 endif
1881 endef
1882
1883 define KernelPackage/brcmsmac/install
1884         $(INSTALL_DIR) $(1)/lib/firmware/brcm
1885 ifeq ($(CONFIG_BRCMSMAC_USE_FW_FROM_WL),y)
1886         tar xjf "$(DL_DIR)/$(PKG_BRCMSMAC_FW_SOURCE)" -C "$(PKG_BUILD_DIR)"
1887         b43-fwcutter --brcmsmac -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_BRCMSMAC_FW_OBJECT)
1888 else
1889         $(INSTALL_DATA) \
1890                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx-0.fw \
1891                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx_hdr-0.fw \
1892                 $(1)/lib/firmware/brcm/
1893 endif
1894 endef
1895
1896 define KernelPackage/brcmfmac/install
1897         $(INSTALL_DIR) $(1)/lib/firmware/brcm
1898 ifneq ($(CONFIG_BRCMFMAC_USB),)
1899         $(INSTALL_DATA) \
1900                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/brcmfmac43236b.bin \
1901                 $(1)/lib/firmware/brcm/
1902         $(INSTALL_DATA) \
1903                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/brcmfmac43143.bin \
1904                 $(1)/lib/firmware/brcm/
1905 endif
1906 ifneq ($(CONFIG_BRCMFMAC_PCIE),)
1907         $(INSTALL_DATA) \
1908                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/brcmfmac43602-pcie.ap.bin \
1909                 $(1)/lib/firmware/brcm/brcmfmac43602-pcie.bin
1910 endif
1911 endef
1912
1913 define KernelPackage/carl9170/install
1914         $(INSTALL_DIR) $(1)/lib/firmware
1915         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/carl9170-1.fw $(1)/lib/firmware
1916 endef
1917
1918 define KernelPackage/cfg80211/install
1919         $(INSTALL_DIR) $(1)/lib/wifi $(1)/lib/netifd/wireless
1920         $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
1921         $(INSTALL_BIN) ./files/lib/netifd/wireless/mac80211.sh $(1)/lib/netifd/wireless
1922 endef
1923
1924 define KernelPackage/ipw2100/install
1925         $(INSTALL_DIR) $(1)/lib/firmware
1926         $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware
1927 endef
1928
1929 define KernelPackage/ipw2200/install
1930         $(INSTALL_DIR) $(1)/lib/firmware
1931         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware
1932 endef
1933
1934 define KernelPackage/iwlwifi/install
1935         $(INSTALL_DIR) $(1)/lib/firmware
1936 ifneq ($(CONFIG_IWL100_FW),)
1937         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-100-5.ucode $(1)/lib/firmware
1938 endif
1939 ifneq ($(CONFIG_IWL1000_FW),)
1940         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-1000-5.ucode $(1)/lib/firmware
1941 endif
1942 ifneq ($(CONFIG_IWL105_FW),)
1943         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-105-6.ucode $(1)/lib/firmware
1944 endif
1945 ifneq ($(CONFIG_IWL135_FW),)
1946         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-135-6.ucode $(1)/lib/firmware
1947 endif
1948 ifneq ($(CONFIG_IWL2000_FW),)
1949         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-2000-6.ucode $(1)/lib/firmware
1950 endif
1951 ifneq ($(CONFIG_IWL2030_FW),)
1952         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-2030-6.ucode $(1)/lib/firmware
1953 endif
1954 ifneq ($(CONFIG_IWL3160_FW),)
1955         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-3160-13.ucode $(1)/lib/firmware
1956 endif
1957 ifneq ($(CONFIG_IWL5000_FW),)
1958         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-5000-5.ucode $(1)/lib/firmware
1959 endif
1960 ifneq ($(CONFIG_IWL5150_FW),)
1961         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-5150-2.ucode $(1)/lib/firmware
1962 endif
1963 ifneq ($(CONFIG_IWL6000_FW),)
1964         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000-4.ucode $(1)/lib/firmware
1965 endif
1966 ifneq ($(CONFIG_IWL6005_FW),)
1967         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2a-6.ucode $(1)/lib/firmware
1968 endif
1969 ifneq ($(CONFIG_IWL6030_FW),)
1970         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2b-6.ucode $(1)/lib/firmware
1971 endif
1972 ifneq ($(CONFIG_IWL6050_FW),)
1973         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6050-5.ucode $(1)/lib/firmware
1974 endif
1975 ifneq ($(CONFIG_IWL7260_FW),)
1976         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-7260-13.ucode $(1)/lib/firmware
1977 endif
1978 ifneq ($(CONFIG_IWL7265_FW),)
1979         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-7265-13.ucode $(1)/lib/firmware
1980         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-7265D-13.ucode $(1)/lib/firmware
1981 endif
1982 ifneq ($(CONFIG_IWL8000_FW),)
1983         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-8000C-13.ucode $(1)/lib/firmware
1984 endif
1985 endef
1986
1987 define KernelPackage/iwl3945/install
1988         $(INSTALL_DIR) $(1)/lib/firmware
1989         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-3945-2.ucode $(1)/lib/firmware
1990 endef
1991
1992 define KernelPackage/iwl4965/install
1993         $(INSTALL_DIR) $(1)/lib/firmware
1994         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-4965-2.ucode $(1)/lib/firmware
1995 endef
1996
1997 define KernelPackage/libertas-usb/install
1998         $(INSTALL_DIR) $(1)/lib/firmware/libertas
1999         $(INSTALL_DATA) \
2000                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8388_v9.bin \
2001                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8682.bin \
2002                 $(1)/lib/firmware/libertas/
2003 endef
2004
2005 define KernelPackage/libertas-sdio/install
2006         $(INSTALL_DIR) $(1)/lib/firmware/libertas
2007         $(INSTALL_DATA) \
2008                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8385_helper.bin \
2009                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8385.bin \
2010                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v9_helper.bin \
2011                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v9.bin \
2012                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8688_helper.bin \
2013                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8688.bin \
2014                 $(1)/lib/firmware/libertas
2015 endef
2016
2017 define KernelPackage/mt7601u/install
2018         $(INSTALL_DIR) $(1)/lib/firmware
2019         $(INSTALL_DATA) \
2020                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mt7601u.bin \
2021                 $(1)/lib/firmware
2022 endef
2023
2024 define KernelPackage/mwl8k/install
2025         $(INSTALL_DIR) $(1)/lib/firmware/mwl8k
2026         $(INSTALL_DATA) \
2027                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8366_ap-3.fw \
2028                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8366.fw \
2029                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/helper_8366.fw \
2030                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8687.fw \
2031                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/helper_8687.fw \
2032                 $(1)/lib/firmware/mwl8k/
2033 endef
2034
2035 define KernelPackage/mwifiex-pcie/install
2036         $(INSTALL_DIR) $(1)/lib/firmware/mrvl
2037         $(INSTALL_DATA) \
2038                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mrvl/pcie8897_uapsta.bin \
2039                 $(1)/lib/firmware/mrvl/
2040 endef
2041
2042 define KernelPackage/p54-pci/install
2043         $(INSTALL_DIR) $(1)/lib/firmware
2044         $(INSTALL_DATA) $(DL_DIR)/$(P54PCIFW) $(1)/lib/firmware/isl3886pci
2045 endef
2046
2047 define KernelPackage/p54-usb/install
2048         $(INSTALL_DIR) $(1)/lib/firmware
2049         $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3887usb
2050 endef
2051
2052 define KernelPackage/p54-spi/install
2053         $(INSTALL_DIR) $(1)/lib/firmware
2054         $(INSTALL_DATA) $(DL_DIR)/$(P54SPIFW) $(1)/lib/firmware/3826.arm
2055 endef
2056
2057 define KernelPackage/rt2800-pci/install
2058         $(INSTALL_DIR) $(1)/lib/firmware
2059         $(INSTALL_DATA) \
2060                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2860.bin \
2061                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt3290.bin \
2062                 $(1)/lib/firmware
2063 endef
2064
2065 define KernelPackage/rt2800-usb/install
2066         $(INSTALL_DIR) $(1)/lib/firmware
2067         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2870.bin $(1)/lib/firmware/
2068 endef
2069
2070 define KernelPackage/rt61-pci/install
2071         $(INSTALL_DIR) $(1)/lib/firmware
2072         $(INSTALL_DATA) \
2073                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2561.bin \
2074                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2561s.bin \
2075                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2661.bin \
2076                 $(1)/lib/firmware/
2077 endef
2078
2079 define KernelPackage/rt73-usb/install
2080         $(INSTALL_DIR) $(1)/lib/firmware
2081         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt73.bin $(1)/lib/firmware/
2082 endef
2083
2084 define KernelPackage/wl12xx/install
2085         $(INSTALL_DIR) $(1)/lib/firmware/ti-connectivity
2086         $(INSTALL_DATA) \
2087                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-5-mr.bin \
2088                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-5-plt.bin \
2089                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-5-sr.bin \
2090                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl1271-nvs.bin \
2091                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl128x-fw-5-mr.bin \
2092                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl128x-fw-5-plt.bin \
2093                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl128x-fw-5-sr.bin \
2094                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl128x-nvs.bin \
2095                 $(1)/lib/firmware/ti-connectivity
2096 endef
2097
2098 define KernelPackage/wl18xx/install
2099         $(INSTALL_DIR) $(1)/lib/firmware/ti-connectivity
2100         $(INSTALL_DATA) \
2101                 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl18xx-fw-4.bin \
2102                 $(1)/lib/firmware/ti-connectivity
2103 endef
2104
2105 define KernelPackage/zd1211rw/install
2106         $(INSTALL_DIR) $(1)/lib/firmware/zd1211
2107         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
2108 endef
2109
2110
2111 $(eval $(call KernelPackage,adm8211))
2112 $(eval $(call KernelPackage,ath))
2113 $(eval $(call KernelPackage,ath10k))
2114 $(eval $(call KernelPackage,ath5k))
2115 $(eval $(call KernelPackage,ath9k))
2116 $(eval $(call KernelPackage,ath9k-common))
2117 $(eval $(call KernelPackage,ath9k-htc))
2118 $(eval $(call KernelPackage,b43))
2119 $(eval $(call KernelPackage,b43legacy))
2120 $(eval $(call KernelPackage,brcmsmac))
2121 $(eval $(call KernelPackage,brcmfmac))
2122 $(eval $(call KernelPackage,brcmutil))
2123 $(eval $(call KernelPackage,carl9170))
2124 $(eval $(call KernelPackage,cfg80211))
2125 $(eval $(call KernelPackage,hermes))
2126 $(eval $(call KernelPackage,hermes-pci))
2127 $(eval $(call KernelPackage,hermes-plx))
2128 $(eval $(call KernelPackage,hermes-pcmcia))
2129 $(eval $(call KernelPackage,iwlwifi))
2130 $(eval $(call KernelPackage,iwl-legacy))
2131 $(eval $(call KernelPackage,iwl4965))
2132 $(eval $(call KernelPackage,iwl3945))
2133 $(eval $(call KernelPackage,lib80211))
2134 $(eval $(call KernelPackage,libertas-usb))
2135 $(eval $(call KernelPackage,libertas-sdio))
2136 $(eval $(call KernelPackage,libipw))
2137 $(eval $(call KernelPackage,ipw2100))
2138 $(eval $(call KernelPackage,ipw2200))
2139 $(eval $(call KernelPackage,mac80211))
2140 $(eval $(call KernelPackage,mac80211-hwsim))
2141 $(eval $(call KernelPackage,mt7601u))
2142 $(eval $(call KernelPackage,mwl8k))
2143 $(eval $(call KernelPackage,mwifiex-pcie))
2144 $(eval $(call KernelPackage,p54-common))
2145 $(eval $(call KernelPackage,p54-pci))
2146 $(eval $(call KernelPackage,p54-usb))
2147 $(eval $(call KernelPackage,p54-spi))
2148 $(eval $(call KernelPackage,rt2x00-lib))
2149 $(eval $(call KernelPackage,rt2x00-mmio))
2150 $(eval $(call KernelPackage,rt2x00-pci))
2151 $(eval $(call KernelPackage,rt2x00-usb))
2152 $(eval $(call KernelPackage,rt2800-lib))
2153 $(eval $(call KernelPackage,rt2400-pci))
2154 $(eval $(call KernelPackage,rt2500-pci))
2155 $(eval $(call KernelPackage,rt2500-usb))
2156 $(eval $(call KernelPackage,rt2800-mmio))
2157 $(eval $(call KernelPackage,rt2800-soc))
2158 $(eval $(call KernelPackage,rt2800-pci))
2159 $(eval $(call KernelPackage,rt2800-usb))
2160 $(eval $(call KernelPackage,rt61-pci))
2161 $(eval $(call KernelPackage,rt73-usb))
2162 $(eval $(call KernelPackage,rtl8180))
2163 $(eval $(call KernelPackage,rtl8187))
2164 $(eval $(call KernelPackage,rtlwifi))
2165 $(eval $(call KernelPackage,rtlwifi-pci))
2166 $(eval $(call KernelPackage,rtlwifi-usb))
2167 $(eval $(call KernelPackage,rtl8192c-common))
2168 $(eval $(call KernelPackage,rtl8192ce))
2169 $(eval $(call KernelPackage,rtl8192se))
2170 $(eval $(call KernelPackage,rtl8192de))
2171 $(eval $(call KernelPackage,rtl8192cu))
2172 $(eval $(call KernelPackage,wlcore))
2173 $(eval $(call KernelPackage,wl12xx))
2174 $(eval $(call KernelPackage,wl18xx))
2175 $(eval $(call KernelPackage,zd1211rw))