menu "Board Configuration" choice BOARD_TARGET prompt "Select Target Board" default BOARD_ESP32_GENERIC if IDF_TARGET_ESP32 default BOARD_ESP32S2_GENERIC if IDF_TARGET_ESP32S2 default BOARD_ESP32S3_GENERIC if IDF_TARGET_ESP32S3 default BOARD_WAVESHARE_ESP32P4 if IDF_TARGET_ESP32P4 config BOARD_SQUEEZEAMP bool "SqueezeAMP (8MB flash)" depends on IDF_TARGET_ESP32 config BOARD_SQUEEZEAMP_4M bool "SqueezeAMP (4MB flash)" depends on IDF_TARGET_ESP32 config BOARD_ESP32S2_GENERIC bool "ESP32-S2 Generic" depends on IDF_TARGET_ESP32S2 config BOARD_ESP32S3_GENERIC bool "ESP32-S3 Generic" depends on IDF_TARGET_ESP32S3 config BOARD_ESP32_GENERIC bool "ESP32 Board with >4M PSRAM" depends on IDF_TARGET_ESP32 config BOARD_ESPARAGUS_AUDIO_BRICK bool "Esparagus Audio Brick (ESP32, TAS58xx)" depends on IDF_TARGET_ESP32 config BOARD_ESPARAGUS_AUDIO_BRICK_S3 bool "Esparagus Audio Brick (ESP32-S3, TAS58xx)" depends on IDF_TARGET_ESP32S3 config BOARD_WAVESHARE_ESP32P4 bool "Waveshare ESP32-P4 Module Dev Kit" depends on IDF_TARGET_ESP32P4 config BOARD_WAVESHARE_ESP32S3_TOUCH_LCD_154 bool "Waveshare ESP32-S3-Touch-LCD-1.54" depends on IDF_TARGET_ESP32S3 config BOARD_ESPARAGUS_LOUDER bool "Louder Esparagus / Louder-ESP32 (ESP32, TAS58xx)" depends on IDF_TARGET_ESP32 config BOARD_ESPARAGUS_LOUDER_S3 bool "Louder Esparagus S3 / Louder-ESP32-S3 (ESP32-S3, TAS58xx)" depends on IDF_TARGET_ESP32S3 config BOARD_MUSIC_BOX bool "Music Box (ESP32, NJW1195AV)" depends on IDF_TARGET_ESP32 endchoice config BOARD_TARGET_PATH string default "squeezeamp" if BOARD_SQUEEZEAMP default "squeezeamp" if BOARD_SQUEEZEAMP_4M default "esp32s2-generic" if BOARD_ESP32S2_GENERIC default "esp32s3-generic" if BOARD_ESP32S3_GENERIC default "esp32-generic" if BOARD_ESP32_GENERIC default "esparagus-audio-brick" if BOARD_ESPARAGUS_AUDIO_BRICK default "esparagus-audio-brick" if BOARD_ESPARAGUS_AUDIO_BRICK_S3 default "waveshare-esp32p4" if BOARD_WAVESHARE_ESP32P4 default "waveshare-esp32s3" if BOARD_WAVESHARE_ESP32S3_TOUCH_LCD_154 default "esparagus-audio-brick" if BOARD_ESPARAGUS_LOUDER default "esparagus-audio-brick" if BOARD_ESPARAGUS_LOUDER_S3 default "music-box" if BOARD_MUSIC_BOX config BOARD_SQUEEZEAMP_COMMON bool default y if BOARD_SQUEEZEAMP || BOARD_SQUEEZEAMP_4M menu "Pin Configuration" menu "LED GPIOs" config LED_STATUS_GPIO int "Status LED GPIO" default -1 help GPIO for status LED (single color). Set to -1 to disable. config LED_ERROR_GPIO int "Error LED GPIO" default -1 help GPIO for error LED. Set to -1 to disable. config LED_RGB_GPIO int "RGB LED GPIO (WS2812)" default -1 help GPIO for addressable RGB LED (WS2812). Set to -1 to disable. endmenu menu "I2S and S/PDIF Pin Configuration" config I2S_SCK_IO int "I2S Master Clock GPIO" default -1 help I2S Master (system) Clock GPIO pin to use; needed with some I2S conversion boards. config I2S_BCK_IO int "I2S Bit Clock GPIO" default -1 help I2S Bit Clock GPIO pin to use. config I2S_WS_IO int "I2S Word Select GPIO" default -1 help I2S Word Select GPIO pin to use. config I2S_DO_IO int "I2S Data Output GPIO" default -1 help I2S Data Output GPIO pin to use. config SPDIF_DO_IO int "SPDIF Data Output GPIO" default -1 help GPIO for SPDIF data output. Set to -1 to disable S/PDIF. config I2S_GND_IO int "I2S GND GPIO" default -1 help GPIO to provide GND to I2S DAC if powered from GPIO. 20mA maximum! Set to -1 to disable. config I2S_VCC_IO int "I2S VCC GPIO" default -1 help GPIO to provide VCC to I2S DAC if powered from GPIO. 20mA maximum! Set to -1 to disable. endmenu menu "Control GPIOs" config BAT_CHANNEL int "Battery Monitor GPIO" default -1 help GPIO for battery voltage monitoring ADC channel. Set to -1 to disable. config DAC_I2C_SDA int "I2C SDA GPIO for DAC" default -1 help I2C data GPIO pin for DAC control. Set to -1 if not used. config DAC_I2C_SCL int "I2C SCL GPIO for DAC" default -1 help I2C clock GPIO pin for DAC control. Set to -1 if not used. config JACK_GPIO int "Headphone Jack Detection GPIO" default -1 help GPIO for headphone jack detection. Set to -1 to disable. config SPKFAULT_GPIO int "DAC/AMP Fault Detection GPIO" default -1 help GPIO for speaker/amplifier fault detection. Set to -1 to disable. config MUTE_GPIO int "Mute GPIO" default -1 help GPIO used to mute DAC/amplifier. Set to -1 to disable. config MUTE_GPIO_LEVEL int "Mute GPIO Active Level" default 0 help Active level for mute GPIO (0=active low, 1=active high). endmenu menu "SPI Display Configuration" config SPI_SCLK_IO int "SPI Clock GPIO (display)" default 38 depends on BOARD_WAVESHARE_ESP32S3_TOUCH_LCD_154 help SPI clock GPIO for display. config SPI_MOSI_IO int "SPI MOSI GPIO (display)" default 39 depends on BOARD_WAVESHARE_ESP32S3_TOUCH_LCD_154 help SPI MOSI GPIO for display. config SPI_MISO_IO int "SPI MISO GPIO (display)" default -1 depends on BOARD_WAVESHARE_ESP32S3_TOUCH_LCD_154 help SPI MISO GPIO for display. Set to -1 if not used. config SPI_CS_IO int "SPI Chip Select GPIO (display)" default 21 depends on BOARD_WAVESHARE_ESP32S3_TOUCH_LCD_154 help SPI chip select GPIO for display. config SPI_DC_IO int "SPI Data Command GPIO (display)" default 45 depends on BOARD_WAVESHARE_ESP32S3_TOUCH_LCD_154 help SPI Data/Command GPIO for display. config SPI_RST_IO int "SPI Reset GPIO (display)" default 40 depends on BOARD_WAVESHARE_ESP32S3_TOUCH_LCD_154 help SPI reset GPIO for display. config SPI_BL_IO int "SPI Backlight GPIO (display)" default 46 depends on BOARD_WAVESHARE_ESP32S3_TOUCH_LCD_154 help GPIO for display backlight PWM dimming. config I2C_TOUCH_SDA_IO int "I2C SDA GPIO (touch controller)" default 42 depends on BOARD_WAVESHARE_ESP32S3_TOUCH_LCD_154 help I2C SDA GPIO for touch controller (CST816S). config I2C_TOUCH_SCL_IO int "I2C SCL GPIO (touch controller)" default 41 depends on BOARD_WAVESHARE_ESP32S3_TOUCH_LCD_154 help I2C SCL GPIO for touch controller (CST816S). config I2C_TOUCH_RST_IO int "I2C Touch Reset GPIO" default 47 depends on BOARD_WAVESHARE_ESP32S3_TOUCH_LCD_154 help GPIO for touch controller reset line. config I2C_TOUCH_INT_IO int "I2C Touch Interrupt GPIO" default 48 depends on BOARD_WAVESHARE_ESP32S3_TOUCH_LCD_154 help GPIO for touch controller interrupt line. config LED_BL_PWM_TIMER int "LED Backlight PWM Timer" default 0 depends on BOARD_WAVESHARE_ESP32S3_TOUCH_LCD_154 help LEDC timer number for display backlight PWM. config LED_BL_PWM_CHANNEL int "LED Backlight PWM Channel" default 0 depends on BOARD_WAVESHARE_ESP32S3_TOUCH_LCD_154 help LEDC channel number for display backlight PWM. endmenu menu "SPI and Ethernet Configuration" config ETH_W5500_ENABLED bool "Enable W5500 SPI Ethernet" default n help Enable W5500 SPI Ethernet support. Requires SPI bus pins and W5500 chip-select, interrupt and reset GPIOs. config SPI_CLK_GPIO int "SPI Clock GPIO" default 18 depends on ETH_W5500_ENABLED help SPI bus clock GPIO (shared with display). config SPI_MOSI_GPIO int "SPI MOSI GPIO" default 23 depends on ETH_W5500_ENABLED help SPI bus MOSI GPIO (shared with display). config SPI_MISO_GPIO int "SPI MISO GPIO" default 19 depends on ETH_W5500_ENABLED help SPI bus MISO GPIO (shared with display). config ETH_W5500_CS_GPIO int "W5500 Chip Select GPIO" default 5 depends on ETH_W5500_ENABLED help GPIO for W5500 SPI chip select. config ETH_W5500_INT_GPIO int "W5500 Interrupt GPIO" default 35 depends on ETH_W5500_ENABLED help GPIO for W5500 interrupt. Set to -1 to use polling. config ETH_W5500_RST_GPIO int "W5500 Reset GPIO" default 14 depends on ETH_W5500_ENABLED help GPIO for W5500 hardware reset. Set to -1 to disable. endmenu endmenu endmenu