# SPDX-License-Identifier: GPL-2.0
config SND_SOC_UNIPHIER
	tristate "ASoC support for UniPhier"
	depends on (ARCH_UNIPHIER || COMPILE_TEST)
	help
	  Say Y or M if you want to add support for the Socionext
	  UniPhier SoC audio interfaces. You will also need to select the
	  audio interfaces to support below.
	  If unsure select "N".

config SND_SOC_UNIPHIER_AIO
	tristate "UniPhier AIO DAI Driver"
	select REGMAP_MMIO
	select SND_SOC_COMPRESS
	depends on SND_SOC_UNIPHIER
	help
	  This adds ASoC driver support for Socionext UniPhier
	  'AIO' Audio Input/Output subsystem.
	  Select Y if you use such device.
	  If unsure select "N".

config SND_SOC_UNIPHIER_LD11
	tristate "UniPhier LD11/LD20 Device Driver"
	depends on SND_SOC_UNIPHIER
	select SND_SOC_UNIPHIER_AIO
	select SND_SOC_UNIPHIER_AIO_DMA
	help
	  This adds ASoC driver for Socionext UniPhier LD11/LD20
	  input and output that can be used with other codecs.
	  Select Y if you use such device.
	  If unsure select "N".

config SND_SOC_UNIPHIER_EVEA_CODEC
	tristate "UniPhier SoC internal audio codec"
	depends on SND_SOC_UNIPHIER
	select REGMAP_MMIO
	help
	  This adds Codec driver for Socionext UniPhier LD11/20 SoC
	  internal DAC. This driver supports Line In / Out and HeadPhone.
	  Select Y if you use such device.
	  If unsure select "N".
