menu "esp-cryptoauthlib"

    choice ATECC608A_TYPE
        prompt "Choose the type of ATECC608 chip"
        default ATECC608A_TNG
        help
            There are three types of ATECC608 ( Secure Element) chips, which are
            Trust & GO, TrustFLex and Trust Custom. For more details consult README
            file of esp_cryptoauth_utility which is part of esp-cryptoauthlib component.
        config ATECC608A_TNG
            bool "ATECC608 chip type Trust & GO"
        config ATECC608A_TFLEX
            bool "ATECC608 chip type TrustFlex"
        config ATECC608A_TCUSTOM
            bool "ATECC608 chip type TrustCustom"
    endchoice

    config ATCA_MBEDTLS_ECDSA
        bool "Enable Hardware ECDSA keys for mbedTLS"
        depends on MBEDTLS_ECDSA_C
        help
            Enable Hardware ECDSA

    config ATCA_MBEDTLS_ECDSA_SIGN
        bool "Enable ATECC608 sign operations in mbedTLS"
        depends on ATCA_MBEDTLS_ECDSA
        select MBEDTLS_ATCA_HW_ECDSA_SIGN
        select MBEDTLS_ECP_DP_SECP256R1_ENABLED

    config ATCA_MBEDTLS_ECDSA_VERIFY
        bool "Enable ATECC608 verify operations in mbedTLS"
        depends on ATCA_MBEDTLS_ECDSA
        select MBEDTLS_ATCA_HW_ECDSA_VERIFY
        select MBEDTLS_ECP_DP_SECP256R1_ENABLED

    config ATCA_I2C_SDA_PIN
        int "I2C SDA pin used to communicate with the ATECC608"
        default 21

    config ATCA_I2C_SCL_PIN
        int "I2C SCL pin used to communicate with the ATECC608"
        default 22
       
    config ATCA_I2C_ADDRESS
        hex "I2C device address of the ATECC608"
        default 0xC0 if ATECC608A_TCUSTOM
        default 0x6C if ATECC608A_TFLEX
        default 0x6A if ATECC608A_TNG

    config ATCA_I2C_BAUD_RATE
        int "I2C baud rate in Hz"
        default 100000
        range 100000 1000000
        
endmenu # cryptoauthlib