mirror of
https://github.com/espressif/esp-idf.git
synced 2025-09-30 19:19:21 +00:00
light sleep: add wifi mac sleep support for esp32s3
This commit is contained in:
@@ -3,6 +3,7 @@ set(srcs "highint_hdl.S"
|
||||
"reset_reason.c"
|
||||
"system_internal.c"
|
||||
"cache_err_int.c"
|
||||
"apb_backup_dma.c"
|
||||
"../../arch/xtensa/panic_arch.c"
|
||||
"../../arch/xtensa/panic_handler_asm.S"
|
||||
"../../arch/xtensa/expression_with_stack.c"
|
||||
|
36
components/esp_system/port/soc/esp32s3/apb_backup_dma.c
Normal file
36
components/esp_system/port/soc/esp32s3/apb_backup_dma.c
Normal file
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2019-2021 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include "soc/soc_caps.h"
|
||||
#include "esp_attr.h"
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/portmacro.h"
|
||||
#include "esp32s3/rom/apb_backup_dma.h"
|
||||
|
||||
static portMUX_TYPE s_apb_backup_dma_mutex = portMUX_INITIALIZER_UNLOCKED;
|
||||
|
||||
static void IRAM_ATTR apb_backup_dma_lock(void)
|
||||
{
|
||||
if (xPortInIsrContext()) {
|
||||
portENTER_CRITICAL_ISR(&s_apb_backup_dma_mutex);
|
||||
} else {
|
||||
portENTER_CRITICAL(&s_apb_backup_dma_mutex);
|
||||
}
|
||||
}
|
||||
|
||||
static void IRAM_ATTR apb_backup_dma_unlock(void)
|
||||
{
|
||||
if (xPortInIsrContext()) {
|
||||
portEXIT_CRITICAL_ISR(&s_apb_backup_dma_mutex);
|
||||
} else {
|
||||
portEXIT_CRITICAL(&s_apb_backup_dma_mutex);
|
||||
}
|
||||
}
|
||||
|
||||
void esp_apb_backup_dma_lock_init(void)
|
||||
{
|
||||
ets_apb_backup_init_lock_func(apb_backup_dma_lock, apb_backup_dma_unlock);
|
||||
}
|
Reference in New Issue
Block a user