1 /** 2 ****************************************************************************** 3 * @file stm32l1xx_ll_crc.c 4 * @author MCD Application Team 5 * @brief CRC LL module driver. 6 ****************************************************************************** 7 * @attention 8 * 9 * <h2><center>© Copyright (c) 2017 STMicroelectronics. 10 * All rights reserved.</center></h2> 11 * 12 * This software component is licensed by ST under BSD 3-Clause license, 13 * the "License"; You may not use this file except in compliance with the 14 * License. You may obtain a copy of the License at: 15 * opensource.org/licenses/BSD-3-Clause 16 * 17 ****************************************************************************** 18 */ 19 #if defined(USE_FULL_LL_DRIVER) 20 21 /* Includes ------------------------------------------------------------------*/ 22 #include "stm32l1xx_ll_crc.h" 23 #include "stm32l1xx_ll_bus.h" 24 25 #ifdef USE_FULL_ASSERT 26 #include "stm32_assert.h" 27 #else 28 #define assert_param(expr) ((void)0U) 29 #endif/* USE_FULL_ASSERT */ 30 31 /** @addtogroup STM32L1xx_LL_Driver 32 * @{ 33 */ 34 35 #if defined (CRC) 36 37 /** @addtogroup CRC_LL 38 * @{ 39 */ 40 41 /* Private types -------------------------------------------------------------*/ 42 /* Private variables ---------------------------------------------------------*/ 43 /* Private constants ---------------------------------------------------------*/ 44 /* Private macros ------------------------------------------------------------*/ 45 /* Private function prototypes -----------------------------------------------*/ 46 47 /* Exported functions --------------------------------------------------------*/ 48 /** @addtogroup CRC_LL_Exported_Functions 49 * @{ 50 */ 51 52 /** @addtogroup CRC_LL_EF_Init 53 * @{ 54 */ 55 56 /** 57 * @brief De-initialize CRC registers (Registers restored to their default values). 58 * @param CRCx CRC Instance 59 * @retval An ErrorStatus enumeration value: 60 * - SUCCESS: CRC registers are de-initialized 61 * - ERROR: CRC registers are not de-initialized 62 */ LL_CRC_DeInit(CRC_TypeDef * CRCx)63ErrorStatus LL_CRC_DeInit(CRC_TypeDef *CRCx) 64 { 65 ErrorStatus status = SUCCESS; 66 67 /* Check the parameters */ 68 assert_param(IS_CRC_ALL_INSTANCE(CRCx)); 69 70 if (CRCx == CRC) 71 { 72 /* Force CRC reset */ 73 LL_AHB1_GRP1_ForceReset(LL_AHB1_GRP1_PERIPH_CRC); 74 75 /* Release CRC reset */ 76 LL_AHB1_GRP1_ReleaseReset(LL_AHB1_GRP1_PERIPH_CRC); 77 } 78 else 79 { 80 status = ERROR; 81 } 82 83 return (status); 84 } 85 86 /** 87 * @} 88 */ 89 90 /** 91 * @} 92 */ 93 94 /** 95 * @} 96 */ 97 98 #endif /* defined (CRC) */ 99 100 /** 101 * @} 102 */ 103 104 #endif /* USE_FULL_LL_DRIVER */ 105 106 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 107 108