mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-03 12:44:33 +02:00
soc/rtc: add function to convert CPU frequency in MHz to rtc_cpu_freq_t
This commit is contained in:
@@ -315,6 +315,14 @@ rtc_cpu_freq_t rtc_clk_cpu_freq_get();
|
|||||||
*/
|
*/
|
||||||
uint32_t rtc_clk_cpu_freq_value(rtc_cpu_freq_t cpu_freq);
|
uint32_t rtc_clk_cpu_freq_value(rtc_cpu_freq_t cpu_freq);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get rtc_cpu_freq_t enum value for given CPU frequency
|
||||||
|
* @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);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Store new APB frequency value into RTC_APB_FREQ_REG
|
* @brief Store new APB frequency value into RTC_APB_FREQ_REG
|
||||||
*
|
*
|
||||||
|
@@ -504,6 +504,24 @@ uint32_t rtc_clk_cpu_freq_value(rtc_cpu_freq_t cpu_freq)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool rtc_clk_cpu_freq_from_mhz(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;
|
||||||
|
}
|
||||||
|
|
||||||
/* Values of RTC_XTAL_FREQ_REG and RTC_APB_FREQ_REG are stored as two copies in
|
/* Values of RTC_XTAL_FREQ_REG and RTC_APB_FREQ_REG are stored as two copies in
|
||||||
* lower and upper 16-bit halves. These are the routines to work with such a
|
* lower and upper 16-bit halves. These are the routines to work with such a
|
||||||
* representation.
|
* representation.
|
||||||
|
Reference in New Issue
Block a user