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