| # |
| # For a description of the syntax of this configuration file, |
| # see the file kconfig-language.txt in the NuttX tools repository. |
| # |
| |
| menuconfig DRIVERS_AUDIO |
| bool "Audio Device Support" |
| default n |
| ---help--- |
| Enable support for audio device drivers. This includes drivers for |
| MP3, WMA and Ogg Vorbis encoding, decoding, as well as drivers for |
| interfacing with external DSP chips to perform custom audio functions. |
| |
| NOTE: All of these drivers depend on support from the audio subsystem |
| enabled with the AUDIO selection. |
| |
| if DRIVERS_AUDIO |
| |
| config AUDIO_TONE |
| bool "Audio Tone Generator using PWM" |
| default n |
| depends on PWM && DRIVERS_AUDIO |
| ---help--- |
| This driver enables the Audio Tone Generator for NuttX. |
| |
| if AUDIO_TONE |
| |
| endif # AUDIO_TONE |
| |
| config AUDIO_VS1053 |
| bool "VS1053 codec chip" |
| default n |
| depends on AUDIO |
| ---help--- |
| Select to enable support for the VS1053 Audio codec by VLSI Solutions. |
| This chip provides encoding and decoding of MP3, WMA, AAC and Ogg |
| Vorbis format audio. It also has a general DSP which is user |
| programmable to perform special audio (or any DSP) functions. |
| |
| if AUDIO_VS1053 |
| |
| config VS1053_DEVICE_COUNT |
| int "Number of VS1053 devices attached" |
| default 1 |
| ---help--- |
| Sets the number of VS1053 type devices available to the system. |
| This is required to reserve global, static lower-half driver |
| context pointers for the DREQ ISR to use for lookup when it needs |
| to signal that additional data is being requested. |
| |
| config VS1053_WORKER_STACKSIZE |
| int "VS1053 worker thread stack size" |
| default 768 |
| ---help--- |
| Stack size to use with the VS1053 worker thread. |
| |
| if AUDIO_DRIVER_SPECIFIC_BUFFERS |
| |
| config VS1053_NUM_BUFFERS |
| int "Number of Audio Pipeline Buffers to use" |
| default 2 |
| ---help--- |
| Sets the number of the Audio Pipeline Buffers used to deliver audio |
| data to the VS1053 driver. The minimum you should set this is |
| 2 buffers, which should be adequate for most media types. |
| |
| config VS1053_BUFFER_SIZE |
| int "Size of Audio Pipeline Buffers to use" |
| default 8192 |
| ---help--- |
| Sets the size of the Audio Pipeline Buffers used to deliver audio |
| data to the VS1053 driver. The minimum you should set this is |
| 2048 bytes. The larger the buffer, the better CPU performance. |
| |
| endif # AUDIO_DRIVER_SPECIFIC_BUFFERS |
| endif # AUDIO_VS1053 |
| |
| config AUDIO_CS43L22 |
| bool "CS43L22 audio chip" |
| default n |
| depends on AUDIO |
| ---help--- |
| Select to enable support for the CS43L22 Audio codec by Cirrus Logic. |
| This chip is a lower level audio chip.. basically |
| an exotic D-to-A. It includes no built-in support for audio CODECS |
| The CS43L22 provides: |
| |
| - Low power consumption |
| - High SNR |
| - Stereo digital microphone input |
| - Digital Dynamic Range Controller (compressor / limiter) |
| - Digital sidetone mixing |
| - Ground-referenced headphone driver |
| - Ground-referenced line outputs |
| |
| NOTE: This driver also depends on both I2C and I2S support although |
| that dependency is not explicit here. |
| |
| if AUDIO_CS43L22 |
| |
| config CS43L22_INITVOLUME |
| int "CS43L22 initial volume setting" |
| default 250 |
| |
| config CS43L22_INFLIGHT |
| int "CS43L22 maximum in-flight audio buffers" |
| default 2 |
| |
| config CS43L22_MSG_PRIO |
| int "CS43L22 message priority" |
| default 1 |
| |
| config CS43L22_BUFFER_SIZE |
| int "CS43L22 preferred buffer size" |
| default 8192 |
| |
| config CS43L22_NUM_BUFFERS |
| int "CS43L22 preferred number of buffers" |
| default 4 |
| |
| config CS43L22_WORKER_STACKSIZE |
| int "CS43L22 worker thread stack size" |
| default 768 |
| |
| config CS43L22_REGDUMP |
| bool "CS43L22 register dump" |
| default n |
| ---help--- |
| Enable logic to dump the contents of all CS43L22 registers. |
| |
| config CS43L22_CLKDEBUG |
| bool "CS43L22 clock analysis" |
| default n |
| ---help--- |
| Enable logic to analyze CS43L22 clock configuration. |
| |
| endif # AUDIO_CS43L22 |
| |
| config AUDIO_CS4344 |
| bool "CS4344 audio chip" |
| default n |
| depends on AUDIO |
| ---help--- |
| Select to enable support for the CS4344 Audio codec by Cirrus Logic. |
| This chip is a lower level audio chip.. basically |
| an exotic D-to-A. It includes no built-in support for audio CODECS. |
| |
| if AUDIO_CS4344 |
| |
| config CS4344_INFLIGHT |
| int "CS4344 maximum in-flight audio buffers" |
| default 2 |
| |
| config CS4344_MSG_PRIO |
| int "CS4344 message priority" |
| default 1 |
| |
| config CS4344_BUFFER_SIZE |
| int "CS4344 preferred buffer size" |
| default 8192 |
| |
| config CS4344_NUM_BUFFERS |
| int "CS4344 preferred number of buffers" |
| default 4 |
| |
| config CS4344_WORKER_STACKSIZE |
| int "CS4344 worker thread stack size" |
| default 768 |
| |
| endif # AUDIO_CS4344 |
| |
| config AUDIO_ES8311 |
| bool "ES8311 codec chip" |
| default n |
| depends on AUDIO |
| ---help--- |
| Select to enable support for the ES8311 Audio codec by Everest |
| Semiconductor. |
| |
| NOTE: This driver also depends on both I2C and I2S support although |
| that dependency is not explicit here. |
| |
| if AUDIO_ES8311 |
| |
| config ES8311_INPUT_INITVOLUME |
| int "ES8311 initial input volume setting" |
| default 1000 |
| |
| config ES8311_OUTPUT_INITVOLUME |
| int "ES8311 initial output volume setting" |
| default 400 |
| |
| choice |
| prompt "MCLK source" |
| default ES8311_SRC_MCLK |
| ---help--- |
| Select the source of the MCLK signal. |
| |
| config ES8311_SRC_MCLK |
| bool "From MCLK Pin" |
| |
| config ES8311_SRC_BCLK |
| bool "From BCLK Pin" |
| |
| endchoice |
| |
| config ES8311_INFLIGHT |
| int "ES8311 maximum in-flight audio buffers" |
| default 2 |
| |
| config ES8311_MSG_PRIO |
| int "ES8311 message priority" |
| default 1 |
| |
| config ES8311_BUFFER_SIZE |
| int "ES8311 preferred buffer size" |
| default 8192 |
| |
| config ES8311_NUM_BUFFERS |
| int "ES8311 preferred number of buffers" |
| default 4 |
| |
| config ES8311_WORKER_STACKSIZE |
| int "ES8311 worker thread stack size" |
| default 2048 |
| |
| endif # AUDIO_ES8388 |
| |
| config AUDIO_ES8388 |
| bool "ES8388 codec chip" |
| default n |
| depends on AUDIO |
| select AUDIO_DRIVER_SPECIFIC_BUFFERS |
| ---help--- |
| Select to enable support for the ES8388 Audio codec by Everest |
| Semiconductor. |
| |
| NOTE: This driver also depends on both I2C and I2S support although |
| that dependency is not explicit here. |
| |
| if AUDIO_ES8388 |
| |
| config ES8388_INPUT_INITVOLUME |
| int "ES8388 initial input volume setting" |
| default 1000 |
| |
| config ES8388_OUTPUT_CHANNEL |
| int |
| default 0 if ES8388_OUTPUT_CHANNEL_LINE1 |
| default 1 if ES8388_OUTPUT_CHANNEL_LINE2 |
| default 2 if ES8388_OUTPUT_CHANNEL_ALL |
| |
| choice |
| prompt "ES8388 output channel" |
| default ES8388_OUTPUT_CHANNEL_ALL |
| ---help--- |
| Select the codec channel that will output audio. |
| The actual device that will reproduce the audio signal depends |
| on the board implementation. |
| |
| config ES8388_OUTPUT_CHANNEL_LINE1 |
| bool "Line 1" |
| |
| config ES8388_OUTPUT_CHANNEL_LINE2 |
| bool "Line 2" |
| |
| config ES8388_OUTPUT_CHANNEL_ALL |
| bool "Both" |
| |
| endchoice |
| |
| config ES8388_OUTPUT_INITVOLUME |
| int "ES8388 initial output volume setting" |
| default 400 |
| |
| config ES8388_INPUT_CHANNEL |
| int |
| default 0 if ES8388_INPUT_CHANNEL_LINE1 |
| default 1 if ES8388_INPUT_CHANNEL_LINE2 |
| default 3 if ES8388_INPUT_CHANNEL_DIFFERENTIAL |
| |
| choice |
| prompt "ES8388 input channel" |
| default ES8388_INPUT_CHANNEL_LINE1 |
| ---help--- |
| Select the codec channel that will input audio. |
| The actual device that will reproduce the audio signal depends |
| on the board implementation. |
| The "Differential" option will take the difference between the Line 1 |
| left and right channels. |
| |
| config ES8388_INPUT_CHANNEL_LINE1 |
| bool "Line 1" |
| |
| config ES8388_INPUT_CHANNEL_LINE2 |
| bool "Line 2" |
| |
| config ES8388_INPUT_CHANNEL_DIFFERENTIAL |
| bool "Differential" |
| |
| endchoice |
| |
| config ES8388_INFLIGHT |
| int "ES8388 maximum in-flight audio buffers" |
| default 2 |
| |
| config ES8388_MSG_PRIO |
| int "ES8388 message priority" |
| default 1 |
| |
| config ES8388_BUFFER_SIZE |
| int "ES8388 preferred buffer size" |
| default 8192 |
| |
| config ES8388_NUM_BUFFERS |
| int "ES8388 preferred number of buffers" |
| default 4 |
| |
| config ES8388_WORKER_STACKSIZE |
| int "ES8388 worker thread stack size" |
| default 2048 |
| |
| config ES8388_REGDUMP |
| bool "ES8388 register dump" |
| default n |
| depends on DEBUG_FEATURES |
| ---help--- |
| Enable logic to dump the contents of all ES8388 registers. |
| |
| endif # AUDIO_ES8388 |
| |
| config AUDIO_WM8776 |
| bool "WM8776 audio chip" |
| default n |
| depends on AUDIO |
| ---help--- |
| Select to enable support for the WM8776 Audio codec by Wolfson |
| Microelectonics. |
| |
| if AUDIO_WM8776 |
| |
| config WM8776_INFLIGHT |
| int "WM8776 maximum in-flight audio buffers" |
| default 2 |
| |
| config WM8776_MSG_PRIO |
| int "WM8776 message priority" |
| default 1 |
| |
| config WM8776_WORKER_STACKSIZE |
| int "WM8776 worker thread stack size" |
| default 768 |
| |
| config WM8776_SWAP_HPOUT |
| bool "Swap WM8776 HP out signals" |
| default n |
| |
| endif # AUDIO_WM8776 |
| |
| config AUDIO_WM8994 |
| bool "WM8994 audio chip" |
| default n |
| depends on AUDIO |
| ---help--- |
| Select to enable support for the WM8994 Audio codec by Wolfson |
| Microelectonics. This chip is a lower level audio chip.. basically |
| an exotic D-to-A. It includes no built-in support for audio CODECS |
| The WM8994 provides: |
| |
| - Low power consumption |
| - High SNR |
| - Stereo digital microphone input |
| - Digital Dynamic Range Controller (compressor / limiter) |
| - Digital sidetone mixing |
| - Ground-referenced headphone driver |
| - Ground-referenced line outputs |
| |
| NOTE: This driver also depends on both I2C and I2S support although |
| that dependency is not explicit here. |
| |
| if AUDIO_WM8994 |
| |
| config WM8994_INITVOLUME |
| int "WM8994 initial volume setting" |
| default 250 |
| |
| config WM8994_INFLIGHT |
| int "WM8994 maximum in-flight audio buffers" |
| default 2 |
| |
| config WM8994_MSG_PRIO |
| int "WM8994 message priority" |
| default 1 |
| |
| config WM8994_BUFFER_SIZE |
| int "WM8994 preferred buffer size" |
| default 8192 |
| |
| config WM8994_NUM_BUFFERS |
| int "WM8994 preferred number of buffers" |
| default 4 |
| |
| config WM8994_WORKER_STACKSIZE |
| int "WM8994 worker thread stack size" |
| default 768 |
| |
| config WM8994_REGDUMP |
| bool "WM8994 register dump" |
| default n |
| ---help--- |
| Enable logic to dump the contents of all WM8994 registers. |
| |
| config WM8994_CLKDEBUG |
| bool "WM8994 clock analysis" |
| default n |
| ---help--- |
| Enable logic to analyze WM8994 clock configuration. |
| |
| endif # AUDIO_WM8994 |
| |
| config AUDIO_WM8904 |
| bool "WM8904 audio chip" |
| default n |
| depends on AUDIO |
| ---help--- |
| Select to enable support for the WM8904 Audio codec by Wolfson |
| Microelectonics. This chip is a lower level audio chip.. basically |
| an exotic D-to-A. It includes no built-in support for audio CODECS |
| The WM8904 provides: |
| |
| - Low power consumption |
| - High SNR |
| - Stereo digital microphone input |
| - Digital Dynamic Range Controller (compressor / limiter) |
| - Digital sidetone mixing |
| - Ground-referenced headphone driver |
| - Ground-referenced line outputs |
| |
| NOTE: This driver also depends on both I2C and I2S support although |
| that dependency is not explicit here. |
| |
| if AUDIO_WM8904 |
| |
| config WM8904_INITVOLUME |
| int "WM8904 initial volume setting" |
| default 250 |
| |
| config WM8904_INFLIGHT |
| int "WM8904 maximum in-flight audio buffers" |
| default 2 |
| |
| config WM8904_MSG_PRIO |
| int "WM8904 message priority" |
| default 1 |
| |
| config WM8904_BUFFER_SIZE |
| int "WM8904 preferred buffer size" |
| default 8192 |
| |
| config WM8904_NUM_BUFFERS |
| int "WM8904 preferred number of buffers" |
| default 4 |
| |
| config WM8904_WORKER_STACKSIZE |
| int "WM8904 worker thread stack size" |
| default 768 |
| |
| config WM8904_REGDUMP |
| bool "WM8904 register dump" |
| default n |
| ---help--- |
| Enable logic to dump the contents of all WM8904 registers. |
| |
| config WM8904_CLKDEBUG |
| bool "WM8904 clock analysis" |
| default n |
| ---help--- |
| Enable logic to analyze WM8904 clock configuration. |
| |
| endif # AUDIO_WM8904 |
| |
| config AUDIO_NULL |
| bool "NULL audio device" |
| default n |
| depends on AUDIO |
| ---help--- |
| A do-nothing audio device driver to simplify testing of audio |
| decoders. |
| |
| if AUDIO_NULL |
| |
| config AUDIO_NULL_MSG_PRIO |
| int "Null audio device message priority" |
| default 1 |
| |
| config AUDIO_NULL_BUFFER_SIZE |
| int "Null audio device preferred buffer size" |
| default 8192 |
| |
| config AUDIO_NULL_NUM_BUFFERS |
| int "Null audio device preferred number of buffers" |
| default 4 |
| |
| config AUDIO_NULL_WORKER_STACKSIZE |
| int "Null audio device worker thread stack size" |
| default 768 |
| |
| endif # AUDIO_NULL |
| |
| config AUDIO_I2S |
| bool "Audio I2S" |
| depends on AUDIO |
| depends on I2S |
| |
| config AUDIO_DMA |
| bool "Audio DMA" |
| select AUDIO_DRIVER_SPECIFIC_BUFFERS |
| depends on AUDIO |
| depends on DMA |
| |
| endif # DRIVERS_AUDIO |