RTEMS  5.1
stm32f4xxxx_pwr.h
1 /*
2  * Copyright (c) 2013 Chris Nott. All rights reserved.
3  *
4  * Virtual Logic
5  * 21-25 King St.
6  * Rockdale NSW 2216
7  * Australia
8  * <rtems@vl.com.au>
9  *
10  * The license and distribution terms for this file may be
11  * found in the file LICENSE in this distribution or at
12  * http://www.rtems.org/license/LICENSE.
13  */
14 
15 #ifndef LIBBSP_ARM_STM32F4_STM32F4XXXX_PWR_H
16 #define LIBBSP_ARM_STM32F4_STM32F4XXXX_PWR_H
17 
18 #include <bsp/utility.h>
19 
20 struct stm32f4_pwr_s {
21 
22  uint32_t cr; // Control register
23 #define STM32F4_PWR_CR_VOS BSP_BIT32(14) // Regulator scaling output selection
24 #define STM32F4_PWR_CR_FPDS BSP_BIT32(9) // Flash power-down in stop mode
25 #define STM32F4_PWR_CR_DBP BSP_BIT32(8) // Disable backup domain write protection
26 #define STM32F4_PWR_CR_PLS BSP_FLD32(val, 5, 7) // PVD level selection
27 #define STM32F4_PWR_CR_PLS_GET(reg) BSP_FLD32GET(reg, 5, 7)
28 #define STM32F4_PWR_CR_PLS_SET(reg, val) BSP_FLD32SET(reg, val, 5, 7)
29 #define STM32F4_PWR_CR_PVDE BSP_BIT32(4) // Power voltage detector enable
30 #define STM32F4_PWR_CR_CSBF BSP_BIT32(3) // Clear standby flag
31 #define STM32F4_PWR_CR_CWUF BSP_BIT32(2) // Clear wakeup flag
32 #define STM32F4_PWR_CR_PDDS BSP_BIT32(1) // Power-down deepsleep
33 #define STM32F4_PWR_CR_LPDS BSP_BIT32(0) // Low-power deepsleep
34 
35  uint32_t csr; // Control / status register
36 #define STM32F4_PWR_CSR_VOSRDY BSP_BIT32(14) // Regulator voltage scaling output selection ready bit
37 #define STM32F4_PWR_CSR_BRE BSP_BIT32(9) // Backup domain regulator enable
38 #define STM32F4_PWR_CSR_EWUP BSP_BIT32(8) // Enable WKUP pin
39 #define STM32F4_PWR_CSR_BRR BSP_BIT32(3) // Backup regulator ready
40 #define STM32F4_PWR_CSR_PVDO BSP_BIT32(2) // PVD output
41 #define STM32F4_PWR_CSR_SBF BSP_BIT32(1) // Standby flag
42 #define STM32F4_PWR_CSR_WUF BSP_BIT32(0) // Wakeup flag
43 
44 } __attribute__ ((packed));
45 typedef struct stm32f4_pwr_s stm32f4_pwr;
46 
47 #endif /* LIBBSP_ARM_STM32F4_STM32F4XXXX_PWR_H */
Utility macros.
typedef __attribute__
Disable IRQ Interrupts.
Definition: cmsis_gcc.h:69
Definition: stm32f4xxxx_pwr.h:20