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