config SND_SOC_ROCKCHIP
	tristate "ASoC support for Rockchip"
	depends on COMPILE_TEST || ARCH_ROCKCHIP
	help
	  Say Y or M if you want to add support for codecs attached to
	  the Rockchip SoCs' Audio interfaces. You will also need to
	  select the audio interfaces to support below.

config SND_SOC_ROCKCHIP_I2S
	tristate "Rockchip I2S Device Driver"
	depends on CLKDEV_LOOKUP && SND_SOC_ROCKCHIP
	select SND_SOC_GENERIC_DMAENGINE_PCM
	help
	  Say Y or M if you want to add support for I2S driver for
	  Rockchip I2S device. The device supports upto maximum of
	  8 channels each for play and record.

config SND_SOC_ROCKCHIP_SPDIF
	tristate "Rockchip SPDIF Device Driver"
	depends on CLKDEV_LOOKUP && SND_SOC_ROCKCHIP
	select SND_SOC_GENERIC_DMAENGINE_PCM
	help
	  Say Y or M if you want to add support for SPDIF driver for
	  Rockchip SPDIF transceiver device.

config SND_SOC_ROCKCHIP_MAX98090
	tristate "ASoC support for Rockchip boards using a MAX98090 codec"
	depends on SND_SOC_ROCKCHIP && I2C && GPIOLIB && CLKDEV_LOOKUP
	select SND_SOC_ROCKCHIP_I2S
	select SND_SOC_MAX98090
	select SND_SOC_TS3A227E
	help
	  Say Y or M here if you want to add support for SoC audio on Rockchip
	  boards using the MAX98090 codec, such as Veyron.

config SND_SOC_ROCKCHIP_RT5645
	tristate "ASoC support for Rockchip boards using a RT5645/RT5650 codec"
	depends on SND_SOC_ROCKCHIP && I2C && GPIOLIB && CLKDEV_LOOKUP
	select SND_SOC_ROCKCHIP_I2S
	select SND_SOC_RT5645
	help
	  Say Y or M here if you want to add support for SoC audio on Rockchip
	  boards using the RT5645/RT5650 codec, such as Veyron.

config SND_SOC_RK3288_HDMI_ANALOG
	tristate "ASoC support multiple codecs for Rockchip RK3288 boards"
	depends on SND_SOC_ROCKCHIP && I2C && GPIOLIB && CLKDEV_LOOKUP
	select SND_SOC_ROCKCHIP_I2S
	select SND_SOC_HDMI_CODEC
	help
	  Say Y or M here if you want to add support for SoC audio on Rockchip
	  RK3288 boards using an analog output and the built-in HDMI audio.

config SND_SOC_RK3399_GRU_SOUND
	tristate "ASoC support multiple codecs for Rockchip RK3399 GRU boards"
	depends on SND_SOC_ROCKCHIP && I2C && GPIOLIB && CLKDEV_LOOKUP && SPI
	select SND_SOC_ROCKCHIP_I2S
	select SND_SOC_MAX98357A
	select SND_SOC_RT5514
	select SND_SOC_DA7219
	select SND_SOC_RT5514_SPI
	help
	  Say Y or M here if you want to add support multiple codecs for SoC
	  audio on Rockchip RK3399 GRU boards.
