1 /*
2  * SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #pragma once
8 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 #include <stdint.h>
14 #include "soc/soc_caps.h"
15 
16 /**
17  * @brief PMU modes of HP system
18  */
19 typedef enum {
20     PMU_MODE_HP_ACTIVE = 0, /*!< PMU in HP_ACTIVE mode */
21     PMU_MODE_HP_MODEM,      /*!< PMU in HP_MODEM mode */
22     PMU_MODE_HP_SLEEP,      /*!< PMU in HP_SLEEP mode */
23     PMU_MODE_HP_MAX,
24 } pmu_hp_mode_t;
25 
26 /**
27  * @brief PMU modes of LP system
28  */
29 typedef enum {
30     PMU_MODE_LP_ACTIVE = 0, /*!< PMU in LP_ACTIVE mode */
31     PMU_MODE_LP_SLEEP,      /*!< PMU in LP_SLEEP mode */
32     PMU_MODE_LP_MAX,
33 } pmu_lp_mode_t;
34 
35 typedef enum {
36     PMU_HP_PD_TOP = 0,      /*!< Power domain of digital top */
37 #if SOC_PM_SUPPORT_HP_AON_PD
38     PMU_HP_PD_HP_AON = 1,   /*!< Power domain of always-on */
39 #endif
40     PMU_HP_PD_CPU = 2,      /*!< Power domain of HP CPU */
41     PMU_HP_PD_RESERVED = 3, /*!< Reserved power domain */
42     PMU_HP_PD_WIFI = 4,     /*!< Power domain of WIFI */
43 } pmu_hp_power_domain_t;
44 
45 #ifdef __cplusplus
46 }
47 #endif
48