1 /** 2 ****************************************************************************** 3 * @file stm32wbxx_ll_crc.c 4 * @author MCD Application Team 5 * @brief CRC LL module driver. 6 ****************************************************************************** 7 * @attention 8 * 9 * Copyright (c) 2019 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 #if defined(USE_FULL_LL_DRIVER) 19 20 /* Includes ------------------------------------------------------------------*/ 21 #include "stm32wbxx_ll_crc.h" 22 #include "stm32wbxx_ll_bus.h" 23 24 #ifdef USE_FULL_ASSERT 25 #include "stm32_assert.h" 26 #else 27 #define assert_param(expr) ((void)0U) 28 #endif /* USE_FULL_ASSERT */ 29 30 /** @addtogroup STM32WBxx_LL_Driver 31 * @{ 32 */ 33 34 #if defined (CRC) 35 36 /** @addtogroup CRC_LL 37 * @{ 38 */ 39 40 /* Private types -------------------------------------------------------------*/ 41 /* Private variables ---------------------------------------------------------*/ 42 /* Private constants ---------------------------------------------------------*/ 43 /* Private macros ------------------------------------------------------------*/ 44 /* Private function prototypes -----------------------------------------------*/ 45 46 /* Exported functions --------------------------------------------------------*/ 47 /** @addtogroup CRC_LL_Exported_Functions 48 * @{ 49 */ 50 51 /** @addtogroup CRC_LL_EF_Init 52 * @{ 53 */ 54 55 /** 56 * @brief De-initialize CRC registers (Registers restored to their default values). 57 * @param CRCx CRC Instance 58 * @retval An ErrorStatus enumeration value: 59 * - SUCCESS: CRC registers are de-initialized 60 * - ERROR: CRC registers are not de-initialized 61 */ LL_CRC_DeInit(const CRC_TypeDef * CRCx)62ErrorStatus LL_CRC_DeInit(const CRC_TypeDef *CRCx) 63 { 64 ErrorStatus status = SUCCESS; 65 66 /* Check the parameters */ 67 assert_param(IS_CRC_ALL_INSTANCE(CRCx)); 68 69 if (CRCx == CRC) 70 { 71 /* Force CRC reset */ 72 LL_AHB1_GRP1_ForceReset(LL_AHB1_GRP1_PERIPH_CRC); 73 74 /* Release CRC reset */ 75 LL_AHB1_GRP1_ReleaseReset(LL_AHB1_GRP1_PERIPH_CRC); 76 } 77 else 78 { 79 status = ERROR; 80 } 81 82 return (status); 83 } 84 85 /** 86 * @} 87 */ 88 89 /** 90 * @} 91 */ 92 93 /** 94 * @} 95 */ 96 97 #endif /* defined (CRC) */ 98 99 /** 100 * @} 101 */ 102 103 #endif /* USE_FULL_LL_DRIVER */ 104