forked from zephyrproject-rtos/hal_stm32
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstm32h7rsxx_ll_dlyb.h
More file actions
143 lines (111 loc) · 3.22 KB
/
stm32h7rsxx_ll_dlyb.h
File metadata and controls
143 lines (111 loc) · 3.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
/**
******************************************************************************
* @file stm32h7rsxx_ll_dlyb.h
* @author MCD Application Team
* @brief Header file of DelayBlock module.
******************************************************************************
* @attention
*
* Copyright (c) 2022 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.
*
******************************************************************************
*/
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef STM32H7RSxx_LL_DLYB_H
#define STM32H7RSxx_LL_DLYB_H
#ifdef __cplusplus
extern "C" {
#endif
/* Includes ------------------------------------------------------------------*/
#include "stm32h7rsxx_hal_def.h"
/** @addtogroup STM32H7RSxx_LL_Driver
* @{
*/
#if defined(HAL_SD_MODULE_ENABLED)
#if defined (DLYB_SDMMC1) || defined (DLYB_SDMMC2)
/* Exported types ------------------------------------------------------------*/
/** @defgroup DLYB_LL DLYB
* @{
*/
/**
* @brief DLYB Configuration Structure definition
*/
typedef struct
{
uint32_t Units; /*!< Specifies the Delay of a unit delay cell.
This parameter can be a value between 0 and DLYB_MAX_UNIT */
uint32_t PhaseSel; /*!< Specifies the Phase for the output clock.
This parameter can be a value between 0 and DLYB_MAX_SELECT */
} LL_DLYB_CfgTypeDef;
/* Exported constants --------------------------------------------------------*/
/** @defgroup DLYB_Exported_Constants DLYB Exported Constants
* @{
*/
#define DLYB_MAX_UNIT ((uint32_t)0x00000080U) /*!< Max UNIT value (128) */
#define DLYB_MAX_SELECT ((uint32_t)0x0000000CU) /*!< Max SELECT value (12) */
/**
* @}
*/
/** @defgroup DLYB_LL_Flags DLYB Flags
* @{
*/
#define DLYB_FLAG_LNGF DLYB_CFGR_LNGF
/**
* @}
*/
/* Exported functions --------------------------------------------------------*/
/** @defgroup DLYB_LL_Exported_Functions DLYB Exported Functions
* @{
*/
/** @defgroup DLYB_LL_Configuration Configuration functions
* @{
*/
/**
* @brief DLYB Enable
* @param DLYBx DLYB Instance
* @retval None
*/
__STATIC_INLINE void LL_DLYB_Enable(DLYB_TypeDef *DLYBx)
{
SET_BIT(DLYBx->CR, DLYB_CR_DEN);
}
/** @brief Disable the DLYB.
* @param DLYBx DLYB Instance.
* @retval None
*/
__STATIC_INLINE void LL_DLYB_Disable(DLYB_TypeDef *DLYBx)
{
CLEAR_BIT(DLYBx->CR, DLYB_CR_DEN);
}
/**
* @}
*/
/** @defgroup DLYB_Control_Functions DLYB Control functions
* @{
*/
void LL_DLYB_SetDelay(DLYB_TypeDef *DLYBx, LL_DLYB_CfgTypeDef *pdlyb_cfg);
void LL_DLYB_GetDelay(DLYB_TypeDef *DLYBx, LL_DLYB_CfgTypeDef *pdlyb_cfg);
uint32_t LL_DLYB_GetClockPeriod(DLYB_TypeDef *DLYBx, LL_DLYB_CfgTypeDef *pdlyb_cfg);
/**
* @}
*/
/**
* @}
*/
/**
* @}
*/
#endif /* DLYB_SDMMC1 || DLYB_SDMMC2 */
#endif /* HAL_SD_MODULE_ENABLED */
/**
* @}
*/
#ifdef __cplusplus
}
#endif
#endif /* STM32H7RSxx_LL_DLYB_H */