feat(driver_spi): spi master support sleep retention(recovery)

This commit is contained in:
wanckl
2025-12-23 13:54:21 +08:00
parent 2910e7de68
commit 9a93f402db
26 changed files with 449 additions and 279 deletions
+3 -3
View File
@@ -47,7 +47,7 @@
#include "esp_private/periph_ctrl.h"
#include "gdma_priv.h"
#if CONFIG_PM_ENABLE && SOC_PM_SUPPORT_TOP_PD
#if CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP && SOC_GDMA_SUPPORT_SLEEP_RETENTION
#include "esp_private/gdma_sleep_retention.h"
#endif
@@ -668,7 +668,7 @@ static void gdma_release_pair_handle(gdma_pair_t *pair)
if (do_deinitialize) {
free(pair);
#if CONFIG_PM_ENABLE && SOC_PM_SUPPORT_TOP_PD && !CONFIG_IDF_TARGET_ESP32P4 // TODO: IDF-8461
#if CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP && SOC_GDMA_SUPPORT_SLEEP_RETENTION && !CONFIG_IDF_TARGET_ESP32P4 // TODO: IDF-8461
gdma_sleep_retention_deinit(group->group_id, pair_id);
#endif
ESP_LOGD(TAG, "del pair (%d,%d)", group->group_id, pair_id);
@@ -708,7 +708,7 @@ static gdma_pair_t *gdma_acquire_pair_handle(gdma_group_t *group, int pair_id)
s_platform.group_ref_counts[group->group_id]++;
portEXIT_CRITICAL(&s_platform.spinlock);
#if CONFIG_PM_ENABLE && SOC_PM_SUPPORT_TOP_PD && !CONFIG_IDF_TARGET_ESP32P4 // TODO: IDF-8461
#if CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP && SOC_GDMA_SUPPORT_SLEEP_RETENTION && !CONFIG_IDF_TARGET_ESP32P4 // TODO: IDF-8461
gdma_sleep_retention_init(group->group_id, pair_id);
#endif
ESP_LOGD(TAG, "new pair (%d,%d) at %p", group->group_id, pair_id, pair);