mac80211: b43: Expose N-PHY support
[openwrt/svn-archive/archive.git] / package / mac80211 / Makefile
index 219a3925a3b624d50bd887e8557f23c4c5d2f48f..70ec95e1bbc47ec7bf541b10a73b6f03fef2ccbf 100644 (file)
@@ -33,6 +33,9 @@ PKG_CONFIG_DEPENDS:= \
        $(patsubst %,CONFIG_PACKAGE_kmod-%,$(PKG_DRIVERS)) \
        CONFIG_PACKAGE_MAC80211_DEBUGFS \
        CONFIG_PACKAGE_ATH_DEBUG \
+       CONFIG_PACKAGE_B43_DEBUG \
+       CONFIG_PACKAGE_B43_PIO \
+       CONFIG_PACKAGE_B43_N_PHY \
        CONFIG_ATH_USER_REGD \
 
 CARL9170_FW_VERSION:=1.9.2
@@ -916,7 +919,15 @@ define KernelPackage/mwl8k/description
 endef
 
 #Broadcom firmware
-ifneq ($(CONFIG_B43_EXPERIMENTAL),)
+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_MD5SUM:=3363e3a6b3d9d73c49dea870c7834eac
+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
@@ -931,6 +942,7 @@ else
   PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
   PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
 endif
+endif
 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
   PKG_B43_FWV4_NAME:=broadcom-wl
   PKG_B43_FWV4_VERSION:=5.2
@@ -957,11 +969,11 @@ ifeq ($(CONFIG_B43_OPENFIRMWARE),y)
   PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/fwcutter/
 else
   PKG_B43_FWCUTTER_NAME:=b43-fwcutter
-  PKG_B43_FWCUTTER_VERSION:=013
+  PKG_B43_FWCUTTER_VERSION:=014
   PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
   PKG_B43_FWCUTTER_PROTO:=default
   PKG_B43_FWCUTTER_SOURCE_URL:=http://bu3sch.de/b43/fwcutter/
-  PKG_B43_FWCUTTER_MD5SUM:=3547ec6c474ac1bc2c4a5bb765b791a4
+  PKG_B43_FWCUTTER_MD5SUM:=dd63f9149510bd6e01b89314e955083b
   PKG_B43_FWCUTTER_SUBDIR:=b43-fwcutter-$(PKG_B43_FWCUTTER_VERSION)
   PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/
 endif
@@ -1013,19 +1025,19 @@ define KernelPackage/b43/config
 
        choice
                prompt "b43 firmware version"
-               default B43_STABLE
+               default B43_FW_4_150
                help
                  This option allows you to select the version of the b43 firmware.
 
-       config B43_STABLE
-               bool "4.150.10.5 (stable)"
+       config B43_FW_4_150
+               bool "Firmware 410.2160 from driver 4.150.10.5 (stable)"
                help
                  Stable firmware for BCM43xx devices.
 
                  If unsure, select this.
 
-       config B43_EXPERIMENTAL
-               bool "4.178.10.4 (experimental)"
+       config B43_FW_4_178
+               bool "Firmware 478.104 from driver 4.178.10.4"
                help
                  Experimental firmware for BCM43xx devices.
 
@@ -1033,6 +1045,15 @@ define KernelPackage/b43/config
 
                  If unsure, select the "stable" firmware.
 
+       config B43_FW_5_10
+               bool "Firmware 508.1084 from driver 5.10.56.27"
+               help
+                 Newer experimental firmware for BCM43xx devices.
+
+                 This firmware is mostly untested. It is needed for some N-PHY devices.
+
+                 If unsure, select the "stable" firmware.
+
        config B43_OPENFIRMWARE
                bool "Open FirmWare for WiFi networks"
                help
@@ -1062,7 +1083,8 @@ define KernelPackage/b43/config
        config B43_FW_SQUASH_COREREVS
                string "Core revisions to include"
                depends on B43_FW_SQUASH
-               default "5,6,7,8,9,10,13,14,15"
+               default "5,6,7,8,9,10,11,13,14,15,16" if PACKAGE_B43_PHY_N
+               default "5,6,7,8,9,10,13,14,15" if !PACKAGE_B43_PHY_N
                help
                  This is a comma seperated list of core revision numbers.
 
@@ -1075,7 +1097,8 @@ define KernelPackage/b43/config
        config B43_FW_SQUASH_PHYTYPES
                string "PHY types to include"
                depends on B43_FW_SQUASH
-               default "G,LP"
+               default "G,LP,N" if PACKAGE_B43_PHY_N
+               default "G,LP" if !PACKAGE_B43_PHY_N
                help
                  This is a comma seperated list of PHY types:
                    A  => A-PHY
@@ -1090,6 +1113,35 @@ define KernelPackage/b43/config
                  Example (keep files for G-PHY and N-PHY):
                    G,N
 
+       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_N
+               bool "Enable support for N-PHYs"
+               select B43_FW_5_10
+               default n
+               help
+                 Enable support for BCM4321 and BCM4322.
+
+                 Currently only 11g speed is available.
+
+                 If unsure, say N.
+
        endmenu
 endef
 
@@ -1150,6 +1202,9 @@ BUILDFLAGS:= \
        -D__CONFIG_MAC80211_RC_DEFAULT=minstrel \
        -DCONFIG_MAC80211_RC_MINSTREL_HT \
        $(if $(CONFIG_ATH_USER_REGD),-DATH_USER_REGD=1) \
+       $(if $(CONFIG_PACKAGE_B43_DEBUG),-DCONFIG_B43_DEBUG) \
+       $(if $(CONFIG_PACKAGE_B43_PIO),-DCONFIG_B43_PIO) \
+       $(if $(CONFIG_PACKAGE_B43_PHY_N),-DCONFIG_B43_PHY_N) \
        $(if $(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS),-DCONFIG_RT2X00_LIB_DEBUGFS) \
        $(if $(CONFIG_PACKAGE_RT2X00_DEBUG),-DCONFIG_RT2X00_DEBUG) \
        $(if $(NEED_RT2X00_LIB_HT),-DCONFIG_RT2X00_LIB_HT) \
@@ -1181,6 +1236,9 @@ MAKE_OPTS:= \
        CONFIG_B43LEGACY_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
        CONFIG_B43=$(if $(CONFIG_PACKAGE_kmod-b43),m) \
        CONFIG_B43LEGACY=$(if $(CONFIG_PACKAGE_kmod-b43legacy),m) \
+       CONFIG_B43_DEBUG=$(if $(CONFIG_PACKAGE_B43_DEBUG),y) \
+       CONFIG_B43_PIO=$(if $(CONFIG_PACKAGE_B43_PIO),y) \
+       CONFIG_B43_PHY_N=$(if $(CONFIG_PACKAGE_B43_PHY_N),y) \
        CONFIG_ATH_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath),m) \
        CONFIG_ATH_DEBUG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
        CONFIG_ATH5K_DEBUG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \