ath.mk 15 KB

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