123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487 |
- PKG_DRIVERS += \
- b43 b43legacy brcmsmac brcmfmac brcmutil
- PKG_CONFIG_DEPENDS += \
- CONFIG_PACKAGE_B43_DEBUG \
- CONFIG_PACKAGE_B43_PIO \
- CONFIG_PACKAGE_B43_PHY_G \
- CONFIG_PACKAGE_B43_PHY_N \
- CONFIG_PACKAGE_B43_PHY_LP \
- CONFIG_PACKAGE_B43_PHY_HT \
- CONFIG_PACKAGE_B43_BUSES_BCMA_AND_SSB \
- CONFIG_PACKAGE_B43_BUSES_BCMA \
- CONFIG_PACKAGE_B43_BUSES_SSB \
- CONFIG_PACKAGE_BRCM80211_DEBUG
- config-$(call config_package,b43) += B43
- config-$(CONFIG_PACKAGE_B43_BUSES_BCMA_AND_SSB) += B43_BUSES_BCMA_AND_SSB
- config-$(CONFIG_PACKAGE_B43_BUSES_BCMA) += B43_BUSES_BCMA
- config-$(CONFIG_PACKAGE_B43_BUSES_SSB) += B43_BUSES_SSB
- config-$(CONFIG_PACKAGE_B43_PHY_G) += B43_PHY_G
- config-$(CONFIG_PACKAGE_B43_PHY_N) += B43_PHY_N
- config-$(CONFIG_PACKAGE_B43_PHY_LP) += B43_PHY_LP
- config-$(CONFIG_PACKAGE_B43_PHY_HT) += B43_PHY_HT
- config-$(CONFIG_PACKAGE_B43_PIO) += B43_PIO
- config-$(CONFIG_PACKAGE_B43_DEBUG) += B43_DEBUG
- config-$(call config_package,b43legacy) += B43LEGACY
- config-y += B43LEGACY_DMA_MODE
- config-$(call config_package,brcmutil) += BRCMUTIL
- config-$(call config_package,brcmsmac) += BRCMSMAC
- config-$(call config_package,brcmfmac) += BRCMFMAC
- config-$(CONFIG_BRCMFMAC_SDIO) += BRCMFMAC_SDIO
- config-$(CONFIG_BRCMFMAC_USB) += BRCMFMAC_USB
- config-$(CONFIG_BRCMFMAC_PCIE) += BRCMFMAC_PCIE
- config-$(CONFIG_PACKAGE_BRCM80211_DEBUG) += BRCMDBG
- config-$(CONFIG_LEDS_TRIGGERS) += B43_LEDS B43LEGACY_LEDS
- #Broadcom firmware
- ifneq ($(CONFIG_B43_FW_6_30),)
- PKG_B43_FWV4_NAME:=broadcom-wl
- PKG_B43_FWV4_VERSION:=6.30.163.46
- PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).wl_apsta.o
- PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
- PKG_B43_FWV4_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
- PKG_B43_FWV4_HASH:=a07c3b6b277833c7dbe61daa511f908cd66c5e2763eb7a0859abc36cd9335c2d
- else
- ifneq ($(CONFIG_B43_FW_5_10),)
- PKG_B43_FWV4_NAME:=broadcom-wl
- PKG_B43_FWV4_VERSION:=5.10.56.27.3
- PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta/wl_prebuilt.o
- PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)_mipsel.tar.bz2
- PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
- PKG_B43_FWV4_HASH:=26a8c370f48fc129d0731cfd751c36cae1419b0bc8ca35781126744e60eae009
- else
- ifneq ($(CONFIG_B43_FW_4_178),)
- PKG_B43_FWV4_NAME:=broadcom-wl
- PKG_B43_FWV4_VERSION:=4.178.10.4
- PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
- PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
- PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
- PKG_B43_FWV4_HASH:=32f6ad98facbb9045646fdc8b54bb03086d204153253f9c65d0234a5d90ae53f
- else
- ifneq ($(CONFIG_B43_FW_5_100_138),)
- PKG_B43_FWV4_NAME:=broadcom-wl
- PKG_B43_FWV4_VERSION:=5.100.138
- PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl_apsta.o
- PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
- PKG_B43_FWV4_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
- PKG_B43_FWV4_HASH:=f1e7067aac5b62b67b8b6e4c517990277804339ac16065eb13c731ff909ae46f
- else
- PKG_B43_FWV4_NAME:=broadcom-wl
- PKG_B43_FWV4_VERSION:=4.150.10.5
- PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
- PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
- PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
- PKG_B43_FWV4_HASH:=a9f4e276a4d8d3a1cd0f2eb87080ae89b77f0a7140f06d4e9e2135fc44fdd533
- endif
- endif
- endif
- endif
- ifneq ($(CONFIG_B43_OPENFIRMWARE),)
- PKG_B43_FWV4_NAME:=broadcom-wl
- PKG_B43_FWV4_VERSION:=5.2
- PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
- PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
- PKG_B43_FWV4_SOURCE_URL:=http://netweb.ing.unibs.it/~openfwwf/firmware
- PKG_B43_FWV4_HASH:=9de03320083201080b2e94b81637ac07a159cf4e6f3481383e1a217e627bc0dc
- endif
- define Download/b43
- FILE:=$(PKG_B43_FWV4_SOURCE)
- URL:=$(PKG_B43_FWV4_SOURCE_URL)
- HASH:=$(PKG_B43_FWV4_HASH)
- endef
- $(eval $(call Download,b43))
- define KernelPackage/b43
- $(call KernelPackage/mac80211/Default)
- TITLE:=Broadcom 43xx wireless support
- URL:=https://wireless.wiki.kernel.org/en/users/drivers/b43
- KCONFIG:= \
- CONFIG_HW_RANDOM=y
- # Depend on PCI_SUPPORT to make sure we can select kmod-bcma or kmod-ssb
- DEPENDS += \
- @PCI_SUPPORT +kmod-mac80211 \
- $(if $(CONFIG_PACKAGE_B43_USE_SSB),+kmod-ssb) \
- $(if $(CONFIG_PACKAGE_B43_USE_BCMA),+kmod-bcma)
- FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/b43/b43.ko
- AUTOLOAD:=$(call AutoProbe,b43)
- MENU:=1
- endef
- define KernelPackage/b43/config
- config PACKAGE_B43_USE_SSB
- select PACKAGE_kmod-ssb
- tristate
- depends on !TARGET_brcm47xx && !TARGET_brcm63xx
- default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA_AND_SSB
- default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_SSB
- config PACKAGE_B43_USE_BCMA
- select PACKAGE_kmod-bcma
- tristate
- depends on !TARGET_brcm47xx && !TARGET_bcm53xx
- default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA_AND_SSB
- default PACKAGE_kmod-b43 if PACKAGE_B43_BUSES_BCMA
- if PACKAGE_kmod-b43
- choice
- prompt "b43 firmware version"
- default B43_FW_5_100_138
- help
- This option allows you to select the version of the b43 firmware.
- config B43_FW_4_150
- bool "Firmware 410.2160 from driver 4.150.10.5 (old stable)"
- help
- Old stable firmware for BCM43xx devices.
- If unsure, select this.
- config B43_FW_4_178
- bool "Firmware 478.104 from driver 4.178.10.4"
- help
- Older firmware for BCM43xx devices.
- If unsure, select the "stable" firmware.
- config B43_FW_5_10
- bool "Firmware 508.1084 from driver 5.10.56.27"
- help
- Older firmware for BCM43xx devices.
- If unsure, select the "stable" firmware.
- config B43_FW_5_100_138
- bool "Firmware 666.2 from driver 5.100.138 (stable)"
- help
- The currently default firmware for BCM43xx devices.
- This firmware currently gets most of the testing and is needed for some N-PHY devices.
- If unsure, select the this firmware.
- config B43_FW_6_30
- bool "Firmware 784.2 from driver 6.30.163.46 (experimental)"
- help
- Newer experimental firmware for BCM43xx devices.
- This firmware is mostly untested.
- If unsure, select the "stable" firmware.
- config B43_OPENFIRMWARE
- bool "Open FirmWare for WiFi networks"
- help
- Opensource firmware for BCM43xx devices.
- Do _not_ select this, unless you know what you are doing.
- The Opensource firmware is not suitable for embedded devices, yet.
- It does not support QoS, which is bad for AccessPoints.
- It does not support hardware crypto acceleration, which is a showstopper
- for embedded devices with low CPU resources.
- If unsure, select the "stable" firmware.
- endchoice
- config B43_FW_SQUASH
- bool "Remove unnecessary firmware files"
- depends on !B43_OPENFIRMWARE
- default y
- help
- This options allows you to remove unnecessary b43 firmware files
- from the final rootfs image. This can reduce the rootfs size by
- up to 200k.
- If unsure, say Y.
- config B43_FW_SQUASH_COREREVS
- string "Core revisions to include"
- depends on B43_FW_SQUASH
- default "5,6,7,8,9,10,11,13,15" if TARGET_brcm47xx_legacy
- default "16,28,29,30" if TARGET_brcm47xx_mips74k
- default "5,6,7,8,9,10,11,13,15,16,28,29,30"
- help
- This is a comma seperated list of core revision numbers.
- Example (keep files for rev5 only):
- 5
- Example (keep files for rev5 and rev11):
- 5,11
- config B43_FW_SQUASH_PHYTYPES
- string "PHY types to include"
- depends on B43_FW_SQUASH
- default "G,N,LP" if TARGET_brcm47xx_legacy
- default "N,HT" if TARGET_brcm47xx_mips74k
- default "G,N,LP,HT"
- help
- This is a comma seperated list of PHY types:
- A => A-PHY
- AG => Dual A-PHY G-PHY
- G => G-PHY
- LP => LP-PHY
- N => N-PHY
- HT => HT-PHY
- LCN => LCN-PHY
- LCN40 => LCN40-PHY
- AC => AC-PHY
- Example (keep files for G-PHY only):
- G
- Example (keep files for G-PHY and N-PHY):
- G,N
- choice
- prompt "Supported buses"
- default PACKAGE_B43_BUSES_BCMA_AND_SSB
- help
- This allows choosing buses that b43 should support.
- config PACKAGE_B43_BUSES_BCMA_AND_SSB
- depends on !TARGET_brcm47xx_legacy && !TARGET_brcm47xx_mips74k && !TARGET_bcm53xx
- bool "BCMA and SSB"
- config PACKAGE_B43_BUSES_BCMA
- depends on !TARGET_brcm47xx_legacy
- bool "BCMA only"
- config PACKAGE_B43_BUSES_SSB
- depends on !TARGET_brcm47xx_mips74k && !TARGET_bcm53xx
- bool "SSB only"
- endchoice
- config PACKAGE_B43_DEBUG
- bool "Enable debug output and debugfs for b43"
- default n
- help
- Enable additional debug output and runtime sanity checks for b43
- and enables the debugfs interface.
- If unsure, say N.
- config PACKAGE_B43_PIO
- bool "Enable support for PIO transfer mode"
- default n
- help
- Enable support for using PIO instead of DMA. Unless you have DMA
- transfer problems you don't need this.
- If unsure, say N.
- config PACKAGE_B43_PHY_G
- bool "Enable support for G-PHYs"
- default n if TARGET_brcm47xx_mips74k
- default y
- help
- Enable support for G-PHY. This includes support for the following devices:
- PCI: BCM4306, BCM4311, BCM4318
- SoC: BCM5352E, BCM4712
- If unsure, say Y.
- config PACKAGE_B43_PHY_N
- bool "Enable support for N-PHYs"
- default y
- help
- Enable support for N-PHY. This includes support for the following devices:
- PCI: BCM4321, BCM4322, BCM43222, BCM43224, BCM43225
- SoC: BCM4716, BCM4717, BCM4718
- Currently only 11g speed is available.
- If unsure, say Y.
- config PACKAGE_B43_PHY_LP
- bool "Enable support for LP-PHYs"
- default n if TARGET_brcm47xx_mips74k
- default y
- help
- Enable support for LP-PHY. This includes support for the following devices:
- PCI: BCM4312
- SoC: BCM5354
- If unsure, say Y.
- config PACKAGE_B43_PHY_HT
- bool "Enable support for HT-PHYs"
- default n if TARGET_brcm47xx_legacy
- default y
- help
- Enable support for HT-PHY. This includes support for the following devices:
- PCI: BCM4331
- Currently only 11g speed is available.
- If unsure, say Y.
- config PACKAGE_B43_PHY_LCN
- bool "Enable support for LCN-PHYs"
- depends on BROKEN
- default n
- help
- Currently broken.
- If unsure, say N.
- endif
- endef
- define KernelPackage/b43/description
- Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
- endef
- define KernelPackage/b43legacy
- $(call KernelPackage/mac80211/Default)
- TITLE:=Broadcom 43xx-legacy wireless support
- URL:=https://wireless.wiki.kernel.org/en/users/drivers/b43
- KCONFIG:= \
- CONFIG_HW_RANDOM=y
- DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb +b43legacy-firmware
- FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/b43legacy/b43legacy.ko
- AUTOLOAD:=$(call AutoProbe,b43legacy)
- MENU:=1
- endef
- define KernelPackage/b43legacy/description
- Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
- endef
- define KernelPackage/brcmutil
- $(call KernelPackage/mac80211/Default)
- TITLE:=Broadcom IEEE802.11n common driver parts
- URL:=https://wireless.wiki.kernel.org/en/users/drivers/brcm80211
- DEPENDS+=@PCI_SUPPORT||USB_SUPPORT
- FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil.ko
- AUTOLOAD:=$(call AutoProbe,brcmutil)
- MENU:=1
- endef
- define KernelPackage/brcmutil/description
- This module contains some common parts needed by Broadcom Wireless drivers brcmsmac and brcmfmac.
- endef
- define KernelPackage/brcmutil/config
- if PACKAGE_kmod-brcmutil
- config PACKAGE_BRCM80211_DEBUG
- bool "Broadcom wireless driver debugging"
- help
- Say Y, if you want to debug brcmsmac and brcmfmac wireless driver.
- endif
- endef
- PKG_BRCMSMAC_FW_NAME:=broadcom-wl
- PKG_BRCMSMAC_FW_VERSION:=5.100.138
- PKG_BRCMSMAC_FW_OBJECT:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION)/linux/wl_apsta.o
- PKG_BRCMSMAC_FW_SOURCE:=$(PKG_BRCMSMAC_FW_NAME)-$(PKG_BRCMSMAC_FW_VERSION).tar.bz2
- PKG_BRCMSMAC_FW_SOURCE_URL:=http://www.lwfinger.com/b43-firmware/
- PKG_BRCMSMAC_FW_HASH:=f1e7067aac5b62b67b8b6e4c517990277804339ac16065eb13c731ff909ae46f
- define Download/brcmsmac
- FILE:=$(PKG_BRCMSMAC_FW_SOURCE)
- URL:=$(PKG_BRCMSMAC_FW_SOURCE_URL)
- HASH:=$(PKG_BRCMSMAC_FW_HASH)
- endef
- $(eval $(call Download,brcmsmac))
- define KernelPackage/brcmsmac
- $(call KernelPackage/mac80211/Default)
- TITLE:=Broadcom IEEE802.11n PCIe SoftMAC WLAN driver
- URL:=https://wireless.wiki.kernel.org/en/users/drivers/brcm80211
- 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
- FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcmsmac.ko
- AUTOLOAD:=$(call AutoProbe,brcmsmac)
- MENU:=1
- endef
- define KernelPackage/brcmsmac/description
- Kernel module for Broadcom IEEE802.11n PCIe Wireless cards
- endef
- define KernelPackage/brcmsmac/config
- if PACKAGE_kmod-brcmsmac
- config BRCMSMAC_USE_FW_FROM_WL
- bool "Use firmware extracted from broadcom proprietary driver"
- default y
- help
- Instead of using the official brcmsmac firmware a firmware
- version 666.2 extracted from the proprietary Broadcom driver
- is used. This is needed to get core rev 17 used in bcm4716
- to work.
- If unsure, say Y.
- endif
- endef
- define KernelPackage/brcmfmac
- $(call KernelPackage/mac80211/Default)
- TITLE:=Broadcom IEEE802.11n USB FullMAC WLAN driver
- URL:=https://wireless.wiki.kernel.org/en/users/drivers/brcm80211
- DEPENDS+= @USB_SUPPORT +kmod-cfg80211 +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT +kmod-brcmutil \
- +BRCMFMAC_SDIO:kmod-mmc @!TARGET_uml \
- +BRCMFMAC_USB:kmod-usb-core +BRCMFMAC_USB:brcmfmac-firmware-usb
- FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
- AUTOLOAD:=$(call AutoProbe,brcmfmac)
- endef
- define KernelPackage/brcmfmac/description
- Kernel module for Broadcom IEEE802.11n USB Wireless cards
- endef
- define KernelPackage/brcmfmac/config
- if PACKAGE_kmod-brcmfmac
- config BRCMFMAC_SDIO
- bool "Enable SDIO bus interface support"
- default y if TARGET_brcm2708
- default y if TARGET_sunxi
- default n
- help
- Enable support for cards attached to an SDIO bus.
- Select this option only if you are sure that your
- board has a Broadcom wireless chip atacched to
- that bus.
- config BRCMFMAC_USB
- bool "Enable USB bus interface support"
- depends on USB_SUPPORT
- default y
- help
- Supported USB connected chipsets:
- BCM43235, BCM43236, BCM43238 (all in revision 3 only)
- BCM43143, BCM43242, BCM43566, BCM43569
- config BRCMFMAC_PCIE
- bool "Enable PCIE bus interface support"
- depends on PCI_SUPPORT
- default y
- help
- Supported PCIe connected chipsets:
- BCM4354, BCM4356, BCM43567, BCM43570, BCM43602
- endif
- endef
- define KernelPackage/brcmsmac/install
- $(INSTALL_DIR) $(1)/lib/firmware/brcm
- ifeq ($(CONFIG_BRCMSMAC_USE_FW_FROM_WL),y)
- tar xjf "$(DL_DIR)/$(PKG_BRCMSMAC_FW_SOURCE)" -C "$(PKG_BUILD_DIR)"
- b43-fwcutter --brcmsmac -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_BRCMSMAC_FW_OBJECT)
- endif
- endef
|