mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 07:22:33 +00:00
6258c965a0
Board Data File (BDF) is loaded upon driver boot-up procedure. The right
board data file is identified on QCA4019 using bus, bmi-chip-id and
bmi-board-id.
The problem, however, can occur when the (default) board data file cannot
fulfill the vendor requirements and it is necessary to use a different
board data file.
This problem was solved for SMBIOS by adding a special SMBIOS type 0xF8.
Something similar has to be provided for systems without SMBIOS but with
device trees. No solution was specified by QCA and therefore a new one has
to be found for ath10k.
The device tree requires addition strings to define the variant name
wifi@a000000 {
status = "okay";
qcom,ath10k-calibration-variant = "RT-AC58U";
};
wifi@a800000 {
status = "okay";
qcom,ath10k-calibration-variant = "RT-AC58U";
};
This would create the boarddata identifiers for the board-2.bin search
* bus=ahb,bmi-chip-id=0,bmi-board-id=16,variant=RT-AC58U
* bus=ahb,bmi-chip-id=0,bmi-board-id=17,variant=RT-AC58U
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
(cherry picked from commit 1c01e02575
)
97 lines
2.7 KiB
Makefile
97 lines
2.7 KiB
Makefile
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=ath10k-ct
|
|
PKG_RELEASE=3
|
|
|
|
PKG_LICENSE:=GPLv2
|
|
PKG_LICENSE_FILES:=
|
|
|
|
PKG_SOURCE_URL:=https://github.com/greearb/ath10k-ct.git
|
|
PKG_SOURCE_PROTO:=git
|
|
PKG_SOURCE_DATE:=2018-03-16
|
|
PKG_SOURCE_VERSION:=30827f7d5b9841905c4efe918da2d95fc518c921
|
|
PKG_MIRROR_HASH:=aac023d7f9b09becf27058b1d09ae6d068b14bb6f10c5b5a248c7ee5ecff04dc
|
|
|
|
# Build the 4.13 ath10k-ct driver version. Other options are "-4.9", or
|
|
# leave un-defined for 4.7 kernel. Probably this should match as closely as
|
|
# possible to whatever mac80211 backports version is being used.
|
|
CT_KVER="-4.13"
|
|
|
|
PKG_MAINTAINER:=Ben Greear <greearb@candelatech.com>
|
|
PKG_BUILD_PARALLEL:=1
|
|
PKG_EXTMOD_SUBDIRS:=ath10k$(CT_KVER)
|
|
|
|
STAMP_CONFIGURED_DEPENDS := $(STAGING_DIR)/usr/include/mac80211-backport/backport/autoconf.h
|
|
|
|
include $(INCLUDE_DIR)/kernel.mk
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
define KernelPackage/ath10k-ct
|
|
SUBMENU:=Wireless Drivers
|
|
TITLE:=ath10k-ct driver optimized for CT ath10k firmware
|
|
DEPENDS:=+kmod-mac80211 +kmod-ath +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT +@DRIVER_11W_SUPPORT @PCI_SUPPORT +kmod-hwmon-core
|
|
FILES:=\
|
|
$(PKG_BUILD_DIR)/ath10k$(CT_KVER)/ath10k_pci.ko \
|
|
$(PKG_BUILD_DIR)/ath10k$(CT_KVER)/ath10k_core.ko
|
|
AUTOLOAD:=$(call AutoProbe,ath10k_pci)
|
|
PROVIDES:=kmod-ath10k
|
|
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
|
|
|
|
CT_MAKEDEFS += CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m
|
|
|
|
# This AHB logic is needed for IPQ4019 radios
|
|
CT_MAKEDEFS += CONFIG_ATH10K_AHB=m
|
|
NOSTDINC_FLAGS += -DCONFIG_ATH10K_AHB
|
|
|
|
NOSTDINC_FLAGS += -DSTANDALONE_CT
|
|
|
|
ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS
|
|
CT_MAKEDEFS += CONFIG_ATH10K_DEBUGFS=y CONFIG_MAC80211_DEBUGFS=y
|
|
NOSTDINC_FLAGS += -DCONFIG_MAC80211_DEBUGFS
|
|
NOSTDINC_FLAGS += -DCONFIG_ATH10K_DEBUGFS
|
|
endif
|
|
|
|
ifdef CONFIG_PACKAGE_ATH_DEBUG
|
|
NOSTDINC_FLAGS += -DCONFIG_ATH10K_DEBUG
|
|
endif
|
|
|
|
ifdef CONFIG_PACKAGE_ATH_DFS
|
|
NOSTDINC_FLAGS += -DCONFIG_ATH10K_DFS_CERTIFIED
|
|
endif
|
|
|
|
ifdef CONFIG_PACKAGE_ATH_SPECTRAL
|
|
CT_MAKEDEFS += CONFIG_ATH10K_SPECTRAL=y
|
|
NOSTDINC_FLAGS += -DCONFIG_ATH10K_SPECTRAL
|
|
endif
|
|
|
|
define Build/Configure
|
|
cp $(STAGING_DIR)/usr/include/mac80211/ath/*.h $(PKG_BUILD_DIR)
|
|
endef
|
|
|
|
ifneq ($(findstring c,$(OPENWRT_VERBOSE)),)
|
|
CT_MAKEDEFS += V=1
|
|
endif
|
|
|
|
define Build/Compile
|
|
+$(MAKE) $(CT_MAKEDEFS) $(PKG_JOBS) -C "$(LINUX_DIR)" \
|
|
$(KERNEL_MAKE_FLAGS) \
|
|
SUBDIRS="$(PKG_BUILD_DIR)/ath10k$(CT_KVER)" \
|
|
NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \
|
|
modules
|
|
endef
|
|
|
|
$(eval $(call KernelPackage,ath10k-ct))
|