From 1c3b40adeb1de0b18575d5419bfc61264b6ec733 Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Thu, 27 Apr 2017 12:42:56 +0800 Subject: [PATCH] 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. --- components/esp32/clk.c | 1 + 1 file changed, 1 insertion(+) diff --git a/components/esp32/clk.c b/components/esp32/clk.c index 449ea3932..ce7b580eb 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);