# SPDX-License-Identifier: GPL-2.0-only
config WLCORE
	tristate "TI wlcore support"
	depends on MAC80211
	select FW_LOADER
	help
	  This module contains the main code for TI WLAN chips.  It abstracts
	  hardware-specific differences among different chipset families.
	  Each chipset family needs to implement its own lower-level module
	  that will depend on this module for the common code.

	  If you choose to build a module, it will be called wlcore. Say N if
	  unsure.

config WLCORE_SPI
	tristate "TI wlcore SPI support"
	depends on WLCORE && SPI_MASTER && OF
	select CRC7
	help
	  This module adds support for the SPI interface of adapters using
	  TI WLAN chipsets.  Select this if your platform is using
	  the SPI bus.

	  If you choose to build a module, it'll be called wlcore_spi.
	  Say N if unsure.

config WLCORE_SDIO
	tristate "TI wlcore SDIO support"
	depends on WLCORE && MMC
	help
	  This module adds support for the SDIO interface of adapters using
	  TI WLAN chipsets.  Select this if your platform is using
	  the SDIO bus.

	  If you choose to build a module, it'll be called wlcore_sdio.
	  Say N if unsure.
