162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# SoC audio configuration
462306a36Sopenharmony_ci#
562306a36Sopenharmony_ci
662306a36Sopenharmony_cimenuconfig SND_SOC
762306a36Sopenharmony_ci	tristate "ALSA for SoC audio support"
862306a36Sopenharmony_ci	select SND_PCM
962306a36Sopenharmony_ci	select AC97_BUS if SND_SOC_AC97_BUS
1062306a36Sopenharmony_ci	select SND_JACK
1162306a36Sopenharmony_ci	select REGMAP_I2C if I2C
1262306a36Sopenharmony_ci	select REGMAP_SPI if SPI_MASTER
1362306a36Sopenharmony_ci	help
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci	  If you want ASoC support, you should say Y here and also to the
1662306a36Sopenharmony_ci	  specific driver for your SoC platform below.
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci	  ASoC provides power efficient ALSA support for embedded battery powered
1962306a36Sopenharmony_ci	  SoC based systems like PDA's, Phones and Personal Media Players.
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci	  This ASoC audio support can also be built as a module.  If so, the module
2262306a36Sopenharmony_ci	  will be called snd-soc-core.
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ciif SND_SOC
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ciconfig SND_SOC_AC97_BUS
2762306a36Sopenharmony_ci	bool
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ciconfig SND_SOC_GENERIC_DMAENGINE_PCM
3062306a36Sopenharmony_ci	bool
3162306a36Sopenharmony_ci	select SND_DMAENGINE_PCM
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ciconfig SND_SOC_COMPRESS
3462306a36Sopenharmony_ci	bool
3562306a36Sopenharmony_ci	select SND_COMPRESS_OFFLOAD
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ciconfig SND_SOC_TOPOLOGY
3862306a36Sopenharmony_ci	bool
3962306a36Sopenharmony_ci	select SND_DYNAMIC_MINORS
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ciconfig SND_SOC_TOPOLOGY_BUILD
4262306a36Sopenharmony_ci	bool "Build topology core"
4362306a36Sopenharmony_ci	select SND_SOC_TOPOLOGY
4462306a36Sopenharmony_ci	depends on KUNIT
4562306a36Sopenharmony_ci	help
4662306a36Sopenharmony_ci	  This option exists to facilitate running the KUnit tests for
4762306a36Sopenharmony_ci	  the topology core, KUnit is frequently tested in virtual
4862306a36Sopenharmony_ci	  environments with minimal drivers enabled but the topology
4962306a36Sopenharmony_ci	  core is usually selected by drivers.  There is little reason
5062306a36Sopenharmony_ci	  to enable it if not doing a KUnit build.
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ciconfig SND_SOC_TOPOLOGY_KUNIT_TEST
5362306a36Sopenharmony_ci	tristate "KUnit tests for SoC topology"
5462306a36Sopenharmony_ci	depends on KUNIT
5562306a36Sopenharmony_ci	depends on SND_SOC_TOPOLOGY
5662306a36Sopenharmony_ci	default KUNIT_ALL_TESTS
5762306a36Sopenharmony_ci	help
5862306a36Sopenharmony_ci	  If you want to perform tests on ALSA SoC topology support say Y here.
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci	  This builds a module which can be later manually loaded to run KUNIT
6162306a36Sopenharmony_ci	  test cases against soc-topology.c API. This should be primarily used
6262306a36Sopenharmony_ci	  by developers to test their changes to ASoC.
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci	  Do note that it creates fake playback devices which do not interact
6562306a36Sopenharmony_ci	  well with userspace. When running tests one may want to disable
6662306a36Sopenharmony_ci	  userspace applications such as pulseaudio, to prevent unnecessary
6762306a36Sopenharmony_ci	  problems.
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ciconfig SND_SOC_UTILS_KUNIT_TEST
7062306a36Sopenharmony_ci	tristate "KUnit tests for SoC utils"
7162306a36Sopenharmony_ci	depends on KUNIT
7262306a36Sopenharmony_ci	default KUNIT_ALL_TESTS
7362306a36Sopenharmony_ci	help
7462306a36Sopenharmony_ci	  If you want to perform tests on ALSA SoC utils library say Y here.
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ciconfig SND_SOC_ACPI
7762306a36Sopenharmony_ci	tristate
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ci# All the supported SoCs
8062306a36Sopenharmony_cisource "sound/soc/adi/Kconfig"
8162306a36Sopenharmony_cisource "sound/soc/amd/Kconfig"
8262306a36Sopenharmony_cisource "sound/soc/apple/Kconfig"
8362306a36Sopenharmony_cisource "sound/soc/atmel/Kconfig"
8462306a36Sopenharmony_cisource "sound/soc/au1x/Kconfig"
8562306a36Sopenharmony_cisource "sound/soc/bcm/Kconfig"
8662306a36Sopenharmony_cisource "sound/soc/cirrus/Kconfig"
8762306a36Sopenharmony_cisource "sound/soc/dwc/Kconfig"
8862306a36Sopenharmony_cisource "sound/soc/fsl/Kconfig"
8962306a36Sopenharmony_cisource "sound/soc/google/Kconfig"
9062306a36Sopenharmony_cisource "sound/soc/hisilicon/Kconfig"
9162306a36Sopenharmony_cisource "sound/soc/jz4740/Kconfig"
9262306a36Sopenharmony_cisource "sound/soc/kirkwood/Kconfig"
9362306a36Sopenharmony_cisource "sound/soc/loongson/Kconfig"
9462306a36Sopenharmony_cisource "sound/soc/img/Kconfig"
9562306a36Sopenharmony_cisource "sound/soc/intel/Kconfig"
9662306a36Sopenharmony_cisource "sound/soc/mediatek/Kconfig"
9762306a36Sopenharmony_cisource "sound/soc/meson/Kconfig"
9862306a36Sopenharmony_cisource "sound/soc/mxs/Kconfig"
9962306a36Sopenharmony_cisource "sound/soc/pxa/Kconfig"
10062306a36Sopenharmony_cisource "sound/soc/qcom/Kconfig"
10162306a36Sopenharmony_cisource "sound/soc/rockchip/Kconfig"
10262306a36Sopenharmony_cisource "sound/soc/samsung/Kconfig"
10362306a36Sopenharmony_cisource "sound/soc/sh/Kconfig"
10462306a36Sopenharmony_cisource "sound/soc/sof/Kconfig"
10562306a36Sopenharmony_cisource "sound/soc/spear/Kconfig"
10662306a36Sopenharmony_cisource "sound/soc/sprd/Kconfig"
10762306a36Sopenharmony_cisource "sound/soc/starfive/Kconfig"
10862306a36Sopenharmony_cisource "sound/soc/sti/Kconfig"
10962306a36Sopenharmony_cisource "sound/soc/stm/Kconfig"
11062306a36Sopenharmony_cisource "sound/soc/sunxi/Kconfig"
11162306a36Sopenharmony_cisource "sound/soc/tegra/Kconfig"
11262306a36Sopenharmony_cisource "sound/soc/ti/Kconfig"
11362306a36Sopenharmony_cisource "sound/soc/uniphier/Kconfig"
11462306a36Sopenharmony_cisource "sound/soc/ux500/Kconfig"
11562306a36Sopenharmony_cisource "sound/soc/xilinx/Kconfig"
11662306a36Sopenharmony_cisource "sound/soc/xtensa/Kconfig"
11762306a36Sopenharmony_ci
11862306a36Sopenharmony_ci# Supported codecs
11962306a36Sopenharmony_cisource "sound/soc/codecs/Kconfig"
12062306a36Sopenharmony_ci
12162306a36Sopenharmony_ci# generic frame-work
12262306a36Sopenharmony_cisource "sound/soc/generic/Kconfig"
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_ciendif	# SND_SOC
12562306a36Sopenharmony_ci
126