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