forked from espressif/esp-idf
change(esp32p4): update rtc interrupt registration todo list
This commit is contained in:
@@ -86,7 +86,6 @@ __attribute__((weak)) void bootloader_clock_configure(void)
|
|||||||
}
|
}
|
||||||
#endif // CONFIG_ESP_SYSTEM_RTC_EXT_XTAL
|
#endif // CONFIG_ESP_SYSTEM_RTC_EXT_XTAL
|
||||||
|
|
||||||
// TODO: IDF-5645
|
|
||||||
#if CONFIG_IDF_TARGET_ESP32C6
|
#if CONFIG_IDF_TARGET_ESP32C6
|
||||||
// CLR ENA
|
// CLR ENA
|
||||||
CLEAR_PERI_REG_MASK(LP_WDT_INT_ENA_REG, LP_WDT_SUPER_WDT_INT_ENA); /* SWD */
|
CLEAR_PERI_REG_MASK(LP_WDT_INT_ENA_REG, LP_WDT_SUPER_WDT_INT_ENA); /* SWD */
|
||||||
@@ -114,7 +113,7 @@ __attribute__((weak)) void bootloader_clock_configure(void)
|
|||||||
SET_PERI_REG_MASK(PMU_HP_INT_CLR_REG, PMU_SOC_WAKEUP_INT_CLR); /* SLP_REJECT */
|
SET_PERI_REG_MASK(PMU_HP_INT_CLR_REG, PMU_SOC_WAKEUP_INT_CLR); /* SLP_REJECT */
|
||||||
SET_PERI_REG_MASK(PMU_HP_INT_CLR_REG, PMU_SOC_SLEEP_REJECT_INT_CLR); /* SLP_WAKEUP */
|
SET_PERI_REG_MASK(PMU_HP_INT_CLR_REG, PMU_SOC_SLEEP_REJECT_INT_CLR); /* SLP_WAKEUP */
|
||||||
#elif CONFIG_IDF_TARGET_ESP32P4
|
#elif CONFIG_IDF_TARGET_ESP32P4
|
||||||
// TODO: IDF-5645
|
// TODO: IDF-8008
|
||||||
#else
|
#else
|
||||||
REG_WRITE(RTC_CNTL_INT_ENA_REG, 0);
|
REG_WRITE(RTC_CNTL_INT_ENA_REG, 0);
|
||||||
REG_WRITE(RTC_CNTL_INT_CLR_REG, UINT32_MAX);
|
REG_WRITE(RTC_CNTL_INT_CLR_REG, UINT32_MAX);
|
||||||
|
@@ -26,11 +26,11 @@
|
|||||||
#endif
|
#endif
|
||||||
#include "sys/queue.h"
|
#include "sys/queue.h"
|
||||||
|
|
||||||
#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4// TODO: IDF-5645
|
#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4// TODO: IDF-8008
|
||||||
static const char *TAG = "rtc_module";
|
static const char *TAG = "rtc_module";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !CONFIG_IDF_TARGET_ESP32C6 && !CONFIG_IDF_TARGET_ESP32H2 && !CONFIG_IDF_TARGET_ESP32P4 // TODO: IDF-5645
|
#if !CONFIG_IDF_TARGET_ESP32C6 && !CONFIG_IDF_TARGET_ESP32H2 && !CONFIG_IDF_TARGET_ESP32P4 // TODO: IDF-8008
|
||||||
|
|
||||||
#define NOT_REGISTERED (-1)
|
#define NOT_REGISTERED (-1)
|
||||||
|
|
||||||
@@ -95,11 +95,11 @@ out:
|
|||||||
portEXIT_CRITICAL(&s_rtc_isr_handler_list_lock);
|
portEXIT_CRITICAL(&s_rtc_isr_handler_list_lock);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
#endif // !CONFIG_IDF_TARGET_ESP32C6 TODO: IDF-5645
|
#endif // !CONFIG_IDF_TARGET_ESP32C6 TODO: IDF-8008
|
||||||
|
|
||||||
esp_err_t rtc_isr_register(intr_handler_t handler, void* handler_arg, uint32_t rtc_intr_mask, uint32_t flags)
|
esp_err_t rtc_isr_register(intr_handler_t handler, void* handler_arg, uint32_t rtc_intr_mask, uint32_t flags)
|
||||||
{
|
{
|
||||||
#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 // TODO: IDF-5645
|
#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 // TODO: IDF-8008
|
||||||
ESP_EARLY_LOGW(TAG, "rtc_isr_register() has not been implemented yet");
|
ESP_EARLY_LOGW(TAG, "rtc_isr_register() has not been implemented yet");
|
||||||
return ESP_OK;
|
return ESP_OK;
|
||||||
#else
|
#else
|
||||||
@@ -130,7 +130,7 @@ esp_err_t rtc_isr_register(intr_handler_t handler, void* handler_arg, uint32_t r
|
|||||||
|
|
||||||
esp_err_t rtc_isr_deregister(intr_handler_t handler, void* handler_arg)
|
esp_err_t rtc_isr_deregister(intr_handler_t handler, void* handler_arg)
|
||||||
{
|
{
|
||||||
#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 // TODO: IDF-5645
|
#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 // TODO: IDF-8008
|
||||||
ESP_EARLY_LOGW(TAG, "rtc_isr_deregister() has not been implemented yet");
|
ESP_EARLY_LOGW(TAG, "rtc_isr_deregister() has not been implemented yet");
|
||||||
return ESP_OK;
|
return ESP_OK;
|
||||||
#else
|
#else
|
||||||
@@ -159,7 +159,7 @@ esp_err_t rtc_isr_deregister(intr_handler_t handler, void* handler_arg)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !CONFIG_IDF_TARGET_ESP32C6 && !CONFIG_IDF_TARGET_ESP32H2 && !CONFIG_IDF_TARGET_ESP32P4 // TODO: IDF-5645
|
#if !CONFIG_IDF_TARGET_ESP32C6 && !CONFIG_IDF_TARGET_ESP32H2 && !CONFIG_IDF_TARGET_ESP32P4 // TODO: IDF-8008
|
||||||
/**
|
/**
|
||||||
* @brief This helper function can be used to avoid the interrupt to be triggered with cache disabled.
|
* @brief This helper function can be used to avoid the interrupt to be triggered with cache disabled.
|
||||||
* There are lots of different signals on RTC module (i.e. sleep_wakeup, wdt, brownout_detect, etc.)
|
* There are lots of different signals on RTC module (i.e. sleep_wakeup, wdt, brownout_detect, etc.)
|
||||||
@@ -182,7 +182,7 @@ static void s_rtc_isr_noniram_hook_relieve(uint32_t rtc_intr_mask)
|
|||||||
|
|
||||||
IRAM_ATTR void rtc_isr_noniram_disable(uint32_t cpu)
|
IRAM_ATTR void rtc_isr_noniram_disable(uint32_t cpu)
|
||||||
{
|
{
|
||||||
#if !CONFIG_IDF_TARGET_ESP32C6 && !CONFIG_IDF_TARGET_ESP32H2 && !CONFIG_IDF_TARGET_ESP32P4 // TODO: IDF-5645
|
#if !CONFIG_IDF_TARGET_ESP32C6 && !CONFIG_IDF_TARGET_ESP32H2 && !CONFIG_IDF_TARGET_ESP32P4 // TODO: IDF-8008
|
||||||
if (rtc_isr_cpu == cpu) {
|
if (rtc_isr_cpu == cpu) {
|
||||||
rtc_intr_enabled |= RTCCNTL.int_ena.val;
|
rtc_intr_enabled |= RTCCNTL.int_ena.val;
|
||||||
RTCCNTL.int_ena.val &= rtc_intr_cache;
|
RTCCNTL.int_ena.val &= rtc_intr_cache;
|
||||||
@@ -192,7 +192,7 @@ IRAM_ATTR void rtc_isr_noniram_disable(uint32_t cpu)
|
|||||||
|
|
||||||
IRAM_ATTR void rtc_isr_noniram_enable(uint32_t cpu)
|
IRAM_ATTR void rtc_isr_noniram_enable(uint32_t cpu)
|
||||||
{
|
{
|
||||||
#if !CONFIG_IDF_TARGET_ESP32C6 && !CONFIG_IDF_TARGET_ESP32H2 && !CONFIG_IDF_TARGET_ESP32P4 // TODO: IDF-5645
|
#if !CONFIG_IDF_TARGET_ESP32C6 && !CONFIG_IDF_TARGET_ESP32H2 && !CONFIG_IDF_TARGET_ESP32P4 // TODO: IDF-8008
|
||||||
if (rtc_isr_cpu == cpu) {
|
if (rtc_isr_cpu == cpu) {
|
||||||
RTCCNTL.int_ena.val = rtc_intr_enabled;
|
RTCCNTL.int_ena.val = rtc_intr_enabled;
|
||||||
rtc_intr_enabled = 0;
|
rtc_intr_enabled = 0;
|
||||||
|
Reference in New Issue
Block a user