From: Ivan Grokhotkov Date: Thu, 27 Apr 2017 04:42:56 +0000 (+0800) Subject: esp32: select 8M clock as RTC_FAST_CLK on startup X-Git-Tag: v2.1-rc1~144^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1c3b40adeb1de0b18575d5419bfc61264b6ec733;p=esp-idf esp32: select 8M clock as RTC_FAST_CLK on startup Even though RTC_CLK_CONFIG_DEFAULT correctly had RTC_FAST_FREQ_8M as the fast clock, the bootloader modified fast_freq field to the currently selected RTC_FAST_CLK (so that the clock choice is not affected by the bootloader). The application startup code never switched to 8M clock, which caused the default (XTAL/4) to be used as RTC_FAST_CLK. This had caused a number of issues, such as touch pads not working in deep sleep. Fixes https://github.com/espressif/esp-idf/issues/542. Ref TW12053. --- diff --git a/components/esp32/clk.c b/components/esp32/clk.c index 449ea39321..ce7b580eb7 100644 --- a/components/esp32/clk.c +++ b/components/esp32/clk.c @@ -43,6 +43,7 @@ void esp_clk_init(void) { rtc_config_t cfg = RTC_CONFIG_DEFAULT(); rtc_init(cfg); + rtc_clk_fast_freq_set(RTC_FAST_FREQ_8M); #ifdef CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL select_rtc_slow_clk(RTC_SLOW_FREQ_32K_XTAL);