1 /* 2 * SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 #pragma once 8 9 #include <stdbool.h> 10 #include <stddef.h> 11 #include <stdint.h> 12 #include "soc/soc.h" 13 #include "soc/soc_caps.h" 14 15 #if SOC_PAU_SUPPORTED 16 #include "hal/pau_hal.h" 17 18 #ifdef __cplusplus 19 extern "C" { 20 #endif 21 22 /** 23 * @brief Set the addresses of all REGDMA Links 24 * @param link_entries all linked lists addresses 25 */ 26 void pau_regdma_set_entry_link_addr(pau_regdma_link_addr_t *link_entries); 27 28 #if SOC_PM_SUPPORT_PMU_MODEM_STATE 29 /** 30 * @brief Set the address of WiFi MAC REGDMA Link in modem state 31 * @param link_addr linked lists address 32 */ 33 void pau_regdma_set_modem_link_addr(void *link_addr); 34 35 /** 36 * @brief Software trigger regdma to perform modem link backup 37 */ 38 void pau_regdma_trigger_modem_link_backup(void); 39 40 /** 41 * @brief Software trigger regdma to perform modem link restore 42 */ 43 void pau_regdma_trigger_modem_link_restore(void); 44 #endif 45 46 #if SOC_PM_RETENTION_SW_TRIGGER_REGDMA 47 /** 48 * @brief Set the address of system REGDMA Link in active state 49 * @param link_addr linked lists address 50 */ 51 void pau_regdma_set_system_link_addr(void *link_addr); 52 53 /** 54 * @brief Software trigger regdma to perform system link backup 55 */ 56 void pau_regdma_trigger_system_link_backup(void); 57 58 /** 59 * @brief Software trigger regdma to perform system link restore 60 */ 61 void pau_regdma_trigger_system_link_restore(void); 62 #endif 63 64 /** 65 * @brief Set the address of extra REGDMA Link in active state 66 * @param link_addr linked lists address 67 */ 68 void pau_regdma_set_extra_link_addr(void *link_addr); 69 70 /** 71 * @brief Software trigger regdma to perform extra link backup 72 */ 73 void pau_regdma_trigger_extra_link_backup(void); 74 75 /** 76 * @brief Software trigger regdma to perform extra link restore 77 */ 78 void pau_regdma_trigger_extra_link_restore(void); 79 80 #ifdef __cplusplus 81 } 82 #endif 83 84 #endif //SOC_PAU_SUPPORTED 85