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 88 config SND_SOC_TEGRA210_OPE 90 tristate "Tegra210 OPE module" 89 tristate "Tegra210 OPE module" 91 help 90 help 92 Config to enable the Output Processi 91 Config to enable the Output Processing Engine (OPE) which includes 93 Parametric Equalizer (PEQ) and Multi 92 Parametric Equalizer (PEQ) and Multi Band Dynamic Range Compressor 94 (MBDRC) sub blocks for data processi 93 (MBDRC) sub blocks for data processing. It can support up to 8 95 channels. 94 channels. 96 Say Y or M if you want to add suppor 95 Say Y or M if you want to add support for Tegra210 OPE module. 97 96 98 config SND_SOC_TEGRA186_ASRC 97 config SND_SOC_TEGRA186_ASRC 99 tristate "Tegra186 ASRC module" 98 tristate "Tegra186 ASRC module" 100 help 99 help 101 Config to enable the Asynchronous Sa 100 Config to enable the Asynchronous Sample Rate Converter (ASRC), 102 which converts the sampling frequenc 101 which converts the sampling frequency of the input signal from 103 one frequency to another. It can han 102 one frequency to another. It can handle over a wide range of 104 sample rate ratios (freq_in/freq_out 103 sample rate ratios (freq_in/freq_out) from 1:24 to 24:1. 105 ASRC has two modes of operation. One 104 ASRC has two modes of operation. One where ratio can be programmed 106 in SW and the other where it gets in 105 in SW and the other where it gets information from ratio estimator 107 module. 106 module. 108 Say Y or M if you want to add suppor 107 Say Y or M if you want to add support for Tegra186 ASRC module. 109 108 110 config SND_SOC_TEGRA186_DSPK 109 config SND_SOC_TEGRA186_DSPK 111 tristate "Tegra186 DSPK module" 110 tristate "Tegra186 DSPK module" 112 help 111 help 113 Config to enable the Digital Speaker 112 Config to enable the Digital Speaker Controller (DSPK) which 114 converts the multi-bit Pulse Code Mo 113 converts the multi-bit Pulse Code Modulation (PCM) audio input to 115 oversampled 1-bit Pulse Density Modu 114 oversampled 1-bit Pulse Density Modulation (PDM) output. From the 116 signal flow perspective DSPK can be 115 signal flow perspective DSPK can be viewed as a PDM transmitter 117 that up-samples the input to the des 116 that up-samples the input to the desired sampling rate by 118 interpolation and then converts the 117 interpolation and then converts the oversampled PCM input to 119 the desired 1-bit output via Delta S 118 the desired 1-bit output via Delta Sigma Modulation (DSM). 120 Say Y or M if you want to add suppor 119 Say Y or M if you want to add support for Tegra186 DSPK module. 121 120 122 config SND_SOC_TEGRA210_ADMAIF 121 config SND_SOC_TEGRA210_ADMAIF 123 tristate "Tegra210 ADMAIF module" 122 tristate "Tegra210 ADMAIF module" 124 help 123 help 125 Config to enable ADMAIF which is the 124 Config to enable ADMAIF which is the interface between ADMA and 126 Audio Hub (AHUB). Each ADMA channel 125 Audio Hub (AHUB). Each ADMA channel that sends/receives data to/ 127 from AHUB must interface through an 126 from AHUB must interface through an ADMAIF channel. ADMA channel 128 sending data to AHUB pairs with an A 127 sending data to AHUB pairs with an ADMAIF Tx channel, where as 129 ADMA channel receiving data from AHU 128 ADMA channel receiving data from AHUB pairs with an ADMAIF Rx 130 channel. Buffer size is configurable 129 channel. Buffer size is configurable for each ADMAIIF channel. 131 Say Y or M if you want to add suppor 130 Say Y or M if you want to add support for Tegra210 ADMAIF module. 132 131 133 config SND_SOC_TEGRA210_MVC 132 config SND_SOC_TEGRA210_MVC 134 tristate "Tegra210 MVC module" 133 tristate "Tegra210 MVC module" 135 help 134 help 136 Config to enable the digital Master 135 Config to enable the digital Master Volume Controller (MVC) which 137 provides gain or attenuation to a di 136 provides gain or attenuation to a digital signal path. It can be 138 used in input or output signal path. 137 used in input or output signal path. It can be used either for 139 per-stream volume control or for mas 138 per-stream volume control or for master volume control. 140 Say Y or M if you want to add suppor 139 Say Y or M if you want to add support for Tegra210 MVC module. 141 140 142 config SND_SOC_TEGRA210_SFC 141 config SND_SOC_TEGRA210_SFC 143 tristate "Tegra210 SFC module" 142 tristate "Tegra210 SFC module" 144 help 143 help 145 Config to enable the Sampling Freque 144 Config to enable the Sampling Frequency Converter (SFC) which 146 converts the sampling frequency of i 145 converts the sampling frequency of input signal to another 147 frequency. It supports sampling freq 146 frequency. It supports sampling frequency conversion of streams 148 up to 2 channels (stereo). 147 up to 2 channels (stereo). 149 Say Y or M if you want to add suppor 148 Say Y or M if you want to add support for Tegra210 SFC module. 150 149 151 config SND_SOC_TEGRA210_AMX 150 config SND_SOC_TEGRA210_AMX 152 tristate "Tegra210 AMX module" 151 tristate "Tegra210 AMX module" 153 help 152 help 154 Config to enable the Audio Multiplex 153 Config to enable the Audio Multiplexer (AMX) which can multiplex 155 four input streams (each of up to 16 154 four input streams (each of up to 16 channels) and generate 156 output stream (of up to 16 channels) 155 output stream (of up to 16 channels). A byte RAM helps to form an 157 output frame by any combination of b 156 output frame by any combination of bytes from the input frames. 158 Say Y or M if you want to add suppor 157 Say Y or M if you want to add support for Tegra210 AMX module. 159 158 160 config SND_SOC_TEGRA210_ADX 159 config SND_SOC_TEGRA210_ADX 161 tristate "Tegra210 ADX module" 160 tristate "Tegra210 ADX module" 162 help 161 help 163 Config to enable the Audio Demultipl 162 Config to enable the Audio Demultiplexer (ADX) which takes an 164 input stream (up to 16 channels) and 163 input stream (up to 16 channels) and demultiplexes it into four 165 output streams (each of up to 16 cha 164 output streams (each of up to 16 channels). A byte RAM helps to 166 form output frames by any combinatio 165 form output frames by any combination of bytes from the input 167 frame. Its design is identical to th 166 frame. Its design is identical to that of byte RAM in the AMX 168 except that the data flow direction 167 except that the data flow direction is reversed. 169 Say Y or M if you want to add suppor 168 Say Y or M if you want to add support for Tegra210 ADX module. 170 169 171 config SND_SOC_TEGRA210_MIXER 170 config SND_SOC_TEGRA210_MIXER 172 tristate "Tegra210 Mixer module" 171 tristate "Tegra210 Mixer module" 173 help 172 help 174 Config to enable the Mixer module wh 173 Config to enable the Mixer module which can help to mix multiple 175 audio streams. It supports mixing of 174 audio streams. It supports mixing of up to 10 input streams, 176 where each stream can contain maximu 175 where each stream can contain maximum of 8 channels. It supports 177 5 output each of which can be a mix 176 5 output each of which can be a mix of any combination of 10 178 input streams. 177 input streams. 179 Say Y or M if you want to add suppor 178 Say Y or M if you want to add support for Tegra210 Mixer module. 180 179 181 config SND_SOC_TEGRA_AUDIO_GRAPH_CARD 180 config SND_SOC_TEGRA_AUDIO_GRAPH_CARD 182 tristate "Audio Graph Card based Tegra 181 tristate "Audio Graph Card based Tegra driver" 183 depends on SND_AUDIO_GRAPH_CARD 182 depends on SND_AUDIO_GRAPH_CARD 184 help 183 help 185 Config to enable Tegra audio machine 184 Config to enable Tegra audio machine driver based on generic 186 audio graph driver. It is a thin dri 185 audio graph driver. It is a thin driver written to customize 187 few things for Tegra audio. Most of 186 few things for Tegra audio. Most of the code is re-used from 188 audio graph driver and the same DT b 187 audio graph driver and the same DT bindings are used. 189 188 190 config SND_SOC_TEGRA_MACHINE_DRV 189 config SND_SOC_TEGRA_MACHINE_DRV 191 tristate 190 tristate 192 191 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 192 config SND_SOC_TEGRA_RT5640 203 tristate "SoC Audio support for Tegra 193 tristate "SoC Audio support for Tegra boards using an RT5640 codec" 204 depends on I2C && GPIOLIB 194 depends on I2C && GPIOLIB 205 select SND_SOC_TEGRA_MACHINE_DRV 195 select SND_SOC_TEGRA_MACHINE_DRV 206 select SND_SOC_RT5640 196 select SND_SOC_RT5640 207 help 197 help 208 Say Y or M here if you want to add s 198 Say Y or M here if you want to add support for SoC audio on Tegra 209 boards using the RT5640 codec, such 199 boards using the RT5640 codec, such as Dalmore. 210 200 211 config SND_SOC_TEGRA_WM8753 201 config SND_SOC_TEGRA_WM8753 212 tristate "SoC Audio support for Tegra 202 tristate "SoC Audio support for Tegra boards using a WM8753 codec" 213 depends on I2C && GPIOLIB 203 depends on I2C && GPIOLIB 214 select SND_SOC_TEGRA_MACHINE_DRV 204 select SND_SOC_TEGRA_MACHINE_DRV 215 select SND_SOC_WM8753 205 select SND_SOC_WM8753 216 help 206 help 217 Say Y or M here if you want to add s 207 Say Y or M here if you want to add support for SoC audio on Tegra 218 boards using the WM8753 codec, such 208 boards using the WM8753 codec, such as Whistler. 219 209 220 config SND_SOC_TEGRA_WM8903 210 config SND_SOC_TEGRA_WM8903 221 tristate "SoC Audio support for Tegra 211 tristate "SoC Audio support for Tegra boards using a WM8903 codec" 222 depends on I2C && GPIOLIB 212 depends on I2C && GPIOLIB 223 select SND_SOC_TEGRA_MACHINE_DRV 213 select SND_SOC_TEGRA_MACHINE_DRV 224 select SND_SOC_WM8903 214 select SND_SOC_WM8903 225 help 215 help 226 Say Y or M here if you want to add s 216 Say Y or M here if you want to add support for SoC audio on Tegra 227 boards using the WM8093 codec. Curre 217 boards using the WM8093 codec. Currently, the supported boards are 228 Harmony, Ventana, Seaboard, Kaen, an 218 Harmony, Ventana, Seaboard, Kaen, and Aebl. 229 219 230 config SND_SOC_TEGRA_WM9712 220 config SND_SOC_TEGRA_WM9712 231 tristate "SoC Audio support for Tegra 221 tristate "SoC Audio support for Tegra boards using a WM9712 codec" 232 depends on GPIOLIB 222 depends on GPIOLIB 233 select SND_SOC_TEGRA_MACHINE_DRV 223 select SND_SOC_TEGRA_MACHINE_DRV 234 select SND_SOC_TEGRA20_AC97 224 select SND_SOC_TEGRA20_AC97 235 select SND_SOC_WM9712 225 select SND_SOC_WM9712 236 help 226 help 237 Say Y or M here if you want to add s 227 Say Y or M here if you want to add support for SoC audio on Tegra 238 boards using the WM9712 (or compatib 228 boards using the WM9712 (or compatible) codec. 239 229 240 config SND_SOC_TEGRA_TRIMSLICE 230 config SND_SOC_TEGRA_TRIMSLICE 241 tristate "SoC Audio support for TrimSl 231 tristate "SoC Audio support for TrimSlice board" 242 depends on I2C 232 depends on I2C 243 select SND_SOC_TEGRA_MACHINE_DRV 233 select SND_SOC_TEGRA_MACHINE_DRV 244 select SND_SOC_TLV320AIC23_I2C 234 select SND_SOC_TLV320AIC23_I2C 245 help 235 help 246 Say Y or M here if you want to add s 236 Say Y or M here if you want to add support for SoC audio on the 247 TrimSlice platform. 237 TrimSlice platform. 248 238 249 config SND_SOC_TEGRA_ALC5632 239 config SND_SOC_TEGRA_ALC5632 250 tristate "SoC Audio support for Tegra 240 tristate "SoC Audio support for Tegra boards using an ALC5632 codec" 251 depends on I2C && GPIOLIB 241 depends on I2C && GPIOLIB 252 select SND_SOC_TEGRA_MACHINE_DRV 242 select SND_SOC_TEGRA_MACHINE_DRV 253 select SND_SOC_ALC5632 243 select SND_SOC_ALC5632 254 help 244 help 255 Say Y or M here if you want to add s 245 Say Y or M here if you want to add support for SoC audio on the 256 Toshiba AC100 netbook. 246 Toshiba AC100 netbook. 257 247 258 config SND_SOC_TEGRA_MAX98090 248 config SND_SOC_TEGRA_MAX98090 259 tristate "SoC Audio support for Tegra 249 tristate "SoC Audio support for Tegra boards using a MAX98090 codec" 260 depends on I2C && GPIOLIB 250 depends on I2C && GPIOLIB 261 select SND_SOC_TEGRA_MACHINE_DRV 251 select SND_SOC_TEGRA_MACHINE_DRV 262 select SND_SOC_MAX98090 252 select SND_SOC_MAX98090 263 help 253 help 264 Say Y or M here if you want to add s 254 Say Y or M here if you want to add support for SoC audio on Tegra 265 boards using the MAX98090 codec, suc 255 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 256 276 config SND_SOC_TEGRA_RT5677 257 config SND_SOC_TEGRA_RT5677 277 tristate "SoC Audio support for Tegra 258 tristate "SoC Audio support for Tegra boards using a RT5677 codec" 278 depends on I2C && GPIOLIB 259 depends on I2C && GPIOLIB 279 select SND_SOC_TEGRA_MACHINE_DRV 260 select SND_SOC_TEGRA_MACHINE_DRV 280 select SND_SOC_RT5677 261 select SND_SOC_RT5677 281 help 262 help 282 Say Y or M here if you want to add s 263 Say Y or M here if you want to add support for SoC audio on Tegra 283 boards using the RT5677 codec, such 264 boards using the RT5677 codec, such as Ryu. 284 265 285 config SND_SOC_TEGRA_SGTL5000 266 config SND_SOC_TEGRA_SGTL5000 286 tristate "SoC Audio support for Tegra 267 tristate "SoC Audio support for Tegra boards using a SGTL5000 codec" 287 depends on I2C && GPIOLIB 268 depends on I2C && GPIOLIB 288 select SND_SOC_TEGRA_MACHINE_DRV 269 select SND_SOC_TEGRA_MACHINE_DRV 289 select SND_SOC_SGTL5000 270 select SND_SOC_SGTL5000 290 help 271 help 291 Say Y or M here if you want to add s 272 Say Y or M here if you want to add support for SoC audio on Tegra 292 boards using the SGTL5000 codec, suc 273 boards using the SGTL5000 codec, such as Apalis T30, Apalis TK1 or 293 Colibri T30. 274 Colibri T30. 294 275 295 endif 276 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.