Merge branch 'fix/lp-core-rc-fast-delay_v6.1' into 'release/v6.1'

fix(ulp): use SoC RC_FAST frequency for LP core delay (v6.1)

See merge request espressif/esp-idf!49857
This commit is contained in:
Jiang Jiang Jian
2026-07-03 21:42:19 +08:00
3 changed files with 105 additions and 7 deletions
@@ -6,13 +6,14 @@
#pragma once
#include "sdkconfig.h"
#include "soc/clk_tree_defs.h"
#include "soc/soc_caps.h"
/* LP_FAST_CLK is not very accurate, for now use a rough estimate */
#if CONFIG_RTC_FAST_CLK_SRC_RC_FAST
#define LP_CORE_CPU_FREQUENCY_HZ 16000000U /* For P4 TRM says 20 MHz by default, but we tune it closer to 16 MHz */
#define LP_CORE_CYCLES_PER_US_NUM 16U
#define LP_CORE_CYCLES_PER_US_DENOM 1U
#define LP_CORE_CPU_FREQUENCY_HZ SOC_CLK_RC_FAST_FREQ_APPROX
#define LP_CORE_CYCLES_PER_US_NUM (SOC_CLK_RC_FAST_FREQ_APPROX / 500000U)
#define LP_CORE_CYCLES_PER_US_DENOM 2U
#elif CONFIG_RTC_FAST_CLK_SRC_XTAL
#if SOC_XTAL_SUPPORT_48M
#define LP_CORE_CPU_FREQUENCY_HZ 48000000U
@@ -24,9 +25,9 @@
#define LP_CORE_CYCLES_PER_US_DENOM 1U
#endif
#else // Default value in chip without rtc fast clock sel option
#define LP_CORE_CPU_FREQUENCY_HZ 16000000U
#define LP_CORE_CYCLES_PER_US_NUM 16U
#define LP_CORE_CYCLES_PER_US_DENOM 1U
#define LP_CORE_CPU_FREQUENCY_HZ SOC_CLK_RC_FAST_FREQ_APPROX
#define LP_CORE_CYCLES_PER_US_NUM (SOC_CLK_RC_FAST_FREQ_APPROX / 500000U)
#define LP_CORE_CYCLES_PER_US_DENOM 2U
#endif
/**
@@ -38,4 +39,4 @@
*
* @note Value is calibration-specific and may vary with compiler optimization.
*/
#define ULP_LP_CORE_DELAY_CALL_OVERHEAD_IN_CYCLES 11U
#define ULP_LP_CORE_DELAY_CALL_OVERHEAD_IN_CYCLES 14U