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