[package/mac80211]: build and package the wl12xx driver
[openwrt.git] / package / mac80211 / Makefile
index 493336b..ae52f7d 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2007-2011 OpenWrt.org
+# Copyright (C) 2007-2012 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk
 PKG_NAME:=mac80211
 
 PKG_VERSION:=2011-12-01
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
 PKG_MD5SUM:=8d1fe2fd6bbabc4fbbf31dfbf015c62c
 
@@ -26,12 +26,13 @@ PKG_DRIVERS = \
        rtl8180 rtl8187 zd1211rw mac80211-hwsim carl9170 b43 b43legacy \
        ath9k-common ath9k ath9k-htc ath net-libipw net-ipw2100 net-ipw2200 \
        mwl8k net-hermes net-hermes-pci net-hermes-plx net-hermes-pcmcia \
-       iwl-legacy iwl3945 iwl4965 iwlagn lib80211
+       iwl-legacy iwl3945 iwl4965 iwlagn wl12xx lib80211
 
 PKG_CONFIG_DEPENDS:= \
        CONFIG_PACKAGE_kmod-mac80211 \
        $(patsubst %,CONFIG_PACKAGE_kmod-%,$(PKG_DRIVERS)) \
        CONFIG_PACKAGE_MAC80211_DEBUGFS \
+       CONFIG_PACKAGE_MAC80211_MESH \
        CONFIG_PACKAGE_ATH_DEBUG \
        CONFIG_PACKAGE_B43_DEBUG \
        CONFIG_PACKAGE_B43_PIO \
@@ -48,7 +49,7 @@ define KernelPackage/mac80211/Default
   SUBMENU:=$(WMENU)
   URL:=http://linuxwireless.org/
   MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
-  DEPENDS:=@(!(TARGET_avr32||TARGET_ep93xx||TARGET_ps3||TARGET_pxcab||LINUX_3_2)||BROKEN)
+  DEPENDS:=@(!(TARGET_avr32||TARGET_ep93xx||TARGET_ps3||TARGET_pxcab)||BROKEN)
 endef
 
 define KernelPackage/cfg80211
@@ -89,6 +90,10 @@ define KernelPackage/mac80211/config
 
                  Say N unless you know you need this.
 
+       config PACKAGE_MAC80211_MESH
+               bool "Enable 802.11s mesh support"
+               default y
+
        endmenu
 endef
 
@@ -750,6 +755,22 @@ define KernelPackage/mwl8k/description
  Kernel modules for Marvell TOPDOG 802.11 Wireless cards
 endef
 
+
+define KernelPackage/wl12xx
+  $(call KernelPackage/mac80211/Default)
+  TITLE:=Driver for TI WL12xx
+  URL:=http://wireless.kernel.org/en/users/Drivers/wl12xx
+  DEPENDS+= @TARGET_omap4 +kmod-mac80211
+  FILES:= \
+       $(PKG_BUILD_DIR)/drivers/net/wireless/wl12xx/wl12xx.ko \
+       $(PKG_BUILD_DIR)/drivers/net/wireless/wl12xx/wl12xx_sdio.ko
+  AUTOLOAD:=$(call AutoLoad,61,wl12xx wl12xx_sdio)
+endef
+
+define KernelPackage/wl12xx/description
+ Kernel modules for TI WL12xx
+endef
+
 #Broadcom firmware
 ifneq ($(CONFIG_B43_FW_5_10),)
   PKG_B43_FWV4_NAME:=broadcom-wl
@@ -766,6 +787,14 @@ ifneq ($(CONFIG_B43_FW_4_178),)
   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_MD5SUM:=14477e8cbbb91b11896affac9b219fdb
+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_MD5SUM:=f4e357b09eaf5d8b1f1920cf3493a555
 else
   PKG_B43_FWV4_NAME:=broadcom-wl
   PKG_B43_FWV4_VERSION:=4.150.10.5
@@ -775,6 +804,7 @@ else
   PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
 endif
 endif
+endif
 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
   PKG_B43_FWV4_NAME:=broadcom-wl
   PKG_B43_FWV4_VERSION:=5.2
@@ -801,11 +831,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:=014
+  PKG_B43_FWCUTTER_VERSION:=015
   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:=dd63f9149510bd6e01b89314e955083b
+  PKG_B43_FWCUTTER_MD5SUM:=628e030565222a107bc40300313cbe76
   PKG_B43_FWCUTTER_SUBDIR:=b43-fwcutter-$(PKG_B43_FWCUTTER_VERSION)
   PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/
 endif
@@ -886,6 +916,15 @@ define KernelPackage/b43/config
                  This firmware is mostly untested. It is needed for some N-PHY devices.
 
                  If unsure, select the "stable" firmware.
+   
+       config B43_FW_5_100_138
+               bool "Firmware 666.2 from driver 5.100.138"
+               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"
@@ -964,7 +1003,7 @@ define KernelPackage/b43/config
 
        config PACKAGE_B43_PHY_N
                bool "Enable support for N-PHYs"
-               select B43_FW_5_10
+               select B43_FW_5_100_138
                default y
                help
                  Enable support for BCM4321 and BCM4322.
@@ -975,8 +1014,7 @@ define KernelPackage/b43/config
 
        config PACKAGE_B43_PHY_HT
                bool "Enable support for HT-PHYs"
-               depends on BROKEN
-               select B43_FW_5_10
+               select B43_FW_5_100_138
                default n
                help
                  Currently broken.
@@ -986,7 +1024,7 @@ define KernelPackage/b43/config
        config PACKAGE_B43_PHY_LCN
                bool "Enable support for LCN-PHYs"
                depends on BROKEN
-               select B43_FW_5_10
+               select B43_FW_5_100_138
                default n
                help
                  Currently broken.
@@ -1051,6 +1089,7 @@ BUILDFLAGS:= \
        $(if $(CONFIG_PCI),-DCONFIG_ATH9K_PCI) \
        $(if $(CONFIG_TARGET_ar71xx),-DCONFIG_ATH9K_AHB) \
        $(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS), -DCONFIG_CFG80211_DEBUGFS -DCONFIG_MAC80211_DEBUGFS -DCONFIG_ATH9K_DEBUGFS -DCONFIG_CARL9170_DEBUGFS -DCONFIG_ATH9K_HTC_DEBUGFS -DCONFIG_ATH5K_DEBUG) \
+       $(if $(CONFIG_PACKAGE_MAC80211_MESH),-DCONFIG_MAC80211_MESH) \
        $(if $(CONFIG_PACKAGE_ATH_DEBUG),-DCONFIG_ATH_DEBUG -DCONFIG_ATH9K_PKTLOG) \
        -D__CONFIG_MAC80211_RC_DEFAULT=minstrel \
        -DCONFIG_MAC80211_RC_MINSTREL_HT \
@@ -1075,7 +1114,8 @@ BUILDFLAGS:= \
        $(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),-DCONFIG_RT2X00_LIB_SOC) \
        $(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-iwl4965),-DCONFIG_COMPAT_IWL4965) \
+       $(if $(CONFIG_PACKAGE_kmod-wl12xx),-DCONFIG_WL12XX -DCONFIG_COMPAT_WL12XX_SDIO)
 
 MAKE_OPTS:= \
        CROSS_COMPILE="$(KERNEL_CROSS)" \
@@ -1085,6 +1125,7 @@ MAKE_OPTS:= \
        CONFIG_CFG80211=$(if $(CONFIG_PACKAGE_kmod-cfg80211),m) \
        CONFIG_MAC80211=$(if $(CONFIG_PACKAGE_kmod-mac80211),m) \
        CONFIG_MAC80211_RC_MINSTREL=y \
+       CONFIG_MAC80211_MESH=$(CONFIG_PACKAGE_MAC80211_MESH) \
        CONFIG_MAC80211_LEDS=$(CONFIG_LEDS_TRIGGERS) \
        CONFIG_CFG80211_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
        CONFIG_MAC80211_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
@@ -1181,7 +1222,8 @@ MAKE_OPTS:= \
        CONFIG_USB_NET_CDCETHER= \
        CONFIG_USB_USBNET= \
        CONFIG_AT76C50X_USB= \
-       CONFIG_WL12XX= \
+       CONFIG_WL12XX=$(if $(CONFIG_PACKAGE_kmod-wl12xx),m) \
+       CONFIG_COMPAT_WL12XX_SDIO=$(if $(CONFIG_PACKAGE_kmod-wl12xx),m) \
        CONFIG_EEPROM_93CX6= \
        CONFIG_HERMES=$(if $(CONFIG_PACKAGE_kmod-net-hermes),m) \
        CONFIG_HERMES_CACHE_FW_ON_INIT= \
@@ -1318,6 +1360,16 @@ define KernelPackage/rt2800-usb/install
        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/rt2870.bin $(1)/lib/firmware/
 endef
 
+define KernelPackage/wl12xx/install
+       $(INSTALL_DIR) $(1)/lib/firmware/ti-connectivity
+       $(INSTALL_DATA) \
+               $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-3.bin \
+               $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-fw-plt-3.bin \
+               $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/ti-connectivity/wl127x-nvs.bin \
+               $(1)/lib/firmware/ti-connectivity
+endef
+
+
 define KernelPackage/zd1211rw/install
        $(INSTALL_DIR) $(1)/lib/firmware/zd1211
        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
@@ -1484,3 +1536,4 @@ $(eval $(call KernelPackage,net-hermes))
 $(eval $(call KernelPackage,net-hermes-pci))
 $(eval $(call KernelPackage,net-hermes-plx))
 $(eval $(call KernelPackage,net-hermes-pcmcia))
+$(eval $(call KernelPackage,wl12xx))
This page took 0.031778 seconds and 4 git commands to generate.