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