diff --git a/components/esp_hw_support/esp_clk.c b/components/esp_hw_support/esp_clk.c index 01c5e6d0b0..638c8bbcc2 100644 --- a/components/esp_hw_support/esp_clk.c +++ b/components/esp_hw_support/esp_clk.c @@ -71,7 +71,7 @@ int IRAM_ATTR esp_clk_cpu_freq(void) int IRAM_ATTR esp_clk_apb_freq(void) { - return MIN(s_get_cpu_freq_mhz(), 80) * MHZ; + return MIN(s_get_cpu_freq_mhz() * MHZ, APB_CLK_FREQ); } int IRAM_ATTR esp_clk_xtal_freq(void) @@ -116,7 +116,7 @@ uint64_t esp_rtc_get_time_us(void) const uint64_t ticks_low = ticks & UINT32_MAX; const uint64_t ticks_high = ticks >> 32; const uint64_t delta_time_us = ((ticks_low * cal) >> RTC_CLK_CAL_FRACT) + - ((ticks_high * cal) << (32 - RTC_CLK_CAL_FRACT)); + ((ticks_high * cal) << (32 - RTC_CLK_CAL_FRACT)); s_esp_rtc_time_us += delta_time_us; s_rtc_last_ticks = rtc_this_ticks; _lock_release(&s_esp_rtc_time_lock); diff --git a/components/esp_hw_support/port/esp32h2/rtc_clk.c b/components/esp_hw_support/port/esp32h2/rtc_clk.c index 550d84058a..6102b32bb1 100644 --- a/components/esp_hw_support/port/esp32h2/rtc_clk.c +++ b/components/esp_hw_support/port/esp32h2/rtc_clk.c @@ -232,6 +232,7 @@ void rtc_clk_cpu_freq_set_config(const rtc_cpu_freq_config_t *config) uint32_t src_freq_mhz = root_clk_slt(config->source); uint32_t div = src_freq_mhz / (config->freq_mhz); rtc_clk_cpu_freq_set(config->source, div); + ets_update_cpu_frequency(config->freq_mhz); } void rtc_clk_cpu_freq_get_config(rtc_cpu_freq_config_t *out_config) diff --git a/components/esp_system/startup.c b/components/esp_system/startup.c index 05faf56b9a..f159a4028c 100644 --- a/components/esp_system/startup.c +++ b/components/esp_system/startup.c @@ -374,7 +374,7 @@ static void start_cpu0_default(void) ESP_EARLY_LOGI(TAG, "Pro cpu start user code"); int cpu_freq = esp_clk_cpu_freq(); - ESP_EARLY_LOGI(TAG, "cpu freq: %d", cpu_freq); + ESP_EARLY_LOGI(TAG, "cpu freq: %d Hz", cpu_freq); // Display information about the current running image. if (LOG_LOCAL_LEVEL >= ESP_LOG_INFO) {