# SPDX-License-Identifier: ISC
config ATH10K
	tristate "Atheros 802.11ac wireless cards support"
	depends on MAC80211 && HAS_DMA
	select ATH_COMMON
	select CRC32
	select WANT_DEV_COREDUMP
	select ATH10K_CE
	help
	  This module adds support for wireless adapters based on
	  Atheros IEEE 802.11ac family of chipsets.

	  If you choose to build a module, it'll be called ath10k.

config ATH10K_CE
	bool

config ATH10K_PCI
	tristate "Atheros ath10k PCI support"
	depends on ATH10K && PCI
	help
	  This module adds support for PCIE bus

config ATH10K_AHB
	bool "Atheros ath10k AHB support"
	depends on ATH10K_PCI && OF && RESET_CONTROLLER
	help
	  This module adds support for AHB bus

config ATH10K_SDIO
	tristate "Atheros ath10k SDIO support"
	depends on ATH10K && MMC
	help
	  This module adds support for SDIO/MMC bus.

config ATH10K_USB
	tristate "Atheros ath10k USB support (EXPERIMENTAL)"
	depends on ATH10K && USB
	help
	  This module adds experimental support for USB bus. Currently
	  work in progress and will not fully work.

config ATH10K_SNOC
	tristate "Qualcomm ath10k SNOC support"
	depends on ATH10K
	depends on ARCH_QCOM || COMPILE_TEST
	depends on QCOM_SMEM
	depends on QCOM_RPROC_COMMON || QCOM_RPROC_COMMON=n
	select QCOM_SCM
	select QCOM_QMI_HELPERS
	help
	  This module adds support for integrated WCN3990 chip connected
	  to system NOC(SNOC).

config ATH10K_DEBUG
	bool "Atheros ath10k debugging"
	depends on ATH10K
	help
	  Enables debug support

	  If unsure, say Y to make it easier to debug problems.

config ATH10K_DEBUGFS
	bool "Atheros ath10k debugfs support"
	depends on ATH10K && DEBUG_FS
	help
	  Enabled debugfs support

	  If unsure, say Y to make it easier to debug problems.

config ATH10K_LEDS
	bool
	depends on ATH10K
	depends on LEDS_CLASS=y || LEDS_CLASS=MAC80211
	default y

config ATH10K_SPECTRAL
	bool "Atheros ath10k spectral scan support"
	depends on ATH10K_DEBUGFS
	select RELAY
	default n
	help
	  Say Y to enable access to the FFT/spectral data via debugfs.

config ATH10K_TRACING
	bool "Atheros ath10k tracing support"
	depends on ATH10K
	depends on EVENT_TRACING
	help
	  Select this to ath10k use tracing infrastructure.

config ATH10K_DFS_CERTIFIED
	bool "Atheros DFS support for certified platforms"
	depends on ATH10K && CFG80211_CERTIFICATION_ONUS
	default n
	help
	This option enables DFS support for initiating radiation on
	ath10k.
