prism54-firmware: add also other p54 firmware to own package
[openwrt/openwrt.git] / package / kernel / mac80211 / Makefile
1 #
2 # Copyright (C) 2007-2015 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9 include $(INCLUDE_DIR)/kernel.mk
10
11 PKG_NAME:=mac80211
12
13 PKG_VERSION:=2016-05-12
14 PKG_RELEASE:=1
15 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
16 PKG_BACKPORT_VERSION:=
17 PKG_MD5SUM:=2142cf38509896dca108624e7c193611
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 DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ar71xx +kmod-ath +@DRIVER_11N_SUPPORT +@DRIVER_11W_SUPPORT +@KERNEL_RELAY
223 FILES:= \
224 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_common.ko \
225 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.ko
226 endef
227
228 define KernelPackage/ath9k
229 $(call KernelPackage/mac80211/Default)
230 TITLE:=Atheros 802.11n PCI wireless cards support
231 URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath9k
232 DEPENDS+= @PCI_SUPPORT||TARGET_ar71xx +kmod-ath9k-common
233 FILES:= \
234 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.ko
235 AUTOLOAD:=$(call AutoProbe,ath9k)
236 endef
237
238 define KernelPackage/ath9k/description
239 This module adds support for wireless adapters based on
240 Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
241 endef
242
243 define KernelPackage/ath9k/config
244
245 config ATH9K_SUPPORT_PCOEM
246 bool "Support chips used in PC OEM cards"
247 depends on PACKAGE_kmod-ath9k
248
249 config ATH9K_TX99
250 bool "Enable TX99 support"
251 depends on PACKAGE_kmod-ath9k
252
253 endef
254
255 define KernelPackage/ath9k-htc
256 $(call KernelPackage/mac80211/Default)
257 TITLE:=Atheros 802.11n USB device support
258 URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath9k
259 DEPENDS+= @USB_SUPPORT +kmod-ath9k-common +kmod-usb-core +ath9k-htc-firmware
260 FILES:= \
261 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
262 AUTOLOAD:=$(call AutoProbe,ath9k_htc)
263 endef
264
265 define KernelPackage/ath9k-htc/description
266 This module adds support for wireless adapters based on
267 Atheros USB AR9271 and AR7010 family of chipsets.
268 endef
269
270 define KernelPackage/ath10k
271 $(call KernelPackage/mac80211/Default)
272 TITLE:=Atheros 802.11ac wireless cards support
273 URL:=https://wireless.wiki.kernel.org/en/users/Drivers/ath10k
274 DEPENDS+= @PCI_SUPPORT +kmod-ath +@DRIVER_11N_SUPPORT +@DRIVER_11W_SUPPORT +@KERNEL_RELAY
275 FILES:= \
276 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath10k/ath10k_core.ko \
277 $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath10k/ath10k_pci.ko
278 AUTOLOAD:=$(call AutoLoad,55,ath10k_core ath10k_pci)
279 endef
280
281 define KernelPackage/ath10k/description
282 This module adds support for wireless adapters based on
283 Atheros IEEE 802.11ac family of chipsets. For now only
284 PCI is supported.
285 endef
286
287 #Broadcom firmware
288 ifneq ($(CONFIG_B43_FW_6_30),)
289 PKG_B43_FWV4_NAME:=broadcom-wl
290 PKG_B43_FWV4_VERSION:=6.30.163.46
291 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).wl_apsta.o
292 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
293 PKG_B43_FWV4_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
294 PKG_B43_FWV4_MD5SUM:=6fe97e9368d25342a1ab943d3cf3496d
295 else
296 ifneq ($(CONFIG_B43_FW_5_10),)
297 PKG_B43_FWV4_NAME:=broadcom-wl
298 PKG_B43_FWV4_VERSION:=5.10.56.27.3
299 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta/wl_prebuilt.o
300 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)_mipsel.tar.bz2
301 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
302 PKG_B43_FWV4_MD5SUM:=3363e3a6b3d9d73c49dea870c7834eac
303 else
304 ifneq ($(CONFIG_B43_FW_4_178),)
305 PKG_B43_FWV4_NAME:=broadcom-wl
306 PKG_B43_FWV4_VERSION:=4.178.10.4
307 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
308 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
309 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
310 PKG_B43_FWV4_MD5SUM:=14477e8cbbb91b11896affac9b219fdb
311 else
312 ifneq ($(CONFIG_B43_FW_5_100_138),)
313 PKG_B43_FWV4_NAME:=broadcom-wl
314 PKG_B43_FWV4_VERSION:=5.100.138
315 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
316 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
317 PKG_B43_FWV4_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
318 PKG_B43_FWV4_MD5SUM:=f4e357b09eaf5d8b1f1920cf3493a555
319 else
320 PKG_B43_FWV4_NAME:=broadcom-wl
321 PKG_B43_FWV4_VERSION:=4.150.10.5
322 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
323 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
324 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
325 PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
326 endif
327 endif
328 endif
329 endif
330 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
331 PKG_B43_FWV4_NAME:=broadcom-wl
332 PKG_B43_FWV4_VERSION:=5.2
333 PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
334 PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
335 PKG_B43_FWV4_SOURCE_URL:=http://www.ing.unibs.it/openfwwf/firmware/
336 PKG_B43_FWV4_MD5SUM:=e045a135453274e439ae183f8498b0fa
337 endif
338
339
340 define Download/b43
341 FILE:=$(PKG_B43_FWV4_SOURCE)
342 URL:=$(PKG_B43_FWV4_SOURCE_URL)
343 MD5SUM:=$(PKG_B43_FWV4_MD5SUM)
344 endef
345 $(eval $(call Download,b43))
346
347 define KernelPackage/b43
348 $(call KernelPackage/mac80211/Default)
349 TITLE:=Broadcom 43xx wireless support
350 URL:=https://wireless.wiki.kernel.org/en/users/drivers/b43
351 KCONFIG:= \
352 CONFIG_HW_RANDOM=y
353 # Depend on PCI_SUPPORT to make sure we can select kmod-bcma or kmod-ssb
354 DEPENDS += \
355 @PCI_SUPPORT +kmod-mac80211 \
356 $(if $(CONFIG_PACKAGE_B43_USE_SSB),+kmod-ssb) \
357 $(if $(CONFIG_PACKAGE_B43_USE_BCMA),+kmod-bcma)
358 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/b43/b43.ko
359 AUTOLOAD:=$(call AutoProbe,b43)
360 MENU:=1
361 endef
362
363 define KernelPackage/b43/config
364
365 config PACKAGE_B43_USE_SSB
366 select PACKAGE_kmod-ssb
367 tristate
368 depends on !TARGET_brcm47xx && !TARGET_brcm63xx
369 default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA_AND_SSB
370 default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_SSB
371
372 config PACKAGE_B43_USE_BCMA
373 select PACKAGE_kmod-bcma
374 tristate
375 depends on !TARGET_brcm47xx && !TARGET_bcm53xx
376 default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA_AND_SSB
377 default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA
378
379 if PACKAGE_kmod-b43
380
381 choice
382 prompt "b43 firmware version"
383 default B43_FW_5_100_138
384 help
385 This option allows you to select the version of the b43 firmware.
386
387 config B43_FW_4_150
388 bool "Firmware 410.2160 from driver 4.150.10.5 (old stable)"
389 help
390 Old stable firmware for BCM43xx devices.
391
392 If unsure, select this.
393
394 config B43_FW_4_178
395 bool "Firmware 478.104 from driver 4.178.10.4"
396 help
397 Older firmware for BCM43xx devices.
398
399 If unsure, select the "stable" firmware.
400
401 config B43_FW_5_10
402 bool "Firmware 508.1084 from driver 5.10.56.27"
403 help
404 Older firmware for BCM43xx devices.
405
406 If unsure, select the "stable" firmware.
407
408 config B43_FW_5_100_138
409 bool "Firmware 666.2 from driver 5.100.138 (stable)"
410 help
411 The currently default firmware for BCM43xx devices.
412
413 This firmware currently gets most of the testing and is needed for some N-PHY devices.
414
415 If unsure, select the this firmware.
416
417 config B43_FW_6_30
418 bool "Firmware 784.2 from driver 6.30.163.46 (experimental)"
419 help
420 Newer experimental firmware for BCM43xx devices.
421
422 This firmware is mostly untested.
423
424 If unsure, select the "stable" firmware.
425
426 config B43_OPENFIRMWARE
427 bool "Open FirmWare for WiFi networks"
428 help
429 Opensource firmware for BCM43xx devices.
430
431 Do _not_ select this, unless you know what you are doing.
432 The Opensource firmware is not suitable for embedded devices, yet.
433 It does not support QoS, which is bad for AccessPoints.
434 It does not support hardware crypto acceleration, which is a showstopper
435 for embedded devices with low CPU resources.
436
437 If unsure, select the "stable" firmware.
438
439 endchoice
440
441 config B43_FW_SQUASH
442 bool "Remove unnecessary firmware files"
443 depends on !B43_OPENFIRMWARE
444 default y
445 help
446 This options allows you to remove unnecessary b43 firmware files
447 from the final rootfs image. This can reduce the rootfs size by
448 up to 200k.
449
450 If unsure, say Y.
451
452 config B43_FW_SQUASH_COREREVS
453 string "Core revisions to include"
454 depends on B43_FW_SQUASH
455 default "5,6,7,8,9,10,11,13,15" if TARGET_brcm47xx_legacy
456 default "16,28,29,30" if TARGET_brcm47xx_mips74k
457 default "5,6,7,8,9,10,11,13,15,16,28,29,30"
458 help
459 This is a comma seperated list of core revision numbers.
460
461 Example (keep files for rev5 only):
462 5
463
464 Example (keep files for rev5 and rev11):
465 5,11
466
467 config B43_FW_SQUASH_PHYTYPES
468 string "PHY types to include"
469 depends on B43_FW_SQUASH
470 default "G,N,LP" if TARGET_brcm47xx_legacy
471 default "N,HT" if TARGET_brcm47xx_mips74k
472 default "G,N,LP,HT"
473 help
474 This is a comma seperated list of PHY types:
475 A => A-PHY
476 AG => Dual A-PHY G-PHY
477 G => G-PHY
478 LP => LP-PHY
479 N => N-PHY
480 HT => HT-PHY
481 LCN => LCN-PHY
482 LCN40 => LCN40-PHY
483 AC => AC-PHY
484
485 Example (keep files for G-PHY only):
486 G
487
488 Example (keep files for G-PHY and N-PHY):
489 G,N
490
491 choice
492 prompt "Supported buses"
493 default PACKAGE_B43_BUSES_BCMA_AND_SSB
494 help
495 This allows choosing buses that b43 should support.
496
497 config PACKAGE_B43_BUSES_BCMA_AND_SSB
498 depends on !TARGET_brcm47xx_legacy && !TARGET_brcm47xx_mips74k && !TARGET_bcm53xx
499 bool "BCMA and SSB"
500
501 config PACKAGE_B43_BUSES_BCMA
502 depends on !TARGET_brcm47xx_legacy
503 bool "BCMA only"
504
505 config PACKAGE_B43_BUSES_SSB
506 depends on !TARGET_brcm47xx_mips74k && !TARGET_bcm53xx
507 bool "SSB only"
508
509 endchoice
510
511 config PACKAGE_B43_DEBUG
512 bool "Enable debug output and debugfs for b43"
513 default n
514 help
515 Enable additional debug output and runtime sanity checks for b43
516 and enables the debugfs interface.
517
518 If unsure, say N.
519
520 config PACKAGE_B43_PIO
521 bool "Enable support for PIO transfer mode"
522 default n
523 help
524 Enable support for using PIO instead of DMA. Unless you have DMA
525 transfer problems you don't need this.
526
527 If unsure, say N.
528
529 config PACKAGE_B43_PHY_G
530 bool "Enable support for G-PHYs"
531 default n if TARGET_brcm47xx_mips74k
532 default y
533 help
534 Enable support for G-PHY. This includes support for the following devices:
535 PCI: BCM4306, BCM4311, BCM4318
536 SoC: BCM5352E, BCM4712
537
538 If unsure, say Y.
539
540 config PACKAGE_B43_PHY_N
541 bool "Enable support for N-PHYs"
542 default y
543 help
544 Enable support for N-PHY. This includes support for the following devices:
545 PCI: BCM4321, BCM4322, BCM43222, BCM43224, BCM43225
546 SoC: BCM4716, BCM4717, BCM4718
547
548 Currently only 11g speed is available.
549
550 If unsure, say Y.
551
552 config PACKAGE_B43_PHY_LP
553 bool "Enable support for LP-PHYs"
554 default n if TARGET_brcm47xx_mips74k
555 default y
556 help
557 Enable support for LP-PHY. This includes support for the following devices:
558 PCI: BCM4312
559 SoC: BCM5354
560
561 If unsure, say Y.
562
563 config PACKAGE_B43_PHY_HT
564 bool "Enable support for HT-PHYs"
565 default n if TARGET_brcm47xx_legacy
566 default y
567 help
568 Enable support for HT-PHY. This includes support for the following devices:
569 PCI: BCM4331
570
571 Currently only 11g speed is available.
572
573 If unsure, say Y.
574
575 config PACKAGE_B43_PHY_LCN
576 bool "Enable support for LCN-PHYs"
577 depends on BROKEN
578 default n
579 help
580 Currently broken.
581
582 If unsure, say N.
583
584 endif
585 endef
586
587 define KernelPackage/b43/description
588 Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
589 endef
590
591 define KernelPackage/b43legacy
592 $(call KernelPackage/mac80211/Default)
593 TITLE:=Broadcom 43xx-legacy wireless support
594 URL:=https://wireless.wiki.kernel.org/en/users/drivers/b43
595 KCONFIG:= \
596 CONFIG_HW_RANDOM=y
597 DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb +b43legacy-firmware
598 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/b43legacy/b43legacy.ko
599 AUTOLOAD:=$(call AutoProbe,b43legacy)
600 MENU:=1
601 endef
602
603 define KernelPackage/b43legacy/description
604 Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
605 endef
606
607
608 define KernelPackage/brcmutil
609 $(call KernelPackage/mac80211/Default)
610 TITLE:=Broadcom IEEE802.11n common driver parts
611 URL:=https://wireless.wiki.kernel.org/en/users/drivers/brcm80211
612 DEPENDS+=@PCI_SUPPORT||USB_SUPPORT
613 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil.ko
614 AUTOLOAD:=$(call AutoProbe,brcmutil)
615 MENU:=1
616 endef
617
618 define KernelPackage/brcmutil/description
619 This module contains some common parts needed by Broadcom Wireless drivers brcmsmac and brcmfmac.
620 endef
621
622 define KernelPackage/brcmutil/config
623 if PACKAGE_kmod-brcmutil
624
625 config PACKAGE_BRCM80211_DEBUG
626 bool "Broadcom wireless driver debugging"
627 help
628 Say Y, if you want to debug brcmsmac and brcmfmac wireless driver.
629
630 endif
631 endef
632
633 PKG_BRCMSMAC_FW_NAME:=broadcom-wl
634 PKG_BRCMSMAC_FW_VERSION:=5.100.138
635 PKG_BRCMSMAC_FW_OBJECT:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION)/linux/wl_apsta.o
636 PKG_BRCMSMAC_FW_SOURCE:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION).tar.bz2
637 PKG_BRCMSMAC_FW_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
638 PKG_BRCMSMAC_FW_MD5SUM:=f4e357b09eaf5d8b1f1920cf3493a555
639
640 define Download/brcmsmac
641 FILE:=$(PKG_BRCMSMAC_FW_SOURCE)
642 URL:=$(PKG_BRCMSMAC_FW_SOURCE_URL)
643 MD5SUM:=$(PKG_BRCMSMAC_FW_MD5SUM)
644 endef
645 $(eval $(call Download,brcmsmac))
646
647 define KernelPackage/brcmsmac
648 $(call KernelPackage/mac80211/Default)
649 TITLE:=Broadcom IEEE802.11n PCIe SoftMAC WLAN driver
650 URL:=https://wireless.wiki.kernel.org/en/users/drivers/brcm80211
651 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
652 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcmsmac.ko
653 AUTOLOAD:=$(call AutoProbe,brcmsmac)
654 MENU:=1
655 endef
656
657 define KernelPackage/brcmsmac/description
658 Kernel module for Broadcom IEEE802.11n PCIe Wireless cards
659 endef
660
661 define KernelPackage/brcmsmac/config
662 if PACKAGE_kmod-brcmsmac
663
664 config BRCMSMAC_USE_FW_FROM_WL
665 bool "Use firmware extracted from broadcom proprietary driver"
666 default y
667 help
668 Instead of using the official brcmsmac firmware a firmware
669 version 666.2 extracted from the proprietary Broadcom driver
670 is used. This is needed to get core rev 17 used in bcm4716
671 to work.
672
673 If unsure, say Y.
674
675 endif
676 endef
677
678
679 define KernelPackage/brcmfmac
680 $(call KernelPackage/mac80211/Default)
681 TITLE:=Broadcom IEEE802.11n USB FullMAC WLAN driver
682 URL:=https://wireless.wiki.kernel.org/en/users/drivers/brcm80211
683 DEPENDS+= @USB_SUPPORT +kmod-cfg80211 +@DRIVER_11N_SUPPORT +kmod-brcmutil \
684 +BRCMFMAC_PCIE:brcmfmac-firmware-pcie \
685 +BRCMFMAC_SDIO:kmod-mmc +BRCMFMAC_SDIO:brcmfmac-firmware-sdio \
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
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))