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