[package] mac80211: fix rt2x00-lib dependency on PCI/USB
[openwrt/svn-archive/archive.git] / package / mac80211 / Makefile
1 #
2 # Copyright (C) 2007-2009 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:=2009-12-05
14 PKG_RELEASE:=8
15 PKG_SOURCE_URL:= \
16 http://www.orbit-lab.org/kernel/compat-wireless-2.6/2009/12 \
17 http://wireless.kernel.org/download/compat-wireless-2.6
18 PKG_MD5SUM:=5b432e35626af4036ed55da75fff3fca
19
20 PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
21 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
22
23 PKG_CONFIG_DEPENDS:= \
24 CONFIG_PACKAGE_kmod-mac80211 \
25 CONFIG_PACKAGE_MAC80211_DEBUGFS \
26 CONFIG_PACKAGE_ATH_DEBUG \
27 CONFIG_ATH_USER_REGD \
28
29 include $(INCLUDE_DIR)/package.mk
30
31 WMENU:=Wireless Drivers
32
33 define KernelPackage/mac80211/Default
34 SUBMENU:=$(WMENU)
35 URL:=http://linuxwireless.org/
36 DEPENDS:=@LINUX_2_6 @!TARGET_avr32
37 endef
38
39 define KernelPackage/mac80211
40 $(call KernelPackage/mac80211/Default)
41 TITLE:=Linux 802.11 Wireless Networking Stack
42 DEPENDS+= +kmod-crypto-arc4 +kmod-crypto-aes +wireless-tools +iw @!LINUX_2_6_21 @!LINUX_2_6_25
43 FILES:= \
44 $(PKG_BUILD_DIR)/net/mac80211/mac80211.$(LINUX_KMOD_SUFFIX) \
45 $(PKG_BUILD_DIR)/net/wireless/cfg80211.$(LINUX_KMOD_SUFFIX)
46 AUTOLOAD:=$(call AutoLoad,20,cfg80211 mac80211)
47 endef
48
49 define KernelPackage/mac80211/config
50 source "$(SOURCE)/Config.in"
51 endef
52
53 define KernelPackage/mac80211/description
54 Linux 802.11 Wireless Networking Stack
55 endef
56
57 # Prism54 drivers
58 P54PCIFW:=2.13.12.0.arm
59 P54USBFW:=2.13.24.0.lm87.arm
60
61 define Download/p54usb
62 FILE:=$(P54USBFW)
63 URL:=http://daemonizer.de/prism54/prism54-fw/fw-usb
64 MD5SUM:=8e8ab005a4f8f0123bcdc51bc25b47f6
65 endef
66 $(eval $(call Download,p54usb))
67
68 define Download/p54pci
69 FILE:=$(P54PCIFW)
70 URL:=http://daemonizer.de/prism54/prism54-fw/fw-softmac
71 MD5SUM:=ff7536af2092b1c4b21315bd103ef4c4
72 endef
73 $(eval $(call Download,p54pci))
74
75 define KernelPackage/p54/Default
76 $(call KernelPackage/mac80211/Default)
77 TITLE:=Prism54 Drivers
78 endef
79
80 define KernelPackage/p54/description
81 Kernel module for Prism54 chipsets (mac80211)
82 endef
83
84 define KernelPackage/p54-common
85 $(call KernelPackage/p54/Default)
86 DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT +kmod-mac80211
87 TITLE+= (COMMON)
88 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54common.$(LINUX_KMOD_SUFFIX)
89 AUTOLOAD:=$(call AutoLoad,30,p54common)
90 endef
91
92 define KernelPackage/p54-pci
93 $(call KernelPackage/p54/Default)
94 TITLE+= (PCI)
95 DEPENDS+= @PCI_SUPPORT +kmod-p54-common
96 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54pci.$(LINUX_KMOD_SUFFIX)
97 AUTOLOAD:=$(call AutoLoad,31,p54pci)
98 endef
99
100 define KernelPackage/p54-usb
101 $(call KernelPackage/p54/Default)
102 TITLE+= (USB)
103 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common
104 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54usb.$(LINUX_KMOD_SUFFIX)
105 AUTOLOAD:=$(call AutoLoad,31,p54usb)
106 endef
107
108 # Ralink rt2x00 drivers
109 RT61FW:=RT61_Firmware_V1.2.zip
110 RT71FW:=RT71W_Firmware_V1.8.zip
111 RT2860FW:=RT2860_Firmware_V11.zip
112 RT2870FW:=RT2870_Firmware_V8.zip
113
114 define Download/rt61
115 FILE:=$(RT61FW)
116 URL:=http://www.ralinktech.com.tw/data/
117 MD5SUM:=d4c690c93b470bc9a681297c2adc6281
118 endef
119 $(eval $(call Download,rt61))
120
121 define Download/rt71w
122 FILE:=$(RT71FW)
123 URL:=http://www.ralinktech.com.tw/data/
124 MD5SUM:=1e7a5dc574e0268574fcda3fd5cf52f7
125 endef
126 $(eval $(call Download,rt71w))
127
128 define Download/rt2860
129 FILE:=$(RT2860FW)
130 URL:=http://www.ralinktech.com.tw/data/drivers
131 MD5SUM:=440a81756a52c53528f16faa41c40124
132 endef
133 $(eval $(call Download,rt2860))
134
135 define Download/rt2870
136 FILE:=$(RT2870FW)
137 URL:=http://www.ralinktech.com.tw/data/drivers
138 MD5SUM:=a7aae1d8cfd68e4d86a73000df0b6584
139 endef
140 $(eval $(call Download,rt2870))
141
142 AR9170FW:=ar9170.fw
143
144 define Download/ar9170
145 FILE:=$(AR9170FW)
146 URL:=http://www.kernel.org/pub/linux/kernel/people/mcgrof/firmware/ar9170
147 MD5SUM:=34feec4ec0eae3bb92c7c1ea2dfb4530
148 endef
149 $(eval $(call Download,ar9170))
150
151 define KernelPackage/rt2x00/Default
152 $(call KernelPackage/mac80211/Default)
153 TITLE:=Ralink Drivers for RT2x00 cards
154 endef
155
156 define KernelPackage/rt2x00-lib
157 $(call KernelPackage/rt2x00/Default)
158 DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT) +kmod-mac80211 +kmod-crc-itu-t
159 TITLE+= (LIB)
160 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00lib.$(LINUX_KMOD_SUFFIX)
161 AUTOLOAD:=$(call AutoLoad,25,blkcipher ecb arc4 rt2x00lib)
162 endef
163
164 define KernelPackage/rt2x00-pci
165 $(call KernelPackage/rt2x00/Default)
166 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-lib +kmod-eeprom-93cx6
167 TITLE+= (PCI)
168 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00pci.$(LINUX_KMOD_SUFFIX)
169 AUTOLOAD:=$(call AutoLoad,26,rt2x00pci)
170 endef
171
172 define KernelPackage/rt2x00-usb
173 $(call KernelPackage/rt2x00/Default)
174 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-lib +kmod-usb-core
175 TITLE+= (USB)
176 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00usb.$(LINUX_KMOD_SUFFIX)
177 AUTOLOAD:=$(call AutoLoad,26,rt2x00usb)
178 endef
179
180 define KernelPackage/rt2400-pci
181 $(call KernelPackage/rt2x00/Default)
182 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
183 TITLE+= (RT2400 PCI)
184 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2400pci.$(LINUX_KMOD_SUFFIX)
185 AUTOLOAD:=$(call AutoLoad,27,rt2400pci)
186 endef
187
188 define KernelPackage/rt2500-pci
189 $(call KernelPackage/rt2x00/Default)
190 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
191 TITLE+= (RT2500 PCI)
192 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500pci.$(LINUX_KMOD_SUFFIX)
193 AUTOLOAD:=$(call AutoLoad,27,rt2500pci)
194 endef
195
196 define KernelPackage/rt2500-usb
197 $(call KernelPackage/rt2x00/Default)
198 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
199 TITLE+= (RT2500 USB)
200 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500usb.$(LINUX_KMOD_SUFFIX)
201 AUTOLOAD:=$(call AutoLoad,27,rt2500usb)
202 endef
203
204 define KernelPackage/rt61-pci
205 $(call KernelPackage/rt2x00/Default)
206 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
207 TITLE+= (RT2x61 PCI)
208 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt61pci.$(LINUX_KMOD_SUFFIX)
209 AUTOLOAD:=$(call AutoLoad,27,rt61pci)
210 endef
211
212 define KernelPackage/rt73-usb
213 $(call KernelPackage/rt2x00/Default)
214 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
215 TITLE+= (RT73 USB)
216 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt73usb.$(LINUX_KMOD_SUFFIX)
217 AUTOLOAD:=$(call AutoLoad,27,rt73usb)
218 endef
219
220 define KernelPackage/rt2800-pci
221 $(call KernelPackage/rt2x00/Default)
222 DEPENDS+= +kmod-rt2x00-pci +kmod-crc-ccitt
223 TITLE+= (RT2860 PCI)
224 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800pci.$(LINUX_KMOD_SUFFIX)
225 AUTOLOAD:=$(call AutoLoad,27,rt2800pci)
226 endef
227
228 define KernelPackage/rt2800-usb
229 $(call KernelPackage/rt2x00/Default)
230 DEPENDS+= +kmod-rt2x00-usb +kmod-crc-ccitt
231 TITLE+= (RT2870 USB)
232 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800usb.$(LINUX_KMOD_SUFFIX)
233 AUTOLOAD:=$(call AutoLoad,27,rt2800usb)
234 endef
235
236 define KernelPackage/rtl818x/Default
237 $(call KernelPackage/mac80211/Default)
238 TITLE:=Realtek Drivers for RTL818x devices
239 URL:=http://wireless.kernel.org/en/users/Drivers/rtl8187
240 DEPENDS+= +kmod-eeprom-93cx6 +kmod-mac80211
241 endef
242
243 define KernelPackage/rtl8180
244 $(call KernelPackage/rtl818x/Default)
245 DEPENDS+= @PCI_SUPPORT
246 TITLE+= (RTL8180 PCI)
247 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8180.$(LINUX_KMOD_SUFFIX)
248 AUTOLOAD:=$(call AutoLoad,27,rtl8180)
249 endef
250
251 define KernelPackage/rtl8187
252 $(call KernelPackage/rtl818x/Default)
253 DEPENDS+= @USB_SUPPORT
254 TITLE+= (RTL8187 USB)
255 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8187.$(LINUX_KMOD_SUFFIX)
256 AUTOLOAD:=$(call AutoLoad,27,rtl8187)
257 endef
258
259 ZD1211FW_NAME:=zd1211-firmware
260 ZD1211FW_VERSION:=1.4
261 define Download/zd1211rw
262 FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
263 URL:=@SF/zd1211/
264 MD5SUM:=19f28781d76569af8551c9d11294c870
265 endef
266 $(eval $(call Download,zd1211rw))
267
268 define KernelPackage/zd1211rw
269 $(call KernelPackage/mac80211/Default)
270 TITLE:=Zydas ZD1211 support
271 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
272 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zd1211rw/zd1211rw.$(LINUX_KMOD_SUFFIX)
273 AUTOLOAD:=$(call AutoLoad,60,zd1211rw)
274 endef
275
276 define KernelPackage/ath/config
277
278 config ATH_USER_REGD
279 bool "Force Atheros drivers to respect the user's regdomain settings"
280 depends on PACKAGE_kmod-ath
281 help
282 Atheros' idea of regulatory handling is that the EEPROM of the card defines
283 the regulatory limits and the user is only allowed to restrict the settings
284 even further, even if the country allows frequencies or power levels that
285 are forbidden by the EEPROM settings.
286 Select this option if you want the driver to respect the user's decision about
287 regulatory settings.
288
289 config PACKAGE_ATH_DEBUG
290 bool "Atheros wireless debugging"
291 depends on PACKAGE_kmod-ath
292 help
293 Say Y, if you want to debug atheros wireless drivers.
294 Right now only ath9k makes use of this.
295 endef
296
297 define KernelPackage/ath
298 $(call KernelPackage/mac80211/Default)
299 TITLE:=Atheros common driver part
300 DEPENDS+= @PCI_SUPPORT +kmod-mac80211
301 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.$(LINUX_KMOD_SUFFIX)
302 AUTOLOAD:=$(call AutoLoad,26,ath)
303 endef
304
305 define KernelPackage/ath/description
306 This module contains some common parts needed by Atheros Wireless drivers.
307 endef
308
309 define KernelPackage/ath5k
310 $(call KernelPackage/mac80211/Default)
311 TITLE:=Atheros 5xxx wireless cards support
312 URL:=http://linuxwireless.org/en/users/Drivers/ath5k
313 DEPENDS+= +kmod-ath
314 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath5k/ath5k.$(LINUX_KMOD_SUFFIX)
315 AUTOLOAD:=$(call AutoLoad,27,ath5k)
316 endef
317
318 define KernelPackage/ath5k/description
319 This module adds support for wireless adapters based on
320 Atheros 5xxx chipset.
321 endef
322
323 define KernelPackage/ath9k
324 $(call KernelPackage/mac80211/Default)
325 TITLE:=Atheros 802.11n wireless cards support
326 URL:=http://linuxwireless.org/en/users/Drivers/ath9k
327 DEPENDS+= +kmod-ath
328 FILES:= \
329 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_common.$(LINUX_KMOD_SUFFIX) \
330 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.$(LINUX_KMOD_SUFFIX) \
331 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.$(LINUX_KMOD_SUFFIX)
332 AUTOLOAD:=$(call AutoLoad,27,ath9k_hw ath9k_common ath9k)
333 endef
334
335 define KernelPackage/ath9k/description
336 This module adds support for wireless adapters based on
337 Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
338 endef
339
340 define KernelPackage/ath9k/config
341 source "$(SOURCE)/Config.in.ath9k"
342 endef
343
344 USB8388FW_NAME:=usb8388
345 USB8388FW_VERSION:=5.110.22.p23
346
347 define Download/usb8388
348 URL:=http://dev.laptop.org/pub/firmware/libertas/
349 FILE:=$(USB8388FW_NAME)-$(USB8388FW_VERSION).bin
350 MD5SUM=5e38f55719df3d0c58dd3bd02575a09c
351 endef
352 $(eval $(call Download,usb8388))
353
354 define KernelPackage/libertas
355 $(call KernelPackage/mac80211/Default)
356 DEPENDS+= @USB_SUPPORT +kmod-mac80211 +kmod-usb-core +kmod-lib80211
357 TITLE:=Marvell 88W8015 Wireless Driver
358 FILES:= \
359 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.$(LINUX_KMOD_SUFFIX) \
360 $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/usb8xxx.$(LINUX_KMOD_SUFFIX)
361 AUTOLOAD:=$(call AutoLoad,27,libertas usb8xxx)
362 endef
363
364
365 define KernelPackage/ar9170
366 $(call KernelPackage/mac80211/Default)
367 TITLE:=Atheros AR9170 802.11n USB support
368 URL:=http://wireless.kernel.org/en/users/Drivers/ar9170
369 DEPENDS+= @USB_SUPPORT @!LINUX_2_6_25 +kmod-ath +kmod-usb-core
370 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ar9170/ar9170usb.$(LINUX_KMOD_SUFFIX)
371 AUTOLOAD:=$(call AutoLoad,27,ar9170usb)
372 endef
373
374 define KernelPackage/ar9170/description
375 This is a driver for the Atheros "otus" 802.11n USB devices.
376 endef
377
378 define KernelPackage/mac80211-hwsim
379 $(call KernelPackage/mac80211/Default)
380 TITLE:=mac80211 HW simulation device
381 DEPENDS+= +kmod-mac80211
382 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.$(LINUX_KMOD_SUFFIX)
383 AUTOLOAD:=$(call AutoLoad,60,mac80211_hwsim)
384 endef
385
386 #Broadcom firmware
387 ifneq ($(CONFIG_B43_EXPERIMENTAL),)
388 PKG_B43_FWV4_NAME:=broadcom-wl
389 PKG_B43_FWV4_VERSION:=4.178.10.4
390 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl.o
391 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
392 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
393 PKG_B43_FWV4_MD5SUM:=14477e8cbbb91b11896affac9b219fdb
394 else
395 PKG_B43_FWV4_NAME:=broadcom-wl
396 PKG_B43_FWV4_VERSION:=4.150.10.5
397 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
398 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
399 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
400 PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
401 endif
402 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
403 PKG_B43_FWV4_NAME:=broadcom-wl
404 PKG_B43_FWV4_VERSION:=5.2
405 PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
406 PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
407 PKG_B43_FWV4_SOURCE_URL:=http://www.ing.unibs.it/openfwwf/firmware/
408 PKG_B43_FWV4_MD5SUM:=e045a135453274e439ae183f8498b0fa
409 endif
410
411
412 PKG_B43_FWV3_NAME:=wl_apsta
413 PKG_B43_FWV3_VERSION:=3.130.20.0
414 PKG_B43_FWV3_SOURCE:=$(PKG_B43_FWV3_NAME)-$(PKG_B43_FWV3_VERSION).o
415 PKG_B43_FWV3_SOURCE_URL:=http://downloads.openwrt.org/sources/
416 PKG_B43_FWV3_MD5SUM:=e08665c5c5b66beb9c3b2dd54aa80cb3
417
418 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
419 PKG_B43_FWCUTTER_NAME:=b43-fwcutter
420 PKG_B43_FWCUTTER_VERSION:=3e69531aa65b8f664a0ab00dfc3e2eefeb0cb417
421 PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
422 PKG_B43_FWCUTTER_PROTO:=git
423 PKG_B43_FWCUTTER_SOURCE_URL:=http://git.bu3sch.de/git/b43-tools.git
424 PKG_B43_FWCUTTER_SUBDIR:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)
425 PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/fwcutter/
426 else
427 PKG_B43_FWCUTTER_NAME:=b43-fwcutter
428 PKG_B43_FWCUTTER_VERSION:=012
429 PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
430 PKG_B43_FWCUTTER_PROTO:=default
431 PKG_B43_FWCUTTER_SOURCE_URL:=http://bu3sch.de/b43/fwcutter/
432 PKG_B43_FWCUTTER_MD5SUM:=69eadf67b459f313a8d6b37aaabef96c
433 PKG_B43_FWCUTTER_SUBDIR:=b43-fwcutter-$(PKG_B43_FWCUTTER_VERSION)
434 PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/
435 endif
436
437 define Download/b43-common
438 FILE:=$(PKG_B43_FWCUTTER_SOURCE)
439 URL:=$(PKG_B43_FWCUTTER_SOURCE_URL)
440 MD5SUM:=$(PKG_B43_FWCUTTER_MD5SUM)
441 PROTO:=$(PKG_B43_FWCUTTER_PROTO)
442 VERSION:=$(PKG_B43_FWCUTTER_VERSION)
443 SUBDIR:=$(PKG_B43_FWCUTTER_SUBDIR)
444 endef
445 $(eval $(call Download,b43-common))
446
447 define Download/b43
448 FILE:=$(PKG_B43_FWV4_SOURCE)
449 URL:=$(PKG_B43_FWV4_SOURCE_URL)
450 MD5SUM:=$(PKG_B43_FWV4_MD5SUM)
451 endef
452 $(eval $(call Download,b43))
453
454 define Download/b43legacy
455 FILE:=$(PKG_B43_FWV3_SOURCE)
456 URL:=$(PKG_B43_FWV3_SOURCE_URL)
457 MD5SUM:=$(PKG_B43_FWV3_MD5SUM)
458 endef
459 $(eval $(call Download,b43legacy))
460
461 define KernelPackage/b43-common
462 $(call KernelPackage/mac80211/Default)
463 TITLE:=Generic stuff for Broadcom wireless devices
464 URL:=http://linuxwireless.org/en/users/Drivers/b43
465 KCONFIG:= \
466 CONFIG_HW_RANDOM=y
467 DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
468 endef
469
470 define KernelPackage/b43
471 $(call KernelPackage/b43-common)
472 TITLE:=Broadcom 43xx wireless support
473 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.$(LINUX_KMOD_SUFFIX)
474 AUTOLOAD:=$(call AutoLoad,30,b43)
475 endef
476
477 define KernelPackage/b43/config
478 source "$(SOURCE)/Config.in.b43"
479 endef
480
481 define KernelPackage/b43/description
482 Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
483 endef
484
485 define KernelPackage/b43legacy
486 $(call KernelPackage/b43-common)
487 TITLE:=Broadcom 43xx-legacy wireless support
488 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43legacy/b43legacy.$(LINUX_KMOD_SUFFIX)
489 AUTOLOAD:=$(call AutoLoad,30,b43legacy)
490 endef
491
492 define KernelPackage/b43legacy/description
493 Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
494 endef
495
496 BUILDFLAGS:= \
497 -I$(PKG_BUILD_DIR)/include \
498 $(foreach opt,$(CONFOPTS),-DCONFIG_$(opt)) \
499 $(if $(CONFIG_PCI),-DCONFIG_B43_PCI_AUTOSELECT -DCONFIG_B43_PCICORE_AUTOSELECT -DCONFIG_SSB_DRIVER_PCICORE_POSSIBLE -DCONFIG_SSB_DRIVER_PCICORE) \
500 $(if $(CONFIG_PCI),-DCONFIG_SSB_PCIHOST_POSSIBLE -DCONFIG_SSB_PCIHOST) \
501 $(if $(CONFIG_PCI),-DCONFIG_SSB_SPROM) \
502 $(if $(CONFIG_LEDS_TRIGGERS), -DCONFIG_MAC80211_LEDS -DCONFIG_LEDS_TRIGGERS -DCONFIG_B43_LEDS -DCONFIG_B43LEGACY_LEDS -DCONFIG_AR9170_LEDS) \
503 -DCONFIG_B43_HWRNG -DCONFIG_B43LEGACY_HWRNG \
504 $(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),-DCONFIG_MAC80211_DEBUGFS -DCONFIG_ATH9K_DEBUGFS) \
505 $(if $(CONFIG_PACKAGE_ATH_DEBUG),-DCONFIG_ATH_DEBUG) \
506 -D__CONFIG_MAC80211_RC_DEFAULT=minstrel \
507 $(if $(CONFIG_ATH_USER_REGD),-DATH_USER_REGD=1)
508
509 MAKE_OPTS:= \
510 CROSS_COMPILE="$(KERNEL_CROSS)" \
511 ARCH="$(LINUX_KARCH)" \
512 EXTRA_CFLAGS="$(BUILDFLAGS)" \
513 $(foreach opt,$(CONFOPTS),CONFIG_$(opt)=m) \
514 CONFIG_MAC80211_RC_PID=y \
515 CONFIG_MAC80211_RC_MINSTREL=y \
516 CONFIG_MAC80211_LEDS=$(CONFIG_LEDS_TRIGGERS) \
517 CONFIG_MAC80211_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
518 CONFIG_B43_PCMCIA=n CONFIG_B43_PIO=n \
519 CONFIG_B43_PCI_AUTOSELECT=$(if $(CONFIG_PCI),y) \
520 CONFIG_B43_PCICORE_AUTOSELECT=$(if $(CONFIG_PCI),y) \
521 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=$(if $(CONFIG_PCI),y) \
522 CONFIG_SSB_DRIVER_PCICORE=$(if $(CONFIG_PCI),y) \
523 CONFIG_SSB_PCIHOST_POSSIBLE=$(if $(CONFIG_PCI),y) \
524 CONFIG_SSB_PCIHOST=$(if $(CONFIG_PCI),y) \
525 CONFIG_B43LEGACY_LEDS=$(CONFIG_LEDS_TRIGGERS) \
526 CONFIG_B43_LEDS=$(CONFIG_LEDS_TRIGGERS) \
527 CONFIG_B43_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
528 CONFIG_B43LEGACY_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
529 CONFIG_B43=$(if $(CONFIG_PACKAGE_kmod-b43),m) \
530 CONFIG_B43LEGACY=$(if $(CONFIG_PACKAGE_kmod-b43legacy),m) \
531 CONFIG_ATH_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath),m) \
532 CONFIG_ATH_DEBUG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
533 CONFIG_ATH5K=$(if $(CONFIG_PACKAGE_kmod-ath5k),m) \
534 CONFIG_ATH9K=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \
535 CONFIG_ATH9K_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
536 CONFIG_ZD1211RW=$(if $(CONFIG_PACKAGE_kmod-zd1211rw),m) \
537 CONFIG_P54_COMMON=$(if $(CONFIG_PACKAGE_kmod-p54-common),m) \
538 CONFIG_P54_PCI=$(if $(CONFIG_PACKAGE_kmod-p54-pci),m) \
539 CONFIG_P54_USB=$(if $(CONFIG_PACKAGE_kmod-p54-usb),m) \
540 CONFIG_P54_SPI= \
541 CONFIG_RT2X00=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
542 CONFIG_RT2X00_LIB_PCI=$(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),m) \
543 CONFIG_RT2X00_LIB_USB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),m) \
544 CONFIG_RT2400PCI=$(if $(CONFIG_PACKAGE_kmod-rt2400-pci),m) \
545 CONFIG_RT2500PCI=$(if $(CONFIG_PACKAGE_kmod-rt2500-pci),m) \
546 CONFIG_RT2500USB=$(if $(CONFIG_PACKAGE_kmod-rt2500-usb),m) \
547 CONFIG_RT61PCI=$(if $(CONFIG_PACKAGE_kmod-rt61-pci),m) \
548 CONFIG_RT73USB=$(if $(CONFIG_PACKAGE_kmod-rt73-usb),m) \
549 CONFIG_RT2800PCI=$(if $(CONFIG_PACKAGE_kmod-rt2800-pci),m) \
550 CONFIG_RT2800USB=$(if $(CONFIG_PACKAGE_kmod-rt2800-usb),m) \
551 CONFIG_RTL8180=$(if $(CONFIG_PACKAGE_kmod-rtl8180),m) \
552 CONFIG_RTL8187=$(if $(CONFIG_PACKAGE_kmod-rtl8187),m) \
553 CONFIG_MAC80211_HWSIM=$(if $(CONFIG_PACKAGE_kmod-mac80211-hwsim),m) \
554 CONFIG_PCMCIA= \
555 CONFIG_LIBIPW= \
556 CONFIG_LIBERTAS=$(if $(CONFIG_PACKAGE_kmod-libertas),m) \
557 CONFIG_LIBERTAS_CS= \
558 CONFIG_LIBERTAS_SDIO= \
559 CONFIG_LIBERTAS_THINFIRM= \
560 CONFIG_LIBERTAS_USB=$(if $(CONFIG_PACKAGE_kmod-libertas),m) \
561 CONFIG_IPW2100= \
562 CONFIG_IPW2200= \
563 CONFIG_NL80211=y \
564 CONFIG_LIB80211= \
565 CONFIG_LIB80211_CRYPT_WEP= \
566 CONFIG_LIB80211_CRYPT_CCMP= \
567 CONFIG_LIB80211_CRYPT_TKIP= \
568 CONFIG_IWLWIFI= \
569 CONFIG_IWLAGN= \
570 CONFIG_MWL8K= \
571 CONFIG_ATMEL= \
572 CONFIG_PCMCIA_ATMEL= \
573 CONFIG_ADM8211= \
574 CONFIG_USB_NET_RNDIS_HOST= \
575 CONFIG_USB_NET_RNDIS_WLAN= \
576 CONFIG_USB_NET_CDCETHER= \
577 CONFIG_USB_USBNET= \
578 CONFIG_AT76C50X_USB= \
579 CONFIG_WL12XX= \
580 CONFIG_EEPROM_93CX6= \
581 CONFIG_AR9170_USB=$(if $(CONFIG_PACKAGE_kmod-ar9170),m) \
582 CONFIG_AR9170_LEDS=$(CONFIG_LEDS_TRIGGERS) \
583 CONFIG_IWM= \
584 MADWIFI= \
585 OLD_IWL= \
586 KLIB_BUILD="$(LINUX_DIR)" \
587 MODPROBE=: \
588 KLIB=$(TARGET_MODULES_DIR) \
589 KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER)))
590
591 define Build/Prepare
592 rm -rf $(PKG_BUILD_DIR)
593 mkdir -p $(PKG_BUILD_DIR)
594 $(PKG_UNPACK)
595 $(Build/Patch)
596 unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT61FW)
597 unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT71FW)
598 -unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2860FW)
599 -unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2870FW)
600 $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
601 rm -rf $(PKG_BUILD_DIR)/include/linux/ssb
602 rm -f $(PKG_BUILD_DIR)/include/net/ieee80211.h
603 rm $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h
604 endef
605
606 ifneq ($(CONFIG_PACKAGE_kmod-mac80211),)
607 define Build/Compile/kmod
608 rm -rf $(PKG_BUILD_DIR)/modules
609 $(MAKE) -C "$(PKG_BUILD_DIR)" $(MAKE_OPTS) all
610 endef
611 endif
612
613 define Build/Compile
614 $(call Build/Compile/kmod)
615 endef
616
617 define Build/InstallDev
618 mkdir -p $(1)/usr/include/mac80211 $(1)/usr/include/net/mac80211
619 $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
620 $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
621 endef
622
623 define KernelPackage/libertas/install
624 $(INSTALL_DIR) $(1)/lib/firmware
625 $(INSTALL_DATA) $(DL_DIR)/$(USB8388FW_NAME)-$(USB8388FW_VERSION).bin $(1)/lib/firmware/$(USB8388FW_NAME).bin
626 endef
627
628 define KernelPackage/mac80211/install
629 $(INSTALL_DIR) $(1)/lib/wifi
630 $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
631 endef
632
633 define KernelPackage/p54-pci/install
634 $(INSTALL_DIR) $(1)/lib/firmware
635 $(INSTALL_DATA) $(DL_DIR)/$(P54PCIFW) $(1)/lib/firmware/isl3886pci
636 endef
637
638 define KernelPackage/p54-usb/install
639 $(INSTALL_DIR) $(1)/lib/firmware
640 $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3887usb
641 endef
642
643 define KernelPackage/rt61-pci/install
644 $(INSTALL_DIR) $(1)/lib/firmware
645 $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2?61*.bin $(1)/lib/firmware/
646 endef
647
648 define KernelPackage/rt73-usb/install
649 $(INSTALL_DIR) $(1)/lib/firmware
650 $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt73.bin $(1)/lib/firmware/
651 endef
652
653 define KernelPackage/rt2800-pci/install
654 $(INSTALL_DIR) $(1)/lib/firmware
655 $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2860.bin $(1)/lib/firmware/
656 endef
657
658 define KernelPackage/rt2800-usb/install
659 $(INSTALL_DIR) $(1)/lib/firmware
660 $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2870.bin $(1)/lib/firmware/
661 endef
662
663 define KernelPackage/zd1211rw/install
664 $(INSTALL_DIR) $(1)/lib/firmware/zd1211
665 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
666 endef
667
668 define KernelPackage/ar9170/install
669 $(INSTALL_DIR) $(1)/lib/firmware
670 $(INSTALL_DATA) $(DL_DIR)/$(AR9170FW) $(1)/lib/firmware/
671 endef
672
673 define Build/b43-common
674 tar xjf "$(DL_DIR)/$(PKG_B43_FWCUTTER_SOURCE)" -C "$(PKG_BUILD_DIR)"
675 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)" \
676 CFLAGS="-I$(STAGING_DIR_HOST)/include -include endian.h"
677 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)/b43-fwcutter $(STAGING_DIR_HOST)/bin/
678 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
679 $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin/
680 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/"
681 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm $(STAGING_DIR_HOST)/bin/
682 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm.bin $(STAGING_DIR_HOST)/bin/
683 endif
684 $(INSTALL_BIN) ./files/host_bin/b43-fwsquash.py $(STAGING_DIR_HOST)/bin/
685 endef
686
687 define KernelPackage/b43/install
688 rm -rf $(1)/lib/firmware/
689 $(call Build/b43-common)
690 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
691 tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
692 else
693 tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
694 endif
695 $(INSTALL_DIR) $(1)/lib/firmware/
696 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
697 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
698 $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
699 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
700 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
701 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
702 else
703 b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
704 endif
705 ifneq ($(CONFIG_B43_FW_SQUASH),)
706 b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
707 endif
708 endef
709
710 define KernelPackage/b43legacy/install
711 $(call Build/b43-common)
712 $(INSTALL_DIR) $(1)/lib/firmware/
713
714 b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
715 endef
716
717 $(eval $(call KernelPackage,ath5k))
718 $(eval $(call KernelPackage,libertas))
719 $(eval $(call KernelPackage,mac80211))
720 $(eval $(call KernelPackage,p54-common))
721 $(eval $(call KernelPackage,p54-pci))
722 $(eval $(call KernelPackage,p54-usb))
723 $(eval $(call KernelPackage,rt2x00-lib))
724 $(eval $(call KernelPackage,rt2x00-pci))
725 $(eval $(call KernelPackage,rt2x00-usb))
726 $(eval $(call KernelPackage,rt2400-pci))
727 $(eval $(call KernelPackage,rt2500-pci))
728 $(eval $(call KernelPackage,rt2500-usb))
729 $(eval $(call KernelPackage,rt61-pci))
730 $(eval $(call KernelPackage,rt73-usb))
731 $(eval $(call KernelPackage,rt2800-pci))
732 $(eval $(call KernelPackage,rt2800-usb))
733 $(eval $(call KernelPackage,rtl8180))
734 $(eval $(call KernelPackage,rtl8187))
735 $(eval $(call KernelPackage,zd1211rw))
736 $(eval $(call KernelPackage,mac80211-hwsim))
737 $(eval $(call KernelPackage,ath9k))
738 $(eval $(call KernelPackage,ath))
739 $(eval $(call KernelPackage,ar9170))
740 $(eval $(call KernelPackage,b43))
741 $(eval $(call KernelPackage,b43legacy))