1# SPDX-License-Identifier: GPL-2.0-only 2config SND_SOC_TEGRA 3 tristate "SoC Audio for the Tegra System-on-Chip" 4 depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST 5 depends on COMMON_CLK 6 depends on RESET_CONTROLLER 7 select REGMAP_MMIO 8 select SND_SOC_GENERIC_DMAENGINE_PCM 9 help 10 Say Y or M here if you want support for SoC audio on Tegra. 11 12config SND_SOC_TEGRA20_AC97 13 tristate "Tegra20 AC97 interface" 14 depends on SND_SOC_TEGRA 15 select SND_SOC_AC97_BUS 16 select SND_SOC_TEGRA20_DAS 17 help 18 Say Y or M if you want to add support for codecs attached to the 19 Tegra20 AC97 interface. You will also need to select the individual 20 machine drivers to support below. 21 22config SND_SOC_TEGRA20_DAS 23 tristate "Tegra20 DAS module" 24 depends on SND_SOC_TEGRA 25 help 26 Say Y or M if you want to add support for the Tegra20 DAS module. 27 You will also need to select the individual machine drivers to 28 support below. 29 30config SND_SOC_TEGRA20_I2S 31 tristate "Tegra20 I2S interface" 32 depends on SND_SOC_TEGRA 33 select SND_SOC_TEGRA20_DAS 34 help 35 Say Y or M if you want to add support for codecs attached to the 36 Tegra20 I2S interface. You will also need to select the individual 37 machine drivers to support below. 38 39config SND_SOC_TEGRA20_SPDIF 40 tristate "Tegra20 SPDIF interface" 41 depends on SND_SOC_TEGRA 42 help 43 Say Y or M if you want to add support for the Tegra20 SPDIF interface. 44 You will also need to select the individual machine drivers to support 45 below. 46 47config SND_SOC_TEGRA30_AHUB 48 tristate "Tegra30 AHUB module" 49 depends on SND_SOC_TEGRA 50 help 51 Say Y or M if you want to add support for the Tegra30 AHUB module. 52 You will also need to select the individual machine drivers to 53 support below. 54 55config SND_SOC_TEGRA30_I2S 56 tristate "Tegra30 I2S interface" 57 depends on SND_SOC_TEGRA 58 select SND_SOC_TEGRA30_AHUB 59 help 60 Say Y or M if you want to add support for codecs attached to the 61 Tegra30 I2S interface. You will also need to select the individual 62 machine drivers to support below. 63 64config SND_SOC_TEGRA210_AHUB 65 tristate "Tegra210 AHUB module" 66 depends on SND_SOC_TEGRA 67 help 68 Config to enable Audio Hub (AHUB) module, which comprises of a 69 switch called Audio Crossbar (AXBAR) used to configure or modify 70 the audio routing path between various HW accelerators present in 71 AHUB. 72 Say Y or M if you want to add support for Tegra210 AHUB module. 73 74config SND_SOC_TEGRA210_DMIC 75 tristate "Tegra210 DMIC module" 76 depends on SND_SOC_TEGRA 77 help 78 Config to enable the Digital MIC (DMIC) controller which is used 79 to interface with Pulse Density Modulation (PDM) input devices. 80 The DMIC controller implements a converter to convert PDM signals 81 to Pulse Code Modulation (PCM) signals. This can be viewed as a 82 PDM receiver. 83 Say Y or M if you want to add support for Tegra210 DMIC module. 84 85config SND_SOC_TEGRA210_I2S 86 tristate "Tegra210 I2S module" 87 depends on SND_SOC_TEGRA 88 help 89 Config to enable the Inter-IC Sound (I2S) Controller which 90 implements full-duplex and bidirectional and single direction 91 point-to-point serial interfaces. It can interface with I2S 92 compatible devices. 93 Say Y or M if you want to add support for Tegra210 I2S module. 94 95config SND_SOC_TEGRA186_DSPK 96 tristate "Tegra186 DSPK module" 97 depends on SND_SOC_TEGRA 98 help 99 Config to enable the Digital Speaker Controller (DSPK) which 100 converts the multi-bit Pulse Code Modulation (PCM) audio input to 101 oversampled 1-bit Pulse Density Modulation (PDM) output. From the 102 signal flow perspective DSPK can be viewed as a PDM transmitter 103 that up-samples the input to the desired sampling rate by 104 interpolation and then converts the oversampled PCM input to 105 the desired 1-bit output via Delta Sigma Modulation (DSM). 106 Say Y or M if you want to add support for Tegra186 DSPK module. 107 108config SND_SOC_TEGRA210_ADMAIF 109 tristate "Tegra210 ADMAIF module" 110 depends on SND_SOC_TEGRA 111 help 112 Config to enable ADMAIF which is the interface between ADMA and 113 Audio Hub (AHUB). Each ADMA channel that sends/receives data to/ 114 from AHUB must interface through an ADMAIF channel. ADMA channel 115 sending data to AHUB pairs with an ADMAIF Tx channel, where as 116 ADMA channel receiving data from AHUB pairs with an ADMAIF Rx 117 channel. Buffer size is configurable for each ADMAIIF channel. 118 Say Y or M if you want to add support for Tegra210 ADMAIF module. 119 120config SND_SOC_TEGRA_RT5640 121 tristate "SoC Audio support for Tegra boards using an RT5640 codec" 122 depends on SND_SOC_TEGRA && I2C && GPIOLIB 123 select SND_SOC_RT5640 124 help 125 Say Y or M here if you want to add support for SoC audio on Tegra 126 boards using the RT5640 codec, such as Dalmore. 127 128config SND_SOC_TEGRA_WM8753 129 tristate "SoC Audio support for Tegra boards using a WM8753 codec" 130 depends on SND_SOC_TEGRA && I2C && GPIOLIB 131 select SND_SOC_WM8753 132 help 133 Say Y or M here if you want to add support for SoC audio on Tegra 134 boards using the WM8753 codec, such as Whistler. 135 136config SND_SOC_TEGRA_WM8903 137 tristate "SoC Audio support for Tegra boards using a WM8903 codec" 138 depends on SND_SOC_TEGRA && I2C && GPIOLIB 139 select SND_SOC_WM8903 140 help 141 Say Y or M here if you want to add support for SoC audio on Tegra 142 boards using the WM8093 codec. Currently, the supported boards are 143 Harmony, Ventana, Seaboard, Kaen, and Aebl. 144 145config SND_SOC_TEGRA_WM9712 146 tristate "SoC Audio support for Tegra boards using a WM9712 codec" 147 depends on SND_SOC_TEGRA && GPIOLIB 148 select SND_SOC_TEGRA20_AC97 149 select SND_SOC_WM9712 150 help 151 Say Y or M here if you want to add support for SoC audio on Tegra 152 boards using the WM9712 (or compatible) codec. 153 154config SND_SOC_TEGRA_TRIMSLICE 155 tristate "SoC Audio support for TrimSlice board" 156 depends on SND_SOC_TEGRA && I2C 157 select SND_SOC_TLV320AIC23_I2C 158 help 159 Say Y or M here if you want to add support for SoC audio on the 160 TrimSlice platform. 161 162config SND_SOC_TEGRA_ALC5632 163 tristate "SoC Audio support for Tegra boards using an ALC5632 codec" 164 depends on SND_SOC_TEGRA && I2C && GPIOLIB 165 select SND_SOC_ALC5632 166 help 167 Say Y or M here if you want to add support for SoC audio on the 168 Toshiba AC100 netbook. 169 170config SND_SOC_TEGRA_MAX98090 171 tristate "SoC Audio support for Tegra boards using a MAX98090 codec" 172 depends on SND_SOC_TEGRA && I2C && GPIOLIB 173 select SND_SOC_MAX98090 174 help 175 Say Y or M here if you want to add support for SoC audio on Tegra 176 boards using the MAX98090 codec, such as Venice2. 177 178config SND_SOC_TEGRA_RT5677 179 tristate "SoC Audio support for Tegra boards using a RT5677 codec" 180 depends on SND_SOC_TEGRA && I2C && GPIOLIB 181 select SND_SOC_RT5677 182 help 183 Say Y or M here if you want to add support for SoC audio on Tegra 184 boards using the RT5677 codec, such as Ryu. 185 186config SND_SOC_TEGRA_SGTL5000 187 tristate "SoC Audio support for Tegra boards using a SGTL5000 codec" 188 depends on SND_SOC_TEGRA && I2C && GPIOLIB 189 select SND_SOC_SGTL5000 190 help 191 Say Y or M here if you want to add support for SoC audio on Tegra 192 boards using the SGTL5000 codec, such as Apalis T30, Apalis TK1 or 193 Colibri T30. 194