# 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
	select SND_DYNAMIC_MINORS

config SND_SOC_TOPOLOGY_KUNIT_TEST
	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_UTILS_KUNIT_TEST
	tristate "KUnit tests for SoC utils"
	depends on KUNIT
	default KUNIT_ALL_TESTS
	help
	  If you want to perform tests on ALSA SoC utils library say Y here.

config SND_SOC_ACPI
	tristate

# All the supported SoCs
source "sound/soc/adi/Kconfig"
source "sound/soc/amd/Kconfig"
source "sound/soc/apple/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/google/Kconfig"
source "sound/soc/hisilicon/Kconfig"
source "sound/soc/jz4740/Kconfig"
source "sound/soc/kirkwood/Kconfig"
source "sound/soc/loongson/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/starfive/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