ath.mk 13 KB

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