# SPDX-License-Identifier: GPL-2.0-only
menu "Intel"

config SND_SOC_INTEL_SST_TOPLEVEL
	bool "Intel ASoC SST drivers"
	default y
	depends on X86 || COMPILE_TEST
	select SND_SOC_INTEL_MACH
	help
	  Intel ASoC SST Platform Drivers. If you have a Intel machine that
	  has an audio controller with a DSP and I2S or DMIC port, then
	  enable this option by saying Y

	  Note that the answer to this question doesn't directly affect the
	  kernel: saying N will just cause the configurator to skip all
	  the questions about Intel SST drivers.

if SND_SOC_INTEL_SST_TOPLEVEL

config SND_SOC_INTEL_CATPT
	tristate "Haswell and Broadwell"
	depends on ACPI || COMPILE_TEST
	depends on DMADEVICES && SND_DMA_SGBUF
	select DW_DMAC_CORE
	select SND_SOC_ACPI if ACPI
	select WANT_DEV_COREDUMP
	select SND_INTEL_DSP_CONFIG
	help
	  Enable support for Intel(R) Haswell and Broadwell platforms
	  with I2S codec present. This is a recommended option.
	  Say Y or m if you have such device.
	  If unsure, say N.

config SND_SOC_INTEL_HASWELL
	tristate
	select SND_SOC_INTEL_CATPT

config SND_SST_ATOM_HIFI2_PLATFORM
	tristate
	select SND_SOC_COMPRESS

config SND_SST_ATOM_HIFI2_PLATFORM_PCI
	tristate "PCI HiFi2 (Merrifield) Platforms"
	depends on X86 && PCI
	select SND_SST_ATOM_HIFI2_PLATFORM
	help
	  If you have a Intel Merrifield/Edison platform, then
	  enable this option by saying Y or m. Distros will typically not
	  enable this option: while Merrifield/Edison can run a mainline
	  kernel with limited functionality it will require a firmware file
	  which is not in the standard firmware tree

config SND_SST_ATOM_HIFI2_PLATFORM_ACPI
	tristate "ACPI HiFi2 (Baytrail, Cherrytrail) Platforms"
	default ACPI
	depends on X86 && ACPI && PCI
	select SND_SST_ATOM_HIFI2_PLATFORM
	select SND_SOC_ACPI_INTEL_MATCH
	select SND_INTEL_DSP_CONFIG
	select IOSF_MBI
	help
	  If you have a Intel Baytrail or Cherrytrail platform with an I2S
	  codec, then enable this option by saying Y or m. This is a
	  recommended option
	  This option is mutually exclusive with the SOF support on
	  Baytrail/Cherrytrail. If you want to enable SOF on
	  Baytrail/Cherrytrail, you need to deselect this option first.

endif ## SND_SOC_INTEL_SST_TOPLEVEL

if SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL

config SND_SOC_ACPI_INTEL_MATCH
	tristate
	select SND_SOC_ACPI if ACPI
	select SND_SOC_ACPI_INTEL_SDCA_QUIRKS
	# this option controls the compilation of ACPI matching tables and
	# helpers and is not meant to be selected by the user.

config SND_SOC_ACPI_INTEL_SDCA_QUIRKS
	tristate
	select SND_SOC_SDCA if ACPI

endif ## SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL

config SND_SOC_INTEL_KEEMBAY
	tristate "Keembay Platforms"
	depends on ARCH_KEEMBAY || COMPILE_TEST
	depends on COMMON_CLK
	select SND_DMAENGINE_PCM
	select SND_SOC_GENERIC_DMAENGINE_PCM
	help
	  If you have a Intel Keembay platform then enable this option
	  by saying Y or m.

config SND_SOC_INTEL_AVS
	tristate "Intel AVS driver"
	depends on X86 || COMPILE_TEST
	depends on PCI
	depends on COMMON_CLK
	select ACPI_NHLT if ACPI
	select SND_SOC_ACPI if ACPI
	select SND_SOC_TOPOLOGY
	select SND_SOC_HDA
	select SND_SOC_COMPRESS if DEBUG_FS
	select SND_HDA_EXT_CORE
	select SND_HDA_DSP_LOADER
	select SND_INTEL_DSP_CONFIG
	select WANT_DEV_COREDUMP
	help
	  Enable support for Intel(R) cAVS 1.5 platforms with DSP
	  capabilities. This includes Skylake, Kabylake, Amberlake and
	  Apollolake.

# Machine board drivers
source "sound/soc/intel/avs/boards/Kconfig"

# ASoC codec drivers
source "sound/soc/intel/boards/Kconfig"

endmenu
