277 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			277 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # SPDX-License-Identifier: GPL-2.0-only
 | |
| config SND_SOC_TEGRA
 | |
| 	tristate "SoC Audio for the Tegra System-on-Chip"
 | |
| 	depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST
 | |
| 	depends on COMMON_CLK
 | |
| 	depends on RESET_CONTROLLER
 | |
| 	select REGMAP_MMIO
 | |
| 	select SND_SOC_GENERIC_DMAENGINE_PCM
 | |
| 	help
 | |
| 	  Say Y or M here if you want support for SoC audio on Tegra.
 | |
| 
 | |
| if SND_SOC_TEGRA
 | |
| 
 | |
| config SND_SOC_TEGRA20_AC97
 | |
| 	tristate "Tegra20 AC97 interface"
 | |
| 	select SND_SOC_AC97_BUS
 | |
| 	select SND_SOC_TEGRA20_DAS
 | |
| 	help
 | |
| 	  Say Y or M if you want to add support for codecs attached to the
 | |
| 	  Tegra20 AC97 interface. You will also need to select the individual
 | |
| 	  machine drivers to support below.
 | |
| 
 | |
| config SND_SOC_TEGRA20_DAS
 | |
| 	tristate "Tegra20 DAS module"
 | |
| 	help
 | |
| 	  Say Y or M if you want to add support for the Tegra20 DAS module.
 | |
| 	  You will also need to select the individual machine drivers to
 | |
| 	  support below.
 | |
| 
 | |
| config SND_SOC_TEGRA20_I2S
 | |
| 	tristate "Tegra20 I2S interface"
 | |
| 	select SND_SOC_TEGRA20_DAS
 | |
| 	help
 | |
| 	  Say Y or M if you want to add support for codecs attached to the
 | |
| 	  Tegra20 I2S interface. You will also need to select the individual
 | |
| 	  machine drivers to support below.
 | |
| 
 | |
| config SND_SOC_TEGRA20_SPDIF
 | |
| 	tristate "Tegra20 SPDIF interface"
 | |
| 	help
 | |
| 	  Say Y or M if you want to add support for the Tegra20 SPDIF interface.
 | |
| 	  You will also need to select the individual machine drivers to support
 | |
| 	  below.
 | |
| 
 | |
| config SND_SOC_TEGRA30_AHUB
 | |
| 	tristate "Tegra30 AHUB module"
 | |
| 	help
 | |
| 	  Say Y or M if you want to add support for the Tegra30 AHUB module.
 | |
| 	  You will also need to select the individual machine drivers to
 | |
| 	  support below.
 | |
| 
 | |
| config SND_SOC_TEGRA30_I2S
 | |
| 	tristate "Tegra30 I2S interface"
 | |
| 	select SND_SOC_TEGRA30_AHUB
 | |
| 	help
 | |
| 	  Say Y or M if you want to add support for codecs attached to the
 | |
| 	  Tegra30 I2S interface. You will also need to select the individual
 | |
| 	  machine drivers to support below.
 | |
| 
 | |
| config SND_SOC_TEGRA210_AHUB
 | |
| 	tristate "Tegra210 AHUB module"
 | |
| 	help
 | |
| 	  Config to enable Audio Hub (AHUB) module, which comprises of a
 | |
| 	  switch called Audio Crossbar (AXBAR) used to configure or modify
 | |
| 	  the audio routing path between various HW accelerators present in
 | |
| 	  AHUB.
 | |
| 	  Say Y or M if you want to add support for Tegra210 AHUB module.
 | |
| 
 | |
| config SND_SOC_TEGRA210_DMIC
 | |
| 	tristate "Tegra210 DMIC module"
 | |
| 	help
 | |
| 	  Config to enable the Digital MIC (DMIC) controller which is used
 | |
| 	  to interface with Pulse Density Modulation (PDM) input devices.
 | |
| 	  The DMIC controller implements a converter to convert PDM signals
 | |
| 	  to Pulse Code Modulation (PCM) signals. This can be viewed as a
 | |
| 	  PDM receiver.
 | |
| 	  Say Y or M if you want to add support for Tegra210 DMIC module.
 | |
| 
 | |
| config SND_SOC_TEGRA210_I2S
 | |
| 	tristate "Tegra210 I2S module"
 | |
| 	help
 | |
| 	  Config to enable the Inter-IC Sound (I2S) Controller which
 | |
| 	  implements full-duplex and bidirectional and single direction
 | |
| 	  point-to-point serial interfaces. It can interface with I2S
 | |
| 	  compatible devices.
 | |
| 	  Say Y or M if you want to add support for Tegra210 I2S module.
 | |
| 
 | |
| config SND_SOC_TEGRA210_OPE
 | |
| 	tristate "Tegra210 OPE module"
 | |
| 	help
 | |
| 	  Config to enable the Output Processing Engine (OPE) which includes
 | |
| 	  Parametric Equalizer (PEQ) and Multi Band Dynamic Range Compressor
 | |
| 	  (MBDRC) sub blocks for data processing. It can support up to 8
 | |
| 	  channels.
 | |
| 	  Say Y or M if you want to add support for Tegra210 OPE module.
 | |
| 
 | |
| config SND_SOC_TEGRA186_ASRC
 | |
| 	tristate "Tegra186 ASRC module"
 | |
| 	help
 | |
| 	  Config to enable the Asynchronous Sample Rate Converter (ASRC),
 | |
| 	  which converts the sampling frequency of the input signal from
 | |
| 	  one frequency to another. It can handle over a wide range of
 | |
| 	  sample rate ratios (freq_in/freq_out) from 1:24 to 24:1.
 | |
| 	  ASRC has two modes of operation. One where ratio can be programmed
 | |
| 	  in SW and the other where it gets information from ratio estimator
 | |
| 	  module.
 | |
| 	  Say Y or M if you want to add support for Tegra186 ASRC module.
 | |
| 
 | |
| config SND_SOC_TEGRA186_DSPK
 | |
| 	tristate "Tegra186 DSPK module"
 | |
| 	help
 | |
| 	  Config to enable the Digital Speaker Controller (DSPK) which
 | |
| 	  converts the multi-bit Pulse Code Modulation (PCM) audio input to
 | |
| 	  oversampled 1-bit Pulse Density Modulation (PDM) output. From the
 | |
| 	  signal flow perspective DSPK can be viewed as a PDM transmitter
 | |
| 	  that up-samples the input to the desired sampling rate by
 | |
| 	  interpolation and then converts the oversampled PCM input to
 | |
| 	  the desired 1-bit output via Delta Sigma Modulation (DSM).
 | |
| 	  Say Y or M if you want to add support for Tegra186 DSPK module.
 | |
| 
 | |
| config SND_SOC_TEGRA210_ADMAIF
 | |
| 	tristate "Tegra210 ADMAIF module"
 | |
| 	help
 | |
| 	  Config to enable ADMAIF which is the interface between ADMA and
 | |
| 	  Audio Hub (AHUB). Each ADMA channel that sends/receives data to/
 | |
| 	  from AHUB must interface through an ADMAIF channel. ADMA channel
 | |
| 	  sending data to AHUB pairs with an ADMAIF Tx channel, where as
 | |
| 	  ADMA channel receiving data from AHUB pairs with an ADMAIF Rx
 | |
| 	  channel. Buffer size is configurable for each ADMAIIF channel.
 | |
| 	  Say Y or M if you want to add support for Tegra210 ADMAIF module.
 | |
| 
 | |
| config SND_SOC_TEGRA210_MVC
 | |
| 	tristate "Tegra210 MVC module"
 | |
| 	help
 | |
| 	  Config to enable the digital Master Volume Controller (MVC) which
 | |
| 	  provides gain or attenuation to a digital signal path. It can be
 | |
| 	  used in input or output signal path. It can be used either for
 | |
| 	  per-stream volume control or for master volume control.
 | |
| 	  Say Y or M if you want to add support for Tegra210 MVC module.
 | |
| 
 | |
| config SND_SOC_TEGRA210_SFC
 | |
| 	tristate "Tegra210 SFC module"
 | |
| 	help
 | |
| 	  Config to enable the Sampling Frequency Converter (SFC) which
 | |
| 	  converts the sampling frequency of input signal to another
 | |
| 	  frequency. It supports sampling frequency conversion of streams
 | |
| 	  upto 2 channels (stereo).
 | |
| 	  Say Y or M if you want to add support for Tegra210 SFC module.
 | |
| 
 | |
| config SND_SOC_TEGRA210_AMX
 | |
| 	tristate "Tegra210 AMX module"
 | |
| 	help
 | |
| 	  Config to enable the Audio Multiplexer (AMX) which can multiplex
 | |
| 	  four input streams (each of up to 16 channels) and generate
 | |
| 	  output stream (of up to 16 channels). A byte RAM helps to form an
 | |
| 	  output frame by any combination of bytes from the input frames.
 | |
| 	  Say Y or M if you want to add support for Tegra210 AMX module.
 | |
| 
 | |
| config SND_SOC_TEGRA210_ADX
 | |
| 	tristate "Tegra210 ADX module"
 | |
| 	help
 | |
| 	  Config to enable the Audio Demultiplexer (ADX) which takes an
 | |
| 	  input stream (up to 16 channels) and demultiplexes it into four
 | |
| 	  output streams (each of up to 16 channels). A byte RAM helps to
 | |
| 	  form output frames by any combination of bytes from the input
 | |
| 	  frame. Its design is identical to that of byte RAM in the AMX
 | |
| 	  except that the data flow direction is reversed.
 | |
| 	  Say Y or M if you want to add support for Tegra210 ADX module.
 | |
| 
 | |
| config SND_SOC_TEGRA210_MIXER
 | |
| 	tristate "Tegra210 Mixer module"
 | |
| 	help
 | |
| 	  Config to enable the Mixer module which can help to mix multiple
 | |
| 	  audio streams. It supports mixing of upto 10 input streams,
 | |
| 	  where each stream can contain maximum of 8 channels. It supports
 | |
| 	  5 output each of which can be a mix of any combination of 10
 | |
| 	  input streams.
 | |
| 	  Say Y or M if you want to add support for Tegra210 Mixer module.
 | |
| 
 | |
| config SND_SOC_TEGRA_AUDIO_GRAPH_CARD
 | |
| 	tristate "Audio Graph Card based Tegra driver"
 | |
| 	depends on SND_AUDIO_GRAPH_CARD
 | |
| 	help
 | |
| 	  Config to enable Tegra audio machine driver based on generic
 | |
| 	  audio graph driver. It is a thin driver written to customize
 | |
| 	  few things for Tegra audio. Most of the code is re-used from
 | |
| 	  audio graph driver and the same DT bindings are used.
 | |
| 
 | |
| config SND_SOC_TEGRA_MACHINE_DRV
 | |
| 	tristate
 | |
| 
 | |
| config SND_SOC_TEGRA_RT5640
 | |
| 	tristate "SoC Audio support for Tegra boards using an RT5640 codec"
 | |
| 	depends on I2C && GPIOLIB
 | |
| 	select SND_SOC_TEGRA_MACHINE_DRV
 | |
| 	select SND_SOC_RT5640
 | |
| 	help
 | |
| 	  Say Y or M here if you want to add support for SoC audio on Tegra
 | |
| 	  boards using the RT5640 codec, such as Dalmore.
 | |
| 
 | |
| config SND_SOC_TEGRA_WM8753
 | |
| 	tristate "SoC Audio support for Tegra boards using a WM8753 codec"
 | |
| 	depends on I2C && GPIOLIB
 | |
| 	select SND_SOC_TEGRA_MACHINE_DRV
 | |
| 	select SND_SOC_WM8753
 | |
| 	help
 | |
| 	  Say Y or M here if you want to add support for SoC audio on Tegra
 | |
| 	  boards using the WM8753 codec, such as Whistler.
 | |
| 
 | |
| config SND_SOC_TEGRA_WM8903
 | |
| 	tristate "SoC Audio support for Tegra boards using a WM8903 codec"
 | |
| 	depends on I2C && GPIOLIB
 | |
| 	select SND_SOC_TEGRA_MACHINE_DRV
 | |
| 	select SND_SOC_WM8903
 | |
| 	help
 | |
| 	  Say Y or M here if you want to add support for SoC audio on Tegra
 | |
| 	  boards using the WM8093 codec. Currently, the supported boards are
 | |
| 	  Harmony, Ventana, Seaboard, Kaen, and Aebl.
 | |
| 
 | |
| config SND_SOC_TEGRA_WM9712
 | |
| 	tristate "SoC Audio support for Tegra boards using a WM9712 codec"
 | |
| 	depends on GPIOLIB
 | |
| 	select SND_SOC_TEGRA_MACHINE_DRV
 | |
| 	select SND_SOC_TEGRA20_AC97
 | |
| 	select SND_SOC_WM9712
 | |
| 	help
 | |
| 	  Say Y or M here if you want to add support for SoC audio on Tegra
 | |
| 	  boards using the WM9712 (or compatible) codec.
 | |
| 
 | |
| config SND_SOC_TEGRA_TRIMSLICE
 | |
| 	tristate "SoC Audio support for TrimSlice board"
 | |
| 	depends on I2C
 | |
| 	select SND_SOC_TEGRA_MACHINE_DRV
 | |
| 	select SND_SOC_TLV320AIC23_I2C
 | |
| 	help
 | |
| 	  Say Y or M here if you want to add support for SoC audio on the
 | |
| 	  TrimSlice platform.
 | |
| 
 | |
| config SND_SOC_TEGRA_ALC5632
 | |
| 	tristate "SoC Audio support for Tegra boards using an ALC5632 codec"
 | |
| 	depends on I2C && GPIOLIB
 | |
| 	select SND_SOC_TEGRA_MACHINE_DRV
 | |
| 	select SND_SOC_ALC5632
 | |
| 	help
 | |
| 	  Say Y or M here if you want to add support for SoC audio on the
 | |
| 	  Toshiba AC100 netbook.
 | |
| 
 | |
| config SND_SOC_TEGRA_MAX98090
 | |
| 	tristate "SoC Audio support for Tegra boards using a MAX98090 codec"
 | |
| 	depends on I2C && GPIOLIB
 | |
| 	select SND_SOC_TEGRA_MACHINE_DRV
 | |
| 	select SND_SOC_MAX98090
 | |
| 	help
 | |
| 	  Say Y or M here if you want to add support for SoC audio on Tegra
 | |
| 	  boards using the MAX98090 codec, such as Venice2.
 | |
| 
 | |
| config SND_SOC_TEGRA_RT5677
 | |
| 	tristate "SoC Audio support for Tegra boards using a RT5677 codec"
 | |
| 	depends on I2C && GPIOLIB
 | |
| 	select SND_SOC_TEGRA_MACHINE_DRV
 | |
| 	select SND_SOC_RT5677
 | |
| 	help
 | |
| 	  Say Y or M here if you want to add support for SoC audio on Tegra
 | |
| 	  boards using the RT5677 codec, such as Ryu.
 | |
| 
 | |
| config SND_SOC_TEGRA_SGTL5000
 | |
| 	tristate "SoC Audio support for Tegra boards using a SGTL5000 codec"
 | |
| 	depends on I2C && GPIOLIB
 | |
| 	select SND_SOC_TEGRA_MACHINE_DRV
 | |
| 	select SND_SOC_SGTL5000
 | |
| 	help
 | |
| 	  Say Y or M here if you want to add support for SoC audio on Tegra
 | |
| 	  boards using the SGTL5000 codec, such as Apalis T30, Apalis TK1 or
 | |
| 	  Colibri T30.
 | |
| 
 | |
| endif
 |