summaryrefslogtreecommitdiffstats
path: root/bsps/arm/stm32h7/hal/stm32h7xx_ll_cordic.c
diff options
context:
space:
mode:
Diffstat (limited to 'bsps/arm/stm32h7/hal/stm32h7xx_ll_cordic.c')
-rw-r--r--bsps/arm/stm32h7/hal/stm32h7xx_ll_cordic.c102
1 files changed, 102 insertions, 0 deletions
diff --git a/bsps/arm/stm32h7/hal/stm32h7xx_ll_cordic.c b/bsps/arm/stm32h7/hal/stm32h7xx_ll_cordic.c
new file mode 100644
index 0000000000..85fb7b704a
--- /dev/null
+++ b/bsps/arm/stm32h7/hal/stm32h7xx_ll_cordic.c
@@ -0,0 +1,102 @@
+/**
+ ******************************************************************************
+ * @file stm32h7xx_ll_cordic.c
+ * @author MCD Application Team
+ * @brief CORDIC LL module driver.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2017 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm32h7xx_ll_cordic.h"
+#include "stm32h7xx_ll_bus.h"
+#ifdef USE_FULL_ASSERT
+#include "stm32_assert.h"
+#else
+#define assert_param(expr) ((void)0U)
+#endif /* USE_FULL_ASSERT */
+
+/** @addtogroup STM32H7xx_LL_Driver
+ * @{
+ */
+
+#if defined(CORDIC)
+
+/** @addtogroup CORDIC_LL
+ * @{
+ */
+
+/* Private types -------------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+/* Private constants ---------------------------------------------------------*/
+/* Private macros ------------------------------------------------------------*/
+/* Private function prototypes -----------------------------------------------*/
+
+/* Exported functions --------------------------------------------------------*/
+/** @addtogroup CORDIC_LL_Exported_Functions
+ * @{
+ */
+
+/** @addtogroup CORDIC_LL_EF_Init
+ * @{
+ */
+
+/**
+ * @brief De-Initialize CORDIC peripheral registers to their default reset values.
+ * @param CORDICx CORDIC Instance
+ * @retval An ErrorStatus enumeration value:
+ * - SUCCESS: CORDIC registers are de-initialized
+ * - ERROR: CORDIC registers are not de-initialized
+ */
+ErrorStatus LL_CORDIC_DeInit(const CORDIC_TypeDef *CORDICx)
+{
+ ErrorStatus status = SUCCESS;
+
+ /* Check the parameters */
+ assert_param(IS_CORDIC_ALL_INSTANCE(CORDICx));
+
+ if (CORDICx == CORDIC)
+ {
+ /* Force CORDIC reset */
+ LL_AHB2_GRP1_ForceReset(LL_AHB2_GRP1_PERIPH_CORDIC);
+
+ /* Release CORDIC reset */
+ LL_AHB2_GRP1_ReleaseReset(LL_AHB2_GRP1_PERIPH_CORDIC);
+ }
+ else
+ {
+ status = ERROR;
+ }
+
+ return (status);
+}
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+#endif /* defined(CORDIC) */
+
+/**
+ * @}
+ */
+
+#endif /* USE_FULL_LL_DRIVER */