1 /**
2   ******************************************************************************
3   * @file    stm32n6xx_ll_venc.h
4   * @author  GPM Application Team
5   * @brief   Header file of VENC module.
6   ******************************************************************************
7   * @attention
8   *
9   * Copyright (c) 2023 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 
19 /* Define to prevent recursive inclusion -------------------------------------*/
20 #ifndef STM32N6xx_LL_VENC_H
21 #define STM32N6xx_LL_VENC_H
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif /* __cplusplus */
26 
27 /* Includes ------------------------------------------------------------------*/
28 #include "stm32n6xx.h"
29 
30 /** @addtogroup STM32N6xx_LL_Driver
31   * @{
32   */
33 
34 /** @defgroup VENC_LL VENC
35   * @{
36   */
37 
38 #if defined(VENC)
39 /* Exported types ------------------------------------------------------------*/
40 /** @defgroup VENC_Exported_Types VENC Exported Types
41   * @{
42 
43   */
44 
45 /**
46   * @}
47   */
48 
49 /* Exported constants --------------------------------------------------------*/
50 /** @defgroup VENC_Exported_Constants VENC Exported Constants
51   * @{
52 
53   */
54 /**
55   * @}
56   */
57 
58 
59 /* Exported variables --------------------------------------------------------*/
60 /** @defgroup VENC_Global_Variables VENC Global Variables
61   * @{
62   */
63 
64 /**
65   * @}
66   */
67 
68 /* Exported macros -----------------------------------------------------------*/
69 /** @defgroup VENC_Exported_Macros VENC Exported Macros
70   * @{
71   */
72 
73 #define LL_VENC_IS_VENCRAM_SYSTEM_ACCESSIBLE() ((SYSCFG->VENCRAMCR & 0b1)!=0)
74 /** @defgroup RCC_LL_EM_WRITE_READ Common Write and read registers Macros
75   * @{
76   */
77 
78 #define VENC_REG(x) (*(__IO uint32_t *) (VENC_BASE + (4UL*(x))))
79 /**
80   * @brief  Write a value in VENC register
81   * @param  __REG__ Number of the register to be written
82   * @param  __VALUE__ Value to be written in the register
83   * @retval None
84   */
85 #define LL_VENC_WriteRegister(__REG__, __VALUE__) WRITE_REG(VENC_REG(__REG__), (__VALUE__))
86 
87 /**
88   * @brief  Read a value in VENC register
89   * @param  __REG__ Number of the register to be read
90   * @retval Register value
91   */
92 #define LL_VENC_ReadRegister(__REG__) READ_REG(VENC_REG(__REG__))
93 /**
94   * @}
95   */
96 
97 
98 /**
99   * @}
100   */
101 
102 /* Exported functions --------------------------------------------------------*/
103 /** @defgroup VENC_Exported_Functions VENC Exported Functions
104   * @{
105   */
106 
107 /** @defgroup VENC_LL_EF_Init Init and De-Init functions
108   * @{
109   */
110 void LL_VENC_Init(void);
111 void LL_VENC_DeInit(void);
112 /**
113   * @}
114   */
115 
116 
117 /**
118   * @}
119   */
120 
121 
122 
123 
124 #ifdef __cplusplus
125 }
126 #endif /* __cplusplus */
127 
128 #endif /*VENC */
129 
130 /**
131   * @}
132   */
133 
134 /**
135   * @}
136   */
137 
138 #endif /* STM32N6xx_LL_VENC_H */
139