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