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.
This commit is contained in:
parent
46fa2cfb46
commit
1c3b40adeb
1 changed files with 1 additions and 0 deletions
|
@ -43,6 +43,7 @@ void esp_clk_init(void)
|
||||||
{
|
{
|
||||||
rtc_config_t cfg = RTC_CONFIG_DEFAULT();
|
rtc_config_t cfg = RTC_CONFIG_DEFAULT();
|
||||||
rtc_init(cfg);
|
rtc_init(cfg);
|
||||||
|
rtc_clk_fast_freq_set(RTC_FAST_FREQ_8M);
|
||||||
|
|
||||||
#ifdef CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL
|
#ifdef CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL
|
||||||
select_rtc_slow_clk(RTC_SLOW_FREQ_32K_XTAL);
|
select_rtc_slow_clk(RTC_SLOW_FREQ_32K_XTAL);
|
||||||
|
|
Loading…
Reference in a new issue