Makefile 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. include $(TOPDIR)/rules.mk
  2. PKG_NAME:=ath10k-ct
  3. PKG_RELEASE=2
  4. PKG_LICENSE:=GPLv2
  5. PKG_LICENSE_FILES:=
  6. PKG_SOURCE_URL:=https://github.com/greearb/ath10k-ct.git
  7. PKG_SOURCE_PROTO:=git
  8. PKG_SOURCE_DATE:=2021-01-11
  9. PKG_SOURCE_VERSION:=9fe1df7d4f783b6b0cd1c99d11979e5a6e6fc40b
  10. PKG_MIRROR_HASH:=4e30e256716611045e930b95eadaa8bfcadd5bdd8bbe3869cfe0f377920e812b
  11. # Build the 5.10 ath10k-ct driver version.
  12. # Probably this should match as closely as
  13. # possible to whatever mac80211 backports version is being used.
  14. CT_KVER="-5.10"
  15. PKG_MAINTAINER:=Ben Greear <[email protected]>
  16. PKG_BUILD_PARALLEL:=1
  17. PKG_EXTMOD_SUBDIRS:=ath10k$(CT_KVER)
  18. STAMP_CONFIGURED_DEPENDS := $(STAGING_DIR)/usr/include/mac80211-backport/backport/autoconf.h
  19. include $(INCLUDE_DIR)/kernel.mk
  20. include $(INCLUDE_DIR)/package.mk
  21. define KernelPackage/ath10k-ct
  22. SUBMENU:=Wireless Drivers
  23. TITLE:=ath10k-ct driver optimized for CT ath10k firmware
  24. DEPENDS:=+kmod-mac80211 +kmod-ath +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT @PCI_SUPPORT +kmod-hwmon-core
  25. FILES:=\
  26. $(PKG_BUILD_DIR)/ath10k$(CT_KVER)/ath10k_pci.ko \
  27. $(PKG_BUILD_DIR)/ath10k$(CT_KVER)/ath10k_core.ko
  28. AUTOLOAD:=$(call AutoProbe,ath10k_pci)
  29. PROVIDES:=kmod-ath10k
  30. VARIANT:=regular
  31. endef
  32. define KernelPackage/ath10k-ct/config
  33. config ATH10K-CT_LEDS
  34. bool "Enable LED support"
  35. default y
  36. depends on PACKAGE_kmod-ath10k-ct || PACKAGE_kmod-ath10k-ct-smallbuffers
  37. endef
  38. define KernelPackage/ath10k-ct-smallbuffers
  39. $(call KernelPackage/ath10k-ct)
  40. TITLE+= (small buffers for low-RAM devices)
  41. VARIANT:=smallbuffers
  42. endef
  43. NOSTDINC_FLAGS = \
  44. -I$(PKG_BUILD_DIR) \
  45. -I$(STAGING_DIR)/usr/include/mac80211-backport/uapi \
  46. -I$(STAGING_DIR)/usr/include/mac80211-backport \
  47. -I$(STAGING_DIR)/usr/include/mac80211/uapi \
  48. -I$(STAGING_DIR)/usr/include/mac80211 \
  49. -include backport/autoconf.h \
  50. -include backport/backport.h
  51. ifdef CONFIG_PACKAGE_MAC80211_MESH
  52. NOSTDINC_FLAGS += -DCONFIG_MAC80211_MESH
  53. endif
  54. CT_MAKEDEFS += CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_CE=y
  55. # This AHB logic is needed for IPQ4019 radios
  56. CT_MAKEDEFS += CONFIG_ATH10K_AHB=m
  57. NOSTDINC_FLAGS += -DCONFIG_ATH10K_AHB
  58. NOSTDINC_FLAGS += -DSTANDALONE_CT
  59. ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS
  60. CT_MAKEDEFS += CONFIG_ATH10K_DEBUGFS=y CONFIG_MAC80211_DEBUGFS=y
  61. NOSTDINC_FLAGS += -DCONFIG_MAC80211_DEBUGFS
  62. NOSTDINC_FLAGS += -DCONFIG_ATH10K_DEBUGFS
  63. endif
  64. ifdef CONFIG_PACKAGE_ATH_DEBUG
  65. NOSTDINC_FLAGS += -DCONFIG_ATH10K_DEBUG
  66. endif
  67. ifdef CONFIG_PACKAGE_ATH_DFS
  68. NOSTDINC_FLAGS += -DCONFIG_ATH10K_DFS_CERTIFIED
  69. endif
  70. ifdef CONFIG_PACKAGE_ATH_SPECTRAL
  71. CT_MAKEDEFS += CONFIG_ATH10K_SPECTRAL=y
  72. NOSTDINC_FLAGS += -DCONFIG_ATH10K_SPECTRAL
  73. endif
  74. ifeq ($(CONFIG_ATH10K-CT_LEDS),y)
  75. CT_MAKEDEFS += CONFIG_ATH10K_LEDS=y
  76. NOSTDINC_FLAGS += -DCONFIG_ATH10K_LEDS
  77. endif
  78. ifeq ($(BUILD_VARIANT),smallbuffers)
  79. NOSTDINC_FLAGS += -DCONFIG_ATH10K_SMALLBUFFERS
  80. endif
  81. define Build/Configure
  82. cp $(STAGING_DIR)/usr/include/mac80211/ath/*.h $(PKG_BUILD_DIR)
  83. endef
  84. ifneq ($(findstring c,$(OPENWRT_VERBOSE)),)
  85. CT_MAKEDEFS += V=1
  86. endif
  87. define Build/Compile
  88. +$(MAKE) $(CT_MAKEDEFS) $(PKG_JOBS) -C "$(LINUX_DIR)" \
  89. $(KERNEL_MAKE_FLAGS) \
  90. M="$(PKG_BUILD_DIR)/ath10k$(CT_KVER)" \
  91. NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \
  92. modules
  93. endef
  94. $(eval $(call KernelPackage,ath10k-ct))
  95. $(eval $(call KernelPackage,ath10k-ct-smallbuffers))