2013-05-19 23:12:28 +02:00
|
|
|
#
|
|
|
|
# For a description of the syntax of this configuration file,
|
2015-06-28 16:08:57 +02:00
|
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
2013-05-19 23:12:28 +02:00
|
|
|
#
|
|
|
|
|
2020-02-15 14:38:35 +01:00
|
|
|
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.
|
|
|
|
|
2020-02-08 08:30:09 +01:00
|
|
|
if DRIVERS_AUDIO
|
|
|
|
|
2016-08-16 21:20:05 +02:00
|
|
|
config AUDIO_TONE
|
2017-02-20 21:29:56 +01:00
|
|
|
bool "Audio Tone Generator using PWM"
|
|
|
|
default n
|
2017-09-12 22:10:15 +02:00
|
|
|
depends on PWM && DRIVERS_AUDIO
|
2017-02-20 21:29:56 +01:00
|
|
|
---help---
|
|
|
|
This driver enables the Audio Tone Generator for NuttX.
|
2016-08-16 21:20:05 +02:00
|
|
|
|
|
|
|
if AUDIO_TONE
|
|
|
|
|
|
|
|
endif # AUDIO_TONE
|
2013-11-12 17:18:49 +01:00
|
|
|
|
2020-04-07 07:50:38 +02:00
|
|
|
config AUDIO_CXD56
|
|
|
|
bool "CXD56 audio driver"
|
|
|
|
default n
|
|
|
|
depends on AUDIO
|
|
|
|
select AUDIO_DRIVER_SPECIFIC_BUFFERS
|
|
|
|
---help---
|
|
|
|
Enable support for audio playback using the CXD5247 chip on the
|
|
|
|
CXD56 Spresense board.
|
|
|
|
|
|
|
|
if AUDIO_CXD56
|
|
|
|
|
|
|
|
if AUDIO_DRIVER_SPECIFIC_BUFFERS
|
|
|
|
|
2020-10-19 16:53:09 +02:00
|
|
|
config AUDIO_CXD56_SRC
|
2021-02-25 14:34:37 +01:00
|
|
|
bool "CXD56 audio sample rate converter"
|
2020-10-19 16:53:09 +02:00
|
|
|
select AUDIO_SRC
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
Enable support for audio playback using the CXD5247 chip on the
|
2021-02-25 14:34:37 +01:00
|
|
|
CXD56 Spresense board with sample rate converter.
|
2020-10-19 16:53:09 +02:00
|
|
|
|
2020-04-07 07:50:38 +02:00
|
|
|
config CXD56_AUDIO_NUM_BUFFERS
|
|
|
|
int "Number of audio buffers to use"
|
|
|
|
default 4
|
|
|
|
|
|
|
|
config CXD56_AUDIO_BUFFER_SIZE
|
|
|
|
int "Size of each audio buffer"
|
|
|
|
default 4096
|
|
|
|
|
|
|
|
endif # AUDIO_DRIVER_SPECIFIC_BUFFERS
|
|
|
|
|
|
|
|
config CXD56_AUDIO_WORKER_STACKSIZE
|
|
|
|
int "Worker thread stack size"
|
|
|
|
default 768
|
|
|
|
|
|
|
|
endif # AUDIO_CXD56
|
|
|
|
|
2017-08-24 19:12:10 +02:00
|
|
|
config AUDIO_VS1053
|
2013-05-19 23:12:28 +02:00
|
|
|
bool "VS1053 codec chip"
|
|
|
|
default n
|
2014-07-19 18:20:19 +02:00
|
|
|
depends on AUDIO
|
2013-05-19 23:12:28 +02:00
|
|
|
---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.
|
|
|
|
|
2017-08-24 19:12:10 +02:00
|
|
|
if AUDIO_VS1053
|
2013-10-27 15:00:16 +01:00
|
|
|
|
|
|
|
config VS1053_DEVICE_COUNT
|
|
|
|
int "Number of VS1053 devices attached"
|
|
|
|
default 1
|
|
|
|
---help---
|
2018-07-09 02:24:45 +02:00
|
|
|
Sets the number of VS1053 type devices available to the system.
|
2013-10-27 15:00:16 +01:00
|
|
|
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.
|
|
|
|
|
2013-11-10 18:03:19 +01:00
|
|
|
config VS1053_WORKER_STACKSIZE
|
|
|
|
int "VS1053 worker thread stack size"
|
|
|
|
default 768
|
|
|
|
---help---
|
|
|
|
Stack size to use with the VS1053 worker thread.
|
|
|
|
|
2013-10-27 15:00:16 +01:00
|
|
|
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.
|
|
|
|
|
2013-11-10 17:24:09 +01:00
|
|
|
endif # AUDIO_DRIVER_SPECIFIC_BUFFERS
|
2017-08-24 19:12:10 +02:00
|
|
|
endif # AUDIO_VS1053
|
2014-07-18 23:35:12 +02:00
|
|
|
|
2017-05-21 22:14:09 +02:00
|
|
|
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---
|
2020-02-23 09:50:23 +01:00
|
|
|
Enable logic to analyze CS43L22 clock configuration.
|
2017-05-21 22:14:09 +02:00
|
|
|
|
|
|
|
endif # AUDIO_CS43L22
|
|
|
|
|
2020-06-03 16:45:26 +02:00
|
|
|
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
|
|
|
|
|
2022-11-07 18:07:16 +01:00
|
|
|
config AUDIO_ES8388
|
|
|
|
bool "ES8388 codec chip"
|
|
|
|
default n
|
|
|
|
depends on AUDIO
|
|
|
|
---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_INITVOLUME
|
|
|
|
int "ES8388 initial output volume setting"
|
|
|
|
default 400
|
|
|
|
|
|
|
|
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
|
|
|
|
|
2017-11-08 13:25:13 +01:00
|
|
|
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
|
|
|
|
|
2020-11-28 10:02:11 +01:00
|
|
|
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---
|
2021-02-25 14:34:37 +01:00
|
|
|
Enable logic to analyze WM8994 clock configuration.
|
2020-11-28 10:02:11 +01:00
|
|
|
|
|
|
|
endif # AUDIO_WM8994
|
|
|
|
|
2014-07-18 23:35:12 +02:00
|
|
|
config AUDIO_WM8904
|
|
|
|
bool "WM8904 audio chip"
|
|
|
|
default n
|
2014-07-20 18:27:25 +02:00
|
|
|
depends on AUDIO
|
2014-07-18 23:35:12 +02:00
|
|
|
---help---
|
|
|
|
Select to enable support for the WM8904 Audio codec by Wolfson
|
|
|
|
Microelectonics. This chip is a lower level audio chip.. basically
|
2014-07-19 18:20:19 +02:00
|
|
|
an exotic D-to-A. It includes no built-in support for audio CODECS
|
2014-07-18 23:35:12 +02:00
|
|
|
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
|
|
|
|
|
2014-07-19 18:20:19 +02:00
|
|
|
NOTE: This driver also depends on both I2C and I2S support although
|
|
|
|
that dependency is not explicit here.
|
|
|
|
|
2014-07-18 23:35:12 +02:00
|
|
|
if AUDIO_WM8904
|
2014-07-23 18:12:32 +02:00
|
|
|
|
|
|
|
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
|
|
|
|
|
2014-08-02 14:52:42 +02:00
|
|
|
config WM8904_REGDUMP
|
|
|
|
bool "WM8904 register dump"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
Enable logic to dump the contents of all WM8904 registers.
|
|
|
|
|
2014-08-04 01:11:38 +02:00
|
|
|
config WM8904_CLKDEBUG
|
|
|
|
bool "WM8904 clock analysis"
|
|
|
|
default n
|
|
|
|
---help---
|
2020-02-23 09:50:23 +01:00
|
|
|
Enable logic to analyze WM8904 clock configuration.
|
2014-08-04 01:11:38 +02:00
|
|
|
|
2014-07-18 23:35:12 +02:00
|
|
|
endif # AUDIO_WM8904
|
|
|
|
|
2014-07-23 18:12:32 +02:00
|
|
|
config AUDIO_NULL
|
|
|
|
bool "NULL audio device"
|
|
|
|
default n
|
|
|
|
depends on AUDIO
|
|
|
|
---help---
|
2018-04-03 17:00:18 +02:00
|
|
|
A do-nothing audio device driver to simplify testing of audio
|
2014-07-23 18:12:32 +02:00
|
|
|
decoders.
|
|
|
|
|
|
|
|
if AUDIO_NULL
|
|
|
|
|
|
|
|
config AUDIO_NULL_MSG_PRIO
|
|
|
|
int "Null audio device message priority"
|
|
|
|
default 1
|
|
|
|
|
2014-07-23 22:48:21 +02:00
|
|
|
config AUDIO_NULL_BUFFER_SIZE
|
2014-07-23 18:12:32 +02:00
|
|
|
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
|
2018-08-27 16:52:08 +02:00
|
|
|
|
|
|
|
config AUDIO_I2S
|
2019-10-06 05:39:12 +02:00
|
|
|
bool "Audio I2S"
|
|
|
|
depends on AUDIO
|
|
|
|
depends on I2S
|
2020-02-08 08:30:09 +01:00
|
|
|
|
|
|
|
endif # DRIVERS_AUDIO
|