#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#

config ESP32S3_MERGE_BINS
	bool "Merge raw binary files into a single file"
	default n
	---help---
		Merge the raw binary files into a single file for flashing to the
		device.
		This is only useful when the path to binary files (e.g. bootloader)
		is provided via the ESPTOOL_BINDIR variable.

config ESP32S3_QEMU_IMAGE
	bool "ESP32S3 binary image for QEMU"
	default n
	select ESP32S3_MERGE_BINS
	---help---
		Create a binary flash image used for QEMU.

config ESP32S3_SPEED_UP_ISR
	bool "Speed up ISR"
	default n
	---help---
		Move ESP32-S3's interrupt, OS timer tick, and scheduler functions
		from Flash to IRAM. This can speed up interrupt service processing
		and also reduce reading data from Flash.

		If you run applications that need continue reading data from PSRAM,
		such as LCD display, please select this option.

config ESP32S3_STORAGE_MTD_OFFSET
	hex "Storage MTD base address in SPI Flash"
	default 0x180000 if !ESP32S3_HAVE_OTA_PARTITION
	default 0x260000 if ESP32S3_HAVE_OTA_PARTITION
	depends on ESP32S3_MTD
	---help---
		MTD base address in SPI Flash.

config ESP32S3_STORAGE_MTD_SIZE
	hex "Storage MTD size in SPI Flash"
	default 0x100000
	range 0x0 0x400000 if ESP32S3_FLASH_4M
	range 0x0 0x800000 if ESP32S3_FLASH_8M
	range 0x0 0x1000000 if ESP32S3_FLASH_16M
	range 0x0 0x2000000 if ESP32S3_FLASH_32M
	depends on ESP32S3_MTD
	---help---
		MTD size in SPI Flash.

choice ESP32S3_SPIFLASH_FS
	prompt "Mount SPI Flash MTD on bring-up"
	default ESP32S3_SPIFLASH_SMARTFS
	depends on ESP32S3_MTD
	optional
	---help---
		Mount the SPI Flash MTD with the selected File System format on board
		bring-up.
		If not selected, the MTD will be registered as a device node on /dev.

config ESP32S3_SPIFLASH_SMARTFS
	bool "SmartFS"
	select FS_SMARTFS
	select MTD_SMART

config ESP32S3_SPIFLASH_NXFFS
	bool "NXFFS"
	select FS_NXFFS

config ESP32S3_SPIFLASH_SPIFFS
	bool "SPIFFS"
	select FS_SPIFFS

config ESP32S3_SPIFLASH_LITTLEFS
	bool "LittleFS"
	select FS_LITTLEFS

endchoice # ESP32S3_SPIFLASH_FS

config ESP32S3_BOARD_I2C
	bool
	default y if ESP32S3_I2C0 || ESP32S3_I2C1

config ESPRESSIF_ULP_USE_TEST_BIN
	bool "Run example prebuilt binary for ULP core"
	depends on ESPRESSIF_USE_ULP_RISCV_CORE
	default n
	---help---
		Run example prebuilt binary for ULP core which is resides in
		`Documentation/platforms/xtensa/esp32s3/boards/esp32s3-devkit/ulp_riscv_blink.bin`
