# SPDX-License-Identifier: GPL-2.0
menu "UniPhier"
	depends on (ARCH_UNIPHIER || COMPILE_TEST)

config SND_SOC_UNIPHIER_AIO
	tristate "UniPhier AIO DAI Driver"
	select REGMAP_MMIO
	select SND_SOC_COMPRESS
	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"
	select SND_SOC_UNIPHIER_AIO
	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_PXS2
	tristate "UniPhier PXs2 Device Driver"
	select SND_SOC_UNIPHIER_AIO
	help
	  This adds ASoC driver for Socionext UniPhier PXs2
	  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"
	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".

endmenu
