Move telemetry displayport init and cms device registering
[betaflight.git] / lib / main / STM32F3 / Drivers / STM32F30x_StdPeriph_Driver / inc / stm32f30x_pwr.h
blobcaffbbd1db4c1a2504706ceaa1997b39bd1b8e49
1 /**
2 ******************************************************************************
3 * @file stm32f30x_pwr.h
4 * @author MCD Application Team
5 * @version V1.1.1
6 * @date 04-April-2014
7 * @brief This file contains all the functions prototypes for the PWR firmware
8 * library.
9 ******************************************************************************
10 * @attention
12 * <h2><center>&copy; COPYRIGHT 2014 STMicroelectronics</center></h2>
14 * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
15 * You may not use this file except in compliance with the License.
16 * You may obtain a copy of the License at:
18 * http://www.st.com/software_license_agreement_liberty_v2
20 * Unless required by applicable law or agreed to in writing, software
21 * distributed under the License is distributed on an "AS IS" BASIS,
22 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23 * See the License for the specific language governing permissions and
24 * limitations under the License.
26 ******************************************************************************
29 /* Define to prevent recursive inclusion -------------------------------------*/
30 #ifndef __STM32F30x_PWR_H
31 #define __STM32F30x_PWR_H
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
37 /* Includes ------------------------------------------------------------------*/
38 #include "stm32f30x.h"
40 /** @addtogroup STM32F30x_StdPeriph_Driver
41 * @{
44 /** @addtogroup PWR
45 * @{
46 */
48 /* Exported types ------------------------------------------------------------*/
49 /* Exported constants --------------------------------------------------------*/
51 /** @defgroup PWR_Exported_Constants
52 * @{
53 */
55 /** @defgroup PWR_PVD_detection_level
56 * @{
57 */
59 #define PWR_PVDLevel_0 PWR_CR_PLS_LEV0
60 #define PWR_PVDLevel_1 PWR_CR_PLS_LEV1
61 #define PWR_PVDLevel_2 PWR_CR_PLS_LEV2
62 #define PWR_PVDLevel_3 PWR_CR_PLS_LEV3
63 #define PWR_PVDLevel_4 PWR_CR_PLS_LEV4
64 #define PWR_PVDLevel_5 PWR_CR_PLS_LEV5
65 #define PWR_PVDLevel_6 PWR_CR_PLS_LEV6
66 #define PWR_PVDLevel_7 PWR_CR_PLS_LEV7
68 #define IS_PWR_PVD_LEVEL(LEVEL) (((LEVEL) == PWR_PVDLevel_0) || ((LEVEL) == PWR_PVDLevel_1)|| \
69 ((LEVEL) == PWR_PVDLevel_2) || ((LEVEL) == PWR_PVDLevel_3)|| \
70 ((LEVEL) == PWR_PVDLevel_4) || ((LEVEL) == PWR_PVDLevel_5)|| \
71 ((LEVEL) == PWR_PVDLevel_6) || ((LEVEL) == PWR_PVDLevel_7))
72 /**
73 * @}
76 /** @defgroup PWR_WakeUp_Pins
77 * @{
80 #define PWR_WakeUpPin_1 PWR_CSR_EWUP1
81 #define PWR_WakeUpPin_2 PWR_CSR_EWUP2
82 #define PWR_WakeUpPin_3 PWR_CSR_EWUP3
83 #define IS_PWR_WAKEUP_PIN(PIN) (((PIN) == PWR_WakeUpPin_1) || \
84 ((PIN) == PWR_WakeUpPin_2) || \
85 ((PIN) == PWR_WakeUpPin_3))
86 /**
87 * @}
91 /** @defgroup PWR_Regulator_state_is_Sleep_STOP_mode
92 * @{
95 #define PWR_Regulator_ON ((uint32_t)0x00000000)
96 #define PWR_Regulator_LowPower PWR_CR_LPSDSR
97 #define IS_PWR_REGULATOR(REGULATOR) (((REGULATOR) == PWR_Regulator_ON) || \
98 ((REGULATOR) == PWR_Regulator_LowPower))
99 /**
100 * @}
103 /** @defgroup PWR_SLEEP_mode_entry
104 * @{
107 #define PWR_SLEEPEntry_WFI ((uint8_t)0x01)
108 #define PWR_SLEEPEntry_WFE ((uint8_t)0x02)
109 #define IS_PWR_SLEEP_ENTRY(ENTRY) (((ENTRY) == PWR_SLEEPEntry_WFI) || ((ENTRY) == PWR_SLEEPEntry_WFE))
112 * @}
115 /** @defgroup PWR_STOP_mode_entry
116 * @{
119 #define PWR_STOPEntry_WFI ((uint8_t)0x01)
120 #define PWR_STOPEntry_WFE ((uint8_t)0x02)
121 #define IS_PWR_STOP_ENTRY(ENTRY) (((ENTRY) == PWR_STOPEntry_WFI) || ((ENTRY) == PWR_STOPEntry_WFE))
124 * @}
127 /** @defgroup PWR_Flag
128 * @{
131 #define PWR_FLAG_WU PWR_CSR_WUF
132 #define PWR_FLAG_SB PWR_CSR_SBF
133 #define PWR_FLAG_PVDO PWR_CSR_PVDO
134 #define PWR_FLAG_VREFINTRDY PWR_CSR_VREFINTRDYF
136 #define IS_PWR_GET_FLAG(FLAG) (((FLAG) == PWR_FLAG_WU) || ((FLAG) == PWR_FLAG_SB) || \
137 ((FLAG) == PWR_FLAG_PVDO) || ((FLAG) == PWR_FLAG_VREFINTRDY))
139 #define IS_PWR_CLEAR_FLAG(FLAG) (((FLAG) == PWR_FLAG_WU) || ((FLAG) == PWR_FLAG_SB))
141 * @}
145 * @}
148 /* Exported macro ------------------------------------------------------------*/
149 /* Exported functions ------------------------------------------------------- */
151 /* Function used to set the PWR configuration to the default reset state ******/
152 void PWR_DeInit(void);
154 /* Backup Domain Access function **********************************************/
155 void PWR_BackupAccessCmd(FunctionalState NewState);
157 /* PVD configuration functions ************************************************/
158 void PWR_PVDLevelConfig(uint32_t PWR_PVDLevel);
159 void PWR_PVDCmd(FunctionalState NewState);
161 /* WakeUp pins configuration functions ****************************************/
162 void PWR_WakeUpPinCmd(uint32_t PWR_WakeUpPin, FunctionalState NewState);
164 /* Low Power modes configuration functions ************************************/
165 void PWR_EnterSleepMode(uint8_t PWR_SLEEPEntry);
166 void PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry);
167 void PWR_EnterSTANDBYMode(void);
169 /* Flags management functions *************************************************/
170 FlagStatus PWR_GetFlagStatus(uint32_t PWR_FLAG);
171 void PWR_ClearFlag(uint32_t PWR_FLAG);
173 #ifdef __cplusplus
175 #endif
177 #endif /* __STM32F30x_PWR_H */
180 * @}
184 * @}
187 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/