Makefile 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. include $(TOPDIR)/rules.mk
  2. PKG_NAME:=ath10k-ct
  3. PKG_RELEASE:=1
  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:=2023-06-05
  9. PKG_SOURCE_VERSION:=fadd0768cbd22248a60efbb219ccefc9d86cd78c
  10. PKG_MIRROR_HASH:=94b5f99245bb35edbfeff08b32f03272c4e6fac8eabcd2a88e85835e088bc534
  11. # Build the 6.4 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="-6.4"
  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_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. $(KERNEL_NOSTDINC_FLAGS) \
  45. -I$(PKG_BUILD_DIR) \
  46. -I$(STAGING_DIR)/usr/include/mac80211-backport/uapi \
  47. -I$(STAGING_DIR)/usr/include/mac80211-backport \
  48. -I$(STAGING_DIR)/usr/include/mac80211/uapi \
  49. -I$(STAGING_DIR)/usr/include/mac80211 \
  50. -include backport/autoconf.h \
  51. -include backport/backport.h
  52. ifdef CONFIG_PACKAGE_MAC80211_MESH
  53. NOSTDINC_FLAGS += -DCONFIG_MAC80211_MESH
  54. endif
  55. CT_MAKEDEFS += CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_CE=y
  56. # This AHB logic is needed for IPQ4019 radios
  57. CT_MAKEDEFS += CONFIG_ATH10K_AHB=m
  58. NOSTDINC_FLAGS += -DCONFIG_ATH10K_AHB
  59. NOSTDINC_FLAGS += -DSTANDALONE_CT
  60. ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS
  61. CT_MAKEDEFS += CONFIG_ATH10K_DEBUGFS=y CONFIG_MAC80211_DEBUGFS=y
  62. NOSTDINC_FLAGS += -DCONFIG_MAC80211_DEBUGFS
  63. NOSTDINC_FLAGS += -DCONFIG_ATH10K_DEBUGFS
  64. endif
  65. ifdef CONFIG_PACKAGE_ATH_DEBUG
  66. NOSTDINC_FLAGS += -DCONFIG_ATH10K_DEBUG
  67. endif
  68. ifdef CONFIG_PACKAGE_ATH_DFS
  69. NOSTDINC_FLAGS += -DCONFIG_ATH10K_DFS_CERTIFIED
  70. endif
  71. ifdef CONFIG_PACKAGE_ATH_SPECTRAL
  72. CT_MAKEDEFS += CONFIG_ATH10K_SPECTRAL=y
  73. NOSTDINC_FLAGS += -DCONFIG_ATH10K_SPECTRAL
  74. endif
  75. ifeq ($(CONFIG_ATH10K-CT_LEDS),y)
  76. CT_MAKEDEFS += CONFIG_ATH10K_LEDS=y
  77. NOSTDINC_FLAGS += -DCONFIG_ATH10K_LEDS
  78. endif
  79. ifeq ($(BUILD_VARIANT),smallbuffers)
  80. NOSTDINC_FLAGS += -DCONFIG_ATH10K_SMALLBUFFERS
  81. endif
  82. define Build/Configure
  83. cp $(STAGING_DIR)/usr/include/mac80211/ath/*.h $(PKG_BUILD_DIR)
  84. endef
  85. ifneq ($(findstring c,$(OPENWRT_VERBOSE)),)
  86. CT_MAKEDEFS += V=1
  87. endif
  88. define Build/Compile
  89. +$(KERNEL_MAKE) $(CT_MAKEDEFS) $(PKG_JOBS) \
  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))