Files
snapclient/components/audio_board/Kconfig.projbuild
CarlosDerSeher a619587c03 Improv wifi (#85)
* - add wifi credential reset
  o press reset button (nRESET pin) 3 times
    but wait about 1s between button presses
    the button press counter is reset 5s after boot
* add wifi provisioning service through improv wifi (fix #75)

Signed-off-by: Karl Osterseher <karli_o@gmx.at>
2024-06-12 16:12:21 +02:00

331 lines
10 KiB
Plaintext

menu "Audio Board"
config I2S_USE_MSB_FORMAT
bool
default n
help
Specifies if the I2S should use MSB format instead. Some DACs (such as PT8211) need this enabled to ensure
compatibility with their LSBJ timing under their native bit-depth. This option is only adjusted by the DAC
choice and is not exposed to menuconfig.
See https://github.com/schreibfaul1/ESP32-audioI2S/blob/1d9b299d0197f99fc70335295adcd226dc220f88/src/Audio.cpp#L4929
choice AUDIO_BOARD
prompt "Audio board"
default ESP_LYRAT_V4_3_BOARD
help
Select an audio board to use with the ESP-ADF
config AUDIO_BOARD_CUSTOM
bool "Custom audio board"
config ESP_LYRAT_V4_3_BOARD
bool "ESP32-Lyrat V4.3"
config ESP_LYRAT_V4_2_BOARD
bool "ESP32-Lyrat V4.2"
config ESP_LYRATD_MSC_V2_1_BOARD
bool "ESP32-LyraTD-MSC V2.1"
config ESP_LYRATD_MSC_V2_2_BOARD
bool "ESP32-LyraTD-MSC V2.2"
config ESP_LYRAT_MINI_V1_1_BOARD
bool "ESP32-Lyrat-Mini V1.1"
config ESP32_KORVO_DU1906_BOARD
bool "ESP32_KORVO_DU1906"
config ESP32_S2_KALUGA_1_V1_2_BOARD
bool "ESP32-S2-Kaluga-1 v1.2"
config ESP_AI_THINKER_ES8388_BOARD
bool "ESP-AI-Thinker-ES8388 v2.2"
#config ESP32_S3_KORVO2_V3_BOARD
# bool "ESP32-S3-Korvo-2 v3"
#config ESP32_S3_KORVO2L_V1_BOARD
# bool "ESP32-S3-Korvo-2L v1"
#config ESP32_S3_BOX_LITE_BOARD
# bool "ESP32-S3-BOX-Lite"
#config ESP32_S3_BOX_BOARD
# bool "ESP32-S3-BOX"
#config ESP32_C3_LYRA_V2_BOARD
# bool "ESP32-C3-Lyra-v2.0"
#config ESP32_C6_DEVKIT_BOARD
# bool "ESP32-C6-DEVKIT"
endchoice
choice ESP32_KORVO_DU1906_DAC
prompt "ESP32 KORVO DU1906 Board DAC chip"
depends on ESP32_KORVO_DU1906_BOARD
default ESP32_KORVO_DU1906_DAC_TAS5805M
help
Select DAC chip to use on ESP32_KORVO_DU1906 board
config ESP32_KORVO_DU1906_DAC_TAS5805M
bool "ESP32_KORVO_DU1906_DAC_TAS5805M"
config ESP32_KORVO_DU1906_DAC_ES7148
bool "ESP32_KORVO_DU1906_DAC_ES7148"
endchoice
choice ESP32_KORVO_DU1906_ADC
prompt "ESP32 KORVO DU1906 Board ADC chip"
depends on ESP32_KORVO_DU1906_BOARD
default ESP32_KORVO_DU1906_ADC_ES7243
help
Select ADC chip to use on ESP32_KORVO_DU1906 board
config ESP32_KORVO_DU1906_ADC_ES7243
bool "ESP32_KORVO_DU1906_ADC_ES7243"
endchoice
menu "Custom Audio Board"
depends on AUDIO_BOARD_CUSTOM
choice GENERIC_BOARD_DAC
prompt "DAC chip"
default DAC_MA120
help
Select a DAC connected to the generic ESP32 board
config DAC_PCM51XX
bool "TI PCM51XX/TAS57XX based DAC"
config DAC_PCM5102A
bool "TI PCM5102A based DAC"
config DAC_MA120
bool "Infineon MA120 ClassD AMP"
config DAC_MA120X0
bool "Infineon MA120X0 ClassD AMP"
config DAC_ADAU1961
bool "Analog Devices ADAU1961 DAC"
config DAC_MAX98357
bool "Analog Devices MAX98357 DAC"
config DAC_TAS5805M
bool "Texas Instruments TAS5805M"
config DAC_PT8211
bool "Princeton Technology PT8211"
select I2S_USE_MSB_FORMAT
endchoice
menu "DAC I2C control interface"
config DAC_I2C_SDA
int "SDA pin"
default 12 if DAC_ADAU1961
default 21 if DAC_MA120 || DAC_PCM51XX || DAC_MA120 || DAC_MA120X0 || DAC_MAX98357 || DAC_PCM5102A || DAC_TAS5805M
default -1 if DAC_PT8211
help
I2C SDA pin of the DAC control interface
config DAC_I2C_SCL
int "SCL pin"
default 14 if DAC_ADAU1961
default 22 if DAC_MA120 || DAC_PCM51XX || DAC_MA120 || DAC_MA120X0 || DAC_MAX98357 || DAC_PCM5102A
default 27 if DAC_TAS5805M
default -1 if DAC_PT8211
help
I2C SCL pin of the DAC control interface
config DAC_I2C_ADDR
hex "I2C address"
default 0x70 if DAC_ADAU1961
default 0x20 if DAC_MA120 || DAC_PCM51XX || DAC_MA120 || DAC_MA120X0 || DAC_MAX98357 || DAC_PCM5102A
default 0x2D if DAC_TAS5805M
default 0x00 if DAC_PT8211
help
I2C Address of the DAC control interface
endmenu
menu "I2S master interface"
config MASTER_I2S_MCLK_PIN
int "Master i2s mclk"
default 3 if DAC_ADAU1961
default 0
help
Master audio interface master clock.
config MASTER_I2S_BCK_PIN
int "Master i2s bck"
default 15 if DAC_ADAU1961
default 23 if DAC_MAX98357
default 26 if DAC_TAS5805M
default 23
help
Master audio interface bit clock.
config MASTER_I2S_LRCK_PIN
int "Master i2s lrck"
default 13 if DAC_ADAU1961
default 24 if DAC_MAX98357
default 25 if DAC_TAS5805M
default 2
help
Master audio interface left/right sync clock.
config MASTER_I2S_DATAOUT_PIN
int "Master i2s data out"
default 4 if DAC_ADAU1961
default 25 if DAC_MAX98357
default 22 if DAC_TAS5805M
default 14
help
Master audio interface data out.
endmenu
menu "DAC-Operation-Mode"
depends on DAC_TAS5805M
config DAC_BRIDGE_MODE
bool "Enable Bridge-Mode"
default false if DAC_TAS5805M
help
If enabled left channel will be played with more power. To use the right channel please change Word-Select-Setting in Logic-Level-Settings.
endmenu
menu "I2S slave interface"
config SLAVE_I2S_BCK_PIN
int "Slave i2s bck"
default 26
help
Slave audio interface bit clock.
config SLAVE_I2S_MCLK_PIN
int "Slave i2s mclk"
default 0
help
Slave audio interface bit clock.
config SLAVE_I2S_LRCK_PIN
int "Slave i2s lrck"
default 12
help
Slave audio interface left/right sync clock.
config SLAVE_I2S_DATAOUT_PIN
int "Slave i2s data out"
default 5
help
Slave audio interface data out.
endmenu
menu "Merus MA120x0 interface Configuration"
depends on DAC_MA120X0
config MA120X0_NENABLE_PIN
int "Master enable/disable for ma120x0"
default 16
help
GPIO number to control enable/disable.
config MA120X0_NMUTE_PIN
int "Master mute/unmute for ma120x0"
default 2
help
GPIO number to controm mute/unmute.
config MERUS_NERR_PIN
int "NERR monitor pin"
default 21
help
GPIO number to monitor NERROR.
config MERUS_NCLIP_PIN
int "Clip indication pin"
default 22
help
GPIO number low if clip observed
endmenu
menu "Merus MA120 interface Configuration"
depends on DAC_MA120
config MA120_ENABLE_PIN
int "Master enable/disable for ma120x0"
default 16
help
GPIO number to control enable/disable.
config MA120_NMUTE_PIN
int "Master mute/unmute for ma120x0"
default 2
help
GPIO number to controm mute/unmute.
config MERUS_NERR_PIN
int "NERR monitor pin"
default 21
help
GPIO number to monitor NERROR.
config MERUS_NCLIP_PIN
int "Clip indication pin"
default 22
help
GPIO number low if clip observed
endmenu
menu "TI PCM5102A interface Configuration"
depends on DAC_PCM5102A
config PCM5102A_MUTE_PIN
int "Master mute/unmute for PCM5102A"
default 18
help
GPIO number to control mute/unmute.
This is labeled "X(S)MT" on chip/boards
endmenu
menu "MAX98357 interface Configuration"
depends on DAC_MAX98357
config MAX98357_MUTE_PIN
int "Master mute/mode for MAX98357"
default 18
help
GPIO number to control mute/mode. This require a special resistor to select the correct mode.
You need to put a serie resistor to select the mode (GPIO --> Resistor --> SD):
LEFT only : 0ohm (direct connection)
RIGHT only : 220Kohm
(L+R)/2 : 1Mohm
Refer to Analog Devices' doc for more infos.
This is labeled "SD" on chip/boards.
endmenu
menu "PT8211 interface Configuration"
depends on DAC_PT8211
config PT8211_MUTE_PIN
int "Master mute/unmute"
default -1
help
GPIO number to control mute/unmute.
Note that PT8211 does not have a mute control pin. This output is intended to control external circuit (e.g., amplifier).
config PT8211_MUTE_ACTIVE_LOW
bool "Mute active LOW"
default false
help
Output LOW instead of HIGH on mute/unmute pin when in mute state.
endmenu
menu "Logic-Level-Settings"
config INVERT_MCLK_LEVEL
bool "Invert Logic Level MCLK"
default false
help
Invert the Logic-Level of MCLK.
config INVERT_WORD_SELECT_LEVEL
bool "Invert Logic Level WordSelect"
default false
help
Some Dacs can bridge their outputs. Word-Select is used for selecting the played audio channel. This will switch L/R.
config INVERT_BCLK_LEVEL
bool "Invert Logic Level BCLK"
default false
help
Invert the Logic-Level of BCLK.
endmenu
endmenu
endmenu