# SPDX-License-Identifier: GPL-2.0-only
#
# SoC audio configuration
#

menuconfig SND_SOC
	tristate "ALSA for SoC audio support"
	select SND_PCM
	select AC97_BUS if SND_SOC_AC97_BUS
	select SND_JACK
	select REGMAP_I2C if I2C
	select REGMAP_SPI if SPI_MASTER
	help

	  If you want ASoC support, you should say Y here and also to the
	  specific driver for your SoC platform below.
	  
	  ASoC provides power efficient ALSA support for embedded battery powered
	  SoC based systems like PDA's, Phones and Personal Media Players.

	  This ASoC audio support can also be built as a module.  If so, the module
	  will be called snd-soc-core.

if SND_SOC

config SND_SOC_AC97_BUS
	bool

config SND_SOC_GENERIC_DMAENGINE_PCM
	bool
	select SND_DMAENGINE_PCM

config SND_SOC_COMPRESS
	bool
	select SND_COMPRESS_OFFLOAD

config SND_SOC_TOPOLOGY
	bool

config SND_SOC_TOPOLOGY_KUNIT_TESTS
	tristate "KUnit tests for SoC topology"
	depends on KUNIT
	depends on SND_SOC_TOPOLOGY
	default KUNIT_ALL_TESTS
	help
	  If you want to perform tests on ALSA SoC topology support say Y here.

	  This builds a module which can be later manually loaded to run KUNIT
	  test cases against soc-topology.c API. This should be primarily used
	  by developers to test their changes to ASoC.

	  Do note that it creates fake playback devices which do not interact
	  well with userspace. When running tests one may want to disable
	  userspace applications such as pulseaudio, to prevent unnecessary
	  problems.

config SND_SOC_ACPI
	tristate

# All the supported SoCs
source "sound/soc/adi/Kconfig"
source "sound/soc/amd/Kconfig"
source "sound/soc/atmel/Kconfig"
source "sound/soc/au1x/Kconfig"
source "sound/soc/bcm/Kconfig"
source "sound/soc/cirrus/Kconfig"
source "sound/soc/dwc/Kconfig"
source "sound/soc/fsl/Kconfig"
source "sound/soc/hisilicon/Kconfig"
source "sound/soc/jz4740/Kconfig"
source "sound/soc/kirkwood/Kconfig"
source "sound/soc/img/Kconfig"
source "sound/soc/intel/Kconfig"
source "sound/soc/mediatek/Kconfig"
source "sound/soc/meson/Kconfig"
source "sound/soc/mxs/Kconfig"
source "sound/soc/pxa/Kconfig"
source "sound/soc/qcom/Kconfig"
source "sound/soc/rockchip/Kconfig"
source "sound/soc/samsung/Kconfig"
source "sound/soc/sh/Kconfig"
source "sound/soc/sof/Kconfig"
source "sound/soc/spear/Kconfig"
source "sound/soc/sprd/Kconfig"
source "sound/soc/sti/Kconfig"
source "sound/soc/stm/Kconfig"
source "sound/soc/sunxi/Kconfig"
source "sound/soc/tegra/Kconfig"
source "sound/soc/ti/Kconfig"
source "sound/soc/uniphier/Kconfig"
source "sound/soc/ux500/Kconfig"
source "sound/soc/xilinx/Kconfig"
source "sound/soc/xtensa/Kconfig"

# Supported codecs
source "sound/soc/codecs/Kconfig"

# generic frame-work
source "sound/soc/generic/Kconfig"

endif	# SND_SOC

