change(esp_hw_support): add interface to calculate slow clock period by clock frequency

This commit is contained in:
Li Shuai
2025-04-01 19:16:17 +08:00
committed by sibeibei
parent 444dddd87d
commit d5ff59f144
20 changed files with 100 additions and 0 deletions

View File

@@ -416,6 +416,14 @@ bool rtc_dig_8m_enabled(void);
*/
uint32_t rtc_clk_freq_cal(uint32_t cal_val);
/**
* @brief Calculate the slow clock period value by slow clock frequency
*
* @param freq_hz Frequency of the slow clock in Hz
* @return Fixed point value of slow clock period in microseconds
*/
uint32_t rtc_clk_freq_to_period(uint32_t freq_hz);
#ifdef __cplusplus
}
#endif

View File

@@ -196,6 +196,8 @@ uint32_t rtc_clk_freq_cal(uint32_t cal_val)
return 1000000ULL * (1 << RTC_CLK_CAL_FRACT) / cal_val;
}
uint32_t rtc_clk_freq_to_period(uint32_t) __attribute__((alias("rtc_clk_freq_cal")));
/// @brief if the calibration is used, we need to enable the timer group0 first
__attribute__((constructor))
static void enable_timer_group0_for_calibration(void)