[LEDE-DEV] [PATCH] Support Candela-Tech ath10k and ath9k out-of-tree driver.

greearb at candelatech.com greearb at candelatech.com
Tue Jun 21 15:00:17 PDT 2016


From: Ben Greear <greearb at candelatech.com>

This lets one use the ath9k and ath10k driver instead of the built-in
ath10k/ath9k driver from the upstream kernel (or backports).

For ath10k, this should be a drop-in replacement, as well as enabling
better CT firmware support.

For ath9k, this enables some 5Mhz channel and 4.9Ghz support,
but may loose some existing patches that LEDE carries for ath9k.

Signed-off-by: Ben Greear <greearb at candelatech.com>
---
 package/firmware/ath10k-firmware/Makefile |  2 +-
 package/kernel/ath-ct/Makefile            | 74 +++++++++++++++++++++++++++++++
 2 files changed, 75 insertions(+), 1 deletion(-)
 create mode 100644 package/kernel/ath-ct/Makefile

diff --git a/package/firmware/ath10k-firmware/Makefile b/package/firmware/ath10k-firmware/Makefile
index fcd6167..635aede 100644
--- a/package/firmware/ath10k-firmware/Makefile
+++ b/package/firmware/ath10k-firmware/Makefile
@@ -28,7 +28,7 @@ define Package/ath10k-firmware-default
   CATEGORY:=Kernel modules
   SUBMENU:=$(WMENU)
   URL:=$(PKG_SOURCE_URL)
-  DEPENDS:=kmod-ath10k
+  DEPENDS:=
 endef
 
 define Package/ath10k-firmware-qca988x
diff --git a/package/kernel/ath-ct/Makefile b/package/kernel/ath-ct/Makefile
new file mode 100644
index 0000000..4441c14
--- /dev/null
+++ b/package/kernel/ath-ct/Makefile
@@ -0,0 +1,74 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=ath-ct
+PKG_VERSION:=2016-06-21
+PKG_RELEASE=1
+
+PKG_LICENSE:=GPLv2
+PKG_LICENSE_FILES:=
+
+PKG_SOURCE_URL:=https://github.com/greearb/ath-ct.git
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE_VERSION:=b003b75d885595fbc18f4fd9b3aef9189a63f21e
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz
+
+PKG_MAINTAINER:=Ben Greear <greearb at candelatech.com>
+PKG_BUILD_PARALLEL:=1
+
+STAMP_CONFIGURED_DEPENDS := $(STAGING_DIR)/usr/include/mac80211-backport/backport/autoconf.h
+
+include $(INCLUDE_DIR)/kernel.mk
+include $(INCLUDE_DIR)/package.mk
+
+define KernelPackage/ath-ct
+  SUBMENU:=Wireless Drivers
+  TITLE:=ath10k-ct driver optimized for CT ath10k firmware
+  DEPENDS:=+kmod-mac80211 +kmod-ath + at DRIVER_11N_SUPPORT @PCI_SUPPORT
+  FILES:=\
+	$(PKG_BUILD_DIR)/ath.ko \
+	$(PKG_BUILD_DIR)/ath9k/ath9k_hw.ko \
+	$(PKG_BUILD_DIR)/ath9k/ath9k_common.ko \
+	$(PKG_BUILD_DIR)/ath9k/ath9k_htc.ko \
+	$(PKG_BUILD_DIR)/ath9k/ath9k_hw.ko \
+	$(PKG_BUILD_DIR)/ath9k/ath9k.ko \
+	$(PKG_BUILD_DIR)/ath10k/ath10k_pci.ko \
+	$(PKG_BUILD_DIR)/ath10k/ath10k_core.ko
+  AUTOLOAD:=$(call AutoLoad,50,mac80211 ath ath10k_core ath10k_pci)
+endef
+
+NOSTDINC_FLAGS = \
+	-I$(PKG_BUILD_DIR) \
+	-I$(STAGING_DIR)/usr/include/mac80211-backport/uapi \
+	-I$(STAGING_DIR)/usr/include/mac80211-backport \
+	-I$(STAGING_DIR)/usr/include/mac80211/uapi \
+	-I$(STAGING_DIR)/usr/include/mac80211 \
+	-include backport/autoconf.h \
+	-include backport/backport.h
+
+ifdef CONFIG_PACKAGE_MAC80211_MESH
+  NOSTDINC_FLAGS += -DCONFIG_MAC80211_MESH
+endif
+
+NOSTDINC_FLAGS += -DCONFIG_ATH10K_DEBUGFS -DCONFIG_MAC80211_DEBUGFS -DCONFIG_ATH10K_DEBUG -DCONFIG_ATH10K_AHB
+NOSTDINC_FLAGS += -DCONFIG_ATH9K_PCI -DCONFIG_ATH9K_DEBUGFS -DCONFIG_ATH9K_DFS_DEBUGFS -DCONFIG_ATH9K_CHANNEL_CONTEXT
+NOSTDINC_FLAGS += -DCONFIG_ATH9K_HTC_DEBUGFS -DCONFIG_ATH_DEBUG -DCONFIG_ATH9K_BTCOEX_SUPPORT
+NOSTDINC_FLAGS += -DCONFIG_ATH9K_RFKILL -DCONFIG_ATH9K_DYNACK -DCONFIG_ATH9K_HWRNG
+NOSTDINC_FLAGS += -DSTANDALONE_CT
+
+define Build/Compile
+	+CONFIG_ATH_COMMON=m CONFIG_ATH_DEBUG=y \
+	 CONFIG_ATH9K=m CONFIG_ATH9K_HW=m CONFIG_ATH9K_COMMON=m CONFIG_ATH9K_PCI=y \
+         CONFIG_ATH9K_HTC=m CONFIG_ATH9K_HTC_DEBUGFS=y CONFIG_ATH9K_RFKILL=y CONFIG_ATH9K_DYNACK=y \
+         CONFIG_ATH9K_DEBUGFS=y CONFIG_ATH9K_DFS_DEBUGFS=y CONFIG_ATH9K_BTCOEX_SUPPORT=y CONFIG_ATH9K_STATION_STATISTICS=m \
+         CONFIG_ATH9K_CHANNEL_CONTEXT=y CONFIG_ATH9K_HWRNG=y \
+         CONFIG_ATH10K=m CONFIG_ATH10K_DEBUGFS=y CONFIG_MAC80211_DEBUGFS=y CONFIG_ATH10K_PCI=m CONFIG_ATH10K_AHB=y \
+         $(MAKE) $(PKG_JOBS) -C "$(LINUX_DIR)" \
+		ARCH="$(LINUX_KARCH)" \
+		CROSS_COMPILE="$(TARGET_CROSS)" \
+		SUBDIRS="$(PKG_BUILD_DIR)" \
+		NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \
+		modules
+endef
+
+$(eval $(call KernelPackage,ath-ct))
-- 
2.4.3




More information about the Lede-dev mailing list