# SPDX-License-Identifier: GPL-2.0-only
#
# SoundWire subsystem configuration
#

menuconfig SOUNDWIRE
	tristate "SoundWire support"
	depends on ACPI || OF
	depends on SND_SOC_SDCA_OPTIONAL
	help
	  SoundWire is a 2-Pin interface with data and clock line ratified
	  by the MIPI Alliance. SoundWire is used for transporting data
	  typically related to audio functions. SoundWire interface is
	  optimized to integrate audio devices in mobile or mobile inspired
	  systems. Say Y to enable this subsystem, N if you do not have such
	  a device

if SOUNDWIRE

comment "SoundWire Devices"

config SOUNDWIRE_AMD
	tristate "AMD SoundWire Manager driver"
	select SOUNDWIRE_GENERIC_ALLOCATION
	depends on ACPI && SND_SOC
	help
	  SoundWire AMD Manager driver.
	  If you have an AMD platform which has a SoundWire Manager then
	  enable this config option to get the SoundWire support for that
	  device.

config SOUNDWIRE_CADENCE
	tristate
	select CRC8

config SOUNDWIRE_INTEL
	tristate "Intel SoundWire Master driver"
	select SOUNDWIRE_CADENCE
	select SOUNDWIRE_GENERIC_ALLOCATION
	select AUXILIARY_BUS
	depends on ACPI && SND_SOC
	depends on SND_SOC_SOF_HDA_MLINK || !SND_SOC_SOF_HDA_MLINK
	depends on SND_HDA_CORE || !SND_HDA_ALIGNED_MMIO
	help
	  SoundWire Intel Master driver.
	  If you have an Intel platform which has a SoundWire Master then
	  enable this config option to get the SoundWire support for that
	  device.

config SOUNDWIRE_QCOM
	tristate "Qualcomm SoundWire Master driver"
	imply SLIMBUS
	depends on SND_SOC
	help
	  SoundWire Qualcomm Master driver.
	  If you have an Qualcomm platform which has a SoundWire Master then
	  enable this config option to get the SoundWire support for that
	  device

config SOUNDWIRE_MTK
	tristate "MediaTek SoundWire Master driver"
	select SOUNDWIRE_GENERIC_ALLOCATION
	depends on SND_SOC && ACPI
	depends on MTK_POWER_WRAP
	depends on PINCTRL_MT8901
	select SND_SOC_ACPI
	select SOUNDWIRE_MTK_MT8901_CLK
	help
	  SoundWire MediaTek Master driver.
	  If you have an MediaTek platform which has a SoundWire Master then
	  enable this config option to get the SoundWire support for that
	  device.

config SOUNDWIRE_MTK_MT8901_CLK
	bool
	depends on SOUNDWIRE_MTK
	depends on MTK_POWER_WRAP
	help
	  MT8901 clock and power control backend for the MediaTek SoundWire
	  Master driver. Every hardware version the driver supports needs it,
	  so SOUNDWIRE_MTK selects it; there is no configuration in which the
	  manager probes without it.

config SOUNDWIRE_GENERIC_ALLOCATION
	tristate

endif
