xref: /linux/sound/soc/tegra/Kconfig (revision e86caa011c80507783e5975bca1458f28c1d2b8c)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
22ba9471bSStephen Warrenconfig SND_SOC_TEGRA
38b75d714SStephen Warren	tristate "SoC Audio for the Tegra System-on-Chip"
422abf843SMark Brown	depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST
55185e0acSStephen Warren	depends on COMMON_CLK
65185e0acSStephen Warren	depends on RESET_CONTROLLER
7d19e779bSStephen Warren	select REGMAP_MMIO
82086d078SMark Brown	select SND_SOC_GENERIC_DMAENGINE_PCM
98b75d714SStephen Warren	help
108b75d714SStephen Warren	  Say Y or M here if you want support for SoC audio on Tegra.
118b75d714SStephen Warren
12*e86caa01SGeert Uytterhoevenif SND_SOC_TEGRA
13*e86caa01SGeert Uytterhoeven
14609dad9bSLucas Stachconfig SND_SOC_TEGRA20_AC97
153bcfe80fSPaul Kocialkowski	tristate "Tegra20 AC97 interface"
16609dad9bSLucas Stach	select SND_SOC_AC97_BUS
17609dad9bSLucas Stach	select SND_SOC_TEGRA20_DAS
18609dad9bSLucas Stach	help
19609dad9bSLucas Stach	  Say Y or M if you want to add support for codecs attached to the
20609dad9bSLucas Stach	  Tegra20 AC97 interface. You will also need to select the individual
21609dad9bSLucas Stach	  machine drivers to support below.
22609dad9bSLucas Stach
23896637acSStephen Warrenconfig SND_SOC_TEGRA20_DAS
243bcfe80fSPaul Kocialkowski	tristate "Tegra20 DAS module"
25d9bba496SStephen Warren	help
26896637acSStephen Warren	  Say Y or M if you want to add support for the Tegra20 DAS module.
27d9bba496SStephen Warren	  You will also need to select the individual machine drivers to
28d9bba496SStephen Warren	  support below.
29d9bba496SStephen Warren
30896637acSStephen Warrenconfig SND_SOC_TEGRA20_I2S
313bcfe80fSPaul Kocialkowski	tristate "Tegra20 I2S interface"
32896637acSStephen Warren	select SND_SOC_TEGRA20_DAS
338b75d714SStephen Warren	help
348b75d714SStephen Warren	  Say Y or M if you want to add support for codecs attached to the
35896637acSStephen Warren	  Tegra20 I2S interface. You will also need to select the individual
368b75d714SStephen Warren	  machine drivers to support below.
378b75d714SStephen Warren
38896637acSStephen Warrenconfig SND_SOC_TEGRA20_SPDIF
393bcfe80fSPaul Kocialkowski	tristate "Tegra20 SPDIF interface"
40774fec33SStephen Warren	help
41896637acSStephen Warren	  Say Y or M if you want to add support for the Tegra20 SPDIF interface.
42774fec33SStephen Warren	  You will also need to select the individual machine drivers to support
43774fec33SStephen Warren	  below.
44774fec33SStephen Warren
45cdc04fd1SStephen Warrenconfig SND_SOC_TEGRA30_AHUB
463bcfe80fSPaul Kocialkowski	tristate "Tegra30 AHUB module"
47cdc04fd1SStephen Warren	help
483bcfe80fSPaul Kocialkowski	  Say Y or M if you want to add support for the Tegra30 AHUB module.
49cdc04fd1SStephen Warren	  You will also need to select the individual machine drivers to
50cdc04fd1SStephen Warren	  support below.
51cdc04fd1SStephen Warren
52cdc04fd1SStephen Warrenconfig SND_SOC_TEGRA30_I2S
533bcfe80fSPaul Kocialkowski	tristate "Tegra30 I2S interface"
54cdc04fd1SStephen Warren	select SND_SOC_TEGRA30_AHUB
55cdc04fd1SStephen Warren	help
56cdc04fd1SStephen Warren	  Say Y or M if you want to add support for codecs attached to the
57cdc04fd1SStephen Warren	  Tegra30 I2S interface. You will also need to select the individual
58cdc04fd1SStephen Warren	  machine drivers to support below.
59cdc04fd1SStephen Warren
6016e1bcc2SSameer Pujarconfig SND_SOC_TEGRA210_AHUB
6116e1bcc2SSameer Pujar	tristate "Tegra210 AHUB module"
6216e1bcc2SSameer Pujar	help
6316e1bcc2SSameer Pujar	  Config to enable Audio Hub (AHUB) module, which comprises of a
6416e1bcc2SSameer Pujar	  switch called Audio Crossbar (AXBAR) used to configure or modify
6516e1bcc2SSameer Pujar	  the audio routing path between various HW accelerators present in
6616e1bcc2SSameer Pujar	  AHUB.
6716e1bcc2SSameer Pujar	  Say Y or M if you want to add support for Tegra210 AHUB module.
6816e1bcc2SSameer Pujar
698c8ff982SSameer Pujarconfig SND_SOC_TEGRA210_DMIC
708c8ff982SSameer Pujar	tristate "Tegra210 DMIC module"
718c8ff982SSameer Pujar	help
728c8ff982SSameer Pujar	  Config to enable the Digital MIC (DMIC) controller which is used
738c8ff982SSameer Pujar	  to interface with Pulse Density Modulation (PDM) input devices.
748c8ff982SSameer Pujar	  The DMIC controller implements a converter to convert PDM signals
758c8ff982SSameer Pujar	  to Pulse Code Modulation (PCM) signals. This can be viewed as a
768c8ff982SSameer Pujar	  PDM receiver.
778c8ff982SSameer Pujar	  Say Y or M if you want to add support for Tegra210 DMIC module.
788c8ff982SSameer Pujar
79c0bfa983SSameer Pujarconfig SND_SOC_TEGRA210_I2S
80c0bfa983SSameer Pujar	tristate "Tegra210 I2S module"
81c0bfa983SSameer Pujar	help
82c0bfa983SSameer Pujar	  Config to enable the Inter-IC Sound (I2S) Controller which
83c0bfa983SSameer Pujar	  implements full-duplex and bidirectional and single direction
84c0bfa983SSameer Pujar	  point-to-point serial interfaces. It can interface with I2S
85c0bfa983SSameer Pujar	  compatible devices.
86c0bfa983SSameer Pujar	  Say Y or M if you want to add support for Tegra210 I2S module.
87c0bfa983SSameer Pujar
88327ef647SSameer Pujarconfig SND_SOC_TEGRA186_DSPK
89327ef647SSameer Pujar	tristate "Tegra186 DSPK module"
90327ef647SSameer Pujar	help
91327ef647SSameer Pujar	  Config to enable the Digital Speaker Controller (DSPK) which
92327ef647SSameer Pujar	  converts the multi-bit Pulse Code Modulation (PCM) audio input to
93327ef647SSameer Pujar	  oversampled 1-bit Pulse Density Modulation (PDM) output. From the
94327ef647SSameer Pujar	  signal flow perspective DSPK can be viewed as a PDM transmitter
95327ef647SSameer Pujar	  that up-samples the input to the desired sampling rate by
96327ef647SSameer Pujar	  interpolation and then converts the oversampled PCM input to
97327ef647SSameer Pujar	  the desired 1-bit output via Delta Sigma Modulation (DSM).
98327ef647SSameer Pujar	  Say Y or M if you want to add support for Tegra186 DSPK module.
99327ef647SSameer Pujar
100f74028e1SSameer Pujarconfig SND_SOC_TEGRA210_ADMAIF
101f74028e1SSameer Pujar	tristate "Tegra210 ADMAIF module"
102f74028e1SSameer Pujar	help
103f74028e1SSameer Pujar	  Config to enable ADMAIF which is the interface between ADMA and
104f74028e1SSameer Pujar	  Audio Hub (AHUB). Each ADMA channel that sends/receives data to/
105f74028e1SSameer Pujar	  from AHUB must interface through an ADMAIF channel. ADMA channel
106f74028e1SSameer Pujar	  sending data to AHUB pairs with an ADMAIF Tx channel, where as
107f74028e1SSameer Pujar	  ADMA channel receiving data from AHUB pairs with an ADMAIF Rx
108f74028e1SSameer Pujar	  channel. Buffer size is configurable for each ADMAIIF channel.
109f74028e1SSameer Pujar	  Say Y or M if you want to add support for Tegra210 ADMAIF module.
110f74028e1SSameer Pujar
111202e2f77SSameer Pujarconfig SND_SOC_TEGRA_AUDIO_GRAPH_CARD
112202e2f77SSameer Pujar	tristate "Audio Graph Card based Tegra driver"
113202e2f77SSameer Pujar	depends on SND_AUDIO_GRAPH_CARD
114202e2f77SSameer Pujar	help
115202e2f77SSameer Pujar	  Config to enable Tegra audio machine driver based on generic
116202e2f77SSameer Pujar	  audio graph driver. It is a thin driver written to customize
117202e2f77SSameer Pujar	  few things for Tegra audio. Most of the code is re-used from
118202e2f77SSameer Pujar	  audio graph driver and the same DT bindings are used.
119202e2f77SSameer Pujar
120040a62cfSStephen Warrenconfig SND_SOC_TEGRA_RT5640
121040a62cfSStephen Warren	tristate "SoC Audio support for Tegra boards using an RT5640 codec"
122*e86caa01SGeert Uytterhoeven	depends on I2C && GPIOLIB
123040a62cfSStephen Warren	select SND_SOC_RT5640
124040a62cfSStephen Warren	help
125040a62cfSStephen Warren	  Say Y or M here if you want to add support for SoC audio on Tegra
126040a62cfSStephen Warren	  boards using the RT5640 codec, such as Dalmore.
127040a62cfSStephen Warren
128d8259ca5SStephen Warrenconfig SND_SOC_TEGRA_WM8753
129d8259ca5SStephen Warren	tristate "SoC Audio support for Tegra boards using a WM8753 codec"
130*e86caa01SGeert Uytterhoeven	depends on I2C && GPIOLIB
131d8259ca5SStephen Warren	select SND_SOC_WM8753
132d8259ca5SStephen Warren	help
133d8259ca5SStephen Warren	  Say Y or M here if you want to add support for SoC audio on Tegra
134d8259ca5SStephen Warren	  boards using the WM8753 codec, such as Whistler.
135d8259ca5SStephen Warren
1362ba9471bSStephen Warrenconfig SND_SOC_TEGRA_WM8903
137dc0a50afSStephen Warren	tristate "SoC Audio support for Tegra boards using a WM8903 codec"
138*e86caa01SGeert Uytterhoeven	depends on I2C && GPIOLIB
1398b75d714SStephen Warren	select SND_SOC_WM8903
1408b75d714SStephen Warren	help
141dc0a50afSStephen Warren	  Say Y or M here if you want to add support for SoC audio on Tegra
142773b1d3dSStephen Warren	  boards using the WM8093 codec. Currently, the supported boards are
143773b1d3dSStephen Warren	  Harmony, Ventana, Seaboard, Kaen, and Aebl.
1448b75d714SStephen Warren
1456995b8cbSLucas Stachconfig SND_SOC_TEGRA_WM9712
1466995b8cbSLucas Stach	tristate "SoC Audio support for Tegra boards using a WM9712 codec"
147*e86caa01SGeert Uytterhoeven	depends on GPIOLIB
1486995b8cbSLucas Stach	select SND_SOC_TEGRA20_AC97
1496995b8cbSLucas Stach	select SND_SOC_WM9712
1506995b8cbSLucas Stach	help
1516995b8cbSLucas Stach	  Say Y or M here if you want to add support for SoC audio on Tegra
1526995b8cbSLucas Stach	  boards using the WM9712 (or compatible) codec.
1536995b8cbSLucas Stach
1541307394aSMike Rapoportconfig SND_SOC_TEGRA_TRIMSLICE
1551307394aSMike Rapoport	tristate "SoC Audio support for TrimSlice board"
156*e86caa01SGeert Uytterhoeven	depends on I2C
157cc1bc54aSMax Filippov	select SND_SOC_TLV320AIC23_I2C
1581307394aSMike Rapoport	help
1591307394aSMike Rapoport	  Say Y or M here if you want to add support for SoC audio on the
1601307394aSMike Rapoport	  TrimSlice platform.
16158783fafSLeon Romanovsky
16258783fafSLeon Romanovskyconfig SND_SOC_TEGRA_ALC5632
16358783fafSLeon Romanovsky	tristate "SoC Audio support for Tegra boards using an ALC5632 codec"
164*e86caa01SGeert Uytterhoeven	depends on I2C && GPIOLIB
16558783fafSLeon Romanovsky	select SND_SOC_ALC5632
16658783fafSLeon Romanovsky	help
16758783fafSLeon Romanovsky	  Say Y or M here if you want to add support for SoC audio on the
16858783fafSLeon Romanovsky	  Toshiba AC100 netbook.
1697637af2eSStephen Warren
1707637af2eSStephen Warrenconfig SND_SOC_TEGRA_MAX98090
1717637af2eSStephen Warren	tristate "SoC Audio support for Tegra boards using a MAX98090 codec"
172*e86caa01SGeert Uytterhoeven	depends on I2C && GPIOLIB
1737637af2eSStephen Warren	select SND_SOC_MAX98090
1747637af2eSStephen Warren	help
1757637af2eSStephen Warren	  Say Y or M here if you want to add support for SoC audio on Tegra
1767637af2eSStephen Warren	  boards using the MAX98090 codec, such as Venice2.
177a37f1b8fSAnatol Pomozov
178a37f1b8fSAnatol Pomozovconfig SND_SOC_TEGRA_RT5677
179a37f1b8fSAnatol Pomozov	tristate "SoC Audio support for Tegra boards using a RT5677 codec"
180*e86caa01SGeert Uytterhoeven	depends on I2C && GPIOLIB
181a37f1b8fSAnatol Pomozov	select SND_SOC_RT5677
182a37f1b8fSAnatol Pomozov	help
183a37f1b8fSAnatol Pomozov	  Say Y or M here if you want to add support for SoC audio on Tegra
184a37f1b8fSAnatol Pomozov	  boards using the RT5677 codec, such as Ryu.
18504445681SMarcel Ziswiler
18604445681SMarcel Ziswilerconfig SND_SOC_TEGRA_SGTL5000
18704445681SMarcel Ziswiler	tristate "SoC Audio support for Tegra boards using a SGTL5000 codec"
188*e86caa01SGeert Uytterhoeven	depends on I2C && GPIOLIB
18904445681SMarcel Ziswiler	select SND_SOC_SGTL5000
19004445681SMarcel Ziswiler	help
19104445681SMarcel Ziswiler	  Say Y or M here if you want to add support for SoC audio on Tegra
19204445681SMarcel Ziswiler	  boards using the SGTL5000 codec, such as Apalis T30, Apalis TK1 or
19304445681SMarcel Ziswiler	  Colibri T30.
194*e86caa01SGeert Uytterhoeven
195*e86caa01SGeert Uytterhoevenendif
196