2
0

ath.mk 11 KB

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