ath.mk 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414
  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 ath12k carl9170 owl-loader ar5523 wil6210 qcom-qmi-helpers
  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. ATH12K_DEBUGFS \
  23. CARL9170_DEBUGFS \
  24. ATH5K_DEBUG \
  25. ATH6KL_DEBUG \
  26. WIL6210_DEBUGFS
  27. endif
  28. ifdef CONFIG_PACKAGE_MAC80211_TRACING
  29. config-y += \
  30. ATH10K_TRACING \
  31. ATH11K_TRACING \
  32. ATH12K_TRACING \
  33. ATH6KL_TRACING \
  34. ATH_TRACEPOINTS \
  35. ATH5K_TRACER \
  36. WIL6210_TRACING
  37. endif
  38. config-$(call config_package,qcom-qmi-helpers) += QCOM_QMI_HELPERS
  39. config-$(call config_package,ath,regular smallbuffers) += ATH_CARDS ATH_COMMON
  40. config-$(CONFIG_PACKAGE_ATH_DEBUG) += ATH_DEBUG ATH10K_DEBUG ATH11K_DEBUG ATH12K_DEBUG ATH9K_STATION_STATISTICS
  41. config-$(CONFIG_PACKAGE_ATH_DFS) += ATH9K_DFS_CERTIFIED ATH10K_DFS_CERTIFIED
  42. config-$(CONFIG_PACKAGE_ATH_SPECTRAL) += ATH9K_COMMON_SPECTRAL ATH10K_SPECTRAL ATH11K_SPECTRAL
  43. config-$(CONFIG_PACKAGE_ATH_DYNACK) += ATH9K_DYNACK
  44. config-$(call config_package,ath9k) += ATH9K
  45. config-$(call config_package,ath9k-common) += ATH9K_COMMON
  46. config-$(call config_package,owl-loader) += ATH9K_PCI_NO_EEPROM
  47. config-$(CONFIG_TARGET_ath79) += ATH9K_AHB
  48. config-$(CONFIG_TARGET_ipq40xx) += ATH10K_AHB
  49. config-$(CONFIG_PCI) += ATH9K_PCI
  50. config-$(CONFIG_ATH_USER_REGD) += ATH_USER_REGD ATH_REG_DYNAMIC_USER_REG_HINTS
  51. config-$(CONFIG_ATH9K_HWRNG) += ATH9K_HWRNG
  52. config-$(CONFIG_ATH9K_SUPPORT_PCOEM) += ATH9K_PCOEM
  53. config-$(CONFIG_ATH9K_TX99) += ATH9K_TX99
  54. config-$(CONFIG_ATH9K_UBNTHSR) += ATH9K_UBNTHSR
  55. config-$(CONFIG_ATH10K_LEDS) += ATH10K_LEDS
  56. config-$(CONFIG_ATH10K_THERMAL) += ATH10K_THERMAL
  57. config-$(CONFIG_ATH11K_THERMAL) += ATH11K_THERMAL
  58. config-$(call config_package,ath9k-htc) += ATH9K_HTC
  59. config-$(call config_package,ath10k,regular) += ATH10K ATH10K_PCI
  60. config-$(call config_package,ath10k-smallbuffers,smallbuffers) += ATH10K ATH10K_PCI ATH10K_SMALLBUFFERS
  61. config-$(call config_package,ath11k) += ATH11K
  62. config-$(call config_package,ath11k-ahb) += ATH11K_AHB
  63. config-$(call config_package,ath11k-pci) += ATH11K_PCI
  64. config-$(call config_package,ath12k) += ATH12K
  65. config-$(call config_package,ath5k) += ATH5K ATH5K_PCI
  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 & ath11k 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/qcom-qmi-helpers
  114. $(call KernelPackage/mac80211/Default)
  115. TITLE:=Qualcomm QMI backports helpers
  116. HIDDEN:=1
  117. FILES:=$(PKG_BUILD_DIR)/drivers/soc/qcom/qmi_helpers.ko
  118. AUTOLOAD:=$(call AutoProbe,qmi_helpers)
  119. endef
  120. define KernelPackage/ath
  121. $(call KernelPackage/mac80211/Default)
  122. TITLE:=Atheros common driver part
  123. DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ath79 +kmod-mac80211
  124. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.ko
  125. MENU:=1
  126. endef
  127. define KernelPackage/ath/description
  128. This module contains some common parts needed by Atheros Wireless drivers.
  129. endef
  130. define KernelPackage/ath5k
  131. $(call KernelPackage/mac80211/Default)
  132. TITLE:=Atheros 5xxx wireless cards support
  133. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath5k
  134. DEPENDS+= @PCI_SUPPORT +kmod-ath
  135. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath5k/ath5k.ko
  136. AUTOLOAD:=$(call AutoProbe,ath5k)
  137. endef
  138. define KernelPackage/ath5k/description
  139. This module adds support for wireless adapters based on
  140. Atheros 5xxx chipset.
  141. endef
  142. define KernelPackage/ath6kl
  143. $(call KernelPackage/mac80211/Default)
  144. TITLE:=Atheros FullMAC wireless devices (common code for ath6kl_sdio and ath6kl_usb)
  145. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath6kl
  146. HIDDEN:=1
  147. DEPENDS+= +kmod-ath
  148. FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath6kl/ath6kl_core.ko
  149. endef
  150. define KernelPackage/ath6kl-sdio
  151. $(call KernelPackage/mac80211/Default)
  152. TITLE:=Atheros 802.11n SDIO wireless cards support
  153. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath6kl
  154. DEPENDS+= +kmod-mmc +kmod-ath6kl
  155. FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath6kl/ath6kl_sdio.ko
  156. AUTOLOAD:=$(call AutoProbe,ath6kl_sdio)
  157. endef
  158. define KernelPackage/ath6kl-sdio/description
  159. This module adds support for wireless adapters based on
  160. Atheros IEEE 802.11n AR6003 and AR6004 family of chipsets.
  161. endef
  162. define KernelPackage/ath6kl-usb
  163. $(call KernelPackage/mac80211/Default)
  164. TITLE:=Atheros 802.11n USB wireless cards support
  165. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath6kl
  166. DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-ath6kl
  167. FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath6kl/ath6kl_usb.ko
  168. AUTOLOAD:=$(call AutoProbe,ath6kl_usb)
  169. endef
  170. define KernelPackage/ath6kl-usb/description
  171. This module adds support for wireless adapters based on the
  172. Atheros IEEE 802.11n AR6004 chipset.
  173. endef
  174. define KernelPackage/ath9k-common
  175. $(call KernelPackage/mac80211/Default)
  176. TITLE:=Atheros 802.11n wireless devices (common code for ath9k and ath9k_htc)
  177. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath9k
  178. HIDDEN:=1
  179. DEPENDS+= @PCI_SUPPORT||USB_SUPPORT||TARGET_ath79 +kmod-ath +kmod-random-core
  180. FILES:= \
  181. $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_common.ko \
  182. $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.ko
  183. endef
  184. define KernelPackage/ath9k
  185. $(call KernelPackage/mac80211/Default)
  186. TITLE:=Atheros 802.11n PCI wireless cards support
  187. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath9k
  188. DEPENDS+= @PCI_SUPPORT||TARGET_ath79 +kmod-ath9k-common
  189. FILES:= \
  190. $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.ko
  191. AUTOLOAD:=$(call AutoProbe,ath9k)
  192. endef
  193. define KernelPackage/ath9k/description
  194. This module adds support for wireless adapters based on
  195. Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
  196. endef
  197. define KernelPackage/ath9k/config
  198. config ATH9K_HWRNG
  199. bool "Add wireless noise as source of randomness to kernel entropy pool"
  200. depends on PACKAGE_kmod-ath9k
  201. select PACKAGE_kmod-random-core
  202. default y
  203. config ATH9K_SUPPORT_PCOEM
  204. bool "Support chips used in PC OEM cards"
  205. depends on PACKAGE_kmod-ath9k
  206. default y if (x86_64 || i386)
  207. config ATH9K_TX99
  208. bool "Enable TX99 support (WARNING: testing only, breaks normal operation!)"
  209. depends on PACKAGE_kmod-ath9k
  210. config ATH9K_UBNTHSR
  211. bool "Support for Ubiquiti UniFi Outdoor+ access point"
  212. depends on PACKAGE_kmod-ath9k && TARGET_ath79
  213. default y
  214. endef
  215. define KernelPackage/ath9k-htc
  216. $(call KernelPackage/mac80211/Default)
  217. TITLE:=Atheros 802.11n USB device support
  218. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath9k
  219. DEPENDS+= @USB_SUPPORT +kmod-ath9k-common +kmod-usb-core +ath9k-htc-firmware
  220. FILES:= \
  221. $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
  222. AUTOLOAD:=$(call AutoProbe,ath9k_htc)
  223. endef
  224. define KernelPackage/ath9k-htc/description
  225. This module adds support for wireless adapters based on
  226. Atheros USB AR9271 and AR7010 family of chipsets.
  227. endef
  228. define KernelPackage/ath10k
  229. $(call KernelPackage/mac80211/Default)
  230. TITLE:=Atheros 802.11ac wireless cards support
  231. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath10k
  232. DEPENDS+= @PCI_SUPPORT +kmod-ath +@DRIVER_11AC_SUPPORT \
  233. +ATH10K_THERMAL:kmod-hwmon-core +ATH10K_THERMAL:kmod-thermal
  234. FILES:= \
  235. $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath10k/ath10k_core.ko \
  236. $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath10k/ath10k_pci.ko
  237. AUTOLOAD:=$(call AutoProbe,ath10k_core ath10k_pci)
  238. MODPARAMS.ath10k_core:=frame_mode=2
  239. VARIANT:=regular
  240. endef
  241. define KernelPackage/ath10k/description
  242. This module adds support for wireless adapters based on
  243. Atheros IEEE 802.11ac family of chipsets. For now only
  244. PCI is supported.
  245. endef
  246. define KernelPackage/ath10k/config
  247. config ATH10K_LEDS
  248. bool "Enable LED support"
  249. default y
  250. depends on PACKAGE_kmod-ath10k || PACKAGE_kmod-ath10k-smallbuffers
  251. config ATH10K_THERMAL
  252. bool "Enable thermal sensors and throttling support"
  253. depends on PACKAGE_kmod-ath10k || PACKAGE_kmod-ath10k-smallbuffers
  254. endef
  255. define KernelPackage/ath10k-smallbuffers
  256. $(call KernelPackage/ath10k)
  257. TITLE+= (small buffers for low-RAM devices)
  258. VARIANT:=smallbuffers
  259. endef
  260. define KernelPackage/ath11k
  261. $(call KernelPackage/mac80211/Default)
  262. TITLE:=Qualcomm 802.11ax wireless chipset support (common code)
  263. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath11k
  264. DEPENDS+= +kmod-ath +@DRIVER_11AC_SUPPORT +@DRIVER_11AX_SUPPORT \
  265. +kmod-crypto-michael-mic +ATH11K_THERMAL:kmod-hwmon-core \
  266. +ATH11K_THERMAL:kmod-thermal +kmod-qcom-qmi-helpers
  267. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath11k/ath11k.ko
  268. endef
  269. define KernelPackage/ath11k/description
  270. This module adds support for Qualcomm Technologies 802.11ax family of
  271. chipsets.
  272. endef
  273. define KernelPackage/ath11k/config
  274. config ATH11K_THERMAL
  275. bool "Enable thermal sensors and throttling support"
  276. depends on PACKAGE_kmod-ath11k
  277. default y if TARGET_qualcommax
  278. endef
  279. define KernelPackage/ath11k-ahb
  280. $(call KernelPackage/mac80211/Default)
  281. TITLE:=Qualcomm 802.11ax AHB wireless chipset support
  282. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath11k
  283. DEPENDS+= @TARGET_qualcommax +kmod-ath11k +kmod-qrtr-smd
  284. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath11k/ath11k_ahb.ko
  285. AUTOLOAD:=$(call AutoProbe,ath11k_ahb)
  286. endef
  287. define KernelPackage/ath11k-ahb/description
  288. This module adds support for Qualcomm Technologies 802.11ax family of
  289. chipsets with AHB bus.
  290. endef
  291. define KernelPackage/ath11k-pci
  292. $(call KernelPackage/mac80211/Default)
  293. TITLE:=Qualcomm 802.11ax PCI wireless chipset support
  294. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath11k
  295. DEPENDS+= @PCI_SUPPORT +kmod-qrtr-mhi +kmod-ath11k
  296. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath11k/ath11k_pci.ko
  297. AUTOLOAD:=$(call AutoProbe,ath11k_pci)
  298. endef
  299. define KernelPackage/ath11k-pci/description
  300. This module adds support for Qualcomm Technologies 802.11ax family of
  301. chipsets with PCI bus.
  302. endef
  303. define KernelPackage/ath12k
  304. $(call KernelPackage/mac80211/Default)
  305. TITLE:=Qualcomm 802.11be wireless chipset support
  306. URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath12k
  307. DEPENDS+= @PCI_SUPPORT +kmod-ath +@DRIVER_11AC_SUPPORT +@DRIVER_11AX_SUPPORT \
  308. +kmod-crypto-michael-mic +kmod-qrtr-mhi \
  309. +kmod-qcom-qmi-helpers +@DRIVER_11BE_SUPPORT
  310. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath12k/ath12k.ko
  311. AUTOLOAD:=$(call AutoProbe,ath12k)
  312. endef
  313. define KernelPackage/ath12k/description
  314. This module adds support for Qualcomm Technologies 802.11be family of
  315. chipsets with PCI bus.
  316. endef
  317. define KernelPackage/carl9170
  318. $(call KernelPackage/mac80211/Default)
  319. TITLE:=Driver for Atheros AR9170 USB sticks
  320. DEPENDS:=@USB_SUPPORT +kmod-mac80211 +kmod-ath +kmod-usb-core +kmod-input-core +carl9170-firmware
  321. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/carl9170/carl9170.ko
  322. AUTOLOAD:=$(call AutoProbe,carl9170)
  323. endef
  324. define KernelPackage/owl-loader
  325. $(call KernelPackage/mac80211/Default)
  326. TITLE:=Owl loader for initializing Atheros PCI(e) Wifi chips
  327. DEPENDS:=@PCI_SUPPORT +kmod-ath9k
  328. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.ko
  329. AUTOLOAD:=$(call AutoProbe,ath9k_pci_owl_loader)
  330. endef
  331. define KernelPackage/owl-loader/description
  332. Kernel module that helps to initialize certain Qualcomm
  333. Atheros' PCI(e) Wifi chips, which have the init data
  334. (which contains the PCI device ID for example) stored
  335. together with the calibration data in the file system.
  336. This is necessary for devices like the Cisco Meraki Z1.
  337. endef
  338. define KernelPackage/ar5523
  339. $(call KernelPackage/mac80211/Default)
  340. TITLE:=Driver for Atheros AR5523 USB sticks
  341. DEPENDS:=@USB_SUPPORT +kmod-mac80211 +kmod-ath +kmod-usb-core +kmod-input-core
  342. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ar5523/ar5523.ko
  343. AUTOLOAD:=$(call AutoProbe,ar5523)
  344. endef
  345. define KernelPackage/wil6210
  346. $(call KernelPackage/mac80211/Default)
  347. TITLE:=QCA/Wilocity 60g WiFi card wil6210 support
  348. DEPENDS+= @PCI_SUPPORT +kmod-mac80211 +wil6210-firmware
  349. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/wil6210/wil6210.ko
  350. AUTOLOAD:=$(call AutoProbe,wil6210)
  351. endef