From: Ivan Grokhotkov Date: Wed, 26 Apr 2017 06:01:59 +0000 (+0800) Subject: Merge branch 'feature/32k_xtal' into 'master' X-Git-Tag: v2.1-rc1~159 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0fe765a9771e45585778efb197d509bcdc24d1b7;p=esp-idf Merge branch 'feature/32k_xtal' into 'master' add support for 32k XTAL as RTC_SLOW_CLK source - RTC_CNTL_SLOWCLK_FREQ define is removed; rtc_clk_slow_freq_get_hz function can be used instead to get an approximate RTC_SLOW_CLK frequency - Clock calibration is performed at startup. The value is saved and used for timekeeping and when entering deep sleep. - When using the 32k XTAL, startup code will wait for the oscillator to start up. This can be possibly optimized by starting a separate task to wait for oscillator startup, and performing clock switch in that task. - Fix a bug that 32k XTAL would be disabled in rtc_clk_init. - Fix a rounding error in rtc_clk_cal, which caused systematic frequency error. - Fix an overflow bug which caused rtc_clk_cal to timeout early if the slow_clk_cycles argument would exceed certain value - Improve 32k XTAL oscillator startup time by introducing bootstrapping code, which uses internal pullup/pulldown resistors on 32K_N/32K_P pins to set better initial conditions for the oscillator. Ref TW11683. Ref https://esp32.com/viewtopic.php?f=13&t=1570 Fixes https://github.com/espressif/esp-idf/issues/337. See merge request !696 --- 0fe765a9771e45585778efb197d509bcdc24d1b7