2 b43 b43legacy brcmsmac brcmfmac brcmutil
4 PKG_CONFIG_DEPENDS += \
5 CONFIG_PACKAGE_B43_DEBUG \
6 CONFIG_PACKAGE_B43_PIO \
7 CONFIG_PACKAGE_B43_PHY_G \
8 CONFIG_PACKAGE_B43_PHY_N \
9 CONFIG_PACKAGE_B43_PHY_LP \
10 CONFIG_PACKAGE_B43_PHY_HT \
11 CONFIG_PACKAGE_B43_BUSES_BCMA_AND_SSB \
12 CONFIG_PACKAGE_B43_BUSES_BCMA \
13 CONFIG_PACKAGE_B43_BUSES_SSB \
14 CONFIG_PACKAGE_BRCM80211_DEBUG
16 config-$(call config_package,b43) += B43
17 config-$(CONFIG_PACKAGE_B43_BUSES_BCMA_AND_SSB) += B43_BUSES_BCMA_AND_SSB
18 config-$(CONFIG_PACKAGE_B43_BUSES_BCMA) += B43_BUSES_BCMA
19 config-$(CONFIG_PACKAGE_B43_BUSES_SSB) += B43_BUSES_SSB
20 config-$(CONFIG_PACKAGE_B43_PHY_G) += B43_PHY_G
21 config-$(CONFIG_PACKAGE_B43_PHY_N) += B43_PHY_N
22 config-$(CONFIG_PACKAGE_B43_PHY_LP) += B43_PHY_LP
23 config-$(CONFIG_PACKAGE_B43_PHY_HT) += B43_PHY_HT
24 config-$(CONFIG_PACKAGE_B43_PIO) += B43_PIO
25 config-$(CONFIG_PACKAGE_B43_DEBUG) += B43_DEBUG
27 config-$(call config_package,b43legacy) += B43LEGACY
28 config-y += B43LEGACY_DMA_MODE
30 config-$(call config_package,brcmutil) += BRCMUTIL
31 config-$(call config_package,brcmsmac) += BRCMSMAC
32 config-$(call config_package,brcmfmac) += BRCMFMAC
33 config-$(CONFIG_BRCMFMAC_SDIO) += BRCMFMAC_SDIO
34 config-$(CONFIG_BRCMFMAC_USB) += BRCMFMAC_USB
35 config-$(CONFIG_BRCMFMAC_PCIE) += BRCMFMAC_PCIE
36 config-$(CONFIG_PACKAGE_BRCM80211_DEBUG) += BRCMDBG
38 config-$(CONFIG_LEDS_TRIGGERS) += B43_LEDS B43LEGACY_LEDS
41 ifneq ($(CONFIG_B43_FW_6_30),)
42 PKG_B43_FWV4_NAME:=broadcom-wl
43 PKG_B43_FWV4_VERSION:=6.30.163.46
44 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).wl_apsta.o
45 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
46 PKG_B43_FWV4_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
47 PKG_B43_FWV4_HASH:=a07c3b6b277833c7dbe61daa511f908cd66c5e2763eb7a0859abc36cd9335c2d
49 ifneq ($(CONFIG_B43_FW_5_10),)
50 PKG_B43_FWV4_NAME:=broadcom-wl
51 PKG_B43_FWV4_VERSION:=5.10.56.27.3
52 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta/wl_prebuilt.o
53 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)_mipsel.tar.bz2
54 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
55 PKG_B43_FWV4_HASH:=26a8c370f48fc129d0731cfd751c36cae1419b0bc8ca35781126744e60eae009
57 ifneq ($(CONFIG_B43_FW_4_178),)
58 PKG_B43_FWV4_NAME:=broadcom-wl
59 PKG_B43_FWV4_VERSION:=4.178.10.4
60 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
61 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
62 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
63 PKG_B43_FWV4_HASH:=32f6ad98facbb9045646fdc8b54bb03086d204153253f9c65d0234a5d90ae53f
65 ifneq ($(CONFIG_B43_FW_5_100_138),)
66 PKG_B43_FWV4_NAME:=broadcom-wl
67 PKG_B43_FWV4_VERSION:=5.100.138
68 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
69 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
70 PKG_B43_FWV4_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
71 PKG_B43_FWV4_HASH:=f1e7067aac5b62b67b8b6e4c517990277804339ac16065eb13c731ff909ae46f
73 PKG_B43_FWV4_NAME:=broadcom-wl
74 PKG_B43_FWV4_VERSION:=4.150.10.5
75 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
76 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
77 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
78 PKG_B43_FWV4_HASH:=a9f4e276a4d8d3a1cd0f2eb87080ae89b77f0a7140f06d4e9e2135fc44fdd533
83 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
84 PKG_B43_FWV4_NAME:=broadcom-wl
85 PKG_B43_FWV4_VERSION:=5.2
86 PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
87 PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
88 PKG_B43_FWV4_SOURCE_URL:=http://netweb.ing.unibs.it/~openfwwf/firmware
89 PKG_B43_FWV4_HASH:=9de03320083201080b2e94b81637ac07a159cf4e6f3481383e1a217e627bc0dc
94 FILE:=$(PKG_B43_FWV4_SOURCE)
95 URL:=$(PKG_B43_FWV4_SOURCE_URL)
96 HASH:=$(PKG_B43_FWV4_HASH)
98 $(eval $(call Download,b43))
100 define KernelPackage/b43
101 $(call KernelPackage/mac80211/Default)
102 TITLE:=Broadcom 43xx wireless support
103 URL:=https://wireless.wiki.kernel.org/en/users/drivers/b43
106 # Depend on PCI_SUPPORT to make sure we can select kmod-bcma or kmod-ssb
108 @PCI_SUPPORT +kmod-mac80211 \
109 $(if $(CONFIG_PACKAGE_B43_USE_SSB),+kmod-ssb) \
110 $(if $(CONFIG_PACKAGE_B43_USE_BCMA),+kmod-bcma)
111 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/b43/b43.ko
112 AUTOLOAD:=$(call AutoProbe,b43)
116 define KernelPackage/b43/config
118 config PACKAGE_B43_USE_SSB
119 select PACKAGE_kmod-ssb
121 depends on !TARGET_brcm47xx && !TARGET_brcm63xx
122 default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA_AND_SSB
123 default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_SSB
125 config PACKAGE_B43_USE_BCMA
126 select PACKAGE_kmod-bcma
128 depends on !TARGET_brcm47xx && !TARGET_bcm53xx
129 default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA_AND_SSB
130 default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA
135 prompt "b43 firmware version"
136 default B43_FW_5_100_138
138 This option allows you to select the version of the b43 firmware.
141 bool "Firmware 410.2160 from driver 4.150.10.5 (old stable)"
143 Old stable firmware for BCM43xx devices.
145 If unsure, select this.
148 bool "Firmware 478.104 from driver 4.178.10.4"
150 Older firmware for BCM43xx devices.
152 If unsure, select the "stable" firmware.
155 bool "Firmware 508.1084 from driver 5.10.56.27"
157 Older firmware for BCM43xx devices.
159 If unsure, select the "stable" firmware.
161 config B43_FW_5_100_138
162 bool "Firmware 666.2 from driver 5.100.138 (stable)"
164 The currently default firmware for BCM43xx devices.
166 This firmware currently gets most of the testing and is needed for some N-PHY devices.
168 If unsure, select the this firmware.
171 bool "Firmware 784.2 from driver 6.30.163.46 (experimental)"
173 Newer experimental firmware for BCM43xx devices.
175 This firmware is mostly untested.
177 If unsure, select the "stable" firmware.
179 config B43_OPENFIRMWARE
180 bool "Open FirmWare for WiFi networks"
182 Opensource firmware for BCM43xx devices.
184 Do _not_ select this, unless you know what you are doing.
185 The Opensource firmware is not suitable for embedded devices, yet.
186 It does not support QoS, which is bad for AccessPoints.
187 It does not support hardware crypto acceleration, which is a showstopper
188 for embedded devices with low CPU resources.
190 If unsure, select the "stable" firmware.
195 bool "Remove unnecessary firmware files"
196 depends on !B43_OPENFIRMWARE
199 This options allows you to remove unnecessary b43 firmware files
200 from the final rootfs image. This can reduce the rootfs size by
205 config B43_FW_SQUASH_COREREVS
206 string "Core revisions to include"
207 depends on B43_FW_SQUASH
208 default "5,6,7,8,9,10,11,13,15" if TARGET_brcm47xx_legacy
209 default "16,28,29,30" if TARGET_brcm47xx_mips74k
210 default "5,6,7,8,9,10,11,13,15,16,28,29,30"
212 This is a comma seperated list of core revision numbers.
214 Example (keep files for rev5 only):
217 Example (keep files for rev5 and rev11):
220 config B43_FW_SQUASH_PHYTYPES
221 string "PHY types to include"
222 depends on B43_FW_SQUASH
223 default "G,N,LP" if TARGET_brcm47xx_legacy
224 default "N,HT" if TARGET_brcm47xx_mips74k
227 This is a comma seperated list of PHY types:
229 AG => Dual A-PHY G-PHY
238 Example (keep files for G-PHY only):
241 Example (keep files for G-PHY and N-PHY):
245 prompt "Supported buses"
246 default PACKAGE_B43_BUSES_BCMA_AND_SSB
248 This allows choosing buses that b43 should support.
250 config PACKAGE_B43_BUSES_BCMA_AND_SSB
251 depends on !TARGET_brcm47xx_legacy && !TARGET_brcm47xx_mips74k && !TARGET_bcm53xx
254 config PACKAGE_B43_BUSES_BCMA
255 depends on !TARGET_brcm47xx_legacy
258 config PACKAGE_B43_BUSES_SSB
259 depends on !TARGET_brcm47xx_mips74k && !TARGET_bcm53xx
264 config PACKAGE_B43_DEBUG
265 bool "Enable debug output and debugfs for b43"
268 Enable additional debug output and runtime sanity checks for b43
269 and enables the debugfs interface.
273 config PACKAGE_B43_PIO
274 bool "Enable support for PIO transfer mode"
277 Enable support for using PIO instead of DMA. Unless you have DMA
278 transfer problems you don't need this.
282 config PACKAGE_B43_PHY_G
283 bool "Enable support for G-PHYs"
284 default n if TARGET_brcm47xx_mips74k
287 Enable support for G-PHY. This includes support for the following devices:
288 PCI: BCM4306, BCM4311, BCM4318
289 SoC: BCM5352E, BCM4712
293 config PACKAGE_B43_PHY_N
294 bool "Enable support for N-PHYs"
297 Enable support for N-PHY. This includes support for the following devices:
298 PCI: BCM4321, BCM4322, BCM43222, BCM43224, BCM43225
299 SoC: BCM4716, BCM4717, BCM4718
301 Currently only 11g speed is available.
305 config PACKAGE_B43_PHY_LP
306 bool "Enable support for LP-PHYs"
307 default n if TARGET_brcm47xx_mips74k
310 Enable support for LP-PHY. This includes support for the following devices:
316 config PACKAGE_B43_PHY_HT
317 bool "Enable support for HT-PHYs"
318 default n if TARGET_brcm47xx_legacy
321 Enable support for HT-PHY. This includes support for the following devices:
324 Currently only 11g speed is available.
328 config PACKAGE_B43_PHY_LCN
329 bool "Enable support for LCN-PHYs"
340 define KernelPackage/b43/description
341 Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
344 define KernelPackage/b43legacy
345 $(call KernelPackage/mac80211/Default)
346 TITLE:=Broadcom 43xx-legacy wireless support
347 URL:=https://wireless.wiki.kernel.org/en/users/drivers/b43
350 DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb +b43legacy-firmware
351 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/b43legacy/b43legacy.ko
352 AUTOLOAD:=$(call AutoProbe,b43legacy)
356 define KernelPackage/b43legacy/description
357 Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
361 define KernelPackage/brcmutil
362 $(call KernelPackage/mac80211/Default)
363 TITLE:=Broadcom IEEE802.11n common driver parts
364 URL:=https://wireless.wiki.kernel.org/en/users/drivers/brcm80211
365 DEPENDS+=@PCI_SUPPORT||USB_SUPPORT
366 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil.ko
367 AUTOLOAD:=$(call AutoProbe,brcmutil)
371 define KernelPackage/brcmutil/description
372 This module contains some common parts needed by Broadcom Wireless drivers brcmsmac and brcmfmac.
375 define KernelPackage/brcmutil/config
376 if PACKAGE_kmod-brcmutil
378 config PACKAGE_BRCM80211_DEBUG
379 bool "Broadcom wireless driver debugging"
381 Say Y, if you want to debug brcmsmac and brcmfmac wireless driver.
386 PKG_BRCMSMAC_FW_NAME:=broadcom-wl
387 PKG_BRCMSMAC_FW_VERSION:=5.100.138
388 PKG_BRCMSMAC_FW_OBJECT:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION)/linux/wl_apsta.o
389 PKG_BRCMSMAC_FW_SOURCE:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION).tar.bz2
390 PKG_BRCMSMAC_FW_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
391 PKG_BRCMSMAC_FW_HASH:=f1e7067aac5b62b67b8b6e4c517990277804339ac16065eb13c731ff909ae46f
393 define Download/brcmsmac
394 FILE:=$(PKG_BRCMSMAC_FW_SOURCE)
395 URL:=$(PKG_BRCMSMAC_FW_SOURCE_URL)
396 HASH:=$(PKG_BRCMSMAC_FW_HASH)
398 $(eval $(call Download,brcmsmac))
400 define KernelPackage/brcmsmac
401 $(call KernelPackage/mac80211/Default)
402 TITLE:=Broadcom IEEE802.11n PCIe SoftMAC WLAN driver
403 URL:=https://wireless.wiki.kernel.org/en/users/drivers/brcm80211
404 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
405 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcmsmac.ko
406 AUTOLOAD:=$(call AutoProbe,brcmsmac)
410 define KernelPackage/brcmsmac/description
411 Kernel module for Broadcom IEEE802.11n PCIe Wireless cards
414 define KernelPackage/brcmsmac/config
415 if PACKAGE_kmod-brcmsmac
417 config BRCMSMAC_USE_FW_FROM_WL
418 bool "Use firmware extracted from broadcom proprietary driver"
421 Instead of using the official brcmsmac firmware a firmware
422 version 666.2 extracted from the proprietary Broadcom driver
423 is used. This is needed to get core rev 17 used in bcm4716
432 define KernelPackage/brcmfmac
433 $(call KernelPackage/mac80211/Default)
434 TITLE:=Broadcom IEEE802.11n USB FullMAC WLAN driver
435 URL:=https://wireless.wiki.kernel.org/en/users/drivers/brcm80211
436 DEPENDS+= @USB_SUPPORT +kmod-cfg80211 +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT +@DRIVER_11W_SUPPORT \
437 +kmod-brcmutil +BRCMFMAC_SDIO:kmod-mmc @!TARGET_uml \
438 +BRCMFMAC_USB:kmod-usb-core +BRCMFMAC_USB:brcmfmac-firmware-usb
439 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
440 AUTOLOAD:=$(call AutoProbe,brcmfmac)
443 define KernelPackage/brcmfmac/description
444 Kernel module for Broadcom IEEE802.11n USB Wireless cards
447 define KernelPackage/brcmfmac/config
448 if PACKAGE_kmod-brcmfmac
451 bool "Enable SDIO bus interface support"
452 default y if TARGET_brcm2708
453 default y if TARGET_sunxi
456 Enable support for cards attached to an SDIO bus.
457 Select this option only if you are sure that your
458 board has a Broadcom wireless chip atacched to
462 bool "Enable USB bus interface support"
463 depends on USB_SUPPORT
466 Supported USB connected chipsets:
467 BCM43235, BCM43236, BCM43238 (all in revision 3 only)
468 BCM43143, BCM43242, BCM43566, BCM43569
471 bool "Enable PCIE bus interface support"
472 depends on PCI_SUPPORT
475 Supported PCIe connected chipsets:
476 BCM4354, BCM4356, BCM43567, BCM43570, BCM43602
481 define KernelPackage/brcmsmac/install
482 $(INSTALL_DIR) $(1)/lib/firmware/brcm
483 ifeq ($(CONFIG_BRCMSMAC_USE_FW_FROM_WL),y)
484 tar xjf "$(DL_DIR)/$(PKG_BRCMSMAC_FW_SOURCE)" -C "$(PKG_BUILD_DIR)"
485 b43-fwcutter --brcmsmac -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_BRCMSMAC_FW_OBJECT)