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