mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00

Some platforms may have support for offloading USB audio devices to a dedicated audio DSP. Introduce a set of APIs that allow for management of USB sound card and PCM devices enumerated by the USB SND class driver. This allows for the ASoC components to be aware of what USB devices are available for offloading. Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com> Acked-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20250409194804.3773260-15-quic_wcheng@quicinc.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
154 lines
4.3 KiB
Plaintext
154 lines
4.3 KiB
Plaintext
# 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_BUILD
|
|
bool "Build topology core"
|
|
select SND_SOC_TOPOLOGY
|
|
depends on KUNIT
|
|
help
|
|
This option exists to facilitate running the KUnit tests for
|
|
the topology core, KUnit is frequently tested in virtual
|
|
environments with minimal drivers enabled but the topology
|
|
core is usually selected by drivers. There is little reason
|
|
to enable it if not doing a KUnit build.
|
|
|
|
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_CARD_KUNIT_TEST
|
|
tristate "KUnit tests for SoC card"
|
|
depends on KUNIT
|
|
default KUNIT_ALL_TESTS
|
|
help
|
|
If you want to perform tests on ALSA SoC card functions say Y here.
|
|
If unsure, say N.
|
|
|
|
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_OPS_KUNIT_TEST
|
|
tristate "KUnit tests for SoC ops"
|
|
depends on KUNIT
|
|
default KUNIT_ALL_TESTS
|
|
help
|
|
If you want to perform tests on ALSA SoC ops library say Y here.
|
|
|
|
config SND_SOC_ACPI
|
|
tristate
|
|
|
|
config SND_SOC_USB
|
|
tristate "SoC based USB audio offloading"
|
|
depends on SND_USB_AUDIO
|
|
help
|
|
Enable this option if an ASoC platform card has support to handle
|
|
USB audio offloading. This enables the SoC USB layer, which will
|
|
notify the ASoC USB DPCM backend DAI link about available USB audio
|
|
devices. Based on the notifications, sequences to enable the audio
|
|
stream can be taken based on the design.
|
|
|
|
# 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/renesas/Kconfig"
|
|
source "sound/soc/rockchip/Kconfig"
|
|
source "sound/soc/samsung/Kconfig"
|
|
source "sound/soc/sdca/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"
|
|
|
|
source "sound/soc/sdw_utils/Kconfig"
|
|
|
|
# generic frame-work
|
|
source "sound/soc/generic/Kconfig"
|
|
|
|
endif # SND_SOC
|
|
|