ath.mk 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375
  1. PKG_DRIVERS += \
  2. ath ath5k ath6kl ath6kl-sdio ath6kl-usb ath9k ath9k-common ath9k-htc ath10k ath10k-smallbuffers \
  3. ath11k ath11k-pci carl9170 owl-loader ar5523 wil6210
  4. PKG_CONFIG_DEPENDS += \
  5. CONFIG_PACKAGE_ATH_DEBUG \
  6. CONFIG_PACKAGE_ATH_DFS \
  7. CONFIG_PACKAGE_ATH_SPECTRAL \
  8. CONFIG_PACKAGE_ATH_DYNACK \
  9. CONFIG_ATH9K_HWRNG \
  10. CONFIG_ATH9K_SUPPORT_PCOEM \
  11. CONFIG_ATH9K_TX99 \
  12. CONFIG_ATH10K_LEDS \
  13. CONFIG_ATH10K_THERMAL \
  14. CONFIG_ATH11K_THERMAL \
  15. CONFIG_ATH_USER_REGD
  16. ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS
  17. config-y += \
  18. ATH9K_DEBUGFS \
  19. ATH9K_HTC_DEBUGFS \
  20. ATH10K_DEBUGFS \
  21. ATH11K_DEBUGFS \
  22. CARL9170_DEBUGFS \
  23. ATH5K_DEBUG \
  24. ATH6KL_DEBUG \
  25. WIL6210_DEBUGFS
  26. endif
  27. ifdef CONFIG_PACKAGE_MAC80211_TRACING
  28. config-y += \
  29. ATH10K_TRACING \
  30. ATH11K_TRACING \
  31. ATH6KL_TRACING \
  32. ATH_TRACEPOINTS \
  33. ATH5K_TRACER \
  34. WIL6210_TRACING
  35. endif
  36. config-$(call config_package,ath) += ATH_CARDS ATH_COMMON
  37. config-$(CONFIG_PACKAGE_ATH_DEBUG) += ATH_DEBUG ATH10K_DEBUG ATH11K_DEBUG ATH9K_STATION_STATISTICS
  38. config-$(CONFIG_PACKAGE_ATH_DFS) += ATH9K_DFS_CERTIFIED ATH10K_DFS_CERTIFIED
  39. config-$(CONFIG_PACKAGE_ATH_SPECTRAL) += ATH9K_COMMON_SPECTRAL ATH10K_SPECTRAL ATH11K_SPECTRAL
  40. config-$(CONFIG_PACKAGE_ATH_DYNACK) += ATH9K_DYNACK
  41. config-$(call config_package,ath9k) += ATH9K
  42. config-$(call config_package,ath9k-common) += ATH9K_COMMON
  43. config-$(call config_package,owl-loader) += ATH9K_PCI_NO_EEPROM
  44. config-$(CONFIG_TARGET_ath79) += ATH9K_AHB
  45. config-$(CONFIG_TARGET_ipq40xx) += ATH10K_AHB
  46. config-$(CONFIG_PCI) += ATH9K_PCI
  47. config-$(CONFIG_ATH_USER_REGD) += ATH_USER_REGD ATH_REG_DYNAMIC_USER_REG_HINTS
  48. config-$(CONFIG_ATH9K_HWRNG) += ATH9K_HWRNG
  49. config-$(CONFIG_ATH9K_SUPPORT_PCOEM) += ATH9K_PCOEM
  50. config-$(CONFIG_ATH9K_TX99) += ATH9K_TX99
  51. config-$(CONFIG_ATH9K_UBNTHSR) += ATH9K_UBNTHSR
  52. config-$(CONFIG_ATH10K_LEDS) += ATH10K_LEDS
  53. config-$(CONFIG_ATH10K_THERMAL) += ATH10K_THERMAL
  54. config-$(CONFIG_ATH11K_THERMAL) += ATH11K_THERMAL
  55. config-$(call config_package,ath9k-htc) += ATH9K_HTC
  56. config-$(call config_package,ath10k) += ATH10K ATH10K_PCI
  57. config-$(call config_package,ath10k-smallbuffers) += ATH10K ATH10K_PCI ATH10K_SMALLBUFFERS
  58. config-$(call config_package,ath11k) += ATH11K
  59. config-$(call config_package,ath11k-pci) += ATH11K_PCI
  60. config-$(call config_package,ath5k) += ATH5K
  61. ifdef CONFIG_TARGET_ath25
  62. config-y += ATH5K_AHB
  63. else
  64. config-y += ATH5K_PCI
  65. endif
  66. config-$(call config_package,ath6kl) += ATH6KL
  67. config-$(call config_package,ath6kl-sdio) += ATH6KL_SDIO
  68. config-$(call config_package,ath6kl-usb) += ATH6KL_USB
  69. config-$(call config_package,carl9170) += CARL9170
  70. config-$(call config_package,ar5523) += AR5523
  71. config-$(call config_package,wil6210) += WIL6210
  72. define KernelPackage/ath/config
  73. if PACKAGE_kmod-ath
  74. config ATH_USER_REGD
  75. bool "Force Atheros drivers to respect the user's regdomain settings"
  76. default y
  77. help
  78. Atheros' idea of regulatory handling is that the EEPROM of the card defines
  79. the regulatory limits and the user is only allowed to restrict the settings
  80. even further, even if the country allows frequencies or power levels that
  81. are forbidden by the EEPROM settings.
  82. Select this option if you want the driver to respect the user's decision about
  83. regulatory settings.
  84. config PACKAGE_ATH_DEBUG
  85. bool "Atheros wireless debugging"
  86. help
  87. Say Y, if you want to debug atheros wireless drivers.
  88. Only ath9k & ath10k make use of this.
  89. config PACKAGE_ATH_DFS
  90. bool "Enable DFS support"
  91. default y
  92. help
  93. Dynamic frequency selection (DFS) is required for most of the 5 GHz band
  94. channels in Europe, US, and Japan.
  95. Select this option if you want to use such channels.
  96. config PACKAGE_ATH_SPECTRAL
  97. bool "Atheros spectral scan support"
  98. depends on PACKAGE_ATH_DEBUG
  99. select KERNEL_RELAY
  100. help
  101. Say Y to enable access to the FFT/spectral data via debugfs.
  102. config PACKAGE_ATH_DYNACK
  103. bool "Enable Dynack support"
  104. depends on PACKAGE_kmod-ath9k-common
  105. help
  106. Enables support for Dynamic ACK estimation, which allows the fastest possible speed
  107. at any distance automatically by increasing/decreasing the max frame ACK time for
  108. the most remote station detected. It can be enabled by using iw (iw phy0 set distance auto),
  109. or by sending the NL80211_ATTR_WIPHY_DYN_ACK flag to mac80211 driver using netlink.
  110. Select this option if you want to enable this feature
  111. endif
  112. endef
  113. define KernelPackage/ath
  114. $(call KernelPackage/mac80211/Default)
  115. TITLE:=Atheros common driver part
  116. DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ath79||TARGET_ath25 +kmod-mac80211
  117. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.ko
  118. MENU:=1
  119. endef
  120. define KernelPackage/ath/description
  121. This module contains some common parts needed by Atheros Wireless drivers.
  122. endef
  123. define KernelPackage/ath5k
  124. $(call KernelPackage/mac80211/Default)
  125. TITLE:=Atheros 5xxx wireless cards support
  126. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath5k
  127. DEPENDS+= @(PCI_SUPPORT||TARGET_ath25) +kmod-ath
  128. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath5k/ath5k.ko
  129. AUTOLOAD:=$(call AutoProbe,ath5k)
  130. endef
  131. define KernelPackage/ath5k/description
  132. This module adds support for wireless adapters based on
  133. Atheros 5xxx chipset.
  134. endef
  135. define KernelPackage/ath6kl
  136. $(call KernelPackage/mac80211/Default)
  137. TITLE:=Atheros FullMAC wireless devices (common code for ath6kl_sdio and ath6kl_usb)
  138. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath6kl
  139. HIDDEN:=1
  140. DEPENDS+= +kmod-ath
  141. FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath6kl/ath6kl_core.ko
  142. endef
  143. define KernelPackage/ath6kl-sdio
  144. $(call KernelPackage/mac80211/Default)
  145. TITLE:=Atheros 802.11n SDIO wireless cards support
  146. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath6kl
  147. DEPENDS+= +kmod-mmc +kmod-ath6kl
  148. FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath6kl/ath6kl_sdio.ko
  149. AUTOLOAD:=$(call AutoProbe,ath6kl_sdio)
  150. endef
  151. define KernelPackage/ath6kl-sdio/description
  152. This module adds support for wireless adapters based on
  153. Atheros IEEE 802.11n AR6003 and AR6004 family of chipsets.
  154. endef
  155. define KernelPackage/ath6kl-usb
  156. $(call KernelPackage/mac80211/Default)
  157. TITLE:=Atheros 802.11n USB wireless cards support
  158. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath6kl
  159. DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-ath6kl
  160. FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath6kl/ath6kl_usb.ko
  161. AUTOLOAD:=$(call AutoProbe,ath6kl_usb)
  162. endef
  163. define KernelPackage/ath6kl-usb/description
  164. This module adds support for wireless adapters based on the
  165. Atheros IEEE 802.11n AR6004 chipset.
  166. endef
  167. define KernelPackage/ath9k-common
  168. $(call KernelPackage/mac80211/Default)
  169. TITLE:=Atheros 802.11n wireless devices (common code for ath9k and ath9k_htc)
  170. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath9k
  171. HIDDEN:=1
  172. DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ath79 +kmod-ath +kmod-random-core
  173. FILES:= \
  174. $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_common.ko \
  175. $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.ko
  176. endef
  177. define KernelPackage/ath9k
  178. $(call KernelPackage/mac80211/Default)
  179. TITLE:=Atheros 802.11n PCI wireless cards support
  180. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath9k
  181. DEPENDS+= @PCI_SUPPORT||TARGET_ath79 +kmod-ath9k-common
  182. FILES:= \
  183. $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.ko
  184. AUTOLOAD:=$(call AutoProbe,ath9k)
  185. endef
  186. define KernelPackage/ath9k/description
  187. This module adds support for wireless adapters based on
  188. Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
  189. endef
  190. define KernelPackage/ath9k/config
  191. config ATH9K_HWRNG
  192. bool "Add wireless noise as source of randomness to kernel entropy pool"
  193. depends on PACKAGE_kmod-ath9k
  194. select PACKAGE_kmod-random-core
  195. default n
  196. config ATH9K_SUPPORT_PCOEM
  197. bool "Support chips used in PC OEM cards"
  198. depends on PACKAGE_kmod-ath9k
  199. default y if (x86_64 || i386)
  200. config ATH9K_TX99
  201. bool "Enable TX99 support (WARNING: testing only, breaks normal operation!)"
  202. depends on PACKAGE_kmod-ath9k
  203. config ATH9K_UBNTHSR
  204. bool "Support for Ubiquiti UniFi Outdoor+ access point"
  205. depends on PACKAGE_kmod-ath9k && TARGET_ath79
  206. default y
  207. endef
  208. define KernelPackage/ath9k-htc
  209. $(call KernelPackage/mac80211/Default)
  210. TITLE:=Atheros 802.11n USB device support
  211. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath9k
  212. DEPENDS+= @USB_SUPPORT +kmod-ath9k-common +kmod-usb-core +ath9k-htc-firmware
  213. FILES:= \
  214. $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
  215. AUTOLOAD:=$(call AutoProbe,ath9k_htc)
  216. endef
  217. define KernelPackage/ath9k-htc/description
  218. This module adds support for wireless adapters based on
  219. Atheros USB AR9271 and AR7010 family of chipsets.
  220. endef
  221. define KernelPackage/ath10k
  222. $(call KernelPackage/mac80211/Default)
  223. TITLE:=Atheros 802.11ac wireless cards support
  224. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath10k
  225. DEPENDS+= @PCI_SUPPORT +kmod-ath +@DRIVER_11AC_SUPPORT \
  226. +ATH10K_THERMAL:kmod-hwmon-core +ATH10K_THERMAL:kmod-thermal
  227. FILES:= \
  228. $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath10k/ath10k_core.ko \
  229. $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath10k/ath10k_pci.ko
  230. AUTOLOAD:=$(call AutoProbe,ath10k_core ath10k_pci)
  231. MODPARAMS.ath10k_core:=frame_mode=2
  232. VARIANT:=regular
  233. endef
  234. define KernelPackage/ath10k/description
  235. This module adds support for wireless adapters based on
  236. Atheros IEEE 802.11ac family of chipsets. For now only
  237. PCI is supported.
  238. endef
  239. define KernelPackage/ath10k/config
  240. config ATH10K_LEDS
  241. bool "Enable LED support"
  242. default y
  243. depends on PACKAGE_kmod-ath10k || PACKAGE_kmod-ath10k-smallbuffers
  244. config ATH10K_THERMAL
  245. bool "Enable thermal sensors and throttling support"
  246. depends on PACKAGE_kmod-ath10k || PACKAGE_kmod-ath10k-smallbuffers
  247. endef
  248. define KernelPackage/ath10k-smallbuffers
  249. $(call KernelPackage/ath10k)
  250. TITLE+= (small buffers for low-RAM devices)
  251. VARIANT:=smallbuffers
  252. endef
  253. define KernelPackage/ath11k
  254. $(call KernelPackage/mac80211/Default)
  255. TITLE:=Qualcomm 802.11ax wireless chipset support (common code)
  256. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath11k
  257. DEPENDS+= +kmod-ath +@DRIVER_11AC_SUPPORT +@DRIVER_11AX_SUPPORT \
  258. +kmod-crypto-michael-mic +ATH11K_THERMAL:kmod-hwmon-core +ATH11K_THERMAL:kmod-thermal
  259. FILES:=$(PKG_BUILD_DIR)/drivers/soc/qcom/qmi_helpers.ko \
  260. $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath11k/ath11k.ko
  261. endef
  262. define KernelPackage/ath11k/description
  263. This module adds support for Qualcomm Technologies 802.11ax family of
  264. chipsets.
  265. endef
  266. define KernelPackage/ath11k/config
  267. config ATH11K_THERMAL
  268. bool "Enable thermal sensors and throttling support"
  269. depends on PACKAGE_kmod-ath11k
  270. endef
  271. define KernelPackage/ath11k-pci
  272. $(call KernelPackage/mac80211/Default)
  273. TITLE:=Qualcomm 802.11ax PCI wireless chipset support
  274. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath11k
  275. DEPENDS+= @PCI_SUPPORT +kmod-qrtr-mhi +kmod-ath11k
  276. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath11k/ath11k_pci.ko
  277. AUTOLOAD:=$(call AutoProbe,ath11k_pci)
  278. endef
  279. define KernelPackage/ath11k-pci/description
  280. This module adds support for Qualcomm Technologies 802.11ax family of
  281. chipsets with PCI bus.
  282. endef
  283. define KernelPackage/carl9170
  284. $(call KernelPackage/mac80211/Default)
  285. TITLE:=Driver for Atheros AR9170 USB sticks
  286. DEPENDS:=@USB_SUPPORT +kmod-mac80211 +kmod-ath +kmod-usb-core +kmod-input-core +carl9170-firmware
  287. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/carl9170/carl9170.ko
  288. AUTOLOAD:=$(call AutoProbe,carl9170)
  289. endef
  290. define KernelPackage/owl-loader
  291. $(call KernelPackage/mac80211/Default)
  292. TITLE:=Owl loader for initializing Atheros PCI(e) Wifi chips
  293. DEPENDS:=@PCI_SUPPORT +kmod-ath9k
  294. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.ko
  295. AUTOLOAD:=$(call AutoProbe,ath9k_pci_owl_loader)
  296. endef
  297. define KernelPackage/owl-loader/description
  298. Kernel module that helps to initialize certain Qualcomm
  299. Atheros' PCI(e) Wifi chips, which have the init data
  300. (which contains the PCI device ID for example) stored
  301. together with the calibration data in the file system.
  302. This is necessary for devices like the Cisco Meraki Z1.
  303. endef
  304. define KernelPackage/ar5523
  305. $(call KernelPackage/mac80211/Default)
  306. TITLE:=Driver for Atheros AR5523 USB sticks
  307. DEPENDS:=@USB_SUPPORT +kmod-mac80211 +kmod-ath +kmod-usb-core +kmod-input-core
  308. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ar5523/ar5523.ko
  309. AUTOLOAD:=$(call AutoProbe,ar5523)
  310. endef
  311. define KernelPackage/wil6210
  312. $(call KernelPackage/mac80211/Default)
  313. TITLE:=QCA/Wilocity 60g WiFi card wil6210 support
  314. DEPENDS+= @PCI_SUPPORT +kmod-mac80211 +wil6210-firmware
  315. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/wil6210/wil6210.ko
  316. AUTOLOAD:=$(call AutoProbe,wil6210)
  317. endef