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