Root/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
8include $(TOPDIR)/rules.mk
9include $(INCLUDE_DIR)/kernel.mk
10
11PKG_NAME:=mac80211
12
13PKG_VERSION:=2012-02-27
14PKG_RELEASE:=1
15PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
16PKG_MD5SUM:=ccd51c46813c25090ce657c8b7c67615
17
18PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
19PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
20PKG_BUILD_PARALLEL:=1
21
22PKG_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
31PKG_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
42CARL9170_FW_VERSION:=1.9.4
43
44include $(INCLUDE_DIR)/package.mk
45
46WMENU:=Wireless Drivers
47
48define 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)
53endef
54
55define KernelPackage/cfg80211
56  $(call KernelPackage/mac80211/Default)
57  TITLE:=cfg80211 - wireless configuration API
58  DEPENDS+= +wireless-tools +iw +crda
59  FILES:= \
60    $(PKG_BUILD_DIR)/compat/compat.ko \
61    $(PKG_BUILD_DIR)/net/wireless/cfg80211.ko
62  AUTOLOAD:=$(call AutoLoad,20,compat cfg80211)
63endef
64
65define KernelPackage/cfg80211/description
66cfg80211 is the Linux wireless LAN (802.11) configuration API.
67endef
68
69define 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
78endef
79
80define 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
98endef
99
100define KernelPackage/mac80211/description
101Generic IEEE 802.11 Networking Stack (mac80211)
102endef
103
104PKG_LINUX_FIRMWARE_NAME:=linux-firmware
105PKG_LINUX_FIRMWARE_VERSION:=d543c1d98fc240267ee59fff93f7a0f36d9e2fc3
106PKG_LINUX_FIRMWARE_SOURCE:=$(PKG_LINUX_FIRMWARE_NAME)-$(PKG_LINUX_FIRMWARE_VERSION).tar.bz2
107PKG_LINUX_FIRMWARE_PROTO:=git
108# PKG_LINUX_FIRMWARE_SOURCE_URL:=git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/linux-firmware.git
109PKG_LINUX_FIRMWARE_SOURCE_URL:=git://git.infradead.org/users/dwmw2/linux-firmware.git
110PKG_LINUX_FIRMWARE_SUBDIR:=$(PKG_LINUX_FIRMWARE_NAME)-$(PKG_LINUX_FIRMWARE_VERSION)
111
112define 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)
119endef
120$(eval $(call Download,linux-firmware))
121
122# Prism54 drivers
123P54PCIFW:=2.13.12.0.arm
124P54USBFW:=2.13.24.0.lm87.arm
125P54SPIFW:=2.13.0.0.a.13.14.arm
126CARL9170_FW:=carl9170-1.fw
127
128define Download/p54usb
129  FILE:=$(P54USBFW)
130  URL:=http://daemonizer.de/prism54/prism54-fw/fw-usb
131  MD5SUM:=8e8ab005a4f8f0123bcdc51bc25b47f6
132endef
133$(eval $(call Download,p54usb))
134
135define Download/p54pci
136  FILE:=$(P54PCIFW)
137  URL:=http://daemonizer.de/prism54/prism54-fw/fw-softmac
138  MD5SUM:=ff7536af2092b1c4b21315bd103ef4c4
139endef
140$(eval $(call Download,p54pci))
141
142define Download/p54spi
143  FILE:=$(P54SPIFW)
144  URL:=http://daemonizer.de/prism54/prism54-fw/stlc4560
145  MD5SUM:=42661f8ecbadd88012807493f596081d
146endef
147$(eval $(call Download,p54spi))
148
149define Download/carl9170
150  FILE:=$(CARL9170_FW)-$(CARL9170_FW_VERSION)
151  URL:=http://downloads.openwrt.org/sources/
152  MD5SUM:=30e2ae80c33b3008d271556d1a14e3ea
153endef
154$(eval $(call Download,carl9170))
155
156define KernelPackage/p54/Default
157  $(call KernelPackage/mac80211/Default)
158  TITLE:=Prism54 Drivers
159endef
160
161define KernelPackage/p54/description
162  Kernel module for Prism54 chipsets (mac80211)
163endef
164
165define 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)
171endef
172
173define 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)
179endef
180
181define 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)
187endef
188
189define 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)
195endef
196
197NEED_RT2X00_LIB_CRYPTO:=y
198NEED_RT2X00_LIB_FIRMWARE:=y
199NEED_RT2X00_LIB_EEPROM:=y
200NEED_RT2X00_LIB_HT:=y
201NEED_RT2X00_LIB_LEDS:=y
202
203define KernelPackage/rt2x00/Default
204  $(call KernelPackage/mac80211/Default)
205  TITLE:=Ralink Drivers for RT2x00 cards
206endef
207
208define 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
215endef
216
217define 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
235endef
236
237define 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)
243endef
244
245define 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)
251endef
252
253define 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)
259endef
260
261define 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)
267endef
268
269define 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)
275endef
276
277define 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)
283endef
284
285define 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)
291endef
292
293define 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)
299endef
300
301define 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)
307endef
308
309define 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)
315endef
316
317define 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)
323endef
324
325define 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
330endef
331
332define 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)
338endef
339
340define 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)
346endef
347
348ZD1211FW_NAME:=zd1211-firmware
349ZD1211FW_VERSION:=1.4
350define Download/zd1211rw
351  FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
352  URL:=@SF/zd1211/
353  MD5SUM:=19f28781d76569af8551c9d11294c870
354endef
355$(eval $(call Download,zd1211rw))
356
357define 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)
363endef
364
365define 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
387endef
388
389define KernelPackage/ath
390  $(call KernelPackage/mac80211/Default)
391  TITLE:=Atheros common driver part
392  DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ar71xx +kmod-mac80211
393  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.ko
394  AUTOLOAD:=$(call AutoLoad,26,ath)
395  MENU:=1
396endef
397
398define KernelPackage/ath/description
399 This module contains some common parts needed by Atheros Wireless drivers.
400endef
401
402define 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)
409endef
410
411define KernelPackage/ath5k/description
412 This module adds support for wireless adapters based on
413 Atheros 5xxx chipset.
414endef
415
416define 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)
425endef
426
427define 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)
435endef
436
437define KernelPackage/ath9k/description
438This module adds support for wireless adapters based on
439Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
440endef
441
442define 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)
450endef
451
452define KernelPackage/ath9k-htc/description
453This module adds support for wireless adapters based on
454Atheros USB AR9271 and AR7010 family of chipsets.
455endef
456
457define 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)
463endef
464
465define KernelPackage/carl9170/install
466    $(INSTALL_DIR) $(1)/lib/firmware
467    $(INSTALL_DATA) $(DL_DIR)/$(CARL9170_FW)-$(CARL9170_FW_VERSION) $(1)/lib/firmware/$(CARL9170_FW)
468endef
469
470define 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,10, \
479    lib80211 \
480    lib80211_crypt_wep \
481    lib80211_crypt_ccmp \
482    lib80211_crypt_tkip \
483  )
484endef
485
486define 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
493endef
494
495define 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)
503endef
504
505define 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)
513endef
514
515define 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)
521endef
522
523define 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)
529endef
530
531define KernelPackage/net-libipw/description
532 Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200.
533endef
534
535IPW2100_NAME:=ipw2100-fw
536IPW2100_VERSION:=1.3
537
538define Download/net-ipw2100
539  URL:=http://bughost.org/firmware/
540  FILE:=$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
541  MD5SUM=46aa75bcda1a00efa841f9707bbbd113
542endef
543$(eval $(call Download,net-ipw2100))
544
545define 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)
551endef
552
553define KernelPackage/net-ipw2100/description
554 Kernel support for Intel IPW2100
555 Includes:
556 - ipw2100
557endef
558
559IPW2200_NAME:=ipw2200-fw
560IPW2200_VERSION:=3.1
561
562define Download/net-ipw2200
563  URL:=http://bughost.org/firmware/
564  FILE:=$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
565  MD5SUM=eaba788643c7cc7483dd67ace70f6e99
566endef
567$(eval $(call Download,net-ipw2200))
568
569define 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)
575endef
576
577define KernelPackage/net-ipw2200/description
578 Kernel support for Intel IPW2200
579 Includes:
580 - ipw2200
581endef
582
583
584define 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)
590endef
591
592define KernelPackage/net-hermes/description
593 Kernel support for Hermes 802.11b chipsets
594endef
595
596define 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)
602endef
603
604define KernelPackage/net-hermes-pci/description
605 Kernel modules for Intersil Prism 2.5 PCI support
606endef
607
608define 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)
614endef
615
616define KernelPackage/net-hermes-plx/description
617 Kernel modules for Hermes in PLX9052 based PCI adaptors
618endef
619
620define 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)
626endef
627
628define KernelPackage/net-hermes-pcmcia/description
629 Kernel modules for Hermes based PCMCIA adaptors
630endef
631
632define 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
639endef
640
641define KernelPackage/iwlagn/description
642 iwlagn kernel module for Intel 5000/5150/1000/6000/6050/6005/6030/100 support
643endef
644
645define 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
706endef
707
708define 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)
714endef
715
716define KernelPackage/iwl-legacy/description
717 iwl-legacy kernel module for legacy Intel wireless support
718endef
719
720define 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)
726endef
727
728define KernelPackage/iwl3945/description
729 iwl3945 kernel module for Intel 3945 support
730endef
731
732define 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)
738endef
739
740define KernelPackage/iwl4965/description
741 iwl4965 kernel module for Intel 4965 support
742endef
743
744
745define 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)
752endef
753
754define KernelPackage/mwl8k/description
755 Kernel modules for Marvell TOPDOG 802.11 Wireless cards
756endef
757
758
759define 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/wl12xx/wl12xx.ko \
766    $(PKG_BUILD_DIR)/drivers/net/wireless/wl12xx/wl12xx_sdio.ko
767  AUTOLOAD:=$(call AutoLoad,61,wl12xx wl12xx_sdio)
768endef
769
770define KernelPackage/wl12xx/description
771 Kernel modules for TI WL12xx
772endef
773
774#Broadcom firmware
775ifneq ($(CONFIG_B43_FW_5_10),)
776  PKG_B43_FWV4_NAME:=broadcom-wl
777  PKG_B43_FWV4_VERSION:=5.10.56.27.3
778  PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta/wl_prebuilt.o
779  PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)_mipsel.tar.bz2
780  PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
781  PKG_B43_FWV4_MD5SUM:=3363e3a6b3d9d73c49dea870c7834eac
782else
783ifneq ($(CONFIG_B43_FW_4_178),)
784  PKG_B43_FWV4_NAME:=broadcom-wl
785  PKG_B43_FWV4_VERSION:=4.178.10.4
786  PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
787  PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
788  PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
789  PKG_B43_FWV4_MD5SUM:=14477e8cbbb91b11896affac9b219fdb
790else
791ifneq ($(CONFIG_B43_FW_5_100_138),)
792  PKG_B43_FWV4_NAME:=broadcom-wl
793  PKG_B43_FWV4_VERSION:=5.100.138
794  PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
795  PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
796  PKG_B43_FWV4_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
797  PKG_B43_FWV4_MD5SUM:=f4e357b09eaf5d8b1f1920cf3493a555
798else
799  PKG_B43_FWV4_NAME:=broadcom-wl
800  PKG_B43_FWV4_VERSION:=4.150.10.5
801  PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
802  PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
803  PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
804  PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
805endif
806endif
807endif
808ifneq ($(CONFIG_B43_OPENFIRMWARE),)
809  PKG_B43_FWV4_NAME:=broadcom-wl
810  PKG_B43_FWV4_VERSION:=5.2
811  PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
812  PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
813  PKG_B43_FWV4_SOURCE_URL:=http://www.ing.unibs.it/openfwwf/firmware/
814  PKG_B43_FWV4_MD5SUM:=e045a135453274e439ae183f8498b0fa
815endif
816
817
818PKG_B43_FWV3_NAME:=wl_apsta
819PKG_B43_FWV3_VERSION:=3.130.20.0
820PKG_B43_FWV3_SOURCE:=$(PKG_B43_FWV3_NAME)-$(PKG_B43_FWV3_VERSION).o
821PKG_B43_FWV3_SOURCE_URL:=http://downloads.openwrt.org/sources/
822PKG_B43_FWV3_MD5SUM:=e08665c5c5b66beb9c3b2dd54aa80cb3
823
824ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
825  PKG_B43_FWCUTTER_NAME:=b43-fwcutter
826  PKG_B43_FWCUTTER_VERSION:=3e69531aa65b8f664a0ab00dfc3e2eefeb0cb417
827  PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
828  PKG_B43_FWCUTTER_PROTO:=git
829  PKG_B43_FWCUTTER_SOURCE_URL:=http://git.bu3sch.de/git/b43-tools.git
830  PKG_B43_FWCUTTER_SUBDIR:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)
831  PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/fwcutter/
832else
833  PKG_B43_FWCUTTER_NAME:=b43-fwcutter
834  PKG_B43_FWCUTTER_VERSION:=015
835  PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
836  PKG_B43_FWCUTTER_PROTO:=default
837  PKG_B43_FWCUTTER_SOURCE_URL:=http://bu3sch.de/b43/fwcutter/
838  PKG_B43_FWCUTTER_MD5SUM:=628e030565222a107bc40300313cbe76
839  PKG_B43_FWCUTTER_SUBDIR:=b43-fwcutter-$(PKG_B43_FWCUTTER_VERSION)
840  PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/
841endif
842
843define Download/b43-common
844  FILE:=$(PKG_B43_FWCUTTER_SOURCE)
845  URL:=$(PKG_B43_FWCUTTER_SOURCE_URL)
846  MD5SUM:=$(PKG_B43_FWCUTTER_MD5SUM)
847  PROTO:=$(PKG_B43_FWCUTTER_PROTO)
848  VERSION:=$(PKG_B43_FWCUTTER_VERSION)
849  SUBDIR:=$(PKG_B43_FWCUTTER_SUBDIR)
850endef
851$(eval $(call Download,b43-common))
852
853define Download/b43
854  FILE:=$(PKG_B43_FWV4_SOURCE)
855  URL:=$(PKG_B43_FWV4_SOURCE_URL)
856  MD5SUM:=$(PKG_B43_FWV4_MD5SUM)
857endef
858$(eval $(call Download,b43))
859
860define Download/b43legacy
861  FILE:=$(PKG_B43_FWV3_SOURCE)
862  URL:=$(PKG_B43_FWV3_SOURCE_URL)
863  MD5SUM:=$(PKG_B43_FWV3_MD5SUM)
864endef
865$(eval $(call Download,b43legacy))
866
867define KernelPackage/b43-common
868  $(call KernelPackage/mac80211/Default)
869  TITLE:=Generic stuff for Broadcom wireless devices
870  URL:=http://linuxwireless.org/en/users/Drivers/b43
871  KCONFIG:= \
872      CONFIG_HW_RANDOM=y
873  DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
874endef
875
876define KernelPackage/b43
877$(call KernelPackage/b43-common)
878  DEPENDS+= +@DRIVER_11N_SUPPORT +!TARGET_brcm47xx:kmod-bcma
879  TITLE:=Broadcom 43xx wireless support
880  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.ko
881  AUTOLOAD:=$(call AutoLoad,30,b43)
882  MENU:=1
883endef
884
885define KernelPackage/b43/config
886    menu "Configuration"
887        depends on PACKAGE_kmod-b43
888
889    choice
890        prompt "b43 firmware version"
891        default B43_FW_5_100_138
892        help
893          This option allows you to select the version of the b43 firmware.
894
895    config B43_FW_4_150
896        bool "Firmware 410.2160 from driver 4.150.10.5 (old stable)"
897        help
898          Stable firmware for BCM43xx devices.
899
900          If unsure, select this.
901
902    config B43_FW_4_178
903        bool "Firmware 478.104 from driver 4.178.10.4"
904        help
905          Experimental firmware for BCM43xx devices.
906
907          This firmware is not tested as much as the "stable" firmware.
908
909          If unsure, select the "stable" firmware.
910
911    config B43_FW_5_10
912        bool "Firmware 508.1084 from driver 5.10.56.27"
913        help
914          Newer experimental firmware for BCM43xx devices.
915
916          This firmware is mostly untested. It is needed for some N-PHY devices.
917
918          If unsure, select the "stable" firmware.
919   
920    config B43_FW_5_100_138
921        bool "Firmware 666.2 from driver 5.100.138 (stable)"
922        help
923          Newer experimental firmware for BCM43xx devices.
924
925          This firmware is mostly untested. It is needed for some N-PHY devices.
926
927          If unsure, select the "stable" firmware.
928
929    config B43_OPENFIRMWARE
930        bool "Open FirmWare for WiFi networks"
931        help
932          Opensource firmware for BCM43xx devices.
933
934          Do _not_ select this, unless you know what you are doing.
935          The Opensource firmware is not suitable for embedded devices, yet.
936          It does not support QoS, which is bad for AccessPoints.
937          It does not support hardware crypto acceleration, which is a showstopper
938          for embedded devices with low CPU resources.
939
940          If unsure, select the "stable" firmware.
941
942    endchoice
943
944    config B43_FW_SQUASH
945        bool "Remove unnecessary firmware files"
946        depends on !B43_OPENFIRMWARE
947        default y
948        help
949          This options allows you to remove unnecessary b43 firmware files
950          from the final rootfs image. This can reduce the rootfs size by
951          up to 200k.
952
953          If unsure, say Y.
954
955    config B43_FW_SQUASH_COREREVS
956        string "Core revisions to include"
957        depends on B43_FW_SQUASH
958        default "5,6,7,8,9,10,11,13,14,15,16"
959        help
960          This is a comma seperated list of core revision numbers.
961
962          Example (keep files for rev5 only):
963            5
964
965          Example (keep files for rev5 and rev11):
966            5,11
967
968    config B43_FW_SQUASH_PHYTYPES
969        string "PHY types to include"
970        depends on B43_FW_SQUASH
971        default "G,LP,N"
972        help
973          This is a comma seperated list of PHY types:
974            A => A-PHY
975            AG => Dual A-PHY G-PHY
976            G => G-PHY
977            LP => LP-PHY
978            N => N-PHY
979
980          Example (keep files for G-PHY only):
981            G
982
983          Example (keep files for G-PHY and N-PHY):
984            G,N
985
986    config PACKAGE_B43_DEBUG
987        bool "Enable debug output and debugfs for b43"
988        default n
989        help
990          Enable additional debug output and runtime sanity checks for b43
991          and enables the debugfs interface.
992
993          If unsure, say N.
994
995    config PACKAGE_B43_PIO
996        bool "Enable support for PIO transfer mode"
997        default n
998        help
999          Enable support for using PIO instead of DMA. Unless you have DMA
1000          transfer problems you don't need this.
1001
1002          If unsure, say N.
1003
1004    config PACKAGE_B43_PHY_N
1005        bool "Enable support for N-PHYs"
1006        default y
1007        help
1008          Enable support for BCM4321 and BCM4322.
1009
1010          Currently only 11g speed is available.
1011
1012          If unsure, say Y.
1013
1014    config PACKAGE_B43_PHY_HT
1015        bool "Enable support for HT-PHYs"
1016        default n
1017        help
1018          Currently broken.
1019
1020          If unsure, say N.
1021
1022    config PACKAGE_B43_PHY_LCN
1023        bool "Enable support for LCN-PHYs"
1024        depends on BROKEN
1025        default n
1026        help
1027          Currently broken.
1028
1029          If unsure, say N.
1030
1031    endmenu
1032endef
1033
1034define KernelPackage/b43/description
1035Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
1036endef
1037
1038define KernelPackage/b43legacy
1039$(call KernelPackage/b43-common)
1040  TITLE:=Broadcom 43xx-legacy wireless support
1041  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43legacy/b43legacy.ko
1042  AUTOLOAD:=$(call AutoLoad,30,b43legacy)
1043  MENU:=1
1044endef
1045
1046define KernelPackage/b43legacy/config
1047    menu "Configuration"
1048        depends on PACKAGE_kmod-b43legacy
1049
1050    config B43LEGACY_FW_SQUASH
1051        bool "Remove unnecessary firmware files"
1052        default y
1053        help
1054          This options allows you to remove unnecessary b43legacy firmware files
1055          from the final rootfs image. This can reduce the rootfs size by
1056          up to 50k.
1057
1058          If unsure, say Y.
1059
1060    config B43LEGACY_FW_SQUASH_COREREVS
1061        string "Core revisions to include"
1062        depends on B43LEGACY_FW_SQUASH
1063        default "1,2,3,4"
1064        help
1065          This is a comma seperated list of core revision numbers.
1066
1067          Example (keep files for rev4 only):
1068            4
1069
1070          Example (keep files for rev2 and rev4):
1071            2,4
1072
1073    endmenu
1074endef
1075
1076define KernelPackage/b43legacy/description
1077Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
1078endef
1079
1080define KernelPackage/brcmsmac
1081  $(call KernelPackage/mac80211/Default)
1082  TITLE:=Broadcom IEEE802.11n PCIe SoftMAC WLAN driver
1083  URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
1084  DEPENDS+= +@DRIVER_11N_SUPPORT +!TARGET_brcm47xx:kmod-bcma +kmod-lib-cordic +kmod-lib-crc8
1085  FILES:= \
1086    $(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.ko \
1087    $(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmutil/brcmutil.ko
1088  AUTOLOAD:=$(call AutoLoad,30,brcmutil brcmsmac)
1089  MENU:=1
1090endef
1091
1092define KernelPackage/brcmsmac/description
1093 Kernel modules for Broadcom IEEE802.11n PCIe Wireless cards
1094endef
1095
1096define KernelPackage/brcmsmac/config
1097    menu "Configuration"
1098        depends on PACKAGE_kmod-brcmsmac
1099
1100    config PACKAGE_BRCM80211_DEBUG
1101        bool "brcmsmac wireless debugging"
1102        help
1103          Say Y, if you want to debug brcmsmac wireless driver.
1104
1105    endmenu
1106endef
1107
1108BUILDFLAGS:= \
1109    -I$(PKG_BUILD_DIR)/include \
1110    $(foreach opt,$(CONFOPTS),-DCONFIG_$(opt)) \
1111    $(if $(CONFIG_PCI),-DCONFIG_B43_PCI_AUTOSELECT -DCONFIG_B43_PCICORE_AUTOSELECT) \
1112    $(if $(CONFIG_LEDS_TRIGGERS), -DCONFIG_MAC80211_LEDS -DCONFIG_LEDS_TRIGGERS -DCONFIG_B43_LEDS -DCONFIG_B43LEGACY_LEDS) \
1113    -DCONFIG_B43_HWRNG -DCONFIG_B43LEGACY_HWRNG \
1114    $(if $(CONFIG_PCI),-DCONFIG_ATH9K_PCI) \
1115    $(if $(CONFIG_TARGET_ar71xx),-DCONFIG_ATH9K_AHB) \
1116    $(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS), -DCONFIG_CFG80211_DEBUGFS -DCONFIG_MAC80211_DEBUGFS -DCONFIG_ATH9K_DEBUGFS -DCONFIG_CARL9170_DEBUGFS -DCONFIG_ATH9K_HTC_DEBUGFS -DCONFIG_ATH5K_DEBUG) \
1117    $(if $(CONFIG_PACKAGE_MAC80211_MESH),-DCONFIG_MAC80211_MESH) \
1118    $(if $(CONFIG_PACKAGE_ATH_DEBUG),-DCONFIG_ATH_DEBUG -DCONFIG_ATH9K_PKTLOG) \
1119    -D__CONFIG_MAC80211_RC_DEFAULT=minstrel \
1120    -DCONFIG_MAC80211_RC_MINSTREL_HT \
1121    $(if $(CONFIG_ATH_USER_REGD),-DATH_USER_REGD=1) \
1122    $(if $(CONFIG_PACKAGE_B43_DEBUG),-DCONFIG_B43_DEBUG) \
1123    $(if $(CONFIG_PACKAGE_B43_PIO),-DCONFIG_B43_PIO) \
1124    $(if $(CONFIG_PACKAGE_B43_PIO),-DCONFIG_B43_BCMA_PIO) \
1125    $(if $(CONFIG_PACKAGE_B43_PHY_N),-DCONFIG_B43_PHY_N) \
1126    $(if $(CONFIG_PACKAGE_B43_PHY_HT),-DCONFIG_B43_PHY_HT) \
1127    $(if $(CONFIG_PACKAGE_B43_PHY_LCN),-DCONFIG_B43_PHY_LCN) \
1128    -DCONFIG_B43_BCMA -DCONFIG_B43_BCMA_EXTRA \
1129    -DCONFIG_B43_SSB \
1130    $(if $(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS),-DCONFIG_RT2X00_LIB_DEBUGFS) \
1131    $(if $(CONFIG_PACKAGE_RT2X00_DEBUG),-DCONFIG_RT2X00_DEBUG) \
1132    $(if $(NEED_RT2X00_LIB_HT),-DCONFIG_RT2X00_LIB_HT) \
1133    $(if $(NEED_RT2X00_LIB_CRYPTO),-DCONFIG_RT2X00_LIB_CRYPTO) \
1134    $(if $(NEED_RT2X00_LIB_FIRMWARE),-DCONFIG_RT2X00_LIB_FIRMWARE) \
1135    $(if $(NEED_RT2X00_LIB_EEPROM),-DCONFIG_RT2X00_LIB_EEPROM) \
1136    $(if $(NEED_RT2X00_LIB_LEDS),-DCONFIG_RT2X00_LIB_LEDS) \
1137    $(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),-DCONFIG_RT2X00_LIB_PCI) \
1138    $(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),-DCONFIG_RT2X00_LIB_USB) \
1139    $(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),-DCONFIG_RT2800USB_RT53XX) \
1140    $(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),-DCONFIG_RT2X00_LIB_SOC) \
1141    $(if $(CONFIG_TARGET_atheros),-DCONFIG_ATH5K_AHB,-DCONFIG_ATH5K_PCI) \
1142    $(if $(CONFIG_PACKAGE_kmod-iwl3945),-DCONFIG_IWL3945) \
1143    $(if $(CONFIG_PACKAGE_kmod-iwl4965),-DCONFIG_COMPAT_IWL4965) \
1144    $(if $(CONFIG_PACKAGE_kmod-wl12xx),-DCONFIG_WL12XX -DCONFIG_COMPAT_WL12XX_SDIO) \
1145    $(if $(CONFIG_PACKAGE_BRCM80211_DEBUG),-DCONFIG_BRCMDBG)
1146
1147MAKE_OPTS:= \
1148    CROSS_COMPILE="$(KERNEL_CROSS)" \
1149    ARCH="$(LINUX_KARCH)" \
1150    EXTRA_CFLAGS="$(BUILDFLAGS)" \
1151    $(foreach opt,$(CONFOPTS),CONFIG_$(opt)=m) \
1152    CONFIG_CFG80211=$(if $(CONFIG_PACKAGE_kmod-cfg80211),m) \
1153    CONFIG_MAC80211=$(if $(CONFIG_PACKAGE_kmod-mac80211),m) \
1154    CONFIG_MAC80211_RC_MINSTREL=y \
1155    CONFIG_MAC80211_MESH=$(CONFIG_PACKAGE_MAC80211_MESH) \
1156    CONFIG_MAC80211_LEDS=$(CONFIG_LEDS_TRIGGERS) \
1157    CONFIG_CFG80211_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1158    CONFIG_MAC80211_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1159    CONFIG_B43_PCMCIA=n CONFIG_B43_PIO=n \
1160    CONFIG_B43_PCI_AUTOSELECT=$(if $(CONFIG_PCI),y) \
1161    CONFIG_B43_PCICORE_AUTOSELECT=$(if $(CONFIG_PCI),y) \
1162    CONFIG_B43LEGACY_LEDS=$(CONFIG_LEDS_TRIGGERS) \
1163    CONFIG_B43_LEDS=$(CONFIG_LEDS_TRIGGERS) \
1164    CONFIG_B43_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
1165    CONFIG_B43LEGACY_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
1166    CONFIG_B43=$(if $(CONFIG_PACKAGE_kmod-b43),m) \
1167    CONFIG_B43LEGACY=$(if $(CONFIG_PACKAGE_kmod-b43legacy),m) \
1168    CONFIG_B43_DEBUG=$(if $(CONFIG_PACKAGE_B43_DEBUG),y) \
1169    CONFIG_B43_PIO=$(if $(CONFIG_PACKAGE_B43_PIO),y) \
1170    CONFIG_B43_BCMA_PIO=$(if $(CONFIG_PACKAGE_B43_PIO),y) \
1171    CONFIG_B43_PHY_N=$(if $(CONFIG_PACKAGE_B43_PHY_N),y) \
1172    CONFIG_B43_PHY_HT=$(if $(CONFIG_PACKAGE_B43_PHY_HT),y) \
1173    CONFIG_B43_PHY_LCN=$(if $(CONFIG_PACKAGE_B43_PHY_LCN),y) \
1174    CONFIG_B43_BCMA=y \
1175    CONFIG_B43_SSB=y \
1176    CONFIG_ATH_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath),m) \
1177    CONFIG_ATH_DEBUG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
1178    CONFIG_ATH9K_PKTLOG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
1179    CONFIG_ATH5K=$(if $(CONFIG_PACKAGE_kmod-ath5k),m) \
1180    CONFIG_ATH5K_PCI=$(if $(CONFIG_TARGET_atheros),,y) \
1181    CONFIG_ATH5K_AHB=$(if $(CONFIG_TARGET_atheros),y) \
1182    CONFIG_ATH5K_DEBUG=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1183    CONFIG_ATH9K=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \
1184    CONFIG_ATH9K_PCI=$(CONFIG_PCI) \
1185    CONFIG_ATH9K_AHB=$(if $(CONFIG_TARGET_ar71xx),y) \
1186    CONFIG_ATH9K_HTC=$(if $(CONFIG_PACKAGE_kmod-ath9k-htc),m) \
1187    CONFIG_ATH9K_HTC_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1188    CONFIG_ATH9K_HW=$(if $(CONFIG_PACKAGE_kmod-ath9k-common),m) \
1189    CONFIG_ATH9K_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath9k-common),m) \
1190    CONFIG_ATH9K_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1191    CONFIG_CARL9170=$(if $(CONFIG_PACKAGE_kmod-carl9170),m) \
1192    CONFIG_CARL9170_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
1193    CONFIG_COMPAT_ZD1211RW=$(if $(CONFIG_PACKAGE_kmod-zd1211rw),m) \
1194    CONFIG_P54_COMMON=$(if $(CONFIG_PACKAGE_kmod-p54-common),m) \
1195    CONFIG_P54_PCI=$(if $(CONFIG_PACKAGE_kmod-p54-pci),m) \
1196    CONFIG_P54_USB=$(if $(CONFIG_PACKAGE_kmod-p54-usb),m) \
1197    CONFIG_P54_SPI=$(if $(CONFIG_PACKAGE_kmod-p54-spi),m) \
1198    CONFIG_P54_SPI_DEFAULT_EEPROM=n \
1199    CONFIG_RT2X00=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
1200    CONFIG_RT2X00_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
1201    CONFIG_RT2X00_LIB_PCI=$(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),m) \
1202    CONFIG_RT2X00_LIB_USB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),m) \
1203    CONFIG_RT2X00_LIB_SOC=$(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),m) \
1204    CONFIG_RT2X00_LIB_DEBUGFS=$(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS) \
1205    CONFIG_RT2X00_LIB_CRYPTO=$(NEED_RT2X00_LIB_CRYPTO) \
1206    CONFIG_RT2X00_LIB_FIRMWARE=$(NEED_RT2X00_LIB_FIRMWARE) \
1207    CONFIG_RT2X00_LIB_EEPROM=$(NEED_RT2X00_LIB_EEPROM) \
1208    CONFIG_RT2X00_LIB_HT=$(NEED_RT2X00_LIB_HT) \
1209    CONFIG_RT2X00_LIB_LEDS=$(NEED_RT2X00_LIB_LEDS) \
1210    CONFIG_RT2400PCI=$(if $(CONFIG_PACKAGE_kmod-rt2400-pci),m) \
1211    CONFIG_RT2500PCI=$(if $(CONFIG_PACKAGE_kmod-rt2500-pci),m) \
1212    CONFIG_RT2500USB=$(if $(CONFIG_PACKAGE_kmod-rt2500-usb),m) \
1213    CONFIG_RT61PCI=$(if $(CONFIG_PACKAGE_kmod-rt61-pci),m) \
1214    CONFIG_RT73USB=$(if $(CONFIG_PACKAGE_kmod-rt73-usb),m) \
1215    CONFIG_RT2800_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2800-lib),m) \
1216    CONFIG_RT2800PCI=$(if $(CONFIG_PACKAGE_kmod-rt2800-pci),m) \
1217    CONFIG_RT2800USB=$(if $(CONFIG_PACKAGE_kmod-rt2800-usb),m) \
1218    CONFIG_RTL8180=$(if $(CONFIG_PACKAGE_kmod-rtl8180),m) \
1219    CONFIG_RTL8187=$(if $(CONFIG_PACKAGE_kmod-rtl8187),m) \
1220    CONFIG_RTL8192CE= \
1221    CONFIG_RTLWIFI= \
1222    CONFIG_MAC80211_HWSIM=$(if $(CONFIG_PACKAGE_kmod-mac80211-hwsim),m) \
1223    CONFIG_PCMCIA= \
1224    CONFIG_LIBIPW=$(if $(CONFIG_PACKAGE_kmod-net-libipw),m) \
1225    CONFIG_LIBERTAS=$(if $(CONFIG_PACKAGE_kmod-libertas-sd)$(CONFIG_PACKAGE_kmod-libertas-usb),m) \
1226    CONFIG_LIBERTAS_CS= \
1227    CONFIG_LIBERTAS_SPI= \
1228    CONFIG_COMPAT_LIBERTAS_SDIO=$(if $(CONFIG_PACKAGE_kmod-libertas-sd),m) \
1229    CONFIG_LIBERTAS_THINFIRM= \
1230    CONFIG_LIBERTAS_USB=$(if $(CONFIG_PACKAGE_kmod-libertas-usb),m) \
1231    CONFIG_IPW2100=$(if $(CONFIG_PACKAGE_kmod-net-ipw2100),m) \
1232    CONFIG_IPW2200=$(if $(CONFIG_PACKAGE_kmod-net-ipw2200),m) \
1233    CONFIG_NL80211=y \
1234    CONFIG_LIB80211=$(if $(CONFIG_PACKAGE_kmod-lib80211),m) \
1235    CONFIG_LIB80211_CRYPT_WEP=$(if $(CONFIG_PACKAGE_kmod-lib80211),m) \
1236    CONFIG_LIB80211_CRYPT_CCMP=$(if $(CONFIG_PACKAGE_kmod-lib80211),m) \
1237    CONFIG_LIB80211_CRYPT_TKIP=$(if $(CONFIG_PACKAGE_kmod-lib80211),m) \
1238    CONFIG_IWLWIFI=$(if $(CONFIG_PACKAGE_kmod-iwlagn),m) \
1239    CONFIG_IWLEGACY=$(if $(CONFIG_PACKAGE_kmod-iwl-legacy),m) \
1240    CONFIG_COMPAT_IWL4965=$(if $(CONFIG_PACKAGE_kmod-iwl4965),m) \
1241    CONFIG_IWL3945=$(if $(CONFIG_PACKAGE_kmod-iwl3945),m) \
1242    CONFIG_MWL8K=$(if $(CONFIG_PACKAGE_kmod-mwl8k),m) \
1243    CONFIG_ATMEL= \
1244    CONFIG_PCMCIA_ATMEL= \
1245    CONFIG_ADM8211= \
1246    CONFIG_USB_NET_RNDIS_HOST= \
1247    CONFIG_USB_NET_RNDIS_WLAN= \
1248    CONFIG_USB_NET_CDCETHER= \
1249    CONFIG_USB_USBNET= \
1250    CONFIG_AT76C50X_USB= \
1251    CONFIG_WL12XX=$(if $(CONFIG_PACKAGE_kmod-wl12xx),m) \
1252    CONFIG_COMPAT_WL12XX_SDIO=$(if $(CONFIG_PACKAGE_kmod-wl12xx),m) \
1253    CONFIG_EEPROM_93CX6= \
1254    CONFIG_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes),m) \
1255    CONFIG_HERMES_CACHE_FW_ON_INIT= \
1256    CONFIG_PCI_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-pci),m) \
1257    CONFIG_PLX_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-plx),m) \
1258    CONFIG_PCMCIA_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes-pcmcia),m) \
1259    CONFIG_HERMES_PRISM= \
1260    CONFIG_APPLE_AIRPORT= \
1261    CONFIG_TMD_HERMES= \
1262    CONFIG_NORTEL_HERMES= \
1263    CONFIG_PCMCIA_SPECTRUM= \
1264    CONFIG_ORINOCO_USB= \
1265    CONFIG_IWM= \
1266    CONFIG_MWIFIEX= \
1267    CONFIG_ATH6KL= \
1268    CONFIG_MAC80211_RC_MINSTREL_HT=y \
1269    MADWIFI= \
1270    CONFIG_B44= \
1271    CONFIG_ATL1= \
1272    CONFIG_ATL2= \
1273    CONFIG_ATL1E= \
1274    CONFIG_ATL1C= \
1275    CONFIG_BRCMFMAC= \
1276    CONFIG_BRCMUTIL=$(if $(CONFIG_PACKAGE_kmod-brcmsmac),m) \
1277    CONFIG_BRCMSMAC=$(if $(CONFIG_PACKAGE_kmod-brcmsmac),m) \
1278    CONFIG_BRCMDBG=$(if $(CONFIG_PACKAGE_BRCM80211_DEBUG),y) \
1279    KLIB_BUILD="$(LINUX_DIR)" \
1280    MODPROBE=true \
1281    KLIB=$(TARGET_MODULES_DIR) \
1282    KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER))) \
1283    KBUILD_LDFLAGS_MODULE_PREREQ=
1284
1285ifeq ($(CONFIG_PACKAGE_kmod-libertas-sd)$(CONFIG_PACKAGE_kmod-libertas-usb)$(CONFIG_PACKAGE_kmod-rt2x00-lib),)
1286  MAKE_OPTS += CONFIG_COMPAT_KFIFO=
1287endif
1288
1289define Build/Prepare
1290    rm -rf $(PKG_BUILD_DIR)
1291    mkdir -p $(PKG_BUILD_DIR)
1292    $(PKG_UNPACK)
1293    $(Build/Patch)
1294    $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
1295    $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
1296    $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
1297    $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(PKG_LINUX_FIRMWARE_SOURCE)
1298    rm -rf $(PKG_BUILD_DIR)/include/linux/ssb
1299    rm -rf $(PKG_BUILD_DIR)/include/linux/bcma
1300    rm -f $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h
1301    rm -f $(PKG_BUILD_DIR)/include/net/ieee80211.h
1302endef
1303
1304ifneq ($(CONFIG_PACKAGE_kmod-cfg80211)$(CONFIG_PACKAGE_kmod-lib80211),)
1305 define Build/Compile/kmod
1306    rm -rf $(PKG_BUILD_DIR)/modules
1307    $(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" $(MAKE_OPTS) modules
1308 endef
1309endif
1310
1311define Build/Compile
1312    $(call Build/Compile/kmod)
1313endef
1314
1315define Build/InstallDev
1316    mkdir -p \
1317        $(1)/usr/include/mac80211 \
1318        $(1)/usr/include/mac80211/ath \
1319        $(1)/usr/include/net/mac80211
1320    $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
1321    $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
1322    $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
1323endef
1324
1325define KernelPackage/libertas-usb/install
1326    $(INSTALL_DIR) $(1)/lib/firmware
1327    $(INSTALL_DATA) \
1328        $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8388_v9.bin \
1329        $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8388_v5.bin \
1330        $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/usb8682.bin \
1331        $(1)/lib/firmware/
1332endef
1333
1334define KernelPackage/libertas-sd/install
1335    $(INSTALL_DIR) $(1)/lib/firmware/libertas
1336    $(INSTALL_DATA) \
1337        $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8385_helper.bin \
1338        $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8385.bin \
1339        $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v9_helper.bin \
1340        $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v9.bin \
1341        $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v8_helper.bin \
1342        $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8686_v8.bin \
1343        $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8688_helper.bin \
1344        $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/libertas/sd8688.bin \
1345        $(1)/lib/firmware/libertas
1346endef
1347
1348define KernelPackage/cfg80211/install
1349    $(INSTALL_DIR) $(1)/lib/wifi
1350    $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
1351endef
1352
1353define KernelPackage/p54-pci/install
1354    $(INSTALL_DIR) $(1)/lib/firmware
1355    $(INSTALL_DATA) $(DL_DIR)/$(P54PCIFW) $(1)/lib/firmware/isl3886pci
1356endef
1357
1358define KernelPackage/p54-usb/install
1359    $(INSTALL_DIR) $(1)/lib/firmware
1360    $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3887usb
1361endef
1362
1363define KernelPackage/p54-spi/install
1364    $(INSTALL_DIR) $(1)/lib/firmware
1365    $(INSTALL_DATA) $(DL_DIR)/$(P54SPIFW) $(1)/lib/firmware/3826.arm
1366endef
1367
1368define KernelPackage/rt61-pci/install
1369    $(INSTALL_DIR) $(1)/lib/firmware
1370    $(INSTALL_DATA) \
1371        $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2561.bin \
1372        $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2561s.bin \
1373        $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2661.bin \
1374        $(1)/lib/firmware/
1375endef
1376
1377define KernelPackage/rt73-usb/install
1378    $(INSTALL_DIR) $(1)/lib/firmware
1379    $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt73.bin $(1)/lib/firmware/
1380endef
1381
1382define KernelPackage/rt2800-pci/install
1383    $(INSTALL_DIR) $(1)/lib/firmware
1384    $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2860.bin $(1)/lib/firmware/
1385endef
1386
1387define KernelPackage/rt2800-usb/install
1388    $(INSTALL_DIR) $(1)/lib/firmware
1389    $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2870.bin $(1)/lib/firmware/
1390endef
1391
1392define KernelPackage/wl12xx/install
1393    $(INSTALL_DIR) $(1)/lib/firmware/ti-connectivity
1394    $(INSTALL_DATA) \
1395        $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-3.bin \
1396        $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-plt-3.bin \
1397        $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-nvs.bin \
1398        $(1)/lib/firmware/ti-connectivity
1399endef
1400
1401
1402define KernelPackage/zd1211rw/install
1403    $(INSTALL_DIR) $(1)/lib/firmware/zd1211
1404    $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
1405endef
1406
1407define KernelPackage/ath9k-htc/install
1408    $(INSTALL_DIR) $(1)/lib/firmware
1409    $(INSTALL_DATA) \
1410        $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/htc_9271.fw \
1411        $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/htc_7010.fw \
1412        $(1)/lib/firmware/
1413endef
1414
1415define KernelPackage/mwl8k/install
1416    $(INSTALL_DIR) $(1)/lib/firmware/mwl8k
1417    $(INSTALL_DATA) \
1418        $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8366_ap-2.fw \
1419        $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8366.fw \
1420        $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/helper_8366.fw \
1421        $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8687.fw \
1422        $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/helper_8687.fw \
1423        $(1)/lib/firmware/mwl8k/
1424endef
1425
1426define KernelPackage/net-ipw2100/install
1427    $(INSTALL_DIR) $(1)/lib/firmware
1428    $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware
1429endef
1430
1431define KernelPackage/net-ipw2200/install
1432    $(INSTALL_DIR) $(1)/lib/firmware
1433    $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware
1434endef
1435
1436define KernelPackage/iwlagn/install
1437        $(INSTALL_DIR) $(1)/lib/firmware
1438ifneq ($(CONFIG_IWL5000_FW),)
1439    $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-5000-5.ucode $(1)/lib/firmware
1440endif
1441ifneq ($(CONFIG_IWL5150_FW),)
1442    $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-5150-2.ucode $(1)/lib/firmware
1443endif
1444ifneq ($(CONFIG_IWL1000_FW),)
1445    $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-1000-5.ucode $(1)/lib/firmware
1446endif
1447ifneq ($(CONFIG_IWL6000_FW),)
1448    $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000-4.ucode $(1)/lib/firmware
1449endif
1450ifneq ($(CONFIG_IWL6050_FW),)
1451    $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6050-5.ucode $(1)/lib/firmware
1452endif
1453ifneq ($(CONFIG_IWL6005_FW),)
1454    $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2a-5.ucode $(1)/lib/firmware
1455endif
1456ifneq ($(CONFIG_IWL6030_FW),)
1457    $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-6000g2b-5.ucode $(1)/lib/firmware
1458endif
1459ifneq ($(CONFIG_IWL100_FW),)
1460    $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-100-5.ucode $(1)/lib/firmware
1461endif
1462endef
1463
1464define KernelPackage/iwl3945/install
1465        $(INSTALL_DIR) $(1)/lib/firmware
1466    $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-3945-2.ucode $(1)/lib/firmware
1467endef
1468
1469define KernelPackage/iwl4965/install
1470        $(INSTALL_DIR) $(1)/lib/firmware
1471    $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/iwlwifi-4965-2.ucode $(1)/lib/firmware
1472endef
1473
1474define Build/b43-common
1475    tar xjf "$(DL_DIR)/$(PKG_B43_FWCUTTER_SOURCE)" -C "$(PKG_BUILD_DIR)"
1476    patch -p1 -d "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)" < ./files/b43-fwcutter-fw-dirname.patch
1477    $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)" \
1478        CFLAGS="-I$(STAGING_DIR_HOST)/include -include endian.h" \
1479        QUIET_SPARSE=:
1480    $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)/b43-fwcutter $(STAGING_DIR_HOST)/bin/
1481ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1482    $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin/
1483    $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/"
1484    $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm $(STAGING_DIR_HOST)/bin/
1485    $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm.bin $(STAGING_DIR_HOST)/bin/
1486endif
1487    $(INSTALL_BIN) ./files/host_bin/b43-fwsquash.py $(STAGING_DIR_HOST)/bin/
1488endef
1489
1490define KernelPackage/b43/install
1491    rm -rf $(1)/lib/firmware/
1492    $(call Build/b43-common)
1493ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1494    tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1495else
1496    tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
1497endif
1498    $(INSTALL_DIR) $(1)/lib/firmware/
1499ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
1500    $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
1501    $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
1502    $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
1503    $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
1504    $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
1505else
1506    b43-fwcutter -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
1507endif
1508ifneq ($(CONFIG_B43_FW_SQUASH),)
1509    b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
1510endif
1511endef
1512
1513define KernelPackage/b43legacy/install
1514    $(call Build/b43-common)
1515    $(INSTALL_DIR) $(1)/lib/firmware/
1516
1517    b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
1518ifneq ($(CONFIG_B43LEGACY_FW_SQUASH),)
1519    b43-fwsquash.py "G" "$(CONFIG_B43LEGACY_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43legacy"
1520endif
1521endef
1522
1523define KernelPackage/brcmsmac/install
1524    $(INSTALL_DIR) $(1)/lib/firmware/brcm
1525    $(INSTALL_DATA) \
1526        $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx-0.fw \
1527        $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx_hdr-0.fw \
1528        $(1)/lib/firmware/brcm/
1529endef
1530
1531$(eval $(call KernelPackage,ath5k))
1532$(eval $(call KernelPackage,lib80211))
1533$(eval $(call KernelPackage,libertas-usb))
1534$(eval $(call KernelPackage,libertas-sd))
1535$(eval $(call KernelPackage,cfg80211))
1536$(eval $(call KernelPackage,mac80211))
1537$(eval $(call KernelPackage,p54-common))
1538$(eval $(call KernelPackage,p54-pci))
1539$(eval $(call KernelPackage,p54-usb))
1540$(eval $(call KernelPackage,p54-spi))
1541$(eval $(call KernelPackage,rt2x00-lib))
1542$(eval $(call KernelPackage,rt2x00-pci))
1543$(eval $(call KernelPackage,rt2x00-usb))
1544$(eval $(call KernelPackage,rt2x00-soc))
1545$(eval $(call KernelPackage,rt2800-lib))
1546$(eval $(call KernelPackage,rt2400-pci))
1547$(eval $(call KernelPackage,rt2500-pci))
1548$(eval $(call KernelPackage,rt2500-usb))
1549$(eval $(call KernelPackage,rt61-pci))
1550$(eval $(call KernelPackage,rt73-usb))
1551$(eval $(call KernelPackage,rt2800-pci))
1552$(eval $(call KernelPackage,rt2800-usb))
1553$(eval $(call KernelPackage,rtl8180))
1554$(eval $(call KernelPackage,rtl8187))
1555$(eval $(call KernelPackage,zd1211rw))
1556$(eval $(call KernelPackage,mac80211-hwsim))
1557$(eval $(call KernelPackage,ath9k-common))
1558$(eval $(call KernelPackage,ath9k))
1559$(eval $(call KernelPackage,ath9k-htc))
1560$(eval $(call KernelPackage,ath))
1561$(eval $(call KernelPackage,carl9170))
1562$(eval $(call KernelPackage,b43))
1563$(eval $(call KernelPackage,b43legacy))
1564$(eval $(call KernelPackage,brcmsmac))
1565$(eval $(call KernelPackage,net-libipw))
1566$(eval $(call KernelPackage,net-ipw2100))
1567$(eval $(call KernelPackage,net-ipw2200))
1568$(eval $(call KernelPackage,iwlagn))
1569$(eval $(call KernelPackage,iwl-legacy))
1570$(eval $(call KernelPackage,iwl4965))
1571$(eval $(call KernelPackage,iwl3945))
1572$(eval $(call KernelPackage,mwl8k))
1573$(eval $(call KernelPackage,net-hermes))
1574$(eval $(call KernelPackage,net-hermes-pci))
1575$(eval $(call KernelPackage,net-hermes-plx))
1576$(eval $(call KernelPackage,net-hermes-pcmcia))
1577$(eval $(call KernelPackage,wl12xx))
1578

Archive Download this file



interactive