mac80211: add brcmsmac driver
[openwrt/svn-archive/archive.git] / package / mac80211 / Makefile
index 13727d153a2d3a69448ae11a834ec9abdd62d1de..c56db34700262f7fa9f9bff988435f300a59ef33 100644 (file)
@@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk
 PKG_NAME:=mac80211
 
 PKG_VERSION:=2012-02-06
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
 PKG_MD5SUM:=fae71c35ee3f3de6329f2db7aed6d265
 
@@ -1080,6 +1080,34 @@ define KernelPackage/b43legacy/description
 Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
 endef
 
+define KernelPackage/brcmsmac
+  $(call KernelPackage/mac80211/Default)
+  TITLE:=Broadcom IEEE802.11n PCIe SoftMAC WLAN driver
+  URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
+  DEPENDS+= +@DRIVER_11N_SUPPORT +!TARGET_brcm47xx:kmod-bcma +kmod-lib-cordic +kmod-lib-crc8
+  FILES:= \
+       $(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.ko \
+       $(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmutil/brcmutil.ko
+  AUTOLOAD:=$(call AutoLoad,30,brcmutil brcmsmac)
+  MENU:=1
+endef
+
+define KernelPackage/brcmsmac/description
+ Kernel modules for Broadcom IEEE802.11n PCIe Wireless cards
+endef
+
+define KernelPackage/brcmsmac/config
+       menu "Configuration"
+               depends on PACKAGE_kmod-brcmsmac
+
+       config PACKAGE_BRCM80211_DEBUG
+               bool "brcmsmac wireless debugging"
+               help
+                 Say Y, if you want to debug brcmsmac wireless driver.
+
+       endmenu
+endef
+
 BUILDFLAGS:= \
        -I$(PKG_BUILD_DIR)/include \
        $(foreach opt,$(CONFOPTS),-DCONFIG_$(opt)) \
@@ -1116,7 +1144,8 @@ BUILDFLAGS:= \
        $(if $(CONFIG_TARGET_atheros),-DCONFIG_ATH5K_AHB,-DCONFIG_ATH5K_PCI) \
        $(if $(CONFIG_PACKAGE_kmod-iwl3945),-DCONFIG_IWL3945) \
        $(if $(CONFIG_PACKAGE_kmod-iwl4965),-DCONFIG_COMPAT_IWL4965) \
-       $(if $(CONFIG_PACKAGE_kmod-wl12xx),-DCONFIG_WL12XX -DCONFIG_COMPAT_WL12XX_SDIO)
+       $(if $(CONFIG_PACKAGE_kmod-wl12xx),-DCONFIG_WL12XX -DCONFIG_COMPAT_WL12XX_SDIO) \
+       $(if $(CONFIG_PACKAGE_BRCM80211_DEBUG),-DCONFIG_BRCMDBG)
 
 MAKE_OPTS:= \
        CROSS_COMPILE="$(KERNEL_CROSS)" \
@@ -1247,8 +1276,9 @@ MAKE_OPTS:= \
        CONFIG_ATL1E= \
        CONFIG_ATL1C= \
        CONFIG_BRCMFMAC= \
-       CONFIG_BRCMUMAC= \
-       CONFIG_BRCMSMAC= \
+       CONFIG_BRCMUTIL=$(if $(CONFIG_PACKAGE_kmod-brcmsmac),m) \
+       CONFIG_BRCMSMAC=$(if $(CONFIG_PACKAGE_kmod-brcmsmac),m) \
+       CONFIG_BRCMDBG=$(if $(CONFIG_PACKAGE_BRCM80211_DEBUG),y) \
        KLIB_BUILD="$(LINUX_DIR)" \
        MODPROBE=true \
        KLIB=$(TARGET_MODULES_DIR) \
@@ -1385,14 +1415,14 @@ define KernelPackage/ath9k-htc/install
 endef
 
 define KernelPackage/mwl8k/install
-       $(INSTALL_DIR) $(1)/lib/firmware
+       $(INSTALL_DIR) $(1)/lib/firmware/mwl8k
        $(INSTALL_DATA) \
                $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8366_ap-2.fw \
                $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8366.fw \
                $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/helper_8366.fw \
                $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/fmimage_8687.fw \
                $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/mwl8k/helper_8687.fw \
-               $(1)/lib/firmware/
+               $(1)/lib/firmware/mwl8k/
 endef
 
 define KernelPackage/net-ipw2100/install
@@ -1492,6 +1522,14 @@ ifneq ($(CONFIG_B43LEGACY_FW_SQUASH),)
 endif
 endef
 
+define KernelPackage/brcmsmac/install
+       $(INSTALL_DIR) $(1)/lib/firmware/brcm
+       $(INSTALL_DATA) \
+               $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx-0.fw \
+               $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx_hdr-0.fw \
+               $(1)/lib/firmware/brcm/
+endef
+
 $(eval $(call KernelPackage,ath5k))
 $(eval $(call KernelPackage,lib80211))
 $(eval $(call KernelPackage,libertas-usb))
@@ -1525,6 +1563,7 @@ $(eval $(call KernelPackage,ath))
 $(eval $(call KernelPackage,carl9170))
 $(eval $(call KernelPackage,b43))
 $(eval $(call KernelPackage,b43legacy))
+$(eval $(call KernelPackage,brcmsmac))
 $(eval $(call KernelPackage,net-libipw))
 $(eval $(call KernelPackage,net-ipw2100))
 $(eval $(call KernelPackage,net-ipw2200))