# SPDX-License-Identifier: GPL-2.0-only
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_ASRC
	tristate "Rockchip Asynchronous Sampling Rate Converter Driver"
	depends on SND_SOC_ROCKCHIP
	help
	  Say Y or M if you want to add support for ASRC driver for
	  Rockchip.

config SND_SOC_ROCKCHIP_DLP
	tristate

config SND_SOC_ROCKCHIP_DLP_PCM
	tristate "Rockchip Digital Loopback PCM Driver"
	depends on SND_SOC_ROCKCHIP
	select SND_SOC_ROCKCHIP_DLP
	help
	  Say Y or M if you want to add support for DLP driver for
	  Rockchip DMA-Based Digital Loopback.

config SND_SOC_ROCKCHIP_DUMMY_DAI
	tristate "Rockchip Dummy DAI Driver"
	depends on SND_SOC_ROCKCHIP
	help
	  Say Y or M if you want to add support for DUMMY DAI driver.

config SND_SOC_ROCKCHIP_I2S
	tristate "Rockchip I2S Device Driver"
	depends on HAVE_CLK && 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 up to maximum of
	  8 channels each for play and record.

config SND_SOC_ROCKCHIP_I2S_TDM
	tristate "Rockchip I2S/TDM Device Driver"
	depends on HAVE_CLK && SND_SOC_ROCKCHIP
	select SND_SOC_GENERIC_DMAENGINE_PCM
	select SND_SOC_ROCKCHIP_TRCM
	help
	  Say Y or M if you want to add support for the I2S/TDM driver for
	  Rockchip I2S/TDM devices, found in Rockchip SoCs. These devices
	  interface between the AHB bus and the I2S bus, and support up to a
	  maximum of 8 channels each for playback and recording.

config SND_SOC_ROCKCHIP_I2S_TDM_MULTI_LANES
	bool "Rockchip TDM Multi Lanes"
	depends on SND_SOC_ROCKCHIP_I2S_TDM
	help
	  Say Y or M if you want to add support for TDM Multi Lanes
	  based on I2S_TDM controller.

config SND_SOC_ROCKCHIP_MULTI_DAIS
	tristate "Rockchip Multi-DAIS Device Driver"
	depends on HAVE_CLK && SND_SOC_ROCKCHIP
	select SND_SOC_ROCKCHIP_DLP
	help
	  Say Y or M if you want to add support for Multi-dais driver for
	  Rockchip.

config SND_SOC_ROCKCHIP_PDM
	tristate "Rockchip PDM Controller Driver"
	depends on HAVE_CLK && SND_SOC_ROCKCHIP
	select SND_SOC_GENERIC_DMAENGINE_PCM
	select RATIONAL
	help
	  Say Y or M if you want to add support for PDM driver for
	  Rockchip PDM Controller. The Controller supports up to maximum of
	  8 channels record.

config SND_SOC_ROCKCHIP_PDM_V2
	tristate "Rockchip PDM Version 2 Controller Driver"
	depends on HAVE_CLK && SND_SOC_ROCKCHIP
	select SND_SOC_GENERIC_DMAENGINE_PCM
	select RATIONAL
	help
	  Say Y or M if you want to add support for PDM driver for
	  Rockchip PDM Controller Version 2. The Controller supports up
	  to maximum of 8 channels record. The version 2 pdm support gain
	  control and more pdm clk, like 2.4MHz.

config SND_SOC_ROCKCHIP_SAI
	tristate "Rockchip SAI Controller Driver"
	depends on HAVE_CLK && SND_SOC_ROCKCHIP
	select SND_SOC_GENERIC_DMAENGINE_PCM
	help
	  Say Y or M if you want to add support for the Rockchip Serial Audio
	  Interface controller found on Rockchip SoCs such as the RK3576. The
	  controller may support both playback and recording, with up to 4 lanes
	  for each and up to 128 channels per lane in TDM mode.

config SND_SOC_ROCKCHIP_SAI_VERBOSE
	bool "Rockchip SAI Verbose Controls"
	depends on SND_SOC_ROCKCHIP_SAI
	help
	  Say Y if you want to export much more controls and info for SAI.

config SND_SOC_ROCKCHIP_SPDIF
	tristate "Rockchip SPDIF Device Driver"
	depends on HAVE_CLK && SND_SOC_ROCKCHIP
	select SND_PCM_IEC958
	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_SPDIFRX
	tristate "Rockchip SPDIFRX Device Driver"
	depends on HAVE_CLK && SND_SOC_ROCKCHIP
	select SND_SOC_GENERIC_DMAENGINE_PCM
	help
	  Say Y or M if you want to add support for SPDIFRX driver for
	  Rockchip SPDIF receiver device.

config SND_SOC_ROCKCHIP_TRCM
	tristate "Rockchip TRCM Pcm Driver"
	depends on SND_SOC_ROCKCHIP
	help
	  Say Y or M if you want to add support for TRCM driver.

config SND_SOC_ROCKCHIP_VAD
	tristate "Rockchip Voice Activity Detection Driver"
	depends on HAVE_CLK && SND_SOC_ROCKCHIP
	help
	  Say Y or M if you want to add support for VAD driver for
	  Rockchip VAD device.

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

config SND_SOC_ROCKCHIP_MULTICODECS
	tristate "ASoC support for Rockchip multicodecs"
	depends on SND_SOC_ROCKCHIP && HAVE_CLK && INPUT && EXTCON
	help
	  Say Y or M here if you want to add support for SoC audio on Rockchip
	  boards using multicodecs, such as RK3308 boards.

config SND_SOC_ROCKCHIP_RT5645
	tristate "ASoC support for Rockchip boards using a RT5645/RT5650 codec"
	depends on SND_SOC_ROCKCHIP && I2C && GPIOLIB && HAVE_CLK
	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_ROCKCHIP_HDMI
	tristate "ASoC support for Rockchip HDMI audio"
	depends on SND_SOC_ROCKCHIP && HAVE_CLK
	select SND_SOC_HDMI_CODEC
	help
	  Say Y or M here if you want to add support for SoC audio on Rockchip
	  boards using built-in HDMI or external HDMI.

config SND_SOC_RK3288_HDMI_ANALOG
	tristate "ASoC support multiple codecs for Rockchip RK3288 boards"
	depends on SND_SOC_ROCKCHIP && I2C && GPIOLIB && HAVE_CLK
	select SND_SOC_ROCKCHIP_I2S
	select SND_SOC_HDMI_CODEC
	select SND_SOC_ES8328_I2C
	select SND_SOC_ES8328_SPI if SPI_MASTER
	select DRM_DW_HDMI_I2S_AUDIO if DRM_DW_HDMI
	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 && HAVE_CLK && SPI
	select SND_SOC_ROCKCHIP_I2S
	select SND_SOC_MAX98357A
	select SND_SOC_RT5514
	select SND_SOC_DA7219
	select SND_SOC_RT5514_SPI
	select SND_SOC_HDMI_CODEC
	select SND_SOC_DMIC
	help
	  Say Y or M here if you want to add support multiple codecs for SoC
	  audio on Rockchip RK3399 GRU boards.
