esp-idf/components/esptool_py/Kconfig.projbuild
rudi ;-) f242a1705a
add support for Flash 32MB..128MB (S2, S3)
ESP32-S2 and ESP32-S3
supports up to 1 GB of external flash and RAM
add support for
-    32MB
-    64MB
-    128MB ( example NOR spiFLASH 1G-BIT W25Q01JVZEIQ Winbond 0xEF 0x40 0x21 )

Merges https://github.com/espressif/esp-idf/pull/7688

Signed-off-by: Ivan Grokhotkov <ivan@espressif.com>
2022-02-21 10:26:41 +03:00

191 lines
6.6 KiB
Plaintext

menu "Serial flasher config"
config ESPTOOLPY_NO_STUB
bool "Disable download stub"
default "y" if IDF_TARGET_ESP32H2 && IDF_ENV_FPGA # TODO: IDF-4288
default "n"
help
The flasher tool sends a precompiled download stub first by default. That stub allows things
like compressed downloads and more. Usually you should not need to disable that feature
config ESPTOOLPY_OCT_FLASH
depends on IDF_TARGET_ESP32S3
bool "Enable Octal Flash"
default n
choice ESPTOOLPY_FLASHMODE
prompt "Flash SPI mode"
default ESPTOOLPY_FLASHMODE_DIO
default ESPTOOLPY_FLASHMODE_OPI if ESPTOOLPY_OCT_FLASH
help
Mode the flash chip is flashed in, as well as the default mode for the
binary to run in.
config ESPTOOLPY_FLASHMODE_QIO
depends on !ESPTOOLPY_OCT_FLASH
bool "QIO"
config ESPTOOLPY_FLASHMODE_QOUT
depends on !ESPTOOLPY_OCT_FLASH
bool "QOUT"
config ESPTOOLPY_FLASHMODE_DIO
depends on !ESPTOOLPY_OCT_FLASH
bool "DIO"
config ESPTOOLPY_FLASHMODE_DOUT
depends on !ESPTOOLPY_OCT_FLASH
bool "DOUT"
config ESPTOOLPY_FLASHMODE_OPI
depends on ESPTOOLPY_OCT_FLASH
bool "OPI"
endchoice
choice ESPTOOLPY_FLASH_SAMPLE_MODE
prompt "Flash Sampling Mode"
default ESPTOOLPY_FLASH_SAMPLE_MODE_DTR if ESPTOOLPY_OCT_FLASH
default ESPTOOLPY_FLASH_SAMPLE_MODE_STR if !ESPTOOLPY_OCT_FLASH
config ESPTOOLPY_FLASH_SAMPLE_MODE_STR
bool "STR Mode"
config ESPTOOLPY_FLASH_SAMPLE_MODE_DTR
depends on ESPTOOLPY_OCT_FLASH
bool "DTR Mode"
endchoice
# Note: we use esptool.py to flash bootloader in
# dio mode for QIO/QOUT, bootloader then upgrades
# itself to quad mode during initialisation
config ESPTOOLPY_FLASHMODE
string
default "dio" if ESPTOOLPY_FLASHMODE_QIO
default "dio" if ESPTOOLPY_FLASHMODE_QOUT
default "dio" if ESPTOOLPY_FLASHMODE_DIO
default "dout" if ESPTOOLPY_FLASHMODE_DOUT
# The 1st and 2nd bootloader doesn't support opi mode,
# using fastrd instead. For now the ESPTOOL doesn't support
# fasted (see ESPTOOL-274), using dout instead. In ROM the flash mode
# information get from efuse, so don't care this dout choice.
default "dout" if ESPTOOLPY_FLASHMODE_OPI
choice ESPTOOLPY_FLASHFREQ
prompt "Flash SPI speed"
default ESPTOOLPY_FLASHFREQ_40M if IDF_TARGET_ESP32 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32C2
default ESPTOOLPY_FLASHFREQ_80M
help
The SPI flash frequency to be used.
config ESPTOOLPY_FLASHFREQ_120M
depends on IDF_TARGET_ESP32S3 && ESPTOOLPY_FLASH_SAMPLE_MODE_STR
bool "120 MHz"
config ESPTOOLPY_FLASHFREQ_80M
bool "80 MHz"
config ESPTOOLPY_FLASHFREQ_40M
bool "40 MHz"
config ESPTOOLPY_FLASHFREQ_26M
bool "26 MHz"
depends on IDF_TARGET_ESP32 || IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32C3
config ESPTOOLPY_FLASHFREQ_20M
bool "20 MHz"
endchoice
config ESPTOOLPY_FLASHFREQ
string
# On some of the ESP chips, max boot frequency would be equal to (or even lower than) 80m.
# We currently define this to `80m`.
default "80m" if ESPTOOLPY_FLASHFREQ_120M
default "80m" if ESPTOOLPY_FLASHFREQ_80M
default "40m" if ESPTOOLPY_FLASHFREQ_40M
default "26m" if ESPTOOLPY_FLASHFREQ_26M
default "20m" if ESPTOOLPY_FLASHFREQ_20M
choice ESPTOOLPY_FLASHSIZE
prompt "Flash size"
default ESPTOOLPY_FLASHSIZE_2MB
help
SPI flash size, in megabytes
config ESPTOOLPY_FLASHSIZE_1MB
bool "1 MB"
config ESPTOOLPY_FLASHSIZE_2MB
bool "2 MB"
config ESPTOOLPY_FLASHSIZE_4MB
bool "4 MB"
config ESPTOOLPY_FLASHSIZE_8MB
bool "8 MB"
config ESPTOOLPY_FLASHSIZE_16MB
bool "16 MB"
config ESPTOOLPY_FLASHSIZE_32MB
bool "32 MB"
config ESPTOOLPY_FLASHSIZE_64MB
bool "64 MB"
config ESPTOOLPY_FLASHSIZE_128MB
bool "128 MB"
endchoice
config ESPTOOLPY_FLASHSIZE
string
default "1MB" if ESPTOOLPY_FLASHSIZE_1MB
default "2MB" if ESPTOOLPY_FLASHSIZE_2MB
default "4MB" if ESPTOOLPY_FLASHSIZE_4MB
default "8MB" if ESPTOOLPY_FLASHSIZE_8MB
default "16MB" if ESPTOOLPY_FLASHSIZE_16MB
default "32MB" if ESPTOOLPY_FLASHSIZE_32MB
default "64MB" if ESPTOOLPY_FLASHSIZE_64MB
default "128MB" if ESPTOOLPY_FLASHSIZE_128MB
config ESPTOOLPY_FLASHSIZE_DETECT
bool "Detect flash size when flashing bootloader"
default y
help
If this option is set, flashing the project will automatically detect
the flash size of the target chip and update the bootloader image
before it is flashed.
choice ESPTOOLPY_BEFORE
prompt "Before flashing"
default ESPTOOLPY_BEFORE_RESET
help
Configure whether esptool.py should reset the ESP32 before flashing.
Automatic resetting depends on the RTS & DTR signals being
wired from the serial port to the ESP32. Most USB development
boards do this internally.
config ESPTOOLPY_BEFORE_RESET
bool "Reset to bootloader"
config ESPTOOLPY_BEFORE_NORESET
bool "No reset"
endchoice
config ESPTOOLPY_BEFORE
string
default "default_reset" if ESPTOOLPY_BEFORE_RESET
default "no_reset" if ESPTOOLPY_BEFORE_NORESET
choice ESPTOOLPY_AFTER
prompt "After flashing"
default ESPTOOLPY_AFTER_RESET
help
Configure whether esptool.py should reset the ESP32 after flashing.
Automatic resetting depends on the RTS & DTR signals being
wired from the serial port to the ESP32. Most USB development
boards do this internally.
config ESPTOOLPY_AFTER_RESET
bool "Reset after flashing"
config ESPTOOLPY_AFTER_NORESET
bool "Stay in bootloader"
endchoice
config ESPTOOLPY_AFTER
string
default "hard_reset" if ESPTOOLPY_AFTER_RESET
default "no_reset" if ESPTOOLPY_AFTER_NORESET
config ESPTOOLPY_MONITOR_BAUD
int
default ESP_CONSOLE_UART_BAUDRATE if ESP_CONSOLE_UART
default 115200 if !ESP_CONSOLE_UART
endmenu