mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-04 01:56:40 +07:00
f74028e159
ADMAIF is the interface between ADMA and AHUB. Each ADMA channel that sends/receives data to/from AHUB must intreface through an ADMAIF channel. ADMA channel sending data to AHUB pairs with an ADMAIF Tx channel and similarly ADMA channel receiving data from AHUB pairs with an ADMAIF Rx channel. Buffer size is configurable for each ADMAIF channel, but currently SW uses default values. This patch registers ADMAIF driver with ASoC framework. The component driver exposes DAPM widgets, routes and kcontrols for the device. The DAI driver exposes ADMAIF interfaces, which can be used to connect different components in the ASoC layer. Makefile and Kconfig support is added to allow to build the driver. The ADMAIF device can be enabled in the DT via "nvidia,tegra210-admaif" compatible binding. Tegra PCM driver is updated to expose required PCM interfaces and snd_pcm_ops callbacks. Signed-off-by: Sameer Pujar <spujar@nvidia.com> Link: https://lore.kernel.org/r/1595134890-16470-8-git-send-email-spujar@nvidia.com Signed-off-by: Mark Brown <broonie@kernel.org>
195 lines
6.9 KiB
Plaintext
195 lines
6.9 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.
|
|
|
|
config SND_SOC_TEGRA20_AC97
|
|
tristate "Tegra20 AC97 interface"
|
|
depends on SND_SOC_TEGRA
|
|
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"
|
|
depends on SND_SOC_TEGRA
|
|
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"
|
|
depends on SND_SOC_TEGRA
|
|
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"
|
|
depends on SND_SOC_TEGRA
|
|
default m
|
|
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"
|
|
depends on SND_SOC_TEGRA
|
|
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"
|
|
depends on SND_SOC_TEGRA
|
|
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"
|
|
depends on SND_SOC_TEGRA
|
|
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"
|
|
depends on SND_SOC_TEGRA
|
|
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"
|
|
depends on SND_SOC_TEGRA
|
|
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_TEGRA186_DSPK
|
|
tristate "Tegra186 DSPK module"
|
|
depends on SND_SOC_TEGRA
|
|
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"
|
|
depends on SND_SOC_TEGRA
|
|
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_TEGRA_RT5640
|
|
tristate "SoC Audio support for Tegra boards using an RT5640 codec"
|
|
depends on SND_SOC_TEGRA && I2C && GPIOLIB
|
|
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 SND_SOC_TEGRA && I2C && GPIOLIB
|
|
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 SND_SOC_TEGRA && I2C && GPIOLIB
|
|
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 SND_SOC_TEGRA && GPIOLIB
|
|
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 SND_SOC_TEGRA && I2C
|
|
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 SND_SOC_TEGRA && I2C && GPIOLIB
|
|
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 SND_SOC_TEGRA && I2C && GPIOLIB
|
|
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 SND_SOC_TEGRA && I2C && GPIOLIB
|
|
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 SND_SOC_TEGRA && I2C && GPIOLIB
|
|
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.
|