fix(esp_hw_support): fix current leakage if ext32k slow clock source not exists

This commit is contained in:
wuzhenghui
2025-03-31 14:58:00 +08:00
parent 6b4f08c1dc
commit c84757d35e
33 changed files with 216 additions and 48 deletions

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2020-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2020-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -257,6 +257,11 @@ void rtc_clk_xtal_freq_update(soc_xtal_freq_t xtal_freq);
*/
void rtc_clk_32k_enable_external(void);
/**
* @brief Disable 32KHz external oscillator
*/
void rtc_clk_32k_disable_external(void);
/**
* @brief Enable or disable 8 MHz internal oscillator
*

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2020-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2020-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -37,6 +37,12 @@ void rtc_clk_32k_enable_external(void)
REG_SET_BIT(RTC_CNTL_PAD_HOLD_REG, BIT(EXT_OSC_SLOW_GPIO_NUM));
}
void rtc_clk_32k_disable_external(void)
{
PIN_INPUT_DISABLE(IO_MUX_GPIO0_REG);
REG_CLR_BIT(RTC_CNTL_PAD_HOLD_REG, BIT(EXT_OSC_SLOW_GPIO_NUM));
}
void rtc_clk_8m_enable(bool clk_8m_en, bool d256_en)
{
if (clk_8m_en) {