ath.mk 13 KB

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