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