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