menu "ESP serial flasher"
    config SERIAL_FLASHER_MD5_ENABLED
        bool "Enable MD5 check"
        default y
        help
            Select this option to enable MD5 hashsum check after flashing.

    choice SERIAL_FLASHER_INTERFACE
        prompt "Hardware interface to use for firmware download"
        default SERIAL_FLASHER_INTERFACE_UART
        help
            esp-serial-flasher can work with UART and SPI interfaces.

        config SERIAL_FLASHER_INTERFACE_UART
            bool "UART"

        config SERIAL_FLASHER_INTERFACE_SPI
            bool "SPI (Only supports downloading to RAM)"

        config SERIAL_FLASHER_INTERFACE_USB
            bool "USB"

        config SERIAL_FLASHER_INTERFACE_SDIO
            bool "SDIO (Experimental)"

    endchoice

    config SERIAL_FLASHER_RESET_HOLD_TIME_MS
        int "Time for which the reset pin is asserted when doing a hard reset"
        default 100

    config SERIAL_FLASHER_BOOT_HOLD_TIME_MS
        int "Time for which the boot pin is asserted when doing a hard reset"
        default 50

    config SERIAL_FLASHER_DEBUG_TRACE
        bool "Enable debug tracing output (only transfer data tracing is supported at the time)"
        default n

    config SERIAL_FLASHER_WRITE_BLOCK_RETRIES
        int "Number of retries when writing blocks either to target flash or RAM"
        default 3

    config SERIAL_FLASHER_RESET_INVERT
        bool "Invert reset signal"
        default n
        depends on SERIAL_FLASHER_INTERFACE_UART
        help
           Enable this option if there is an inverting connection between
           the output of the serial-flasher and the reset pin of the ESP chip.

    config SERIAL_FLASHER_BOOT_INVERT
        bool "Invert boot signal"
        default n
        depends on SERIAL_FLASHER_INTERFACE_UART
        help
           Enable this option if there is an inverting connection between
           the output of the serial-flasher and the boot pin of the ESP chip.

endmenu
