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