1 /**
2   ******************************************************************************
3   * @file    stm32u5xx_ll_pwr.c
4   * @author  MCD Application Team
5   * @brief   PWR LL module driver.
6   ******************************************************************************
7   * @attention
8   *
9   * Copyright (c) 2021 STMicroelectronics.
10   * All rights reserved.
11   *
12   * This software is licensed under terms that can be found in the LICENSE file
13   * in the root directory of this software component.
14   * If no LICENSE file comes with this software, it is provided AS-IS.
15   *
16   ******************************************************************************
17   */
18 
19 #if defined (USE_FULL_LL_DRIVER)
20 
21 /* Includes ------------------------------------------------------------------*/
22 #include "stm32u5xx_ll_pwr.h"
23 
24 /** @addtogroup STM32U5xx_LL_Driver
25   * @{
26   */
27 
28 #if defined (PWR)
29 
30 /** @defgroup PWR_LL PWR
31   * @{
32   */
33 
34 /* Private types -------------------------------------------------------------*/
35 /* Private variables ---------------------------------------------------------*/
36 /* Private constants ---------------------------------------------------------*/
37 /* Private macros ------------------------------------------------------------*/
38 /* Private function prototypes -----------------------------------------------*/
39 /* Exported functions --------------------------------------------------------*/
40 
41 /** @addtogroup PWR_LL_Exported_Functions
42   * @{
43   */
44 
45 /** @addtogroup PWR_LL_EF_Init
46   * @{
47   */
48 
49 /**
50   * @brief  De-initialize the PWR registers to their default reset values.
51   * @retval An ErrorStatus enumeration value:
52   *          - SUCCESS : PWR registers are de-initialized.
53   *          - ERROR   : not applicable.
54   */
LL_PWR_DeInit(void)55 ErrorStatus LL_PWR_DeInit(void)
56 {
57   /* Clear PWR low power flags */
58   LL_PWR_ClearFlag_STOP();
59 
60   /* Clear PWR wake up flags */
61   LL_PWR_ClearFlag_WU();
62 
63   /* Reset privilege attribute for nsecure attribute */
64   LL_PWR_DisableNSecurePrivilege();
65 
66 #if defined (__ARM_FEATURE_CMSE) &&  (__ARM_FEATURE_CMSE == 3U)
67   /* Reset privilege attribute for nsecure attribute */
68   LL_PWR_DisableSecurePrivilege();
69 
70   /* Reset secure attribute */
71   LL_PWR_ConfigSecure(0);
72 #endif /* defined (__ARM_FEATURE_CMSE) &&  (__ARM_FEATURE_CMSE == 3U) */
73 
74   return SUCCESS;
75 }
76 
77 /**
78   * @}
79   */
80 
81 /**
82   * @}
83   */
84 
85 /**
86   * @}
87   */
88 #endif /* defined(PWR) */
89 /**
90   * @}
91   */
92 
93 #endif /* defined (USE_FULL_LL_DRIVER) */
94