mae brcmutil depend on PCI and USB. This broke ar7 fullbuilds
[openwrt/openwrt.git] / package / mac80211 / Makefile
1 #
2 # Copyright (C) 2007-2012 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:=2012-07-16
14 PKG_RELEASE:=1
15 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
16 PKG_MD5SUM:=8e41a935ad147631b78f99eda7187c1f
17
18 PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
19 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
20 PKG_BUILD_PARALLEL:=1
21
22 PKG_DRIVERS = \
23 ath5k libertas-usb libertas-sd p54-common p54-pci p54-usb p54-spi \
24 rt2x00-lib rt2x00-pci rt2x00-usb rt2x00-soc rt2800-lib rt2400-pci \
25 rt2500-pci rt2500-usb rt61-pci rt73-usb rt2800-pci rt2800-usb \
26 rtl8180 rtl8187 zd1211rw mac80211-hwsim carl9170 b43 b43legacy \
27 ath9k-common ath9k ath9k-htc ath net-libipw net-ipw2100 net-ipw2200 \
28 mwl8k net-hermes net-hermes-pci net-hermes-plx net-hermes-pcmcia \
29 iwl-legacy iwl3945 iwl4965 iwlagn wl12xx lib80211
30
31 PKG_CONFIG_DEPENDS:= \
32 CONFIG_PACKAGE_kmod-mac80211 \
33 $(patsubst %,CONFIG_PACKAGE_kmod-%,$(PKG_DRIVERS)) \
34 CONFIG_PACKAGE_MAC80211_DEBUGFS \
35 CONFIG_PACKAGE_MAC80211_MESH \
36 CONFIG_PACKAGE_ATH_DEBUG \
37 CONFIG_PACKAGE_B43_DEBUG \
38 CONFIG_PACKAGE_B43_PIO \
39 CONFIG_PACKAGE_B43_N_PHY \
40 CONFIG_ATH_USER_REGD \
41
42 CARL9170_FW_VERSION:=1.9.4
43
44 include $(INCLUDE_DIR)/package.mk
45
46 WMENU:=Wireless Drivers
47
48 define KernelPackage/mac80211/Default
49 SUBMENU:=$(WMENU)
50 URL:=http://linuxwireless.org/
51 MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
52 DEPENDS:=@(!(TARGET_avr32||TARGET_ep93xx||TARGET_ps3||TARGET_pxcab)||BROKEN)
53 endef
54
55 define KernelPackage/cfg80211
56 $(call KernelPackage/mac80211/Default)
57 TITLE:=cfg80211 - wireless configuration API
58 DEPENDS+= +wireless-tools +iw
59 FILES:= \
60 $(PKG_BUILD_DIR)/compat/compat.ko \
61 $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
62 AUTOLOAD:=$(call AutoLoad,20,compat cfg80211)
63 endef
64
65 define KernelPackage/cfg80211/description
66 cfg80211 is the Linux wireless LAN (802.11) configuration API.
67 endef
68
69 define KernelPackage/mac80211
70 $(call KernelPackage/mac80211/Default)
71 TITLE:=Linux 802.11 Wireless Networking Stack
72 DEPENDS+= +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-cfg80211
73 KCONFIG:=\
74 CONFIG_AVERAGE=y
75 FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.ko
76 AUTOLOAD:=$(call AutoLoad,21,mac80211)
77 MENU:=1
78 endef
79
80 define KernelPackage/mac80211/config
81 menu "Configuration"
82 depends on PACKAGE_kmod-mac80211
83
84 config PACKAGE_MAC80211_DEBUGFS
85 bool "Export mac80211 internals in DebugFS"
86 default y
87 help
88 Select this to see extensive information about
89 the internal state of mac80211 in debugfs.
90
91 Say N unless you know you need this.
92
93 config PACKAGE_MAC80211_MESH
94 bool "Enable 802.11s mesh support"
95 default y
96
97 endmenu
98 endef
99
100 define KernelPackage/mac80211/description
101 Generic IEEE 802.11 Networking Stack (mac80211)
102 endef
103
104 PKG_LINUX_FIRMWARE_NAME:=linux-firmware
105 PKG_LINUX_FIRMWARE_VERSION:=375e9548bf75a5664256d47a2f9e14b79181e02d
106 PKG_LINUX_FIRMWARE_SOURCE:=$(PKG_LINUX_FIRMWARE_NAME)-$(PKG_LINUX_FIRMWARE_VERSION).tar.bz2
107 PKG_LINUX_FIRMWARE_PROTO:=git
108 # PKG_LINUX_FIRMWARE_SOURCE_URL:=git://git.infradead.org/users/dwmw2/linux-firmware.git
109 PKG_LINUX_FIRMWARE_SOURCE_URL:=git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
110 PKG_LINUX_FIRMWARE_SUBDIR:=$(PKG_LINUX_FIRMWARE_NAME)-$(PKG_LINUX_FIRMWARE_VERSION)
111
112 define Download/linux-firmware
113 FILE:=$(PKG_LINUX_FIRMWARE_SOURCE)
114 URL:=$(PKG_LINUX_FIRMWARE_SOURCE_URL)
115 MD5SUM:=$(PKG_LINUX_FIRMWARE_MD5SUM)
116 PROTO:=$(PKG_LINUX_FIRMWARE_PROTO)
117 VERSION:=$(PKG_LINUX_FIRMWARE_VERSION)
118 SUBDIR:=$(PKG_LINUX_FIRMWARE_SUBDIR)
119 endef
120 $(eval $(call Download,linux-firmware))
121
122 # Prism54 drivers
123 P54PCIFW:=2.13.12.0.arm
124 P54USBFW:=2.13.24.0.lm87.arm
125 P54SPIFW:=2.13.0.0.a.13.14.arm
126 CARL9170_FW:=carl9170-1.fw
127
128 define Download/p54usb
129 FILE:=$(P54USBFW)
130 URL:=http://daemonizer.de/prism54/prism54-fw/fw-usb
131 MD5SUM:=8e8ab005a4f8f0123bcdc51bc25b47f6
132 endef
133 $(eval $(call Download,p54usb))
134
135 define Download/p54pci
136 FILE:=$(P54PCIFW)
137 URL:=http://daemonizer.de/prism54/prism54-fw/fw-softmac
138 MD5SUM:=ff7536af2092b1c4b21315bd103ef4c4
139 endef
140 $(eval $(call Download,p54pci))
141
142 define Download/p54spi
143 FILE:=$(P54SPIFW)
144 URL:=http://daemonizer.de/prism54/prism54-fw/stlc4560
145 MD5SUM:=42661f8ecbadd88012807493f596081d
146 endef
147 $(eval $(call Download,p54spi))
148
149 define Download/carl9170
150 FILE:=$(CARL9170_FW)-$(CARL9170_FW_VERSION)
151 URL:=http://downloads.openwrt.org/sources/
152 MD5SUM:=30e2ae80c33b3008d271556d1a14e3ea
153 endef
154 $(eval $(call Download,carl9170))
155
156 define KernelPackage/p54/Default
157 $(call KernelPackage/mac80211/Default)
158 TITLE:=Prism54 Drivers
159 endef
160
161 define KernelPackage/p54/description
162 Kernel module for Prism54 chipsets (mac80211)
163 endef
164
165 define KernelPackage/p54-common
166 $(call KernelPackage/p54/Default)
167 DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT||@TARGET_omap24xx +kmod-mac80211 +kmod-lib-crc-ccitt
168 TITLE+= (COMMON)
169 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54common.ko
170 AUTOLOAD:=$(call AutoLoad,30,p54common)
171 endef
172
173 define KernelPackage/p54-pci
174 $(call KernelPackage/p54/Default)
175 TITLE+= (PCI)
176 DEPENDS+= @PCI_SUPPORT +kmod-p54-common
177 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54pci.ko
178 AUTOLOAD:=$(call AutoLoad,31,p54pci)
179 endef
180
181 define KernelPackage/p54-usb
182 $(call KernelPackage/p54/Default)
183 TITLE+= (USB)
184 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common
185 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54usb.ko
186 AUTOLOAD:=$(call AutoLoad,31,p54usb)
187 endef
188
189 define KernelPackage/p54-spi
190 $(call KernelPackage/p54/Default)
191 TITLE+= (SPI)
192 DEPENDS+= @TARGET_omap24xx +kmod-p54-common
193 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54spi.ko
194 AUTOLOAD:=$(call AutoLoad,31,p54spi)
195 endef
196
197 NEED_RT2X00_LIB_CRYPTO:=y
198 NEED_RT2X00_LIB_FIRMWARE:=y
199 NEED_RT2X00_LIB_EEPROM:=y
200 NEED_RT2X00_LIB_HT:=y
201 NEED_RT2X00_LIB_LEDS:=y
202
203 define KernelPackage/rt2x00/Default
204 $(call KernelPackage/mac80211/Default)
205 TITLE:=Ralink Drivers for RT2x00 cards
206 endef
207
208 define KernelPackage/rt2x00-lib
209 $(call KernelPackage/rt2x00/Default)
210 DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-mac80211 +kmod-lib-crc-itu-t
211 TITLE+= (LIB)
212 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00lib.ko
213 AUTOLOAD:=$(call AutoLoad,25,rt2x00lib)
214 MENU:=1
215 endef
216
217 define KernelPackage/rt2x00-lib/config
218 menu "Configuration"
219 depends PACKAGE_kmod-rt2x00-lib
220
221 config PACKAGE_RT2X00_LIB_DEBUGFS
222 bool "Enable rt2x00 debugfs support"
223 depends PACKAGE_MAC80211_DEBUGFS
224 help
225 Enable creation of debugfs files for the rt2x00 drivers.
226 These debugfs files support both reading and writing of the
227 most important register types of the rt2x00 hardware.
228
229 config PACKAGE_RT2X00_DEBUG
230 bool "Enable rt2x00 debug output"
231 help
232 Enable debugging output for all rt2x00 modules
233
234 endmenu
235 endef
236
237 define KernelPackage/rt2x00-pci
238 $(call KernelPackage/rt2x00/Default)
239 DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +kmod-eeprom-93cx6
240 TITLE+= (PCI)
241 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00pci.ko
242 AUTOLOAD:=$(call AutoLoad,26,rt2x00pci)
243 endef
244
245 define KernelPackage/rt2x00-usb
246 $(call KernelPackage/rt2x00/Default)
247 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-lib +kmod-usb-core
248 TITLE+= (USB)
249 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00usb.ko
250 AUTOLOAD:=$(call AutoLoad,26,rt2x00usb)
251 endef
252
253 define KernelPackage/rt2x00-soc
254 $(call KernelPackage/rt2x00/Default)
255 DEPENDS+= @TARGET_ramips +kmod-rt2x00-lib
256 TITLE+= (SoC)
257 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00soc.ko
258 AUTOLOAD:=$(call AutoLoad,26,rt2x00soc)
259 endef
260
261 define KernelPackage/rt2800-lib
262 $(call KernelPackage/rt2x00/Default)
263 DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +TARGET_ramips:kmod-rt2x00-soc +@DRIVER_11N_SUPPORT
264 TITLE+= (rt2800 LIB)
265 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800lib.ko
266 AUTOLOAD:=$(call AutoLoad,27,rt2800lib)
267 endef
268
269 define KernelPackage/rt2400-pci
270 $(call KernelPackage/rt2x00/Default)
271 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
272 TITLE+= (RT2400 PCI)
273 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2400pci.ko
274 AUTOLOAD:=$(call AutoLoad,27,rt2400pci)
275 endef
276
277 define KernelPackage/rt2500-pci
278 $(call KernelPackage/rt2x00/Default)
279 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
280 TITLE+= (RT2500 PCI)
281 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500pci.ko
282 AUTOLOAD:=$(call AutoLoad,27,rt2500pci)
283 endef
284
285 define KernelPackage/rt2500-usb
286 $(call KernelPackage/rt2x00/Default)
287 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
288 TITLE+= (RT2500 USB)
289 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500usb.ko
290 AUTOLOAD:=$(call AutoLoad,27,rt2500usb)
291 endef
292
293 define KernelPackage/rt61-pci
294 $(call KernelPackage/rt2x00/Default)
295 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
296 TITLE+= (RT2x61 PCI)
297 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt61pci.ko
298 AUTOLOAD:=$(call AutoLoad,27,rt61pci)
299 endef
300
301 define KernelPackage/rt73-usb
302 $(call KernelPackage/rt2x00/Default)
303 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
304 TITLE+= (RT73 USB)
305 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt73usb.ko
306 AUTOLOAD:=$(call AutoLoad,27,rt73usb)
307 endef
308
309 define KernelPackage/rt2800-pci
310 $(call KernelPackage/rt2x00/Default)
311 DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +kmod-rt2x00-pci +kmod-rt2800-lib +kmod-lib-crc-ccitt +TARGET_ramips:kmod-rt2x00-soc
312 TITLE+= (RT2860 PCI)
313 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800pci.ko
314 AUTOLOAD:=$(call AutoLoad,28,rt2800pci)
315 endef
316
317 define KernelPackage/rt2800-usb
318 $(call KernelPackage/rt2x00/Default)
319 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb +kmod-rt2800-lib +kmod-lib-crc-ccitt
320 TITLE+= (RT2870 USB)
321 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800usb.ko
322 AUTOLOAD:=$(call AutoLoad,28,rt2800usb)
323 endef
324
325 define KernelPackage/rtl818x/Default
326 $(call KernelPackage/mac80211/Default)
327 TITLE:=Realtek Drivers for RTL818x devices
328 URL:=http://wireless.kernel.org/en/users/Drivers/rtl8187
329 DEPENDS+= +kmod-eeprom-93cx6 +kmod-mac80211
330 endef
331
332 define KernelPackage/rtl8180
333 $(call KernelPackage/rtl818x/Default)
334 DEPENDS+= @PCI_SUPPORT
335 TITLE+= (RTL8180 PCI)
336 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8180/rtl8180.ko
337 AUTOLOAD:=$(call AutoLoad,27,rtl8180)
338 endef
339
340 define KernelPackage/rtl8187
341 $(call KernelPackage/rtl818x/Default)
342 DEPENDS+= @USB_SUPPORT +kmod-usb-core
343 TITLE+= (RTL8187 USB)
344 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8187/rtl8187.ko
345 AUTOLOAD:=$(call AutoLoad,27,rtl8187)
346 endef
347
348 ZD1211FW_NAME:=zd1211-firmware
349 ZD1211FW_VERSION:=1.4
350 define Download/zd1211rw
351 FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
352 URL:=@SF/zd1211/
353 MD5SUM:=19f28781d76569af8551c9d11294c870
354 endef
355 $(eval $(call Download,zd1211rw))
356
357 define KernelPackage/zd1211rw
358 $(call KernelPackage/mac80211/Default)
359 TITLE:=Zydas ZD1211 support
360 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
361 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zd1211rw/zd1211rw.ko
362 AUTOLOAD:=$(call AutoLoad,60,zd1211rw)
363 endef
364
365 define KernelPackage/ath/config
366 menu "Configuration"
367 depends on PACKAGE_kmod-ath
368
369 config ATH_USER_REGD
370 bool "Force Atheros drivers to respect the user's regdomain settings"
371 help
372 Atheros' idea of regulatory handling is that the EEPROM of the card defines
373 the regulatory limits and the user is only allowed to restrict the settings
374 even further, even if the country allows frequencies or power levels that
375 are forbidden by the EEPROM settings.
376
377 Select this option if you want the driver to respect the user's decision about
378 regulatory settings.
379
380 config PACKAGE_ATH_DEBUG
381 bool "Atheros wireless debugging"
382 help
383 Say Y, if you want to debug atheros wireless drivers.
384 Right now only ath9k makes use of this.
385
386 endmenu
387 endef
388
389 define KernelPackage/ath
390 $(call KernelPackage/mac80211/Default)
391 TITLE:=Atheros common driver part
392 DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ar71xx||TARGET_atheros +kmod-mac80211
393 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.ko
394 AUTOLOAD:=$(call AutoLoad,26,ath)
395 MENU:=1
396 endef
397
398 define KernelPackage/ath/description
399 This module contains some common parts needed by Atheros Wireless drivers.
400 endef
401
402 define KernelPackage/ath5k
403 $(call KernelPackage/mac80211/Default)
404 TITLE:=Atheros 5xxx wireless cards support
405 URL:=http://linuxwireless.org/en/users/Drivers/ath5k
406 DEPENDS+= @PCI_SUPPORT||@TARGET_atheros +kmod-ath
407 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath5k/ath5k.ko
408 AUTOLOAD:=$(call AutoLoad,27,ath5k)
409 endef
410
411 define KernelPackage/ath5k/description
412 This module adds support for wireless adapters based on
413 Atheros 5xxx chipset.
414 endef
415
416 define KernelPackage/ath9k-common
417 $(call KernelPackage/mac80211/Default)
418 TITLE:=Atheros 802.11n wireless devices (common code for ath9k and ath9k_htc)
419 URL:=http://linuxwireless.org/en/users/Drivers/ath9k
420 DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ar71xx +kmod-ath +@DRIVER_11N_SUPPORT
421 FILES:= \
422 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_common.ko \
423 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.ko
424 AUTOLOAD:=$(call AutoLoad,27,ath9k_hw ath9k_common)
425 endef
426
427 define KernelPackage/ath9k
428 $(call KernelPackage/mac80211/Default)
429 TITLE:=Atheros 802.11n PCI wireless cards support
430 URL:=http://linuxwireless.org/en/users/Drivers/ath9k
431 DEPENDS+= @PCI_SUPPORT||TARGET_ar71xx +kmod-ath9k-common
432 FILES:= \
433 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.ko
434 AUTOLOAD:=$(call AutoLoad,28,ath9k)
435 endef
436
437 define KernelPackage/ath9k/description
438 This module adds support for wireless adapters based on
439 Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
440 endef
441
442 define KernelPackage/ath9k-htc
443 $(call KernelPackage/mac80211/Default)
444 TITLE:=Atheros 802.11n USB device support
445 URL:=http://linuxwireless.org/en/users/Drivers/ath9k
446 DEPENDS+= @USB_SUPPORT +kmod-ath9k-common +kmod-usb-core
447 FILES:= \
448 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
449 AUTOLOAD:=$(call AutoLoad,55,ath9k_htc)
450 endef
451
452 define KernelPackage/ath9k-htc/description
453 This module adds support for wireless adapters based on
454 Atheros USB AR9271 and AR7010 family of chipsets.
455 endef
456
457 define KernelPackage/carl9170
458 $(call KernelPackage/mac80211/Default)
459 TITLE:=Driver for Atheros AR9170 USB sticks
460 DEPENDS:=@USB_SUPPORT +kmod-mac80211 +kmod-ath +kmod-usb-core +kmod-input-core +@DRIVER_11N_SUPPORT
461 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/carl9170/carl9170.ko
462 AUTOLOAD:=$(call AutoLoad,60,carl9170)
463 endef
464
465 define KernelPackage/carl9170/install
466 $(INSTALL_DIR) $(1)/lib/firmware
467 $(INSTALL_DATA) $(DL_DIR)/$(CARL9170_FW)-$(CARL9170_FW_VERSION) $(1)/lib/firmware/$(CARL9170_FW)
468 endef
469
470 define KernelPackage/lib80211
471 $(call KernelPackage/mac80211/Default)
472 TITLE:=802.11 Networking stack
473 FILES:= \
474 $(PKG_BUILD_DIR)/net/wireless/lib80211.ko \
475 $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_wep.ko \
476 $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_ccmp.ko \
477 $(PKG_BUILD_DIR)/net/wireless/lib80211_crypt_tkip.ko
478 AUTOLOAD:=$(call AutoLoad,21, \
479 lib80211 \
480 lib80211_crypt_wep \
481 lib80211_crypt_ccmp \
482 lib80211_crypt_tkip \
483 )
484 endef
485
486 define KernelPackage/lib80211/description
487 Kernel modules for 802.11 Networking stack
488 Includes:
489 - lib80211
490 - lib80211_crypt_wep
491 - lib80211_crypt_tkip
492 - lib80211_crytp_ccmp
493 endef
494
495 define KernelPackage/libertas-usb
496 $(call KernelPackage/mac80211/Default)
497 DEPENDS+= @USB_SUPPORT +kmod-cfg80211 +kmod-usb-core +kmod-lib80211 +@DRIVER_WEXT_SUPPORT
498 TITLE:=Marvell 88W8015 Wireless Driver
499 FILES:= \
500 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
501 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/usb8xxx.ko
502 AUTOLOAD:=$(call AutoLoad,27,libertas usb8xxx)
503 endef
504
505 define KernelPackage/libertas-sd
506 $(call KernelPackage/mac80211/Default)
507 DEPENDS+= +kmod-cfg80211 +kmod-lib80211 +@DRIVER_WEXT_SUPPORT
508 TITLE:=Marvell 88W8686 Wireless Driver
509 FILES:= \
510 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.ko \
511 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas_sdio.ko
512 AUTOLOAD:=$(call AutoLoad,91,libertas libertas_sdio)
513 endef
514
515 define KernelPackage/mac80211-hwsim
516 $(call KernelPackage/mac80211/Default)
517 TITLE:=mac80211 HW simulation device
518 DEPENDS+= +kmod-mac80211
519 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.ko
520 AUTOLOAD:=$(call AutoLoad,60,mac80211_hwsim)
521 endef
522
523 define KernelPackage/net-libipw
524 $(call KernelPackage/mac80211/Default)
525 TITLE:=libipw for ipw2100 and ipw2200
526 DEPENDS:=@PCI_SUPPORT +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic +kmod-lib80211 +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT
527 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/libipw.ko
528 AUTOLOAD:=$(call AutoLoad,49,libipw)
529 endef
530
531 define KernelPackage/net-libipw/description
532 Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200.
533 endef
534
535 IPW2100_NAME:=ipw2100-fw
536 IPW2100_VERSION:=1.3
537
538 define Download/net-ipw2100
539 URL:=http://bughost.org/firmware/
540 FILE:=$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
541 MD5SUM=46aa75bcda1a00efa841f9707bbbd113
542 endef
543 $(eval $(call Download,net-ipw2100))
544
545 define KernelPackage/net-ipw2100
546 $(call KernelPackage/mac80211/Default)
547 TITLE:=Intel IPW2100 driver
548 DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
549 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2100.ko
550 AUTOLOAD:=$(call AutoLoad,50,ipw2100)
551 endef
552
553 define KernelPackage/net-ipw2100/description
554 Kernel support for Intel IPW2100
555 Includes:
556 - ipw2100
557 endef
558
559 IPW2200_NAME:=ipw2200-fw
560 IPW2200_VERSION:=3.1
561
562 define Download/net-ipw2200
563 URL:=http://bughost.org/firmware/
564 FILE:=$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
565 MD5SUM=eaba788643c7cc7483dd67ace70f6e99
566 endef
567 $(eval $(call Download,net-ipw2200))
568
569 define KernelPackage/net-ipw2200
570 $(call KernelPackage/mac80211/Default)
571 TITLE:=Intel IPW2200 driver
572 DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
573 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2200.ko
574 AUTOLOAD:=$(call AutoLoad,50,ipw2200)
575 endef
576
577 define KernelPackage/net-ipw2200/description
578 Kernel support for Intel IPW2200
579 Includes:
580 - ipw2200
581 endef
582
583
584 define KernelPackage/net-hermes
585 $(call KernelPackage/mac80211/Default)
586 TITLE:=Hermes 802.11b chipset support
587 DEPENDS:=@PCI_SUPPORT||PCMCIA_SUPPORT +kmod-cfg80211 +@DRIVER_WEXT_SUPPORT
588 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco.ko
589 AUTOLOAD:=$(call AutoLoad,50,orinoco)
590 endef
591
592 define KernelPackage/net-hermes/description
593 Kernel support for Hermes 802.11b chipsets
594 endef
595
596 define KernelPackage/net-hermes-pci
597 $(call KernelPackage/mac80211/Default)
598 TITLE:=Intersil Prism 2.5 PCI support
599 DEPENDS:=@PCI_SUPPORT +kmod-net-hermes
600 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_pci.ko
601 AUTOLOAD:=$(call AutoLoad,55,orinoco_pci)
602 endef
603
604 define KernelPackage/net-hermes-pci/description
605 Kernel modules for Intersil Prism 2.5 PCI support
606 endef
607
608 define KernelPackage/net-hermes-plx
609 $(call KernelPackage/mac80211/Default)
610 TITLE:=PLX9052 based PCI adaptor
611 DEPENDS:=@PCI_SUPPORT +kmod-net-hermes
612 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_plx.ko
613 AUTOLOAD:=$(call AutoLoad,55,orinoco_plx)
614 endef
615
616 define KernelPackage/net-hermes-plx/description
617 Kernel modules for Hermes in PLX9052 based PCI adaptors
618 endef
619
620 define KernelPackage/net-hermes-pcmcia
621 $(call KernelPackage/mac80211/Default)
622 TITLE:=Hermes based PCMCIA adaptors
623 DEPENDS:=@PCMCIA_SUPPORT +kmod-net-hermes @BROKEN
624 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/orinoco/orinoco_cs.ko
625 AUTOLOAD:=$(call AutoLoad,55,orinoco_cs)
626 endef
627
628 define KernelPackage/net-hermes-pcmcia/description
629 Kernel modules for Hermes based PCMCIA adaptors
630 endef
631
632 define KernelPackage/iwlagn
633 $(call KernelPackage/mac80211/Default)
634 DEPENDS:= +kmod-mac80211 @PCI_SUPPORT
635 TITLE:=Intel AGN Wireless support
636 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlwifi/iwlwifi.ko
637 AUTOLOAD:=$(call AutoLoad,60,iwlagn)
638 MENU:=1
639 endef
640
641 define KernelPackage/iwlagn/description
642 iwlagn kernel module for Intel 5000/5150/1000/6000/6050/6005/6030/100 support
643 endef
644
645 define KernelPackage/iwlagn/config
646 menu "Configuration"
647 depends on PACKAGE_kmod-iwlagn
648
649 config IWL5000_FW
650 bool "Intel 5000 Firmware"
651 default y
652 help
653 Download and install firmware for:
654 Intel 5000 wireless card into /lib/firmware.
655
656 config IWL5150_FW
657 bool "Intel 5150 Firmware"
658 default y
659 help
660 Download and install firmware for:
661 Intel 5150 wireless card into /lib/firmware.
662
663 config IWL1000_FW
664 bool "Intel 1000 Firmware"
665 default y
666 help
667 Download and install firmware for:
668 Intel 1000 wireless card into /lib/firmware.
669
670 config IWL6000_FW
671 bool "Intel 6000 Firmware"
672 default y
673 help
674 Download and install firmware for:
675 Intel 6000 wireless card into /lib/firmware.
676
677 config IWL6050_FW
678 bool "Intel 6050 Firmware"
679 default y
680 help
681 Download and install firmware for:
682 Intel 6050 wireless card into /lib/firmware.
683
684 config IWL6005_FW
685 bool "Intel 6005 Firmware"
686 default y
687 help
688 Download and install firmware for:
689 Intel 6005 wireless card into /lib/firmware.
690
691 config IWL6030_FW
692 bool "Intel 6030 Firmware"
693 default y
694 help
695 Download and install firmware for:
696 Intel 6030 wireless card into /lib/firmware.
697
698 config IWL100_FW
699 bool "Intel 100 Firmware"
700 default y
701 help
702 Download and install firmware for:
703 Intel 100 wireless card into /lib/firmware.
704
705 endmenu
706 endef
707
708 define KernelPackage/iwl-legacy
709 $(call KernelPackage/mac80211/Default)
710 DEPENDS:= +kmod-mac80211 @PCI_SUPPORT
711 TITLE:=Intel legacy Wireless support
712 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwlegacy.ko
713 AUTOLOAD:=$(call AutoLoad,60,iwl-legacy)
714 endef
715
716 define KernelPackage/iwl-legacy/description
717 iwl-legacy kernel module for legacy Intel wireless support
718 endef
719
720 define KernelPackage/iwl3945
721 $(call KernelPackage/mac80211/Default)
722 DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy
723 TITLE:=Intel iwl3945 Wireless support
724 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl3945.ko
725 AUTOLOAD:=$(call AutoLoad,61,iwl3945)
726 endef
727
728 define KernelPackage/iwl3945/description
729 iwl3945 kernel module for Intel 3945 support
730 endef
731
732 define KernelPackage/iwl4965
733 $(call KernelPackage/mac80211/Default)
734 DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy
735 TITLE:=Intel iwl4965 Wireless support
736 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl4965.ko
737 AUTOLOAD:=$(call AutoLoad,61,iwl4965)
738 endef
739
740 define KernelPackage/iwl4965/description
741 iwl4965 kernel module for Intel 4965 support
742 endef
743
744
745 define KernelPackage/mwl8k
746 $(call KernelPackage/mac80211/Default)
747 TITLE:=Driver for Marvell TOPDOG 802.11 Wireless cards
748 URL:=http://wireless.kernel.org/en/users/Drivers/mwl8k
749 DEPENDS+= @PCI_SUPPORT +kmod-mac80211
750 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mwl8k.ko
751 AUTOLOAD:=$(call AutoLoad,27,mwl8k)
752 endef
753
754 define KernelPackage/mwl8k/description
755 Kernel modules for Marvell TOPDOG 802.11 Wireless cards
756 endef
757
758
759 define KernelPackage/wl12xx
760 $(call KernelPackage/mac80211/Default)
761 TITLE:=Driver for TI WL12xx
762 URL:=http://wireless.kernel.org/en/users/Drivers/wl12xx
763 DEPENDS+= @TARGET_omap4 +kmod-mac80211
764 FILES:= \
765 $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wl12xx/wl12xx.ko \
766 $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore.ko \
767 $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore_sdio.ko
768 AUTOLOAD:=$(call AutoLoad,61,wlcore wlcore_sdio wl12xx)
769 endef
770
771 define KernelPackage/wl12xx/description
772 Kernel modules for TI WL12xx
773 endef
774
775 #Broadcom firmware
776 ifneq ($(CONFIG_B43_FW_5_10),)
777 PKG_B43_FWV4_NAME:=broadcom-wl
778 PKG_B43_FWV4_VERSION:=5.10.56.27.3
779 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta/wl_prebuilt.o
780 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)_mipsel.tar.bz2
781 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
782 PKG_B43_FWV4_MD5SUM:=3363e3a6b3d9d73c49dea870c7834eac
783 else
784 ifneq ($(CONFIG_B43_FW_4_178),)
785 PKG_B43_FWV4_NAME:=broadcom-wl
786 PKG_B43_FWV4_VERSION:=4.178.10.4
787 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
788 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
789 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
790 PKG_B43_FWV4_MD5SUM:=14477e8cbbb91b11896affac9b219fdb
791 else
792 ifneq ($(CONFIG_B43_FW_5_100_138),)
793 PKG_B43_FWV4_NAME:=broadcom-wl
794 PKG_B43_FWV4_VERSION:=5.100.138
795 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
796 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
797 PKG_B43_FWV4_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
798 PKG_B43_FWV4_MD5SUM:=f4e357b09eaf5d8b1f1920cf3493a555
799 else
800 PKG_B43_FWV4_NAME:=broadcom-wl
801 PKG_B43_FWV4_VERSION:=4.150.10.5
802 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
803 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
804 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
805 PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
806 endif
807 endif
808 endif
809 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
810 PKG_B43_FWV4_NAME:=broadcom-wl
811 PKG_B43_FWV4_VERSION:=5.2
812 PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
813 PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
814 PKG_B43_FWV4_SOURCE_URL:=http://www.ing.unibs.it/openfwwf/firmware/
815 PKG_B43_FWV4_MD5SUM:=e045a135453274e439ae183f8498b0fa
816 endif
817
818
819 PKG_B43_FWV3_NAME:=wl_apsta
820 PKG_B43_FWV3_VERSION:=3.130.20.0
821 PKG_B43_FWV3_SOURCE:=$(PKG_B43_FWV3_NAME)-$(PKG_B43_FWV3_VERSION).o
822 PKG_B43_FWV3_SOURCE_URL:=http://downloads.openwrt.org/sources/
823 PKG_B43_FWV3_MD5SUM:=e08665c5c5b66beb9c3b2dd54aa80cb3
824
825 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
826 PKG_B43_FWCUTTER_NAME:=b43-fwcutter
827 PKG_B43_FWCUTTER_VERSION:=3e69531aa65b8f664a0ab00dfc3e2eefeb0cb417
828 PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
829 PKG_B43_FWCUTTER_PROTO:=git
830 PKG_B43_FWCUTTER_SOURCE_URL:=http://git.bu3sch.de/git/b43-tools.git
831 PKG_B43_FWCUTTER_SUBDIR:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)
832 PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/fwcutter/
833 else
834 PKG_B43_FWCUTTER_NAME:=b43-fwcutter
835 PKG_B43_FWCUTTER_VERSION:=015
836 PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
837 PKG_B43_FWCUTTER_PROTO:=default
838 PKG_B43_FWCUTTER_SOURCE_URL:=http://bu3sch.de/b43/fwcutter/
839 PKG_B43_FWCUTTER_MD5SUM:=628e030565222a107bc40300313cbe76
840 PKG_B43_FWCUTTER_SUBDIR:=b43-fwcutter-$(PKG_B43_FWCUTTER_VERSION)
841 PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/
842 endif
843
844 define Download/b43-common
845 FILE:=$(PKG_B43_FWCUTTER_SOURCE)
846 URL:=$(PKG_B43_FWCUTTER_SOURCE_URL)
847 MD5SUM:=$(PKG_B43_FWCUTTER_MD5SUM)
848 PROTO:=$(PKG_B43_FWCUTTER_PROTO)
849 VERSION:=$(PKG_B43_FWCUTTER_VERSION)
850 SUBDIR:=$(PKG_B43_FWCUTTER_SUBDIR)
851 endef
852 $(eval $(call Download,b43-common))
853
854 define Download/b43
855 FILE:=$(PKG_B43_FWV4_SOURCE)
856 URL:=$(PKG_B43_FWV4_SOURCE_URL)
857 MD5SUM:=$(PKG_B43_FWV4_MD5SUM)
858 endef
859 $(eval $(call Download,b43))
860
861 define Download/b43legacy
862 FILE:=$(PKG_B43_FWV3_SOURCE)
863 URL:=$(PKG_B43_FWV3_SOURCE_URL)
864 MD5SUM:=$(PKG_B43_FWV3_MD5SUM)
865 endef
866 $(eval $(call Download,b43legacy))
867
868 define KernelPackage/b43-common
869 $(call KernelPackage/mac80211/Default)
870 TITLE:=Generic stuff for Broadcom wireless devices
871 URL:=http://linuxwireless.org/en/users/Drivers/b43
872 KCONFIG:= \
873 CONFIG_HW_RANDOM=y
874 DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
875 endef
876
877 define KernelPackage/b43
878 $(call KernelPackage/b43-common)
879 DEPENDS+= +@DRIVER_11N_SUPPORT +!TARGET_brcm47xx:kmod-bcma
880 TITLE:=Broadcom 43xx wireless support
881 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.ko
882 AUTOLOAD:=$(call AutoLoad,30,b43)
883 MENU:=1
884 endef
885
886 define KernelPackage/b43/config
887 menu "Configuration"
888 depends on PACKAGE_kmod-b43
889
890 choice
891 prompt "b43 firmware version"
892 default B43_FW_5_100_138
893 help
894 This option allows you to select the version of the b43 firmware.
895
896 config B43_FW_4_150
897 bool "Firmware 410.2160 from driver 4.150.10.5 (old stable)"
898 help
899 Stable firmware for BCM43xx devices.
900
901 If unsure, select this.
902
903 config B43_FW_4_178
904 bool "Firmware 478.104 from driver 4.178.10.4"
905 help
906 Experimental firmware for BCM43xx devices.
907
908 This firmware is not tested as much as the "stable" firmware.
909
910 If unsure, select the "stable" firmware.
911
912 config B43_FW_5_10
913 bool "Firmware 508.1084 from driver 5.10.56.27"
914 help
915 Newer experimental firmware for BCM43xx devices.
916
917 This firmware is mostly untested. It is needed for some N-PHY devices.
918
919 If unsure, select the "stable" firmware.
920
921 config B43_FW_5_100_138
922 bool "Firmware 666.2 from driver 5.100.138 (stable)"
923 help
924 Newer experimental firmware for BCM43xx devices.
925
926 This firmware is mostly untested. It is needed for some N-PHY devices.
927
928 If unsure, select the "stable" firmware.
929
930 config B43_OPENFIRMWARE
931 bool "Open FirmWare for WiFi networks"
932 help
933 Opensource firmware for BCM43xx devices.
934
935 Do _not_ select this, unless you know what you are doing.
936 The Opensource firmware is not suitable for embedded devices, yet.
937 It does not support QoS, which is bad for AccessPoints.
938 It does not support hardware crypto acceleration, which is a showstopper
939 for embedded devices with low CPU resources.
940
941 If unsure, select the "stable" firmware.
942
943 endchoice
944
945 config B43_FW_SQUASH
946 bool "Remove unnecessary firmware files"
947 depends on !B43_OPENFIRMWARE
948 default y
949 help
950 This options allows you to remove unnecessary b43 firmware files
951 from the final rootfs image. This can reduce the rootfs size by
952 up to 200k.
953
954 If unsure, say Y.
955
956 config B43_FW_SQUASH_COREREVS
957 string "Core revisions to include"
958 depends on B43_FW_SQUASH
959 default "5,6,7,8,9,10,11,13,14,15,16"
960 help
961 This is a comma seperated list of core revision numbers.
962
963 Example (keep files for rev5 only):
964 5
965
966 Example (keep files for rev5 and rev11):
967 5,11
968
969 config B43_FW_SQUASH_PHYTYPES
970 string "PHY types to include"
971 depends on B43_FW_SQUASH
972 default "G,LP,N"
973 help
974 This is a comma seperated list of PHY types:
975 A => A-PHY
976 AG => Dual A-PHY G-PHY
977 G => G-PHY
978 LP => LP-PHY
979 N => N-PHY
980
981 Example (keep files for G-PHY only):
982 G
983
984 Example (keep files for G-PHY and N-PHY):
985 G,N
986
987 config PACKAGE_B43_DEBUG
988 bool "Enable debug output and debugfs for b43"
989 default n
990 help
991 Enable additional debug output and runtime sanity checks for b43
992 and enables the debugfs interface.
993
994 If unsure, say N.
995
996 config PACKAGE_B43_PIO
997 bool "Enable support for PIO transfer mode"
998 default n
999 help
1000 Enable support for using PIO instead of DMA. Unless you have DMA
1001 transfer problems you don't need this.
1002
1003 If unsure, say N.
1004
1005 config PACKAGE_B43_PHY_N
1006 bool "Enable support for N-PHYs"
1007 default y
1008 help
1009 Enable support for BCM4321 and BCM4322.
1010
1011 Currently only 11g speed is available.
1012
1013 If unsure, say Y.
1014
1015 config PACKAGE_B43_PHY_HT
1016 bool "Enable support for HT-PHYs"
1017 default n
1018 help
1019 Currently broken.
1020
1021 If unsure, say N.
1022
1023 config PACKAGE_B43_PHY_LCN
1024 bool "Enable support for LCN-PHYs"
1025 depends on BROKEN
1026 default n
1027 help
1028 Currently broken.
1029
1030 If unsure, say N.
1031
1032 endmenu
1033 endef
1034
1035 define KernelPackage/b43/description
1036 Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
1037 endef
1038
1039 define KernelPackage/b43legacy
1040 $(call KernelPackage/b43-common)
1041 TITLE:=Broadcom 43xx-legacy wireless support
1042 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43legacy/b43legacy.ko
1043 AUTOLOAD:=$(call AutoLoad,30,b43legacy)
1044 MENU:=1
1045 endef
1046
1047 define KernelPackage/b43legacy/config
1048 menu "Configuration"
1049 depends on PACKAGE_kmod-b43legacy
1050
1051 config B43LEGACY_FW_SQUASH
1052 bool "Remove unnecessary firmware files"
1053 default y
1054 help
1055 This options allows you to remove unnecessary b43legacy firmware files
1056 from the final rootfs image. This can reduce the rootfs size by
1057 up to 50k.
1058
1059 If unsure, say Y.
1060
1061 config B43LEGACY_FW_SQUASH_COREREVS
1062 string "Core revisions to include"
1063 depends on B43LEGACY_FW_SQUASH
1064 default "1,2,3,4"
1065 help
1066 This is a comma seperated list of core revision numbers.
1067
1068 Example (keep files for rev4 only):
1069 4
1070
1071 Example (keep files for rev2 and rev4):
1072 2,4
1073
1074 endmenu
1075 endef
1076
1077 define KernelPackage/b43legacy/description
1078 Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
1079 endef
1080
1081
1082 define KernelPackage/brcmutil
1083 $(call KernelPackage/mac80211/Default)
1084 TITLE:=Broadcom IEEE802.11n common driver parts
1085 URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
1086 DEPENDS+=@PCI_SUPPORT||USB_SUPPORT
1087 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmutil/brcmutil.ko
1088 AUTOLOAD:=$(call AutoLoad,30,brcmutil)
1089 MENU:=1
1090 endef
1091
1092 define KernelPackage/brcmutil/description
1093 This module contains some common parts needed by Broadcom Wireless drivers brcmsmac and brcmfmac.
1094 endef
1095
1096 define KernelPackage/brcmutil/config
1097 menu "Configuration"
1098 depends on PACKAGE_kmod-brcmutil
1099
1100 config PACKAGE_BRCM80211_DEBUG
1101 bool "Broadcom wireless driver debugging"
1102 help
1103 Say Y, if you want to debug brcmsmac and brcmfmac wireless driver.
1104
1105 endmenu
1106 endef
1107
1108 define KernelPackage/brcmsmac
1109 $(call KernelPackage/mac80211/Default)
1110 TITLE:=Broadcom IEEE802.11n PCIe SoftMAC WLAN driver
1111 URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
1112 DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT +!TARGET_brcm47xx:kmod-bcma +kmod-lib-cordic +kmod-lib-crc8 +kmod-brcmutil
1113 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.ko
1114 AUTOLOAD:=$(call AutoLoad,31,brcmsmac)
1115 endef
1116
1117 define KernelPackage/brcmsmac/description
1118 Kernel module for Broadcom IEEE802.11n PCIe Wireless cards
1119 endef
1120
1121 define KernelPackage/brcmfmac
1122 $(call KernelPackage/mac80211/Default)
1123 TITLE:=Broadcom IEEE802.11n USB FullMAC WLAN driver
1124 URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
1125 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-cfg80211 +@DRIVER_11N_SUPPORT +kmod-brcmutil
1126 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.ko
1127 AUTOLOAD:=$(call AutoLoad,60,brcmfmac)
1128 endef
1129
1130 define KernelPackage/brcmfmac/description
1131 Kernel module for Broadcom IEEE802.11n USB Wireless cards
1132 endef
1133
1134 BUILDFLAGS:= \
1135 -I$(PKG_BUILD_DIR)/include \
1136 -DCONFIG_CFG80211_INTERNAL_REGDB=y \
1137 $(foreach opt,$(CONFOPTS),-DCONFIG_$(opt)) \
1138 $(if $(CONFIG_PCI),-DCONFIG_B43_PCI_AUTOSELECT -DCONFIG_B43_PCICORE_AUTOSELECT) \
1139 $(if $(CONFIG_LEDS_TRIGGERS), -DCONFIG_MAC80211_LEDS -DCONFIG_LEDS_TRIGGERS -DCONFIG_B43_LEDS -DCONFIG_B43LEGACY_LEDS) \
1140 -DCONFIG_B43_HWRNG -DCONFIG_B43LEGACY_HWRNG \
1141 $(if $(CONFIG_PCI),-DCONFIG_ATH9K_PCI) \
1142 $(if $(CONFIG_TARGET_ar71xx),-DCONFIG_ATH9K_AHB) \
1143 $(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS), -DCONFIG_CFG80211_DEBUGFS -DCONFIG_MAC80211_DEBUGFS -DCONFIG_ATH9K_DEBUGFS -DCONFIG_CARL9170_DEBUGFS -DCONFIG_ATH9K_HTC_DEBUGFS -DCONFIG_ATH5K_DEBUG) \
1144 $(if $(CONFIG_PACKAGE_MAC80211_MESH),-DCONFIG_MAC80211_MESH) \
1145 $(if $(CONFIG_PACKAGE_ATH_DEBUG),-DCONFIG_ATH_DEBUG -DCONFIG_ATH9K_PKTLOG) \
1146 -D__CONFIG_MAC80211_RC_DEFAULT=minstrel \
1147 -DCONFIG_MAC80211_RC_MINSTREL_HT \
1148 $(if $(CONFIG_ATH_USER_REGD),-DATH_USER_REGD=1) \
1149 $(if $(CONFIG_PACKAGE_B43_DEBUG),-DCONFIG_B43_DEBUG) \
1150 $(if $(CONFIG_PACKAGE_B43_PIO),-DCONFIG_B43_PIO) \
1151 $(if $(CONFIG_PACKAGE_B43_PIO),-DCONFIG_B43_BCMA_PIO) \
1152 $(if $(CONFIG_PACKAGE_B43_PHY_N),-DCONFIG_B43_PHY_N) \
1153 $(if $(CONFIG_PACKAGE_B43_PHY_HT),-DCONFIG_B43_PHY_HT) \
1154 $(if $(CONFIG_PACKAGE_B43_PHY_LCN),-DCONFIG_B43_PHY_LCN) \
1155 -DCONFIG_B43_BCMA -DCONFIG_B43_BCMA_EXTRA \
1156 -DCONFIG_B43_SSB \
1157 $(if $(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS),-DCONFIG_RT2X00_LIB_DEBUGFS) \
1158 $(if $(CONFIG_PACKAGE_RT2X00_DEBUG),-DCONFIG_RT2X00_DEBUG) \
1159 $(if $(NEED_RT2X00_LIB_HT),-DCONFIG_RT2X00_LIB_HT) \
1160 $(if $(NEED_RT2X00_LIB_CRYPTO),-DCONFIG_RT2X00_LIB_CRYPTO) \
1161 $(if $(NEED_RT2X00_LIB_FIRMWARE),-DCONFIG_RT2X00_LIB_FIRMWARE) \
1162 $(if $(NEED_RT2X00_LIB_EEPROM),-DCONFIG_RT2X00_LIB_EEPROM) \
1163 $(if $(NEED_RT2X00_LIB_LEDS),-DCONFIG_RT2X00_LIB_LEDS) \
1164 $(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),-DCONFIG_RT2X00_LIB_PCI) \
1165 $(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),-DCONFIG_RT2X00_LIB_USB) \
1166 $(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),-DCONFIG_RT2800USB_RT53XX) \
1167 $(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),-DCONFIG_RT2X00_LIB_SOC) \
1168 $(if $(CONFIG_TARGET_atheros),-DCONFIG_ATH5K_AHB,-DCONFIG_ATH5K_PCI) \
1169 $(if $(CONFIG_PACKAGE_kmod-iwl3945),-DCONFIG_IWL3945) \
1170 $(if $(CONFIG_PACKAGE_kmod-iwl4965),-DCONFIG_COMPAT_IWL4965) \
1171 $(if $(CONFIG_PACKAGE_kmod-wl12xx),-DCONFIG_WL12XX -DCONFIG_COMPAT_WL12XX_SDIO) \
1172 $(if $(CONFIG_PACKAGE_BRCM80211_DEBUG),-DCONFIG_BRCMDBG) \
1173 $(if $(CONFIG_PACKAGE_kmod-brcmfmac),-DCONFIG_BRCMFMAC_USB)
1174
1175 MAKE_OPTS:= \
1176 CROSS_COMPILE="$(KERNEL_CROSS)" \
1177 ARCH="$(LINUX_KARCH)" \
1178 EXTRA_CFLAGS="$(BUILDFLAGS)" \
1179 $(foreach opt,$(CONFOPTS),CONFIG_$(opt)=m) \
1180 CONFIG_CFG80211_INTERNAL_REGDB=y \
1181 CONFIG_CFG80211=$(if $(CONFIG_PACKAGE_kmod-cfg80211),m) \
1182 CONFIG_MAC80211=$(if $(CONFIG_PACKAGE_kmod-mac80211),m) \
1183 CONFIG_MAC80211_RC_MINSTREL=y \
1184 CONFIG_MAC80211_MESH=$(CONFIG_PACKAGE_MAC80211_MESH) \
1185 CONFIG_MAC80211_LEDS=$(CONFIG_LEDS_TRIGGERS) \
1186 CONFIG_CFG80211_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1187 CONFIG_MAC80211_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1188 CONFIG_B43_PCMCIA=n CONFIG_B43_PIO=n \
1189 CONFIG_B43_PCI_AUTOSELECT=$(if $(CONFIG_PCI),y) \
1190 CONFIG_B43_PCICORE_AUTOSELECT=$(if $(CONFIG_PCI),y) \
1191 CONFIG_B43LEGACY_LEDS=$(CONFIG_LEDS_TRIGGERS) \
1192 CONFIG_B43_LEDS=$(CONFIG_LEDS_TRIGGERS) \
1193 CONFIG_B43_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
1194 CONFIG_B43LEGACY_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
1195 CONFIG_B43=$(if $(CONFIG_PACKAGE_kmod-b43),m) \
1196 CONFIG_B43LEGACY=$(if $(CONFIG_PACKAGE_kmod-b43legacy),m) \
1197 CONFIG_B43_DEBUG=$(if $(CONFIG_PACKAGE_B43_DEBUG),y) \
1198 CONFIG_B43_PIO=$(if $(CONFIG_PACKAGE_B43_PIO),y) \
1199 CONFIG_B43_BCMA_PIO=$(if $(CONFIG_PACKAGE_B43_PIO),y) \
1200 CONFIG_B43_PHY_N=$(if $(CONFIG_PACKAGE_B43_PHY_N),y) \
1201 CONFIG_B43_PHY_HT=$(if $(CONFIG_PACKAGE_B43_PHY_HT),y) \
1202 CONFIG_B43_PHY_LCN=$(if $(CONFIG_PACKAGE_B43_PHY_LCN),y) \
1203 CONFIG_B43_BCMA=y \
1204 CONFIG_B43_SSB=y \
1205 CONFIG_ATH_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath),m) \
1206 CONFIG_ATH_DEBUG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
1207 CONFIG_ATH9K_PKTLOG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
1208 CONFIG_ATH5K=$(if $(CONFIG_PACKAGE_kmod-ath5k),m) \
1209 CONFIG_ATH5K_PCI=$(if $(CONFIG_TARGET_atheros),,y) \
1210 CONFIG_ATH5K_AHB=$(if $(CONFIG_TARGET_atheros),y) \
1211 CONFIG_ATH5K_DEBUG=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1212 CONFIG_ATH9K=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \
1213 CONFIG_ATH9K_PCI=$(CONFIG_PCI) \
1214 CONFIG_ATH9K_AHB=$(if $(CONFIG_TARGET_ar71xx),y) \
1215 CONFIG_ATH9K_HTC=$(if $(CONFIG_PACKAGE_kmod-ath9k-htc),m) \
1216 CONFIG_ATH9K_HTC_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1217 CONFIG_ATH9K_HW=$(if $(CONFIG_PACKAGE_kmod-ath9k-common),m) \
1218 CONFIG_ATH9K_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath9k-common),m) \
1219 CONFIG_ATH9K_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1220 CONFIG_CARL9170=$(if $(CONFIG_PACKAGE_kmod-carl9170),m) \
1221 CONFIG_CARL9170_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1222 CONFIG_COMPAT_ZD1211RW=$(if $(CONFIG_PACKAGE_kmod-zd1211rw),m) \
1223 CONFIG_P54_COMMON=$(if $(CONFIG_PACKAGE_kmod-p54-common),m) \
1224 CONFIG_P54_PCI=$(if $(CONFIG_PACKAGE_kmod-p54-pci),m) \
1225 CONFIG_P54_USB=$(if $(CONFIG_PACKAGE_kmod-p54-usb),m) \
1226 CONFIG_P54_SPI=$(if $(CONFIG_PACKAGE_kmod-p54-spi),m) \
1227 CONFIG_P54_SPI_DEFAULT_EEPROM=n \
1228 CONFIG_RT2X00=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
1229 CONFIG_RT2X00_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
1230 CONFIG_RT2X00_LIB_PCI=$(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),m) \
1231 CONFIG_RT2X00_LIB_USB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),m) \
1232 CONFIG_RT2X00_LIB_SOC=$(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),m) \
1233 CONFIG_RT2X00_LIB_DEBUGFS=$(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS) \
1234 CONFIG_RT2X00_LIB_CRYPTO=$(NEED_RT2X00_LIB_CRYPTO) \
1235 CONFIG_RT2X00_LIB_FIRMWARE=$(NEED_RT2X00_LIB_FIRMWARE) \
1236 CONFIG_RT2X00_LIB_EEPROM=$(NEED_RT2X00_LIB_EEPROM) \
1237 CONFIG_RT2X00_LIB_HT=$(NEED_RT2X00_LIB_HT) \
1238 CONFIG_RT2X00_LIB_LEDS=$(NEED_RT2X00_LIB_LEDS) \
1239 CONFIG_RT2400PCI=$(if $(CONFIG_PACKAGE_kmod-rt2400-pci),m) \
1240 CONFIG_RT2500PCI=$(if $(CONFIG_PACKAGE_kmod-rt2500-pci),m) \
1241 CONFIG_RT2500USB=$(if $(CONFIG_PACKAGE_kmod-rt2500-usb),m) \
1242 CONFIG_RT61PCI=$(if $(CONFIG_PACKAGE_kmod-rt61-pci),m) \
1243 CONFIG_RT73USB=$(if $(CONFIG_PACKAGE_kmod-rt73-usb),m) \
1244 CONFIG_RT2800_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2800-lib),m) \
1245 CONFIG_RT2800PCI=$(if $(CONFIG_PACKAGE_kmod-rt2800-pci),m) \
1246 CONFIG_RT2800USB=$(if $(CONFIG_PACKAGE_kmod-rt2800-usb),m) \
1247 CONFIG_RTL8180=$(if $(CONFIG_PACKAGE_kmod-rtl8180),m) \
1248 CONFIG_RTL8187=$(if $(CONFIG_PACKAGE_kmod-rtl8187),m) \
1249 CONFIG_RTL8192CE= \
1250 CONFIG_RTLWIFI= \
1251 CONFIG_MAC80211_HWSIM=$(if $(CONFIG_PACKAGE_kmod-mac80211-hwsim),m) \
1252 CONFIG_PCMCIA= \
1253 CONFIG_LIBIPW=$(if $(CONFIG_PACKAGE_kmod-net-libipw),m) \
1254 CONFIG_LIBERTAS=$(if $(CONFIG_PACKAGE_kmod-libertas-sd)$(CONFIG_PACKAGE_kmod-libertas-usb),m) \
1255 CONFIG_LIBERTAS_CS= \
1256 CONFIG_LIBERTAS_SPI= \
1257 CONFIG_COMPAT_LIBERTAS_SDIO=$(if $(CONFIG_PACKAGE_kmod-libertas-sd),m) \
1258 CONFIG_LIBERTAS_THINFIRM= \
1259 CONFIG_LIBERTAS_USB=$(if $(CONFIG_PACKAGE_kmod-libertas-usb),m) \
1260 CONFIG_IPW2100=$(if $(CONFIG_PACKAGE_kmod-net-ipw2100),m) \
1261 CONFIG_IPW2200=$(if $(CONFIG_PACKAGE_kmod-net-ipw2200),m) \
1262 CONFIG_NL80211=y \
1263 CONFIG_LIB80211=$(if $(CONFIG_PACKAGE_kmod-lib80211),m) \
1264 CONFIG_LIB80211_CRYPT_WEP=$(if $(CONFIG_PACKAGE_kmod-lib80211),m) \
1265 CONFIG_LIB80211_CRYPT_CCMP=$(if $(CONFIG_PACKAGE_kmod-lib80211),m) \
1266 CONFIG_LIB80211_CRYPT_TKIP=$(if $(CONFIG_PACKAGE_kmod-lib80211),m) \
1267 CONFIG_IWLWIFI=$(if $(CONFIG_PACKAGE_kmod-iwlagn),m) \
1268 CONFIG_IWLEGACY=$(if $(CONFIG_PACKAGE_kmod-iwl-legacy),m) \
1269 CONFIG_COMPAT_IWL4965=$(if $(CONFIG_PACKAGE_kmod-iwl4965),m) \
1270 CONFIG_IWL3945=$(if $(CONFIG_PACKAGE_kmod-iwl3945),m) \
1271 CONFIG_MWL8K=$(if $(CONFIG_PACKAGE_kmod-mwl8k),m) \
1272 CONFIG_ATMEL= \
1273 CONFIG_PCMCIA_ATMEL= \
1274 CONFIG_ADM8211= \
1275 CONFIG_USB_NET_RNDIS_HOST= \
1276 CONFIG_USB_NET_RNDIS_WLAN= \
1277 CONFIG_USB_NET_CDCETHER= \
1278 CONFIG_USB_USBNET= \
1279 CONFIG_AT76C50X_USB= \
1280 CONFIG_WL_TI=$(if $(CONFIG_PACKAGE_kmod-wl12xx),m) \
1281 CONFIG_WLCORE=$(if $(CONFIG_PACKAGE_kmod-wl12xx),m) \
1282 CONFIG_WL12XX=$(if $(CONFIG_PACKAGE_kmod-wl12xx),m) \
1283 CONFIG_WLCORE_SDIO=$(if $(CONFIG_PACKAGE_kmod-wl12xx),m) \
1284 CONFIG_EEPROM_93CX6= \
1285 CONFIG_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes),m) \
1286 CONFIG_HERMES_CACHE_FW_ON_INIT= \
1287 CONFIG_PCI_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-pci),m) \
1288 CONFIG_PLX_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-plx),m) \
1289 CONFIG_PCMCIA_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-pcmcia),m) \
1290 CONFIG_HERMES_PRISM= \
1291 CONFIG_APPLE_AIRPORT= \
1292 CONFIG_TMD_HERMES= \
1293 CONFIG_NORTEL_HERMES= \
1294 CONFIG_PCMCIA_SPECTRUM= \
1295 CONFIG_ORINOCO_USB= \
1296 CONFIG_IWM= \
1297 CONFIG_MWIFIEX= \
1298 CONFIG_ATH6KL= \
1299 CONFIG_MAC80211_RC_MINSTREL_HT=y \
1300 MADWIFI= \
1301 CONFIG_B44= \
1302 CONFIG_ATL1= \
1303 CONFIG_ATL2= \
1304 CONFIG_ATL1E= \
1305 CONFIG_ATL1C= \
1306 CONFIG_BRCMUTIL=$(if $(CONFIG_PACKAGE_kmod-brcmutil),m) \
1307 CONFIG_BRCMSMAC=$(if $(CONFIG_PACKAGE_kmod-brcmsmac),m) \
1308 CONFIG_BRCMFMAC=$(if $(CONFIG_PACKAGE_kmod-brcmfmac),m) \
1309 CONFIG_BRCMFMAC_USB=$(if $(CONFIG_PACKAGE_kmod-brcmfmac),y) \
1310 CONFIG_BRCMDBG=$(if $(CONFIG_PACKAGE_BRCM80211_DEBUG),y) \
1311 KLIB_BUILD="$(LINUX_DIR)" \
1312 MODPROBE=true \
1313 KLIB=$(TARGET_MODULES_DIR) \
1314 KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER))) \
1315 KBUILD_LDFLAGS_MODULE_PREREQ=
1316
1317 ifeq ($(CONFIG_PACKAGE_kmod-libertas-sd)$(CONFIG_PACKAGE_kmod-libertas-usb)$(CONFIG_PACKAGE_kmod-rt2x00-lib),)
1318 MAKE_OPTS += CONFIG_COMPAT_KFIFO=
1319 endif
1320
1321 define Build/Prepare
1322 rm -rf $(PKG_BUILD_DIR)
1323 mkdir -p $(PKG_BUILD_DIR)
1324 $(PKG_UNPACK)
1325 $(Build/Patch)
1326 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
1327 $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
1328 $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
1329 $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(PKG_LINUX_FIRMWARE_SOURCE)
1330 rm -rf $(PKG_BUILD_DIR)/include/linux/ssb
1331 rm -rf $(PKG_BUILD_DIR)/include/linux/bcma
1332 rm -f $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h
1333 rm -f $(PKG_BUILD_DIR)/include/net/ieee80211.h
1334 echo 'compat-wireless-$(PKG_VERSION)-$(PKG_RELEASE)-$(REVISION)' > $(PKG_BUILD_DIR)/compat_version
1335 $(CP) ./files/regdb.txt $(PKG_BUILD_DIR)/net/wireless/db.txt
1336 endef
1337
1338 ifneq ($(CONFIG_PACKAGE_kmod-cfg80211)$(CONFIG_PACKAGE_kmod-lib80211),)
1339 define Build/Compile/kmod
1340 rm -rf $(PKG_BUILD_DIR)/modules
1341 $(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" $(MAKE_OPTS) modules
1342 endef
1343 endif
1344
1345 define Build/Compile
1346 $(call Build/Compile/kmod)
1347 endef
1348
1349 define Build/InstallDev
1350 mkdir -p \
1351 $(1)/usr/include/mac80211 \
1352 $(1)/usr/include/mac80211/ath \
1353 $(1)/usr/include/net/mac80211
1354 $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
1355 $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
1356 $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
1357 endef
1358
1359 define KernelPackage/libertas-usb/install
1360 $(INSTALL_DIR) $(1)/lib/firmware
1361 $(INSTALL_DATA) \
1362 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8388_v9.bin \
1363 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8388_v5.bin \
1364 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8682.bin \
1365 $(1)/lib/firmware/
1366 endef
1367
1368 define KernelPackage/libertas-sd/install
1369 $(INSTALL_DIR) $(1)/lib/firmware/libertas
1370 $(INSTALL_DATA) \
1371 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8385_helper.bin \
1372 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8385.bin \
1373 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v9_helper.bin \
1374 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v9.bin \
1375 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v8_helper.bin \
1376 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v8.bin \
1377 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8688_helper.bin \
1378 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8688.bin \
1379 $(1)/lib/firmware/libertas
1380 endef
1381
1382 define KernelPackage/cfg80211/install
1383 $(INSTALL_DIR) $(1)/lib/wifi
1384 $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
1385 endef
1386
1387 define KernelPackage/p54-pci/install
1388 $(INSTALL_DIR) $(1)/lib/firmware
1389 $(INSTALL_DATA) $(DL_DIR)/$(P54PCIFW) $(1)/lib/firmware/isl3886pci
1390 endef
1391
1392 define KernelPackage/p54-usb/install
1393 $(INSTALL_DIR) $(1)/lib/firmware
1394 $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3887usb
1395 endef
1396
1397 define KernelPackage/p54-spi/install
1398 $(INSTALL_DIR) $(1)/lib/firmware
1399 $(INSTALL_DATA) $(DL_DIR)/$(P54SPIFW) $(1)/lib/firmware/3826.arm
1400 endef
1401
1402 define KernelPackage/rt61-pci/install
1403 $(INSTALL_DIR) $(1)/lib/firmware
1404 $(INSTALL_DATA) \
1405 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2561.bin \
1406 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2561s.bin \
1407 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2661.bin \
1408 $(1)/lib/firmware/
1409 endef
1410
1411 define KernelPackage/rt73-usb/install
1412 $(INSTALL_DIR) $(1)/lib/firmware
1413 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt73.bin $(1)/lib/firmware/
1414 endef
1415
1416 define KernelPackage/rt2800-pci/install
1417 $(INSTALL_DIR) $(1)/lib/firmware
1418 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2860.bin $(1)/lib/firmware/
1419 endef
1420
1421 define KernelPackage/rt2800-usb/install
1422 $(INSTALL_DIR) $(1)/lib/firmware
1423 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2870.bin $(1)/lib/firmware/
1424 endef
1425
1426 define KernelPackage/wl12xx/install
1427 $(INSTALL_DIR) $(1)/lib/firmware/ti-connectivity
1428 $(INSTALL_DATA) \
1429 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-4-mr.bin \
1430 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-4-plt.bin \
1431 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-4-sr.bin \
1432 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl1271-nvs.bin \
1433 $(1)/lib/firmware/ti-connectivity
1434 endef
1435
1436
1437 define KernelPackage/zd1211rw/install
1438 $(INSTALL_DIR) $(1)/lib/firmware/zd1211
1439 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
1440 endef
1441
1442 define KernelPackage/ath9k-htc/install
1443 $(INSTALL_DIR) $(1)/lib/firmware
1444 $(INSTALL_DATA) \
1445 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/htc_9271.fw \
1446 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/htc_7010.fw \
1447 $(1)/lib/firmware/
1448 endef
1449
1450 define KernelPackage/mwl8k/install
1451 $(INSTALL_DIR) $(1)/lib/firmware/mwl8k
1452 $(INSTALL_DATA) \
1453 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8366_ap-2.fw \
1454 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8366.fw \
1455 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/helper_8366.fw \
1456 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8687.fw \
1457 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/helper_8687.fw \
1458 $(1)/lib/firmware/mwl8k/
1459 endef
1460
1461 define KernelPackage/net-ipw2100/install
1462 $(INSTALL_DIR) $(1)/lib/firmware
1463 $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware
1464 endef
1465
1466 define KernelPackage/net-ipw2200/install
1467 $(INSTALL_DIR) $(1)/lib/firmware
1468 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware
1469 endef
1470
1471 define KernelPackage/iwlagn/install
1472 $(INSTALL_DIR) $(1)/lib/firmware
1473 ifneq ($(CONFIG_IWL5000_FW),)
1474 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-5000-5.ucode $(1)/lib/firmware
1475 endif
1476 ifneq ($(CONFIG_IWL5150_FW),)
1477 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-5150-2.ucode $(1)/lib/firmware
1478 endif
1479 ifneq ($(CONFIG_IWL1000_FW),)
1480 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-1000-5.ucode $(1)/lib/firmware
1481 endif
1482 ifneq ($(CONFIG_IWL6000_FW),)
1483 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000-4.ucode $(1)/lib/firmware
1484 endif
1485 ifneq ($(CONFIG_IWL6050_FW),)
1486 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6050-5.ucode $(1)/lib/firmware
1487 endif
1488 ifneq ($(CONFIG_IWL6005_FW),)
1489 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2a-5.ucode $(1)/lib/firmware
1490 endif
1491 ifneq ($(CONFIG_IWL6030_FW),)
1492 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2b-5.ucode $(1)/lib/firmware
1493 endif
1494 ifneq ($(CONFIG_IWL100_FW),)
1495 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-100-5.ucode $(1)/lib/firmware
1496 endif
1497 endef
1498
1499 define KernelPackage/iwl3945/install
1500 $(INSTALL_DIR) $(1)/lib/firmware
1501 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-3945-2.ucode $(1)/lib/firmware
1502 endef
1503
1504 define KernelPackage/iwl4965/install
1505 $(INSTALL_DIR) $(1)/lib/firmware
1506 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-4965-2.ucode $(1)/lib/firmware
1507 endef
1508
1509 define Build/b43-common
1510 tar xjf "$(DL_DIR)/$(PKG_B43_FWCUTTER_SOURCE)" -C "$(PKG_BUILD_DIR)"
1511 patch -p1 -d "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)" < ./files/b43-fwcutter-fw-dirname.patch
1512 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)" \
1513 CFLAGS="-I$(STAGING_DIR_HOST)/include -include endian.h" \
1514 QUIET_SPARSE=:
1515 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)/b43-fwcutter $(STAGING_DIR_HOST)/bin/
1516 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1517 $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin/
1518 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/"
1519 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm $(STAGING_DIR_HOST)/bin/
1520 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm.bin $(STAGING_DIR_HOST)/bin/
1521 endif
1522 $(INSTALL_BIN) ./files/host_bin/b43-fwsquash.py $(STAGING_DIR_HOST)/bin/
1523 endef
1524
1525 define KernelPackage/b43/install
1526 rm -rf $(1)/lib/firmware/
1527 $(call Build/b43-common)
1528 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1529 tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1530 else
1531 tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1532 endif
1533 $(INSTALL_DIR) $(1)/lib/firmware/
1534 ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1535 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
1536 $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
1537 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
1538 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
1539 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
1540 else
1541 b43-fwcutter -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
1542 endif
1543 ifneq ($(CONFIG_B43_FW_SQUASH),)
1544 b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
1545 endif
1546 endef
1547
1548 define KernelPackage/b43legacy/install
1549 $(call Build/b43-common)
1550 $(INSTALL_DIR) $(1)/lib/firmware/
1551
1552 b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
1553 ifneq ($(CONFIG_B43LEGACY_FW_SQUASH),)
1554 b43-fwsquash.py "G" "$(CONFIG_B43LEGACY_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43legacy"
1555 endif
1556 endef
1557
1558 define KernelPackage/brcmsmac/install
1559 $(INSTALL_DIR) $(1)/lib/firmware/brcm
1560 $(INSTALL_DATA) \
1561 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx-0.fw \
1562 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx_hdr-0.fw \
1563 $(1)/lib/firmware/brcm/
1564 endef
1565
1566 define KernelPackage/brcmfmac/install
1567 $(INSTALL_DIR) $(1)/lib/firmware/brcm
1568 $(INSTALL_DATA) \
1569 $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/brcmfmac43236b.bin \
1570 $(1)/lib/firmware/brcm/
1571 endef
1572
1573 $(eval $(call KernelPackage,ath5k))
1574 $(eval $(call KernelPackage,lib80211))
1575 $(eval $(call KernelPackage,libertas-usb))
1576 $(eval $(call KernelPackage,libertas-sd))
1577 $(eval $(call KernelPackage,cfg80211))
1578 $(eval $(call KernelPackage,mac80211))
1579 $(eval $(call KernelPackage,p54-common))
1580 $(eval $(call KernelPackage,p54-pci))
1581 $(eval $(call KernelPackage,p54-usb))
1582 $(eval $(call KernelPackage,p54-spi))
1583 $(eval $(call KernelPackage,rt2x00-lib))
1584 $(eval $(call KernelPackage,rt2x00-pci))
1585 $(eval $(call KernelPackage,rt2x00-usb))
1586 $(eval $(call KernelPackage,rt2x00-soc))
1587 $(eval $(call KernelPackage,rt2800-lib))
1588 $(eval $(call KernelPackage,rt2400-pci))
1589 $(eval $(call KernelPackage,rt2500-pci))
1590 $(eval $(call KernelPackage,rt2500-usb))
1591 $(eval $(call KernelPackage,rt61-pci))
1592 $(eval $(call KernelPackage,rt73-usb))
1593 $(eval $(call KernelPackage,rt2800-pci))
1594 $(eval $(call KernelPackage,rt2800-usb))
1595 $(eval $(call KernelPackage,rtl8180))
1596 $(eval $(call KernelPackage,rtl8187))
1597 $(eval $(call KernelPackage,zd1211rw))
1598 $(eval $(call KernelPackage,mac80211-hwsim))
1599 $(eval $(call KernelPackage,ath9k-common))
1600 $(eval $(call KernelPackage,ath9k))
1601 $(eval $(call KernelPackage,ath9k-htc))
1602 $(eval $(call KernelPackage,ath))
1603 $(eval $(call KernelPackage,carl9170))
1604 $(eval $(call KernelPackage,b43))
1605 $(eval $(call KernelPackage,b43legacy))
1606 $(eval $(call KernelPackage,brcmutil))
1607 $(eval $(call KernelPackage,brcmsmac))
1608 $(eval $(call KernelPackage,brcmfmac))
1609 $(eval $(call KernelPackage,net-libipw))
1610 $(eval $(call KernelPackage,net-ipw2100))
1611 $(eval $(call KernelPackage,net-ipw2200))
1612 $(eval $(call KernelPackage,iwlagn))
1613 $(eval $(call KernelPackage,iwl-legacy))
1614 $(eval $(call KernelPackage,iwl4965))
1615 $(eval $(call KernelPackage,iwl3945))
1616 $(eval $(call KernelPackage,mwl8k))
1617 $(eval $(call KernelPackage,net-hermes))
1618 $(eval $(call KernelPackage,net-hermes-pci))
1619 $(eval $(call KernelPackage,net-hermes-plx))
1620 $(eval $(call KernelPackage,net-hermes-pcmcia))
1621 $(eval $(call KernelPackage,wl12xx))