1 /**
2   ******************************************************************************
3   * @file    tae32f53xx_ll_fpll.h
4   * @author  MCD Application Team
5   * @brief   Header file for FPLL LL Module
6   *
7   ******************************************************************************
8   * @attention
9   *
10   * <h2><center>&copy; Copyright (c) 2020 Tai-Action.
11   * All rights reserved.</center></h2>
12   *
13   * This software is licensed by Tai-Action under BSD 3-Clause license,
14   * the "License"; You may not use this file except in compliance with the
15   * License. You may obtain a copy of the License at:
16   *                        opensource.org/licenses/BSD-3-Clause
17   *
18   ******************************************************************************
19   */
20 
21 /* Define to prevent recursive inclusion -------------------------------------*/
22 #ifndef _TAE32F53XX_LL_FPLL_H_
23 #define _TAE32F53XX_LL_FPLL_H_
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif /* __cplusplus */
28 
29 /* Includes ------------------------------------------------------------------*/
30 #include "tae32f53xx_ll_def.h"
31 
32 
33 /** @addtogroup TAE32F53xx_LL_Driver
34   * @{
35   */
36 
37 /** @addtogroup FPLL_LL
38   * @{
39   */
40 
41 
42 /* Exported types ------------------------------------------------------------*/
43 /* Exported constants --------------------------------------------------------*/
44 /* Exported macro ------------------------------------------------------------*/
45 /** @defgroup FPLL_LL_Exported_Macros FPLL LL Exported Macros
46   * @brief    FPLL LL Exported Macros
47   * @{
48   */
49 
50 /**
51   * @brief  FPLL Enable
52   * @param  __FPLL__ Specifies FPLL peripheral
53   * @return None
54   */
55 #define __LL_FPLL_En(__FPLL__)                  SET_BIT((__FPLL__)->FCR, FPLL_EN_Msk)
56 
57 /**
58   * @brief  FPLL Disable
59   * @param  __FPLL__ Specifies FPLL peripheral
60   * @return None
61   */
62 #define __LL_FPLL_Dis(__FPLL__)                 CLEAR_BIT((__FPLL__)->FCR, FPLL_EN_Msk)
63 
64 /**
65   * @brief  FPLL Start
66   * @param  __FPLL__ Specifies FPLL peripheral
67   * @return None
68   */
69 #define __LL_FPLL_Start(__FPLL__)               SET_BIT((__FPLL__)->FCR, FPLL_START_Msk)
70 
71 
72 /**
73   * @brief  FPLL Div Integer Set
74   * @param  __FPLL__ Specifies FPLL peripheral
75   * @param  integer FPLL Div Integer
76   * @return None
77   */
78 #define __LL_FPLL_DivInt_Set(__FPLL__, integer) \
79         MODIFY_REG((__FPLL__)->FDR, FPLL_DIV_INT_Msk, ((integer & 0x3fffUL) << FPLL_DIV_INT_Pos))
80 
81 /**
82   * @brief  FPLL Div Fraction Set
83   * @param  __FPLL__ Specifies FPLL peripheral
84   * @param  frac FPLL Div Fraction
85   * @return None
86   */
87 #define __LL_FPLL_DivFrac_Set(__FPLL__, frac)   \
88         MODIFY_REG((__FPLL__)->FDR, FPLL_DIV_FRAC_Msk, ((frac & 0xffffUL) << FPLL_DIV_FRAC_Pos))
89 /**
90   * @}
91   */
92 
93 
94 /* Exported functions --------------------------------------------------------*/
95 /** @addtogroup FPLL_LL_Exported_Functions
96   * @{
97   */
98 
99 /** @addtogroup FPLL_LL_Exported_Functions_Group1
100   * @{
101   */
102 LL_StatusETypeDef LL_FPLL_Init(FPLL_TypeDef *Instance);
103 LL_StatusETypeDef LL_FPLL_DeInit(FPLL_TypeDef *Instance);
104 void LL_FPLL_MspInit(FPLL_TypeDef *Instance);
105 void LL_FPLL_MspDeInit(FPLL_TypeDef *Instance);
106 /**
107   * @}
108   */
109 
110 
111 /** @addtogroup FPLL_LL_Exported_Functions_Group2
112   * @{
113   */
114 LL_StatusETypeDef LL_FPLL_DivStart(FPLL_TypeDef *Instance, uint16_t integer, uint16_t frac);
115 /**
116   * @}
117   */
118 
119 /**
120   * @}
121   */
122 
123 
124 /* Private types -------------------------------------------------------------*/
125 /* Private variables ---------------------------------------------------------*/
126 /* Private constants ---------------------------------------------------------*/
127 /* Private macros ------------------------------------------------------------*/
128 /* Private functions ---------------------------------------------------------*/
129 
130 /**
131   * @}
132   */
133 
134 /**
135   * @}
136   */
137 
138 
139 #ifdef __cplusplus
140 }
141 #endif /* __cplusplus */
142 
143 
144 #endif /* _TAE32F53XX_LL_FPLL_H_ */
145 
146 
147 /************************* (C) COPYRIGHT Tai-Action *****END OF FILE***********/
148 
149