1 # SPDX-License-Identifier: GPL-2.0-only 1 # SPDX-License-Identifier: GPL-2.0-only 2 config SND_SOC_TEGRA 2 config SND_SOC_TEGRA 3 tristate "SoC Audio for the Tegra Syst 3 tristate "SoC Audio for the Tegra System-on-Chip" 4 depends on (ARCH_TEGRA && TEGRA20_APB_ 4 depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST 5 depends on COMMON_CLK 5 depends on COMMON_CLK 6 depends on RESET_CONTROLLER 6 depends on RESET_CONTROLLER 7 select REGMAP_MMIO 7 select REGMAP_MMIO 8 select SND_SOC_GENERIC_DMAENGINE_PCM 8 select SND_SOC_GENERIC_DMAENGINE_PCM 9 help 9 help 10 Say Y or M here if you want support 10 Say Y or M here if you want support for SoC audio on Tegra. 11 11 12 if SND_SOC_TEGRA 12 if SND_SOC_TEGRA 13 13 14 config SND_SOC_TEGRA20_AC97 14 config SND_SOC_TEGRA20_AC97 15 tristate "Tegra20 AC97 interface" 15 tristate "Tegra20 AC97 interface" 16 select SND_SOC_AC97_BUS 16 select SND_SOC_AC97_BUS 17 select SND_SOC_TEGRA20_DAS 17 select SND_SOC_TEGRA20_DAS 18 help 18 help 19 Say Y or M if you want to add suppor 19 Say Y or M if you want to add support for codecs attached to the 20 Tegra20 AC97 interface. You will als 20 Tegra20 AC97 interface. You will also need to select the individual 21 machine drivers to support below. 21 machine drivers to support below. 22 22 23 config SND_SOC_TEGRA20_DAS 23 config SND_SOC_TEGRA20_DAS 24 tristate "Tegra20 DAS module" 24 tristate "Tegra20 DAS module" 25 help 25 help 26 Say Y or M if you want to add suppor 26 Say Y or M if you want to add support for the Tegra20 DAS module. 27 You will also need to select the ind 27 You will also need to select the individual machine drivers to 28 support below. 28 support below. 29 29 30 config SND_SOC_TEGRA20_I2S 30 config SND_SOC_TEGRA20_I2S 31 tristate "Tegra20 I2S interface" 31 tristate "Tegra20 I2S interface" 32 select SND_SOC_TEGRA20_DAS 32 select SND_SOC_TEGRA20_DAS 33 help 33 help 34 Say Y or M if you want to add suppor 34 Say Y or M if you want to add support for codecs attached to the 35 Tegra20 I2S interface. You will also 35 Tegra20 I2S interface. You will also need to select the individual 36 machine drivers to support below. 36 machine drivers to support below. 37 37 38 config SND_SOC_TEGRA20_SPDIF 38 config SND_SOC_TEGRA20_SPDIF 39 tristate "Tegra20 SPDIF interface" 39 tristate "Tegra20 SPDIF interface" 40 help 40 help 41 Say Y or M if you want to add suppor 41 Say Y or M if you want to add support for the Tegra20 SPDIF interface. 42 You will also need to select the ind 42 You will also need to select the individual machine drivers to support 43 below. 43 below. 44 44 45 config SND_SOC_TEGRA30_AHUB 45 config SND_SOC_TEGRA30_AHUB 46 tristate "Tegra30 AHUB module" 46 tristate "Tegra30 AHUB module" 47 help 47 help 48 Say Y or M if you want to add suppor 48 Say Y or M if you want to add support for the Tegra30 AHUB module. 49 You will also need to select the ind 49 You will also need to select the individual machine drivers to 50 support below. 50 support below. 51 51 52 config SND_SOC_TEGRA30_I2S 52 config SND_SOC_TEGRA30_I2S 53 tristate "Tegra30 I2S interface" 53 tristate "Tegra30 I2S interface" 54 select SND_SOC_TEGRA30_AHUB 54 select SND_SOC_TEGRA30_AHUB 55 help 55 help 56 Say Y or M if you want to add suppor 56 Say Y or M if you want to add support for codecs attached to the 57 Tegra30 I2S interface. You will also 57 Tegra30 I2S interface. You will also need to select the individual 58 machine drivers to support below. 58 machine drivers to support below. 59 59 60 config SND_SOC_TEGRA210_AHUB 60 config SND_SOC_TEGRA210_AHUB 61 tristate "Tegra210 AHUB module" 61 tristate "Tegra210 AHUB module" 62 help 62 help 63 Config to enable Audio Hub (AHUB) mo 63 Config to enable Audio Hub (AHUB) module, which comprises of a 64 switch called Audio Crossbar (AXBAR) 64 switch called Audio Crossbar (AXBAR) used to configure or modify 65 the audio routing path between vario 65 the audio routing path between various HW accelerators present in 66 AHUB. 66 AHUB. 67 Say Y or M if you want to add suppor 67 Say Y or M if you want to add support for Tegra210 AHUB module. 68 68 69 config SND_SOC_TEGRA210_DMIC 69 config SND_SOC_TEGRA210_DMIC 70 tristate "Tegra210 DMIC module" 70 tristate "Tegra210 DMIC module" 71 help 71 help 72 Config to enable the Digital MIC (DM 72 Config to enable the Digital MIC (DMIC) controller which is used 73 to interface with Pulse Density Modu 73 to interface with Pulse Density Modulation (PDM) input devices. 74 The DMIC controller implements a con 74 The DMIC controller implements a converter to convert PDM signals 75 to Pulse Code Modulation (PCM) signa 75 to Pulse Code Modulation (PCM) signals. This can be viewed as a 76 PDM receiver. 76 PDM receiver. 77 Say Y or M if you want to add suppor 77 Say Y or M if you want to add support for Tegra210 DMIC module. 78 78 79 config SND_SOC_TEGRA210_I2S 79 config SND_SOC_TEGRA210_I2S 80 tristate "Tegra210 I2S module" 80 tristate "Tegra210 I2S module" 81 select SND_SIMPLE_CARD_UTILS << 82 help 81 help 83 Config to enable the Inter-IC Sound 82 Config to enable the Inter-IC Sound (I2S) Controller which 84 implements full-duplex and bidirecti 83 implements full-duplex and bidirectional and single direction 85 point-to-point serial interfaces. It 84 point-to-point serial interfaces. It can interface with I2S 86 compatible devices. 85 compatible devices. 87 Say Y or M if you want to add suppor 86 Say Y or M if you want to add support for Tegra210 I2S module. 88 87 89 config SND_SOC_TEGRA210_OPE << 90 tristate "Tegra210 OPE module" << 91 help << 92 Config to enable the Output Processi << 93 Parametric Equalizer (PEQ) and Multi << 94 (MBDRC) sub blocks for data processi << 95 channels. << 96 Say Y or M if you want to add suppor << 97 << 98 config SND_SOC_TEGRA186_ASRC << 99 tristate "Tegra186 ASRC module" << 100 help << 101 Config to enable the Asynchronous Sa << 102 which converts the sampling frequenc << 103 one frequency to another. It can han << 104 sample rate ratios (freq_in/freq_out << 105 ASRC has two modes of operation. One << 106 in SW and the other where it gets in << 107 module. << 108 Say Y or M if you want to add suppor << 109 << 110 config SND_SOC_TEGRA186_DSPK 88 config SND_SOC_TEGRA186_DSPK 111 tristate "Tegra186 DSPK module" 89 tristate "Tegra186 DSPK module" 112 help 90 help 113 Config to enable the Digital Speaker 91 Config to enable the Digital Speaker Controller (DSPK) which 114 converts the multi-bit Pulse Code Mo 92 converts the multi-bit Pulse Code Modulation (PCM) audio input to 115 oversampled 1-bit Pulse Density Modu 93 oversampled 1-bit Pulse Density Modulation (PDM) output. From the 116 signal flow perspective DSPK can be 94 signal flow perspective DSPK can be viewed as a PDM transmitter 117 that up-samples the input to the des 95 that up-samples the input to the desired sampling rate by 118 interpolation and then converts the 96 interpolation and then converts the oversampled PCM input to 119 the desired 1-bit output via Delta S 97 the desired 1-bit output via Delta Sigma Modulation (DSM). 120 Say Y or M if you want to add suppor 98 Say Y or M if you want to add support for Tegra186 DSPK module. 121 99 122 config SND_SOC_TEGRA210_ADMAIF 100 config SND_SOC_TEGRA210_ADMAIF 123 tristate "Tegra210 ADMAIF module" 101 tristate "Tegra210 ADMAIF module" 124 help 102 help 125 Config to enable ADMAIF which is the 103 Config to enable ADMAIF which is the interface between ADMA and 126 Audio Hub (AHUB). Each ADMA channel 104 Audio Hub (AHUB). Each ADMA channel that sends/receives data to/ 127 from AHUB must interface through an 105 from AHUB must interface through an ADMAIF channel. ADMA channel 128 sending data to AHUB pairs with an A 106 sending data to AHUB pairs with an ADMAIF Tx channel, where as 129 ADMA channel receiving data from AHU 107 ADMA channel receiving data from AHUB pairs with an ADMAIF Rx 130 channel. Buffer size is configurable 108 channel. Buffer size is configurable for each ADMAIIF channel. 131 Say Y or M if you want to add suppor 109 Say Y or M if you want to add support for Tegra210 ADMAIF module. 132 110 133 config SND_SOC_TEGRA210_MVC 111 config SND_SOC_TEGRA210_MVC 134 tristate "Tegra210 MVC module" 112 tristate "Tegra210 MVC module" 135 help 113 help 136 Config to enable the digital Master 114 Config to enable the digital Master Volume Controller (MVC) which 137 provides gain or attenuation to a di 115 provides gain or attenuation to a digital signal path. It can be 138 used in input or output signal path. 116 used in input or output signal path. It can be used either for 139 per-stream volume control or for mas 117 per-stream volume control or for master volume control. 140 Say Y or M if you want to add suppor 118 Say Y or M if you want to add support for Tegra210 MVC module. 141 119 142 config SND_SOC_TEGRA210_SFC 120 config SND_SOC_TEGRA210_SFC 143 tristate "Tegra210 SFC module" 121 tristate "Tegra210 SFC module" 144 help 122 help 145 Config to enable the Sampling Freque 123 Config to enable the Sampling Frequency Converter (SFC) which 146 converts the sampling frequency of i 124 converts the sampling frequency of input signal to another 147 frequency. It supports sampling freq 125 frequency. It supports sampling frequency conversion of streams 148 up to 2 channels (stereo). !! 126 upto 2 channels (stereo). 149 Say Y or M if you want to add suppor 127 Say Y or M if you want to add support for Tegra210 SFC module. 150 128 151 config SND_SOC_TEGRA210_AMX 129 config SND_SOC_TEGRA210_AMX 152 tristate "Tegra210 AMX module" 130 tristate "Tegra210 AMX module" 153 help 131 help 154 Config to enable the Audio Multiplex 132 Config to enable the Audio Multiplexer (AMX) which can multiplex 155 four input streams (each of up to 16 133 four input streams (each of up to 16 channels) and generate 156 output stream (of up to 16 channels) 134 output stream (of up to 16 channels). A byte RAM helps to form an 157 output frame by any combination of b 135 output frame by any combination of bytes from the input frames. 158 Say Y or M if you want to add suppor 136 Say Y or M if you want to add support for Tegra210 AMX module. 159 137 160 config SND_SOC_TEGRA210_ADX 138 config SND_SOC_TEGRA210_ADX 161 tristate "Tegra210 ADX module" 139 tristate "Tegra210 ADX module" 162 help 140 help 163 Config to enable the Audio Demultipl 141 Config to enable the Audio Demultiplexer (ADX) which takes an 164 input stream (up to 16 channels) and 142 input stream (up to 16 channels) and demultiplexes it into four 165 output streams (each of up to 16 cha 143 output streams (each of up to 16 channels). A byte RAM helps to 166 form output frames by any combinatio 144 form output frames by any combination of bytes from the input 167 frame. Its design is identical to th 145 frame. Its design is identical to that of byte RAM in the AMX 168 except that the data flow direction 146 except that the data flow direction is reversed. 169 Say Y or M if you want to add suppor 147 Say Y or M if you want to add support for Tegra210 ADX module. 170 148 171 config SND_SOC_TEGRA210_MIXER 149 config SND_SOC_TEGRA210_MIXER 172 tristate "Tegra210 Mixer module" 150 tristate "Tegra210 Mixer module" 173 help 151 help 174 Config to enable the Mixer module wh 152 Config to enable the Mixer module which can help to mix multiple 175 audio streams. It supports mixing of !! 153 audio streams. It supports mixing of upto 10 input streams, 176 where each stream can contain maximu 154 where each stream can contain maximum of 8 channels. It supports 177 5 output each of which can be a mix 155 5 output each of which can be a mix of any combination of 10 178 input streams. 156 input streams. 179 Say Y or M if you want to add suppor 157 Say Y or M if you want to add support for Tegra210 Mixer module. 180 158 181 config SND_SOC_TEGRA_AUDIO_GRAPH_CARD 159 config SND_SOC_TEGRA_AUDIO_GRAPH_CARD 182 tristate "Audio Graph Card based Tegra 160 tristate "Audio Graph Card based Tegra driver" 183 depends on SND_AUDIO_GRAPH_CARD 161 depends on SND_AUDIO_GRAPH_CARD 184 help 162 help 185 Config to enable Tegra audio machine 163 Config to enable Tegra audio machine driver based on generic 186 audio graph driver. It is a thin dri 164 audio graph driver. It is a thin driver written to customize 187 few things for Tegra audio. Most of 165 few things for Tegra audio. Most of the code is re-used from 188 audio graph driver and the same DT b 166 audio graph driver and the same DT bindings are used. 189 167 190 config SND_SOC_TEGRA_MACHINE_DRV 168 config SND_SOC_TEGRA_MACHINE_DRV 191 tristate 169 tristate 192 170 193 config SND_SOC_TEGRA_RT5631 << 194 tristate "SoC Audio support for Tegra << 195 depends on SND_SOC_TEGRA && I2C && GPI << 196 select SND_SOC_TEGRA_MACHINE_DRV << 197 select SND_SOC_RT5631 << 198 help << 199 Say Y or M here if you want to add s << 200 boards using the RT5631 codec, such << 201 << 202 config SND_SOC_TEGRA_RT5640 171 config SND_SOC_TEGRA_RT5640 203 tristate "SoC Audio support for Tegra 172 tristate "SoC Audio support for Tegra boards using an RT5640 codec" 204 depends on I2C && GPIOLIB 173 depends on I2C && GPIOLIB 205 select SND_SOC_TEGRA_MACHINE_DRV 174 select SND_SOC_TEGRA_MACHINE_DRV 206 select SND_SOC_RT5640 175 select SND_SOC_RT5640 207 help 176 help 208 Say Y or M here if you want to add s 177 Say Y or M here if you want to add support for SoC audio on Tegra 209 boards using the RT5640 codec, such 178 boards using the RT5640 codec, such as Dalmore. 210 179 211 config SND_SOC_TEGRA_WM8753 180 config SND_SOC_TEGRA_WM8753 212 tristate "SoC Audio support for Tegra 181 tristate "SoC Audio support for Tegra boards using a WM8753 codec" 213 depends on I2C && GPIOLIB 182 depends on I2C && GPIOLIB 214 select SND_SOC_TEGRA_MACHINE_DRV 183 select SND_SOC_TEGRA_MACHINE_DRV 215 select SND_SOC_WM8753 184 select SND_SOC_WM8753 216 help 185 help 217 Say Y or M here if you want to add s 186 Say Y or M here if you want to add support for SoC audio on Tegra 218 boards using the WM8753 codec, such 187 boards using the WM8753 codec, such as Whistler. 219 188 220 config SND_SOC_TEGRA_WM8903 189 config SND_SOC_TEGRA_WM8903 221 tristate "SoC Audio support for Tegra 190 tristate "SoC Audio support for Tegra boards using a WM8903 codec" 222 depends on I2C && GPIOLIB 191 depends on I2C && GPIOLIB 223 select SND_SOC_TEGRA_MACHINE_DRV 192 select SND_SOC_TEGRA_MACHINE_DRV 224 select SND_SOC_WM8903 193 select SND_SOC_WM8903 225 help 194 help 226 Say Y or M here if you want to add s 195 Say Y or M here if you want to add support for SoC audio on Tegra 227 boards using the WM8093 codec. Curre 196 boards using the WM8093 codec. Currently, the supported boards are 228 Harmony, Ventana, Seaboard, Kaen, an 197 Harmony, Ventana, Seaboard, Kaen, and Aebl. 229 198 230 config SND_SOC_TEGRA_WM9712 199 config SND_SOC_TEGRA_WM9712 231 tristate "SoC Audio support for Tegra 200 tristate "SoC Audio support for Tegra boards using a WM9712 codec" 232 depends on GPIOLIB 201 depends on GPIOLIB 233 select SND_SOC_TEGRA_MACHINE_DRV 202 select SND_SOC_TEGRA_MACHINE_DRV 234 select SND_SOC_TEGRA20_AC97 203 select SND_SOC_TEGRA20_AC97 235 select SND_SOC_WM9712 204 select SND_SOC_WM9712 236 help 205 help 237 Say Y or M here if you want to add s 206 Say Y or M here if you want to add support for SoC audio on Tegra 238 boards using the WM9712 (or compatib 207 boards using the WM9712 (or compatible) codec. 239 208 240 config SND_SOC_TEGRA_TRIMSLICE 209 config SND_SOC_TEGRA_TRIMSLICE 241 tristate "SoC Audio support for TrimSl 210 tristate "SoC Audio support for TrimSlice board" 242 depends on I2C 211 depends on I2C 243 select SND_SOC_TEGRA_MACHINE_DRV 212 select SND_SOC_TEGRA_MACHINE_DRV 244 select SND_SOC_TLV320AIC23_I2C 213 select SND_SOC_TLV320AIC23_I2C 245 help 214 help 246 Say Y or M here if you want to add s 215 Say Y or M here if you want to add support for SoC audio on the 247 TrimSlice platform. 216 TrimSlice platform. 248 217 249 config SND_SOC_TEGRA_ALC5632 218 config SND_SOC_TEGRA_ALC5632 250 tristate "SoC Audio support for Tegra 219 tristate "SoC Audio support for Tegra boards using an ALC5632 codec" 251 depends on I2C && GPIOLIB 220 depends on I2C && GPIOLIB 252 select SND_SOC_TEGRA_MACHINE_DRV 221 select SND_SOC_TEGRA_MACHINE_DRV 253 select SND_SOC_ALC5632 222 select SND_SOC_ALC5632 254 help 223 help 255 Say Y or M here if you want to add s 224 Say Y or M here if you want to add support for SoC audio on the 256 Toshiba AC100 netbook. 225 Toshiba AC100 netbook. 257 226 258 config SND_SOC_TEGRA_MAX98090 227 config SND_SOC_TEGRA_MAX98090 259 tristate "SoC Audio support for Tegra 228 tristate "SoC Audio support for Tegra boards using a MAX98090 codec" 260 depends on I2C && GPIOLIB 229 depends on I2C && GPIOLIB 261 select SND_SOC_TEGRA_MACHINE_DRV 230 select SND_SOC_TEGRA_MACHINE_DRV 262 select SND_SOC_MAX98090 231 select SND_SOC_MAX98090 263 help 232 help 264 Say Y or M here if you want to add s 233 Say Y or M here if you want to add support for SoC audio on Tegra 265 boards using the MAX98090 codec, suc 234 boards using the MAX98090 codec, such as Venice2. 266 << 267 config SND_SOC_TEGRA_MAX98088 << 268 tristate "SoC Audio support for Tegra << 269 depends on I2C && GPIOLIB << 270 select SND_SOC_TEGRA_MACHINE_DRV << 271 select SND_SOC_MAX98088 << 272 help << 273 Say Y or M here if you want to add s << 274 boards using the MAX98088 codec, suc << 275 235 276 config SND_SOC_TEGRA_RT5677 236 config SND_SOC_TEGRA_RT5677 277 tristate "SoC Audio support for Tegra 237 tristate "SoC Audio support for Tegra boards using a RT5677 codec" 278 depends on I2C && GPIOLIB 238 depends on I2C && GPIOLIB 279 select SND_SOC_TEGRA_MACHINE_DRV 239 select SND_SOC_TEGRA_MACHINE_DRV 280 select SND_SOC_RT5677 240 select SND_SOC_RT5677 281 help 241 help 282 Say Y or M here if you want to add s 242 Say Y or M here if you want to add support for SoC audio on Tegra 283 boards using the RT5677 codec, such 243 boards using the RT5677 codec, such as Ryu. 284 244 285 config SND_SOC_TEGRA_SGTL5000 245 config SND_SOC_TEGRA_SGTL5000 286 tristate "SoC Audio support for Tegra 246 tristate "SoC Audio support for Tegra boards using a SGTL5000 codec" 287 depends on I2C && GPIOLIB 247 depends on I2C && GPIOLIB 288 select SND_SOC_TEGRA_MACHINE_DRV 248 select SND_SOC_TEGRA_MACHINE_DRV 289 select SND_SOC_SGTL5000 249 select SND_SOC_SGTL5000 290 help 250 help 291 Say Y or M here if you want to add s 251 Say Y or M here if you want to add support for SoC audio on Tegra 292 boards using the SGTL5000 codec, suc 252 boards using the SGTL5000 codec, such as Apalis T30, Apalis TK1 or 293 Colibri T30. 253 Colibri T30. 294 254 295 endif 255 endif
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.