diff --git a/components/esp32/include/esp32/pm.h b/components/esp32/include/esp32/pm.h index f64045fb31..8c3682cc7e 100644 --- a/components/esp32/include/esp32/pm.h +++ b/components/esp32/include/esp32/pm.h @@ -31,9 +31,7 @@ extern "C" { * Pass a pointer to this structure as an argument to esp_pm_configure function. */ typedef struct { - rtc_cpu_freq_t max_cpu_freq __attribute__((deprecated)); /*!< Maximum CPU frequency to use. Deprecated, use max_freq_mhz instead. */ int max_freq_mhz; /*!< Maximum CPU frequency, in MHz */ - rtc_cpu_freq_t min_cpu_freq __attribute__((deprecated)); /*!< Minimum CPU frequency to use when no frequency locks are taken. Deprecated, use min_freq_mhz instead. */ int min_freq_mhz; /*!< Minimum CPU frequency to use when no locks are taken, in MHz */ bool light_sleep_enable; /*!< Enter light sleep when no locks are taken */ } esp_pm_config_esp32_t; diff --git a/components/esp32/pm_esp32.c b/components/esp32/pm_esp32.c index 746a1ca400..eab61c734a 100644 --- a/components/esp32/pm_esp32.c +++ b/components/esp32/pm_esp32.c @@ -182,15 +182,6 @@ esp_err_t esp_pm_configure(const void* vconfig) int min_freq_mhz = config->min_freq_mhz; int max_freq_mhz = config->max_freq_mhz; - if (min_freq_mhz == 0 && max_freq_mhz == 0) { - /* For compatibility, handle deprecated fields, min_cpu_freq and max_cpu_freq. */ -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - min_freq_mhz = rtc_clk_cpu_freq_value(config->min_cpu_freq) / MHZ; - max_freq_mhz = rtc_clk_cpu_freq_value(config->max_cpu_freq) / MHZ; -#pragma GCC diagnostic pop - } - if (min_freq_mhz > max_freq_mhz) { return ESP_ERR_INVALID_ARG; } diff --git a/components/esp32/test/test_pm.c b/components/esp32/test/test_pm.c index cf031ab59c..67f9dff10f 100644 --- a/components/esp32/test/test_pm.c +++ b/components/esp32/test/test_pm.c @@ -61,8 +61,8 @@ TEST_CASE("Can switch frequency using esp_pm_configure", "[pm]") static void light_sleep_enable() { const esp_pm_config_esp32_t pm_config = { - .max_cpu_freq = rtc_clk_cpu_freq_get(), - .min_cpu_freq = RTC_CPU_FREQ_XTAL, + .max_freq_mhz = esp_clk_cpu_freq() / 1000000, + .min_freq_mhz = esp_clk_xtal_freq() / MHZ, .light_sleep_enable = true }; ESP_ERROR_CHECK( esp_pm_configure(&pm_config) ); @@ -71,8 +71,8 @@ static void light_sleep_enable() static void light_sleep_disable() { const esp_pm_config_esp32_t pm_config = { - .max_cpu_freq = rtc_clk_cpu_freq_get(), - .min_cpu_freq = rtc_clk_cpu_freq_get(), + .max_freq_mhz = esp_clk_cpu_freq() / 1000000, + .min_freq_mhz = esp_clk_cpu_freq() / 1000000, }; ESP_ERROR_CHECK( esp_pm_configure(&pm_config) ); } diff --git a/components/soc/esp32/include/soc/rtc.h b/components/soc/esp32/include/soc/rtc.h index 4dd0db6e2e..e5e4cf5985 100644 --- a/components/soc/esp32/include/soc/rtc.h +++ b/components/soc/esp32/include/soc/rtc.h @@ -305,81 +305,6 @@ void rtc_clk_fast_freq_set(rtc_fast_freq_t fast_freq); rtc_fast_freq_t rtc_clk_fast_freq_get(); /** - * @brief Switch CPU frequency - * - * @note This function is deprecated and will be removed. - * See rtc_clk_cpu_freq_config_set instead. - * - * If a PLL-derived frequency is requested (80, 160, 240 MHz), this function - * will enable the PLL. Otherwise, PLL will be disabled. - * Note: this function is not optimized for switching speed. It may take several - * hundred microseconds to perform frequency switch. - * - * @param cpu_freq new CPU frequency - */ -void rtc_clk_cpu_freq_set(rtc_cpu_freq_t cpu_freq) __attribute__((deprecated)); - -/** - * @brief Switch CPU frequency - * - * @note This function is deprecated and will be removed. - * See rtc_clk_cpu_freq_set_config_fast instead. - * - * This is a faster version of rtc_clk_cpu_freq_set, which can handle some of - * the frequency switch paths (XTAL -> PLL, PLL -> XTAL). - * When switching from PLL to XTAL, PLL is not disabled (unlike rtc_clk_cpu_freq_set). - * When switching back from XTAL to PLL, only the same PLL can be used. - * Therefore it is not possible to switch 240 -> XTAL -> (80 or 160) using this - * function. - * - * For unsupported cases, this function falls back to rtc_clk_cpu_freq_set. - * - * Unlike rtc_clk_cpu_freq_set, this function relies on static data, so it is - * less safe to use it e.g. from a panic handler (when memory might be corrupted). - * - * @param cpu_freq new CPU frequency - */ -void rtc_clk_cpu_freq_set_fast(rtc_cpu_freq_t cpu_freq) __attribute__((deprecated)); - -/** - * @brief Get the currently selected CPU frequency - * - * @note This function is deprecated and will be removed. - * See rtc_clk_cpu_freq_get_config instead. - * - * Although CPU can be clocked by APLL and RTC 8M sources, such support is not - * exposed through this library. As such, this function will not return - * meaningful values when these clock sources are configured (e.g. using direct - * access to clock selection registers). In debug builds, it will assert; in - * release builds, it will return RTC_CPU_FREQ_XTAL. - * - * @return CPU frequency (one of rtc_cpu_freq_t values) - */ -rtc_cpu_freq_t rtc_clk_cpu_freq_get() __attribute__((deprecated)); - -/** - * @brief Get corresponding frequency value for rtc_cpu_freq_t enum value - * - * @note This function is deprecated and will be removed. - * See rtc_clk_cpu_freq_get/set_config instead. - * - * @param cpu_freq CPU frequency, on of rtc_cpu_freq_t values - * @return CPU frequency, in HZ - */ -uint32_t rtc_clk_cpu_freq_value(rtc_cpu_freq_t cpu_freq) __attribute__((deprecated)); - -/** - * @brief Get rtc_cpu_freq_t enum value for given CPU frequency - * - * @note This function is deprecated and will be removed. - * See rtc_clk_cpu_freq_mhz_to_config instead. - * - * @param cpu_freq_mhz CPU frequency, one of 80, 160, 240, 2, and XTAL frequency - * @param[out] out_val output, rtc_cpu_freq_t value corresponding to the frequency - * @return true if the given frequency value matches one of enum values - */ - bool rtc_clk_cpu_freq_from_mhz(int cpu_freq_mhz, rtc_cpu_freq_t* out_val) __attribute__((deprecated)); - /** * @brief Get CPU frequency config corresponding to a rtc_cpu_freq_t value * @param cpu_freq CPU frequency enumeration value diff --git a/components/soc/esp32/rtc_clk.c b/components/soc/esp32/rtc_clk.c index 80a749b22e..3924e685d5 100644 --- a/components/soc/esp32/rtc_clk.c +++ b/components/soc/esp32/rtc_clk.c @@ -104,7 +104,6 @@ static void rtc_clk_cpu_freq_to_8m(); static void rtc_clk_bbpll_disable(); static void rtc_clk_bbpll_enable(); static void rtc_clk_cpu_freq_to_pll_mhz(int cpu_freq_mhz); -static bool rtc_clk_cpu_freq_from_mhz_internal(int mhz, rtc_cpu_freq_t* out_val); // Current PLL frequency, in MHZ (320 or 480). Zero if PLL is not enabled. static int s_cur_pll_freq; @@ -501,22 +500,7 @@ static void rtc_clk_cpu_freq_to_pll_mhz(int cpu_freq_mhz) rtc_clk_wait_for_slow_cycle(); } - -void rtc_clk_cpu_freq_set(rtc_cpu_freq_t cpu_freq) -{ - rtc_cpu_freq_config_t config; - rtc_clk_cpu_freq_to_config(cpu_freq, &config); - rtc_clk_cpu_freq_set_config(&config); -} - -void rtc_clk_cpu_freq_set_fast(rtc_cpu_freq_t cpu_freq) -{ - rtc_cpu_freq_config_t config; - rtc_clk_cpu_freq_to_config(cpu_freq, &config); - rtc_clk_cpu_freq_set_config_fast(&config); -} - -void rtc_clk_cpu_freq_set_xtal() +void rtc_clk_cpu_freq_set_xtal(void) { int freq_mhz = (int) rtc_clk_xtal_freq_get(); @@ -525,57 +509,6 @@ void rtc_clk_cpu_freq_set_xtal() rtc_clk_bbpll_disable(); } -rtc_cpu_freq_t rtc_clk_cpu_freq_get() -{ - rtc_cpu_freq_config_t config; - rtc_clk_cpu_freq_get_config(&config); - rtc_cpu_freq_t freq = RTC_CPU_FREQ_XTAL; - rtc_clk_cpu_freq_from_mhz_internal(config.freq_mhz, &freq); - return freq; -} - -uint32_t rtc_clk_cpu_freq_value(rtc_cpu_freq_t cpu_freq) -{ - switch (cpu_freq) { - case RTC_CPU_FREQ_XTAL: - return ((uint32_t) rtc_clk_xtal_freq_get()) * MHZ; - case RTC_CPU_FREQ_2M: - return 2 * MHZ; - case RTC_CPU_FREQ_80M: - return 80 * MHZ; - case RTC_CPU_FREQ_160M: - return 160 * MHZ; - case RTC_CPU_FREQ_240M: - return 240 * MHZ; - default: - SOC_LOGE(TAG, "invalid rtc_cpu_freq_t value"); - return 0; - } -} - -static bool rtc_clk_cpu_freq_from_mhz_internal(int mhz, rtc_cpu_freq_t* out_val) -{ - if (mhz == 240) { - *out_val = RTC_CPU_FREQ_240M; - } else if (mhz == 160) { - *out_val = RTC_CPU_FREQ_160M; - } else if (mhz == 80) { - *out_val = RTC_CPU_FREQ_80M; - } else if (mhz == (int) rtc_clk_xtal_freq_get()) { - *out_val = RTC_CPU_FREQ_XTAL; - } else if (mhz == 2) { - *out_val = RTC_CPU_FREQ_2M; - } else { - return false; - } - return true; -} - -bool rtc_clk_cpu_freq_from_mhz(int mhz, rtc_cpu_freq_t* out_val) -{ - return rtc_clk_cpu_freq_from_mhz_internal(mhz, out_val); -} - void rtc_clk_cpu_freq_to_config(rtc_cpu_freq_t cpu_freq, rtc_cpu_freq_config_t* out_config) { uint32_t source_freq_mhz;