# SPDX-License-Identifier: GPL-2.0-only
config SND_SOC_QCOM
	tristate "ASoC support for QCOM platforms"
	depends on ARCH_QCOM || COMPILE_TEST
	help
	  Say Y or M if you want to add support to use audio devices
	  in Qualcomm Technologies SOC-based platforms.

config SND_SOC_LPASS_CPU
	tristate
	select REGMAP_MMIO

config SND_SOC_LPASS_PLATFORM
	tristate
	select REGMAP_MMIO

config SND_SOC_LPASS_IPQ806X
	tristate
	select SND_SOC_LPASS_CPU
	select SND_SOC_LPASS_PLATFORM

config SND_SOC_LPASS_APQ8016
	tristate
	select SND_SOC_LPASS_CPU
	select SND_SOC_LPASS_PLATFORM

config SND_SOC_STORM
	tristate "ASoC I2S support for Storm boards"
	depends on SND_SOC_QCOM
	select SND_SOC_LPASS_IPQ806X
	select SND_SOC_MAX98357A
	help
	  Say Y or M if you want add support for SoC audio on the
	  Qualcomm Technologies IPQ806X-based Storm board.

config SND_SOC_APQ8016_SBC
	tristate "SoC Audio support for APQ8016 SBC platforms"
	depends on SND_SOC_QCOM
	select SND_SOC_LPASS_APQ8016
	help
	  Support for Qualcomm Technologies LPASS audio block in
	  APQ8016 SOC-based systems.
	  Say Y if you want to use audio devices on MI2S.

config SND_SOC_QCOM_COMMON
	tristate

config SND_SOC_QDSP6_COMMON
	tristate

config SND_SOC_QDSP6_CORE
	tristate

config SND_SOC_QDSP6_AFE
	tristate

config SND_SOC_QDSP6_AFE_DAI
	tristate

config SND_SOC_QDSP6_ADM
	tristate

config SND_SOC_QDSP6_ROUTING
	tristate

config SND_SOC_QDSP6_ASM
	tristate

config SND_SOC_QDSP6_ASM_DAI
	select SND_SOC_COMPRESS
	tristate

config SND_SOC_QDSP6
	tristate "SoC ALSA audio driver for QDSP6"
	depends on QCOM_APR && HAS_DMA
	select SND_SOC_QDSP6_COMMON
	select SND_SOC_QDSP6_CORE
	select SND_SOC_QDSP6_AFE
	select SND_SOC_QDSP6_AFE_DAI
	select SND_SOC_QDSP6_ADM
	select SND_SOC_QDSP6_ROUTING
	select SND_SOC_QDSP6_ASM
	select SND_SOC_QDSP6_ASM_DAI
	help
	 To add support for MSM QDSP6 Soc Audio.
	 This will enable sound soc platform specific
	 audio drivers. This includes q6asm, q6adm,
	 q6afe interfaces to DSP using apr.

config SND_SOC_MSM8996
	tristate "SoC Machine driver for MSM8996 and APQ8096 boards"
	depends on QCOM_APR
	select SND_SOC_QDSP6
	select SND_SOC_QCOM_COMMON
	help
	  Support for Qualcomm Technologies LPASS audio block in
	  APQ8096 SoC-based systems.
	  Say Y if you want to use audio device on this SoCs

config SND_SOC_SDM845
	tristate "SoC Machine driver for SDM845 boards"
	depends on QCOM_APR && CROS_EC && I2C
	select SND_SOC_QDSP6
	select SND_SOC_QCOM_COMMON
	select SND_SOC_RT5663
	select SND_SOC_MAX98927
	select SND_SOC_CROS_EC_CODEC
	help
	  To add support for audio on Qualcomm Technologies Inc.
	  SDM845 SoC-based systems.
	  Say Y if you want to use audio device on this SoCs.
