fix(drivers): sleep retention failure on esp32s31

This commit is contained in:
morris
2026-05-13 11:12:08 +08:00
parent 4384743750
commit 3d452de7a3
14 changed files with 320 additions and 154 deletions
-4
View File
@@ -10,7 +10,6 @@
#include "driver/gpio.h"
#include "driver/rmt_rx.h"
#include "rmt_private.h"
#include "esp_sleep.h"
static esp_err_t rmt_del_rx_channel(rmt_channel_handle_t channel);
static esp_err_t rmt_rx_demodulate_carrier(rmt_channel_handle_t channel, const rmt_carrier_config_t *config);
@@ -207,9 +206,6 @@ esp_err_t rmt_new_rx_channel(const rmt_rx_channel_config_t *config, rmt_channel_
#if !SOC_RMT_SUPPORT_SLEEP_RETENTION
ESP_RETURN_ON_FALSE(config->flags.allow_pd == 0, ESP_ERR_NOT_SUPPORTED, TAG, "not able to power down in light sleep");
#if SOC_PM_SUPPORT_TOP_PD
esp_sleep_pd_config(ESP_PD_DOMAIN_TOP, ESP_PD_OPTION_ON); //IDF-15646
#endif
#endif // SOC_RMT_SUPPORT_SLEEP_RETENTION
// allocate channel memory from internal memory because it contains atomic variable
-4
View File
@@ -11,7 +11,6 @@
#include "driver/gpio.h"
#include "driver/rmt_tx.h"
#include "rmt_private.h"
#include "esp_sleep.h"
struct rmt_sync_manager_t {
rmt_group_t *group; // which group the synchro belongs to
@@ -274,9 +273,6 @@ esp_err_t rmt_new_tx_channel(const rmt_tx_channel_config_t *config, rmt_channel_
#if !SOC_RMT_SUPPORT_SLEEP_RETENTION
ESP_RETURN_ON_FALSE(config->flags.allow_pd == 0, ESP_ERR_NOT_SUPPORTED, TAG, "not able to power down in light sleep");
#if SOC_PM_SUPPORT_TOP_PD
esp_sleep_pd_config(ESP_PD_DOMAIN_TOP, ESP_PD_OPTION_ON); //IDF-15646
#endif
#endif // SOC_RMT_SUPPORT_SLEEP_RETENTION
// allocate channel memory from internal memory because it contains atomic variable