choice RTC_CLK_SRC
    prompt "RTC clock source"
    default RTC_CLK_SRC_INT_RC
    help
        Choose which clock is used as RTC clock source.

    config RTC_CLK_SRC_INT_RC
        bool "Internal 136kHz RC oscillator"
    config RTC_CLK_SRC_EXT_CRYS
        bool "External 32.768kHz crystal"
        select ESP_SYSTEM_RTC_EXT_XTAL
    config RTC_CLK_SRC_EXT_OSC
        bool "External 32kHz oscillator at 32K_XP pin"
        select ESP_SYSTEM_RTC_EXT_OSC
    config RTC_CLK_SRC_INT_RC32K
        bool "Internal 32kHz RC oscillator"
endchoice

config RTC_CLK_CAL_CYCLES
    int "Number of cycles for RTC_SLOW_CLK calibration"
    default 3000 if RTC_CLK_SRC_EXT_CRYS || RTC_CLK_SRC_EXT_OSC || RTC_CLK_SRC_INT_RC32K
    default 576 if RTC_CLK_SRC_INT_RC
    range 0 125000
    help
        When the startup code initializes RTC_SLOW_CLK, it can perform
        calibration by comparing the RTC_SLOW_CLK frequency with main XTAL
        frequency. This option sets the number of RTC_SLOW_CLK cycles measured
        by the calibration routine. Higher numbers increase calibration
        precision, which may be important for applications which spend a lot of
        time in deep sleep. Lower numbers reduce startup time.

        When this option is set to 0, clock calibration will not be performed at
        startup, and approximate clock frequencies will be assumed:

        - 150000 Hz if internal RC oscillator is used as clock source. For this use value 1024.
        - 32768 Hz if the 32k crystal oscillator is used. For this use value 3000 or more.
            In case more value will help improve the definition of the launch of the crystal.
            If the crystal could not start, it will be switched to internal RC.