1 /**
2   ******************************************************************************
3   * @file    stm32l4xx_ll_dmamux.h
4   * @author  MCD Application Team
5   * @brief   Header file of DMAMUX LL module.
6   ******************************************************************************
7   * @attention
8   *
9   * Copyright (c) 2017 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 STM32L4xx_LL_DMAMUX_H
21 #define STM32L4xx_LL_DMAMUX_H
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 /* Includes ------------------------------------------------------------------*/
28 #include "stm32l4xx.h"
29 
30 /** @addtogroup STM32L4xx_LL_Driver
31   * @{
32   */
33 
34 #if defined (DMAMUX1)
35 
36 /** @defgroup DMAMUX_LL DMAMUX
37   * @{
38   */
39 
40 /* Private types -------------------------------------------------------------*/
41 /* Private variables ---------------------------------------------------------*/
42 /* Private constants ---------------------------------------------------------*/
43 /** @defgroup DMAMUX_LL_Private_Constants DMAMUX Private Constants
44   * @{
45   */
46 /* Define used to get DMAMUX CCR register size */
47 #define DMAMUX_CCR_SIZE                   0x00000004UL
48 
49 /* Define used to get DMAMUX RGCR register size */
50 #define DMAMUX_RGCR_SIZE                  0x00000004UL
51 /**
52   * @}
53   */
54 
55 /* Private macros ------------------------------------------------------------*/
56 /* Exported types ------------------------------------------------------------*/
57 /* Exported constants --------------------------------------------------------*/
58 /** @defgroup DMAMUX_LL_Exported_Constants DMAMUX Exported Constants
59   * @{
60   */
61 /** @defgroup DMAMUX_LL_EC_CLEAR_FLAG Clear Flags Defines
62   * @brief    Flags defines which can be used with LL_DMAMUX_WriteReg function
63   * @{
64   */
65 #define LL_DMAMUX_CFR_CSOF0               DMAMUX_CFR_CSOF0       /*!< Synchronization Event Overrun Flag Channel 0  */
66 #define LL_DMAMUX_CFR_CSOF1               DMAMUX_CFR_CSOF1       /*!< Synchronization Event Overrun Flag Channel 1  */
67 #define LL_DMAMUX_CFR_CSOF2               DMAMUX_CFR_CSOF2       /*!< Synchronization Event Overrun Flag Channel 2  */
68 #define LL_DMAMUX_CFR_CSOF3               DMAMUX_CFR_CSOF3       /*!< Synchronization Event Overrun Flag Channel 3  */
69 #define LL_DMAMUX_CFR_CSOF4               DMAMUX_CFR_CSOF4       /*!< Synchronization Event Overrun Flag Channel 4  */
70 #define LL_DMAMUX_CFR_CSOF5               DMAMUX_CFR_CSOF5       /*!< Synchronization Event Overrun Flag Channel 5  */
71 #define LL_DMAMUX_CFR_CSOF6               DMAMUX_CFR_CSOF6       /*!< Synchronization Event Overrun Flag Channel 6  */
72 #define LL_DMAMUX_CFR_CSOF7               DMAMUX_CFR_CSOF7       /*!< Synchronization Event Overrun Flag Channel 7  */
73 #define LL_DMAMUX_CFR_CSOF8               DMAMUX_CFR_CSOF8       /*!< Synchronization Event Overrun Flag Channel 8  */
74 #define LL_DMAMUX_CFR_CSOF9               DMAMUX_CFR_CSOF9       /*!< Synchronization Event Overrun Flag Channel 9  */
75 #define LL_DMAMUX_CFR_CSOF10              DMAMUX_CFR_CSOF10      /*!< Synchronization Event Overrun Flag Channel 10 */
76 #define LL_DMAMUX_CFR_CSOF11              DMAMUX_CFR_CSOF11      /*!< Synchronization Event Overrun Flag Channel 11 */
77 #define LL_DMAMUX_CFR_CSOF12              DMAMUX_CFR_CSOF12      /*!< Synchronization Event Overrun Flag Channel 12 */
78 #define LL_DMAMUX_CFR_CSOF13              DMAMUX_CFR_CSOF13      /*!< Synchronization Event Overrun Flag Channel 13 */
79 #define LL_DMAMUX_RGCFR_RGCOF0            DMAMUX_RGCFR_COF0      /*!< Request Generator 0 Trigger Event Overrun Flag */
80 #define LL_DMAMUX_RGCFR_RGCOF1            DMAMUX_RGCFR_COF1      /*!< Request Generator 1 Trigger Event Overrun Flag */
81 #define LL_DMAMUX_RGCFR_RGCOF2            DMAMUX_RGCFR_COF2      /*!< Request Generator 2 Trigger Event Overrun Flag */
82 #define LL_DMAMUX_RGCFR_RGCOF3            DMAMUX_RGCFR_COF3      /*!< Request Generator 3 Trigger Event Overrun Flag */
83 /**
84   * @}
85   */
86 
87 /** @defgroup DMAMUX_LL_EC_GET_FLAG Get Flags Defines
88   * @brief    Flags defines which can be used with LL_DMAMUX_ReadReg function
89   * @{
90   */
91 #define LL_DMAMUX_CSR_SOF0                DMAMUX_CSR_SOF0       /*!< Synchronization Event Overrun Flag Channel 0  */
92 #define LL_DMAMUX_CSR_SOF1                DMAMUX_CSR_SOF1       /*!< Synchronization Event Overrun Flag Channel 1  */
93 #define LL_DMAMUX_CSR_SOF2                DMAMUX_CSR_SOF2       /*!< Synchronization Event Overrun Flag Channel 2  */
94 #define LL_DMAMUX_CSR_SOF3                DMAMUX_CSR_SOF3       /*!< Synchronization Event Overrun Flag Channel 3  */
95 #define LL_DMAMUX_CSR_SOF4                DMAMUX_CSR_SOF4       /*!< Synchronization Event Overrun Flag Channel 4  */
96 #define LL_DMAMUX_CSR_SOF5                DMAMUX_CSR_SOF5       /*!< Synchronization Event Overrun Flag Channel 5  */
97 #define LL_DMAMUX_CSR_SOF6                DMAMUX_CSR_SOF6       /*!< Synchronization Event Overrun Flag Channel 6  */
98 #define LL_DMAMUX_CSR_SOF7                DMAMUX_CSR_SOF7       /*!< Synchronization Event Overrun Flag Channel 7  */
99 #define LL_DMAMUX_CSR_SOF8                DMAMUX_CSR_SOF8       /*!< Synchronization Event Overrun Flag Channel 8  */
100 #define LL_DMAMUX_CSR_SOF9                DMAMUX_CSR_SOF9       /*!< Synchronization Event Overrun Flag Channel 9  */
101 #define LL_DMAMUX_CSR_SOF10               DMAMUX_CSR_SOF10      /*!< Synchronization Event Overrun Flag Channel 10 */
102 #define LL_DMAMUX_CSR_SOF11               DMAMUX_CSR_SOF11      /*!< Synchronization Event Overrun Flag Channel 11 */
103 #define LL_DMAMUX_CSR_SOF12               DMAMUX_CSR_SOF12      /*!< Synchronization Event Overrun Flag Channel 12 */
104 #define LL_DMAMUX_CSR_SOF13               DMAMUX_CSR_SOF13      /*!< Synchronization Event Overrun Flag Channel 13 */
105 #define LL_DMAMUX_RGSR_RGOF0              DMAMUX_RGSR_OF0       /*!< Request Generator 0 Trigger Event Overrun Flag */
106 #define LL_DMAMUX_RGSR_RGOF1              DMAMUX_RGSR_OF1       /*!< Request Generator 1 Trigger Event Overrun Flag */
107 #define LL_DMAMUX_RGSR_RGOF2              DMAMUX_RGSR_OF2       /*!< Request Generator 2 Trigger Event Overrun Flag */
108 #define LL_DMAMUX_RGSR_RGOF3              DMAMUX_RGSR_OF3       /*!< Request Generator 3 Trigger Event Overrun Flag */
109 /**
110   * @}
111   */
112 
113 /** @defgroup DMAMUX_LL_EC_IT IT Defines
114   * @brief    IT defines which can be used with LL_DMA_ReadReg and  LL_DMAMUX_WriteReg functions
115   * @{
116   */
117 #define LL_DMAMUX_CCR_SOIE                DMAMUX_CxCR_SOIE          /*!< Synchronization Event Overrun Interrupt */
118 #define LL_DMAMUX_RGCR_RGOIE              DMAMUX_RGxCR_OIE          /*!< Request Generation Trigger Event Overrun Interrupt    */
119 /**
120   * @}
121   */
122 
123 /** @defgroup DMAMUX_LL_EC_REQUEST Transfer request
124   * @{
125   */
126 #define LL_DMAMUX_REQ_MEM2MEM          0U   /*!< Memory to memory transfer  */
127 
128 #define LL_DMAMUX_REQ_GENERATOR0       1U   /*!< DMAMUX request generator 0 */
129 #define LL_DMAMUX_REQ_GENERATOR1       2U   /*!< DMAMUX request generator 1 */
130 #define LL_DMAMUX_REQ_GENERATOR2       3U   /*!< DMAMUX request generator 2 */
131 #define LL_DMAMUX_REQ_GENERATOR3       4U   /*!< DMAMUX request generator 3 */
132 
133 #define LL_DMAMUX_REQ_ADC1             5U   /*!< DMAMUX ADC1 request        */
134 
135 #if defined (ADC2)
136 
137 #define LL_DMAMUX_REQ_ADC2             6U   /*!< DMAMUX ADC1 request        */
138 
139 #define LL_DMAMUX_REQ_DAC1_CH1         7U   /*!< DMAMUX DAC1 CH1 request    */
140 #define LL_DMAMUX_REQ_DAC1_CH2         8U   /*!< DMAMUX DAC1 CH2 request    */
141 
142 #define LL_DMAMUX_REQ_TIM6_UP          9U   /*!< DMAMUX TIM6 UP request     */
143 #define LL_DMAMUX_REQ_TIM7_UP         10U   /*!< DMAMUX TIM7 UP request     */
144 
145 #define LL_DMAMUX_REQ_SPI1_RX         11U   /*!< DMAMUX SPI1 RX request     */
146 #define LL_DMAMUX_REQ_SPI1_TX         12U   /*!< DMAMUX SPI1 TX request     */
147 #define LL_DMAMUX_REQ_SPI2_RX         13U   /*!< DMAMUX SPI2 RX request     */
148 #define LL_DMAMUX_REQ_SPI2_TX         14U   /*!< DMAMUX SPI2 TX request     */
149 #define LL_DMAMUX_REQ_SPI3_RX         15U   /*!< DMAMUX SPI3 RX request     */
150 #define LL_DMAMUX_REQ_SPI3_TX         16U   /*!< DMAMUX SPI3 TX request     */
151 
152 #define LL_DMAMUX_REQ_I2C1_RX         17U   /*!< DMAMUX I2C1 RX request     */
153 #define LL_DMAMUX_REQ_I2C1_TX         18U   /*!< DMAMUX I2C1 TX request     */
154 #define LL_DMAMUX_REQ_I2C2_RX         19U   /*!< DMAMUX I2C2 RX request     */
155 #define LL_DMAMUX_REQ_I2C2_TX         20U   /*!< DMAMUX I2C2 TX request     */
156 #define LL_DMAMUX_REQ_I2C3_RX         21U   /*!< DMAMUX I2C3 RX request     */
157 #define LL_DMAMUX_REQ_I2C3_TX         22U   /*!< DMAMUX I2C3 TX request     */
158 #define LL_DMAMUX_REQ_I2C4_RX         23U   /*!< DMAMUX I2C4 RX request     */
159 #define LL_DMAMUX_REQ_I2C4_TX         24U   /*!< DMAMUX I2C4 TX request     */
160 
161 #define LL_DMAMUX_REQ_USART1_RX       25U   /*!< DMAMUX USART1 RX request   */
162 #define LL_DMAMUX_REQ_USART1_TX       26U   /*!< DMAMUX USART1 TX request   */
163 #define LL_DMAMUX_REQ_USART2_RX       27U   /*!< DMAMUX USART2 RX request   */
164 #define LL_DMAMUX_REQ_USART2_TX       28U   /*!< DMAMUX USART2 TX request   */
165 #define LL_DMAMUX_REQ_USART3_RX       29U   /*!< DMAMUX USART3 RX request   */
166 #define LL_DMAMUX_REQ_USART3_TX       30U   /*!< DMAMUX USART3 TX request   */
167 
168 #define LL_DMAMUX_REQ_UART4_RX        31U   /*!< DMAMUX UART4 RX request    */
169 #define LL_DMAMUX_REQ_UART4_TX        32U   /*!< DMAMUX UART4 TX request    */
170 #define LL_DMAMUX_REQ_UART5_RX        33U   /*!< DMAMUX UART5 RX request    */
171 #define LL_DMAMUX_REQ_UART5_TX        34U   /*!< DMAMUX UART5 TX request    */
172 
173 #define LL_DMAMUX_REQ_LPUART1_RX      35U   /*!< DMAMUX LPUART1 RX request  */
174 #define LL_DMAMUX_REQ_LPUART1_TX      36U   /*!< DMAMUX LPUART1 TX request  */
175 
176 #define LL_DMAMUX_REQ_SAI1_A          37U   /*!< DMAMUX SAI1 A request      */
177 #define LL_DMAMUX_REQ_SAI1_B          38U   /*!< DMAMUX SAI1 B request      */
178 #define LL_DMAMUX_REQ_SAI2_A          39U   /*!< DMAMUX SAI2 A request      */
179 #define LL_DMAMUX_REQ_SAI2_B          40U   /*!< DMAMUX SAI2 B request      */
180 
181 #define LL_DMAMUX_REQ_OSPI1           41U   /*!< DMAMUX OCTOSPI1 request    */
182 #define LL_DMAMUX_REQ_OSPI2           42U   /*!< DMAMUX OCTOSPI2 request    */
183 
184 #define LL_DMAMUX_REQ_TIM1_CH1        43U   /*!< DMAMUX TIM1 CH1 request    */
185 #define LL_DMAMUX_REQ_TIM1_CH2        44U   /*!< DMAMUX TIM1 CH2 request    */
186 #define LL_DMAMUX_REQ_TIM1_CH3        45U   /*!< DMAMUX TIM1 CH3 request    */
187 #define LL_DMAMUX_REQ_TIM1_CH4        46U   /*!< DMAMUX TIM1 CH4 request    */
188 #define LL_DMAMUX_REQ_TIM1_UP         47U   /*!< DMAMUX TIM1 UP request     */
189 #define LL_DMAMUX_REQ_TIM1_TRIG       48U   /*!< DMAMUX TIM1 TRIG request   */
190 #define LL_DMAMUX_REQ_TIM1_COM        49U   /*!< DMAMUX TIM1 COM request    */
191 
192 #define LL_DMAMUX_REQ_TIM8_CH1        50U   /*!< DMAMUX TIM8 CH1 request    */
193 #define LL_DMAMUX_REQ_TIM8_CH2        51U   /*!< DMAMUX TIM8 CH2 request    */
194 #define LL_DMAMUX_REQ_TIM8_CH3        52U   /*!< DMAMUX TIM8 CH3 request    */
195 #define LL_DMAMUX_REQ_TIM8_CH4        53U   /*!< DMAMUX TIM8 CH4 request    */
196 #define LL_DMAMUX_REQ_TIM8_UP         54U   /*!< DMAMUX TIM8 UP request     */
197 #define LL_DMAMUX_REQ_TIM8_TRIG       55U   /*!< DMAMUX TIM8 TRIG request   */
198 #define LL_DMAMUX_REQ_TIM8_COM        56U   /*!< DMAMUX TIM8 COM request    */
199 
200 #define LL_DMAMUX_REQ_TIM2_CH1        57U   /*!< DMAMUX TIM2 CH1 request    */
201 #define LL_DMAMUX_REQ_TIM2_CH2        58U   /*!< DMAMUX TIM2 CH2 request    */
202 #define LL_DMAMUX_REQ_TIM2_CH3        59U   /*!< DMAMUX TIM2 CH3 request    */
203 #define LL_DMAMUX_REQ_TIM2_CH4        60U   /*!< DMAMUX TIM2 CH4 request    */
204 #define LL_DMAMUX_REQ_TIM2_UP         61U   /*!< DMAMUX TIM2 UP request     */
205 
206 #define LL_DMAMUX_REQ_TIM3_CH1        62U   /*!< DMAMUX TIM3 CH1 request    */
207 #define LL_DMAMUX_REQ_TIM3_CH2        63U   /*!< DMAMUX TIM3 CH2 request    */
208 #define LL_DMAMUX_REQ_TIM3_CH3        64U   /*!< DMAMUX TIM3 CH3 request    */
209 #define LL_DMAMUX_REQ_TIM3_CH4        65U   /*!< DMAMUX TIM3 CH4 request    */
210 #define LL_DMAMUX_REQ_TIM3_UP         66U   /*!< DMAMUX TIM3 UP request     */
211 #define LL_DMAMUX_REQ_TIM3_TRIG       67U   /*!< DMAMUX TIM3 TRIG request   */
212 
213 #define LL_DMAMUX_REQ_TIM4_CH1        68U   /*!< DMAMUX TIM4 CH1 request    */
214 #define LL_DMAMUX_REQ_TIM4_CH2        69U   /*!< DMAMUX TIM4 CH2 request    */
215 #define LL_DMAMUX_REQ_TIM4_CH3        70U   /*!< DMAMUX TIM4 CH3 request    */
216 #define LL_DMAMUX_REQ_TIM4_CH4        71U   /*!< DMAMUX TIM4 CH4 request    */
217 #define LL_DMAMUX_REQ_TIM4_UP         72U   /*!< DMAMUX TIM4 UP request     */
218 
219 #define LL_DMAMUX_REQ_TIM5_CH1        73U   /*!< DMAMUX TIM5 CH1 request    */
220 #define LL_DMAMUX_REQ_TIM5_CH2        74U   /*!< DMAMUX TIM5 CH2 request    */
221 #define LL_DMAMUX_REQ_TIM5_CH3        75U   /*!< DMAMUX TIM5 CH3 request    */
222 #define LL_DMAMUX_REQ_TIM5_CH4        76U   /*!< DMAMUX TIM5 CH4 request    */
223 #define LL_DMAMUX_REQ_TIM5_UP         77U   /*!< DMAMUX TIM5 UP request     */
224 #define LL_DMAMUX_REQ_TIM5_TRIG       78U   /*!< DMAMUX TIM5 TRIG request   */
225 #define LL_DMAMUX_REQ_TIM15_CH1       79U   /*!< DMAMUX TIM15 CH1 request   */
226 #define LL_DMAMUX_REQ_TIM15_UP        80U   /*!< DMAMUX TIM15 UP request    */
227 #define LL_DMAMUX_REQ_TIM15_TRIG      81U   /*!< DMAMUX TIM15 TRIG request  */
228 #define LL_DMAMUX_REQ_TIM15_COM       82U   /*!< DMAMUX TIM15 COM request   */
229 
230 #define LL_DMAMUX_REQ_TIM16_CH1       83U   /*!< DMAMUX TIM16 CH1 request   */
231 #define LL_DMAMUX_REQ_TIM16_UP        84U   /*!< DMAMUX TIM16 UP request    */
232 #define LL_DMAMUX_REQ_TIM17_CH1       85U   /*!< DMAMUX TIM17 CH1 request   */
233 #define LL_DMAMUX_REQ_TIM17_UP        86U   /*!< DMAMUX TIM17 UP request    */
234 
235 #define LL_DMAMUX_REQ_DFSDM1_FLT0     87U   /*!< DMAMUX DFSDM1_FLT0 request */
236 #define LL_DMAMUX_REQ_DFSDM1_FLT1     88U   /*!< DMAMUX DFSDM1_FLT1 request */
237 #define LL_DMAMUX_REQ_DFSDM1_FLT2     89U   /*!< DMAMUX DFSDM1_FLT2 request */
238 #define LL_DMAMUX_REQ_DFSDM1_FLT3     90U   /*!< DMAMUX DFSDM1_FLT3 request */
239 
240 #define LL_DMAMUX_REQ_DCMI            91U   /*!< DMAMUX DCMI request        */
241 #define LL_DMAMUX_REQ_DCMI_PSSI       91U   /*!< DMAMUX PSSI request        */
242 
243 #define LL_DMAMUX_REQ_AES_IN          92U   /*!< DMAMUX AES_IN request      */
244 #define LL_DMAMUX_REQ_AES_OUT         93U   /*!< DMAMUX AES_OUT request     */
245 
246 #define LL_DMAMUX_REQ_HASH_IN         94U   /*!< DMAMUX HASH_IN request     */
247 
248 #else
249 
250 #define LL_DMAMUX_REQ_DAC1_CH1         6U   /*!< DMAMUX DAC1 CH1 request    */
251 #define LL_DMAMUX_REQ_DAC1_CH2         7U   /*!< DMAMUX DAC1 CH2 request    */
252 
253 #define LL_DMAMUX_REQ_TIM6_UP          8U   /*!< DMAMUX TIM6 UP request     */
254 #define LL_DMAMUX_REQ_TIM7_UP          9U   /*!< DMAMUX TIM7 UP request     */
255 
256 #define LL_DMAMUX_REQ_SPI1_RX         10U   /*!< DMAMUX SPI1 RX request     */
257 #define LL_DMAMUX_REQ_SPI1_TX         11U   /*!< DMAMUX SPI1 TX request     */
258 #define LL_DMAMUX_REQ_SPI2_RX         12U   /*!< DMAMUX SPI2 RX request     */
259 #define LL_DMAMUX_REQ_SPI2_TX         13U   /*!< DMAMUX SPI2 TX request     */
260 #define LL_DMAMUX_REQ_SPI3_RX         14U   /*!< DMAMUX SPI3 RX request     */
261 #define LL_DMAMUX_REQ_SPI3_TX         15U   /*!< DMAMUX SPI3 TX request     */
262 
263 #define LL_DMAMUX_REQ_I2C1_RX         16U   /*!< DMAMUX I2C1 RX request     */
264 #define LL_DMAMUX_REQ_I2C1_TX         17U   /*!< DMAMUX I2C1 TX request     */
265 #define LL_DMAMUX_REQ_I2C2_RX         18U   /*!< DMAMUX I2C2 RX request     */
266 #define LL_DMAMUX_REQ_I2C2_TX         19U   /*!< DMAMUX I2C2 TX request     */
267 #define LL_DMAMUX_REQ_I2C3_RX         20U   /*!< DMAMUX I2C3 RX request     */
268 #define LL_DMAMUX_REQ_I2C3_TX         21U   /*!< DMAMUX I2C3 TX request     */
269 #define LL_DMAMUX_REQ_I2C4_RX         22U   /*!< DMAMUX I2C4 RX request     */
270 #define LL_DMAMUX_REQ_I2C4_TX         23U   /*!< DMAMUX I2C4 TX request     */
271 
272 #define LL_DMAMUX_REQ_USART1_RX       24U   /*!< DMAMUX USART1 RX request   */
273 #define LL_DMAMUX_REQ_USART1_TX       25U   /*!< DMAMUX USART1 TX request   */
274 #define LL_DMAMUX_REQ_USART2_RX       26U   /*!< DMAMUX USART2 RX request   */
275 #define LL_DMAMUX_REQ_USART2_TX       27U   /*!< DMAMUX USART2 TX request   */
276 #define LL_DMAMUX_REQ_USART3_RX       28U   /*!< DMAMUX USART3 RX request   */
277 #define LL_DMAMUX_REQ_USART3_TX       29U   /*!< DMAMUX USART3 TX request   */
278 
279 #define LL_DMAMUX_REQ_UART4_RX        30U   /*!< DMAMUX UART4 RX request    */
280 #define LL_DMAMUX_REQ_UART4_TX        31U   /*!< DMAMUX UART4 TX request    */
281 #define LL_DMAMUX_REQ_UART5_RX        32U   /*!< DMAMUX UART5 RX request    */
282 #define LL_DMAMUX_REQ_UART5_TX        33U   /*!< DMAMUX UART5 TX request    */
283 
284 #define LL_DMAMUX_REQ_LPUART1_RX      34U   /*!< DMAMUX LPUART1 RX request  */
285 #define LL_DMAMUX_REQ_LPUART1_TX      35U   /*!< DMAMUX LPUART1 TX request  */
286 
287 #define LL_DMAMUX_REQ_SAI1_A          36U   /*!< DMAMUX SAI1 A request      */
288 #define LL_DMAMUX_REQ_SAI1_B          37U   /*!< DMAMUX SAI1 B request      */
289 #define LL_DMAMUX_REQ_SAI2_A          38U   /*!< DMAMUX SAI2 A request      */
290 #define LL_DMAMUX_REQ_SAI2_B          39U   /*!< DMAMUX SAI2 B request      */
291 
292 #define LL_DMAMUX_REQ_OSPI1           40U   /*!< DMAMUX OCTOSPI1 request    */
293 #define LL_DMAMUX_REQ_OSPI2           41U   /*!< DMAMUX OCTOSPI2 request    */
294 
295 #define LL_DMAMUX_REQ_TIM1_CH1        42U   /*!< DMAMUX TIM1 CH1 request    */
296 #define LL_DMAMUX_REQ_TIM1_CH2        43U   /*!< DMAMUX TIM1 CH2 request    */
297 #define LL_DMAMUX_REQ_TIM1_CH3        44U   /*!< DMAMUX TIM1 CH3 request    */
298 #define LL_DMAMUX_REQ_TIM1_CH4        45U   /*!< DMAMUX TIM1 CH4 request    */
299 #define LL_DMAMUX_REQ_TIM1_UP         46U   /*!< DMAMUX TIM1 UP request     */
300 #define LL_DMAMUX_REQ_TIM1_TRIG       47U   /*!< DMAMUX TIM1 TRIG request   */
301 #define LL_DMAMUX_REQ_TIM1_COM        48U   /*!< DMAMUX TIM1 COM request    */
302 
303 #define LL_DMAMUX_REQ_TIM8_CH1        49U   /*!< DMAMUX TIM8 CH1 request    */
304 #define LL_DMAMUX_REQ_TIM8_CH2        50U   /*!< DMAMUX TIM8 CH2 request    */
305 #define LL_DMAMUX_REQ_TIM8_CH3        51U   /*!< DMAMUX TIM8 CH3 request    */
306 #define LL_DMAMUX_REQ_TIM8_CH4        52U   /*!< DMAMUX TIM8 CH4 request    */
307 #define LL_DMAMUX_REQ_TIM8_UP         53U   /*!< DMAMUX TIM8 UP request     */
308 #define LL_DMAMUX_REQ_TIM8_TRIG       54U   /*!< DMAMUX TIM8 TRIG request   */
309 #define LL_DMAMUX_REQ_TIM8_COM        55U   /*!< DMAMUX TIM8 COM request    */
310 
311 #define LL_DMAMUX_REQ_TIM2_CH1        56U   /*!< DMAMUX TIM2 CH1 request    */
312 #define LL_DMAMUX_REQ_TIM2_CH2        57U   /*!< DMAMUX TIM2 CH2 request    */
313 #define LL_DMAMUX_REQ_TIM2_CH3        58U   /*!< DMAMUX TIM2 CH3 request    */
314 #define LL_DMAMUX_REQ_TIM2_CH4        59U   /*!< DMAMUX TIM2 CH4 request    */
315 #define LL_DMAMUX_REQ_TIM2_UP         60U   /*!< DMAMUX TIM2 UP request     */
316 
317 #define LL_DMAMUX_REQ_TIM3_CH1        61U   /*!< DMAMUX TIM3 CH1 request    */
318 #define LL_DMAMUX_REQ_TIM3_CH2        62U   /*!< DMAMUX TIM3 CH2 request    */
319 #define LL_DMAMUX_REQ_TIM3_CH3        63U   /*!< DMAMUX TIM3 CH3 request    */
320 #define LL_DMAMUX_REQ_TIM3_CH4        64U   /*!< DMAMUX TIM3 CH4 request    */
321 #define LL_DMAMUX_REQ_TIM3_UP         65U   /*!< DMAMUX TIM3 UP request     */
322 #define LL_DMAMUX_REQ_TIM3_TRIG       66U   /*!< DMAMUX TIM3 TRIG request   */
323 
324 #define LL_DMAMUX_REQ_TIM4_CH1        67U   /*!< DMAMUX TIM4 CH1 request    */
325 #define LL_DMAMUX_REQ_TIM4_CH2        68U   /*!< DMAMUX TIM4 CH2 request    */
326 #define LL_DMAMUX_REQ_TIM4_CH3        69U   /*!< DMAMUX TIM4 CH3 request    */
327 #define LL_DMAMUX_REQ_TIM4_CH4        70U   /*!< DMAMUX TIM4 CH4 request    */
328 #define LL_DMAMUX_REQ_TIM4_UP         71U   /*!< DMAMUX TIM4 UP request     */
329 
330 #define LL_DMAMUX_REQ_TIM5_CH1        72U   /*!< DMAMUX TIM5 CH1 request    */
331 #define LL_DMAMUX_REQ_TIM5_CH2        73U   /*!< DMAMUX TIM5 CH2 request    */
332 #define LL_DMAMUX_REQ_TIM5_CH3        74U   /*!< DMAMUX TIM5 CH3 request    */
333 #define LL_DMAMUX_REQ_TIM5_CH4        75U   /*!< DMAMUX TIM5 CH4 request    */
334 #define LL_DMAMUX_REQ_TIM5_UP         76U   /*!< DMAMUX TIM5 UP request     */
335 #define LL_DMAMUX_REQ_TIM5_TRIG       77U   /*!< DMAMUX TIM5 TRIG request   */
336 #define LL_DMAMUX_REQ_TIM15_CH1       78U   /*!< DMAMUX TIM15 CH1 request   */
337 #define LL_DMAMUX_REQ_TIM15_UP        79U   /*!< DMAMUX TIM15 UP request    */
338 #define LL_DMAMUX_REQ_TIM15_TRIG      80U   /*!< DMAMUX TIM15 TRIG request  */
339 #define LL_DMAMUX_REQ_TIM15_COM       81U   /*!< DMAMUX TIM15 COM request   */
340 
341 #define LL_DMAMUX_REQ_TIM16_CH1       82U   /*!< DMAMUX TIM16 CH1 request   */
342 #define LL_DMAMUX_REQ_TIM16_UP        83U   /*!< DMAMUX TIM16 UP request    */
343 #define LL_DMAMUX_REQ_TIM17_CH1       84U   /*!< DMAMUX TIM17 CH1 request   */
344 #define LL_DMAMUX_REQ_TIM17_UP        85U   /*!< DMAMUX TIM17 UP request    */
345 
346 #define LL_DMAMUX_REQ_DFSDM1_FLT0     86U   /*!< DMAMUX DFSDM1_FLT0 request */
347 #define LL_DMAMUX_REQ_DFSDM1_FLT1     87U   /*!< DMAMUX DFSDM1_FLT1 request */
348 #define LL_DMAMUX_REQ_DFSDM1_FLT2     88U   /*!< DMAMUX DFSDM1_FLT2 request */
349 #define LL_DMAMUX_REQ_DFSDM1_FLT3     89U   /*!< DMAMUX DFSDM1_FLT3 request */
350 
351 #define LL_DMAMUX_REQ_DCMI            90U   /*!< DMAMUX DCMI request        */
352 
353 #define LL_DMAMUX_REQ_AES_IN          91U   /*!< DMAMUX AES_IN request     */
354 #define LL_DMAMUX_REQ_AES_OUT         92U   /*!< DMAMUX AES_OUT request     */
355 
356 #define LL_DMAMUX_REQ_HASH_IN         93U   /*!< DMAMUX HASH_IN request     */
357 
358 #endif
359 
360 /**
361   * @}
362   */
363 
364 /** @defgroup DMAMUX_LL_EC_CHANNEL DMAMUX Channel
365   * @{
366   */
367 #define LL_DMAMUX_CHANNEL_0               0x00000000U               /*!< DMAMUX Channel 0 connected  to DMA1 Channel 1 */
368 #define LL_DMAMUX_CHANNEL_1               0x00000001U               /*!< DMAMUX Channel 1 connected  to DMA1 Channel 2 */
369 #define LL_DMAMUX_CHANNEL_2               0x00000002U               /*!< DMAMUX Channel 2 connected  to DMA1 Channel 3 */
370 #define LL_DMAMUX_CHANNEL_3               0x00000003U               /*!< DMAMUX Channel 3 connected  to DMA1 Channel 4 */
371 #define LL_DMAMUX_CHANNEL_4               0x00000004U               /*!< DMAMUX Channel 4 connected  to DMA1 Channel 5 */
372 #define LL_DMAMUX_CHANNEL_5               0x00000005U               /*!< DMAMUX Channel 5 connected  to DMA1 Channel 6 */
373 #define LL_DMAMUX_CHANNEL_6               0x00000006U               /*!< DMAMUX Channel 6 connected  to DMA1 Channel 7 */
374 #define LL_DMAMUX_CHANNEL_7               0x00000007U               /*!< DMAMUX Channel 7 connected  to DMA2 Channel 1 */
375 #define LL_DMAMUX_CHANNEL_8               0x00000008U               /*!< DMAMUX Channel 8 connected  to DMA2 Channel 2 */
376 #define LL_DMAMUX_CHANNEL_9               0x00000009U               /*!< DMAMUX Channel 9 connected  to DMA2 Channel 3 */
377 #define LL_DMAMUX_CHANNEL_10              0x0000000AU               /*!< DMAMUX Channel 10 connected to DMA2 Channel 4 */
378 #define LL_DMAMUX_CHANNEL_11              0x0000000BU               /*!< DMAMUX Channel 11 connected to DMA2 Channel 5 */
379 #define LL_DMAMUX_CHANNEL_12              0x0000000CU               /*!< DMAMUX Channel 12 connected to DMA2 Channel 6 */
380 #define LL_DMAMUX_CHANNEL_13              0x0000000DU               /*!< DMAMUX Channel 13 connected to DMA2 Channel 7 */
381 /**
382   * @}
383   */
384 
385 /** @defgroup DMAMUX_LL_EC_SYNC_NO Synchronization Signal Polarity
386   * @{
387   */
388 #define LL_DMAMUX_SYNC_NO_EVENT            0x00000000U                               /*!< All requests are blocked   */
389 #define LL_DMAMUX_SYNC_POL_RISING          DMAMUX_CxCR_SPOL_0                        /*!< Synchronization on event on rising edge */
390 #define LL_DMAMUX_SYNC_POL_FALLING         DMAMUX_CxCR_SPOL_1                        /*!< Synchronization on event on falling edge */
391 #define LL_DMAMUX_SYNC_POL_RISING_FALLING  (DMAMUX_CxCR_SPOL_0 | DMAMUX_CxCR_SPOL_1) /*!< Synchronization on event on rising and falling edge */
392 /**
393   * @}
394   */
395 
396 /** @defgroup DMAMUX_LL_EC_SYNC_EVT Synchronization Signal Event
397   * @{
398   */
399 #define LL_DMAMUX_SYNC_EXTI_LINE0         0x00000000U                                                                                     /*!< Synchronization signal from EXTI Line0  */
400 #define LL_DMAMUX_SYNC_EXTI_LINE1         DMAMUX_CxCR_SYNC_ID_0                                                                           /*!< Synchronization signal from EXTI Line1  */
401 #define LL_DMAMUX_SYNC_EXTI_LINE2         DMAMUX_CxCR_SYNC_ID_1                                                                           /*!< Synchronization signal from EXTI Line2  */
402 #define LL_DMAMUX_SYNC_EXTI_LINE3         (DMAMUX_CxCR_SYNC_ID_1 | DMAMUX_CxCR_SYNC_ID_0)                                                 /*!< Synchronization signal from EXTI Line3  */
403 #define LL_DMAMUX_SYNC_EXTI_LINE4         DMAMUX_CxCR_SYNC_ID_2                                                                           /*!< Synchronization signal from EXTI Line4  */
404 #define LL_DMAMUX_SYNC_EXTI_LINE5         (DMAMUX_CxCR_SYNC_ID_2 | DMAMUX_CxCR_SYNC_ID_0)                                                 /*!< Synchronization signal from EXTI Line5  */
405 #define LL_DMAMUX_SYNC_EXTI_LINE6         (DMAMUX_CxCR_SYNC_ID_2 | DMAMUX_CxCR_SYNC_ID_1)                                                 /*!< Synchronization signal from EXTI Line6  */
406 #define LL_DMAMUX_SYNC_EXTI_LINE7         (DMAMUX_CxCR_SYNC_ID_2 | DMAMUX_CxCR_SYNC_ID_1 | DMAMUX_CxCR_SYNC_ID_0)                         /*!< Synchronization signal from EXTI Line7  */
407 #define LL_DMAMUX_SYNC_EXTI_LINE8         DMAMUX_CxCR_SYNC_ID_3                                                                           /*!< Synchronization signal from EXTI Line8  */
408 #define LL_DMAMUX_SYNC_EXTI_LINE9         (DMAMUX_CxCR_SYNC_ID_3 | DMAMUX_CxCR_SYNC_ID_0)                                                 /*!< Synchronization signal from EXTI Line9  */
409 #define LL_DMAMUX_SYNC_EXTI_LINE10        (DMAMUX_CxCR_SYNC_ID_3 | DMAMUX_CxCR_SYNC_ID_1)                                                 /*!< Synchronization signal from EXTI Line10 */
410 #define LL_DMAMUX_SYNC_EXTI_LINE11        (DMAMUX_CxCR_SYNC_ID_3 | DMAMUX_CxCR_SYNC_ID_1 | DMAMUX_CxCR_SYNC_ID_0)                         /*!< Synchronization signal from EXTI Line11 */
411 #define LL_DMAMUX_SYNC_EXTI_LINE12        (DMAMUX_CxCR_SYNC_ID_3 | DMAMUX_CxCR_SYNC_ID_2)                                                 /*!< Synchronization signal from EXTI Line12 */
412 #define LL_DMAMUX_SYNC_EXTI_LINE13        (DMAMUX_CxCR_SYNC_ID_3 | DMAMUX_CxCR_SYNC_ID_2 | DMAMUX_CxCR_SYNC_ID_0)                         /*!< Synchronization signal from EXTI Line13 */
413 #define LL_DMAMUX_SYNC_EXTI_LINE14        (DMAMUX_CxCR_SYNC_ID_3 | DMAMUX_CxCR_SYNC_ID_2 | DMAMUX_CxCR_SYNC_ID_1)                         /*!< Synchronization signal from EXTI Line14 */
414 #define LL_DMAMUX_SYNC_EXTI_LINE15        (DMAMUX_CxCR_SYNC_ID_3 | DMAMUX_CxCR_SYNC_ID_2 | DMAMUX_CxCR_SYNC_ID_1 | DMAMUX_CxCR_SYNC_ID_0) /*!< Synchronization signal from EXTI Line15 */
415 #define LL_DMAMUX_SYNC_DMAMUX_CH0         DMAMUX_CxCR_SYNC_ID_4                                                                           /*!< Synchronization signal from DMAMUX channel0 Event */
416 #define LL_DMAMUX_SYNC_DMAMUX_CH1         (DMAMUX_CxCR_SYNC_ID_4 | DMAMUX_CxCR_SYNC_ID_0)                                                 /*!< Synchronization signal from DMAMUX channel1 Event */
417 #define LL_DMAMUX_SYNC_DMAMUX_CH2         (DMAMUX_CxCR_SYNC_ID_4 | DMAMUX_CxCR_SYNC_ID_1)                                                 /*!< Synchronization signal from DMAMUX channel2 Event */
418 #define LL_DMAMUX_SYNC_DMAMUX_CH3         (DMAMUX_CxCR_SYNC_ID_4 | DMAMUX_CxCR_SYNC_ID_1 | DMAMUX_CxCR_SYNC_ID_0)                         /*!< Synchronization signal from DMAMUX channel3 Event */
419 #define LL_DMAMUX_SYNC_LPTIM1_OUT         (DMAMUX_CxCR_SYNC_ID_4 | DMAMUX_CxCR_SYNC_ID_2)                                                 /*!< Synchronization signal from LPTIM1 Output */
420 #define LL_DMAMUX_SYNC_LPTIM2_OUT         (DMAMUX_CxCR_SYNC_ID_4 | DMAMUX_CxCR_SYNC_ID_2 | DMAMUX_CxCR_SYNC_ID_0)                         /*!< Synchronization signal from LPTIM2 Output */
421 #define LL_DMAMUX_SYNC_DSI_TE             (DMAMUX_CxCR_SYNC_ID_4 | DMAMUX_CxCR_SYNC_ID_2 | DMAMUX_CxCR_SYNC_ID_1)                         /*!< Synchronization signal from DSI Tearing Effect */
422 #define LL_DMAMUX_SYNC_DSI_REFRESH_END    (DMAMUX_CxCR_SYNC_ID_4 | DMAMUX_CxCR_SYNC_ID_2 | DMAMUX_CxCR_SYNC_ID_1 | DMAMUX_CxCR_SYNC_ID_0) /*!< Synchronization signal from DSI End of Refresh */
423 #define LL_DMAMUX_SYNC_DMA2D_TX_END       (DMAMUX_CxCR_SYNC_ID_4 | DMAMUX_CxCR_SYNC_ID_3)                                                 /*!< Synchronization signal from DMA2D End of Transfer */
424 #define LL_DMAMUX_SYNC_LTDC_LINE_IT       (DMAMUX_CxCR_SYNC_ID_4 | DMAMUX_CxCR_SYNC_ID_3 | DMAMUX_CxCR_SYNC_ID_0)                         /*!< Synchronization signal from LTDC Line Interrupt   */
425 /**
426   * @}
427   */
428 
429 /** @defgroup DMAMUX_LL_EC_REQUEST_GENERATOR Request Generator Channel
430   * @{
431   */
432 #define LL_DMAMUX_REQ_GEN_0               0x00000000U
433 #define LL_DMAMUX_REQ_GEN_1               0x00000001U
434 #define LL_DMAMUX_REQ_GEN_2               0x00000002U
435 #define LL_DMAMUX_REQ_GEN_3               0x00000003U
436 /**
437   * @}
438   */
439 
440 /** @defgroup DMAMUX_LL_EC_REQUEST_GEN_POLARITY External Request Signal Generation Polarity
441   * @{
442   */
443 #define LL_DMAMUX_REQ_GEN_NO_EVENT             0x00000000U                                  /*!< No external DMA request  generation */
444 #define LL_DMAMUX_REQ_GEN_POL_RISING           DMAMUX_RGxCR_GPOL_0                          /*!< External DMA request generation on event on rising edge */
445 #define LL_DMAMUX_REQ_GEN_POL_FALLING          DMAMUX_RGxCR_GPOL_1                          /*!< External DMA request generation on event on falling edge */
446 #define LL_DMAMUX_REQ_GEN_POL_RISING_FALLING   (DMAMUX_RGxCR_GPOL_0 | DMAMUX_RGxCR_GPOL_1)  /*!< External DMA request generation on rising and falling edge */
447 /**
448   * @}
449   */
450 
451 /** @defgroup DMAMUX_LL_EC_REQUEST_GEN External Request Signal Generation
452   * @{
453   */
454 #define LL_DMAMUX_REQ_GEN_EXTI_LINE0      0x00000000U                                                                                      /*!< Request signal generation from EXTI Line0  */
455 #define LL_DMAMUX_REQ_GEN_EXTI_LINE1      DMAMUX_RGxCR_SIG_ID_0                                                                            /*!< Request signal generation from EXTI Line1  */
456 #define LL_DMAMUX_REQ_GEN_EXTI_LINE2      DMAMUX_RGxCR_SIG_ID_1                                                                            /*!< Request signal generation from EXTI Line2  */
457 #define LL_DMAMUX_REQ_GEN_EXTI_LINE3      (DMAMUX_RGxCR_SIG_ID_1 |DMAMUX_RGxCR_SIG_ID_0)                                                   /*!< Request signal generation from EXTI Line3  */
458 #define LL_DMAMUX_REQ_GEN_EXTI_LINE4      DMAMUX_RGxCR_SIG_ID_2                                                                            /*!< Request signal generation from EXTI Line4  */
459 #define LL_DMAMUX_REQ_GEN_EXTI_LINE5      (DMAMUX_RGxCR_SIG_ID_2 | DMAMUX_RGxCR_SIG_ID_0)                                                  /*!< Request signal generation from EXTI Line5  */
460 #define LL_DMAMUX_REQ_GEN_EXTI_LINE6      (DMAMUX_RGxCR_SIG_ID_2 | DMAMUX_RGxCR_SIG_ID_1)                                                  /*!< Request signal generation from EXTI Line6  */
461 #define LL_DMAMUX_REQ_GEN_EXTI_LINE7      (DMAMUX_RGxCR_SIG_ID_2 | DMAMUX_RGxCR_SIG_ID_1 | DMAMUX_RGxCR_SIG_ID_0)                          /*!< Request signal generation from EXTI Line7  */
462 #define LL_DMAMUX_REQ_GEN_EXTI_LINE8      DMAMUX_RGxCR_SIG_ID_3                                                                            /*!< Request signal generation from EXTI Line8  */
463 #define LL_DMAMUX_REQ_GEN_EXTI_LINE9      (DMAMUX_RGxCR_SIG_ID_3 | DMAMUX_RGxCR_SIG_ID_0)                                                  /*!< Request signal generation from EXTI Line9  */
464 #define LL_DMAMUX_REQ_GEN_EXTI_LINE10     (DMAMUX_RGxCR_SIG_ID_3 | DMAMUX_RGxCR_SIG_ID_1)                                                  /*!< Request signal generation from EXTI Line10 */
465 #define LL_DMAMUX_REQ_GEN_EXTI_LINE11     (DMAMUX_RGxCR_SIG_ID_3 | DMAMUX_RGxCR_SIG_ID_1 | DMAMUX_RGxCR_SIG_ID_0)                          /*!< Request signal generation from EXTI Line11 */
466 #define LL_DMAMUX_REQ_GEN_EXTI_LINE12     (DMAMUX_RGxCR_SIG_ID_3 | DMAMUX_RGxCR_SIG_ID_2)                                                  /*!< Request signal generation from EXTI Line12 */
467 #define LL_DMAMUX_REQ_GEN_EXTI_LINE13     (DMAMUX_RGxCR_SIG_ID_3 | DMAMUX_RGxCR_SIG_ID_2 | DMAMUX_RGxCR_SIG_ID_0)                          /*!< Request signal generation from EXTI Line13 */
468 #define LL_DMAMUX_REQ_GEN_EXTI_LINE14     (DMAMUX_RGxCR_SIG_ID_3 | DMAMUX_RGxCR_SIG_ID_2 | DMAMUX_RGxCR_SIG_ID_1)                          /*!< Request signal generation from EXTI Line14 */
469 #define LL_DMAMUX_REQ_GEN_EXTI_LINE15     (DMAMUX_RGxCR_SIG_ID_3 | DMAMUX_RGxCR_SIG_ID_2 | DMAMUX_RGxCR_SIG_ID_1 | DMAMUX_RGxCR_SIG_ID_0)  /*!< Request signal generation from EXTI Line15 */
470 #define LL_DMAMUX_REQ_GEN_DMAMUX_CH0      DMAMUX_RGxCR_SIG_ID_4                                                                            /*!< Request signal generation from DMAMUX channel0 Event */
471 #define LL_DMAMUX_REQ_GEN_DMAMUX_CH1      (DMAMUX_RGxCR_SIG_ID_4 | DMAMUX_RGxCR_SIG_ID_0)                                                  /*!< Request signal generation from DMAMUX channel1 Event */
472 #define LL_DMAMUX_REQ_GEN_DMAMUX_CH2      (DMAMUX_RGxCR_SIG_ID_4 | DMAMUX_RGxCR_SIG_ID_1)                                                  /*!< Request signal generation from DMAMUX channel2 Event */
473 #define LL_DMAMUX_REQ_GEN_DMAMUX_CH3      (DMAMUX_RGxCR_SIG_ID_4 | DMAMUX_RGxCR_SIG_ID_1 | DMAMUX_RGxCR_SIG_ID_0)                          /*!< Request signal generation from DMAMUX channel3 Event */
474 #define LL_DMAMUX_REQ_GEN_LPTIM1_OUT      (DMAMUX_RGxCR_SIG_ID_4 | DMAMUX_RGxCR_SIG_ID_2)                                                  /*!< Request signal generation from LPTIM1 Output */
475 #define LL_DMAMUX_REQ_GEN_LPTIM2_OUT      (DMAMUX_RGxCR_SIG_ID_4 | DMAMUX_RGxCR_SIG_ID_2  | DMAMUX_RGxCR_SIG_ID_0)                         /*!< Request signal generation from LPTIM2 Output */
476 #define LL_DMAMUX_REQ_GEN_DSI_TE          (DMAMUX_RGxCR_SIG_ID_4 | DMAMUX_RGxCR_SIG_ID_2  | DMAMUX_RGxCR_SIG_ID_1)                         /*!< Request signal generation from DSI Tearing Effect */
477 #define LL_DMAMUX_REQ_GEN_DSI_REFRESH_END (DMAMUX_RGxCR_SIG_ID_4 | DMAMUX_RGxCR_SIG_ID_2  | DMAMUX_RGxCR_SIG_ID_1 | DMAMUX_RGxCR_SIG_ID_0) /*!< Request signal generation from DSI End of Refresh */
478 #define LL_DMAMUX_REQ_GEN_DMA2D_TX_END    (DMAMUX_RGxCR_SIG_ID_4 | DMAMUX_RGxCR_SIG_ID_3)                                                  /*!< Request signal generation from DMA2D End of Transfer */
479 #define LL_DMAMUX_REQ_GEN_LTDC_LINE_IT    (DMAMUX_RGxCR_SIG_ID_4 | DMAMUX_RGxCR_SIG_ID_3  | DMAMUX_RGxCR_SIG_ID_0)                         /*!< Request signal generation from LTDC Line Interrupt   */
480 /**
481   * @}
482   */
483 
484 /**
485   * @}
486   */
487 
488 /* Exported macro ------------------------------------------------------------*/
489 /** @defgroup DMAMUX_LL_Exported_Macros DMAMUX Exported Macros
490   * @{
491   */
492 
493 /** @defgroup DMAMUX_LL_EM_WRITE_READ Common Write and read registers macros
494   * @{
495   */
496 /**
497   * @brief  Write a value in DMAMUX register
498   * @param  __INSTANCE__ DMAMUX Instance
499   * @param  __REG__ Register to be written
500   * @param  __VALUE__ Value to be written in the register
501   * @retval None
502   */
503 #define LL_DMAMUX_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VALUE__))
504 
505 /**
506   * @brief  Read a value in DMAMUX register
507   * @param  __INSTANCE__ DMAMUX Instance
508   * @param  __REG__ Register to be read
509   * @retval Register value
510   */
511 #define LL_DMAMUX_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__)
512 /**
513   * @}
514   */
515 
516 /**
517   * @}
518   */
519 
520 /* Exported functions --------------------------------------------------------*/
521 /** @defgroup DMAMUX_LL_Exported_Functions DMAMUX Exported Functions
522  * @{
523  */
524 
525 /** @defgroup DMAMUX_LL_EF_Configuration Configuration
526   * @{
527   */
528 /**
529   * @brief  Set DMAMUX request ID for DMAMUX Channel x.
530   * @note   DMAMUX channel 0 to 6 are mapped to DMA1 channel 1 to 7.
531   *         DMAMUX channel 7 to 13 are mapped to DMA2 channel 1 to 7.
532   * @rmtoll CxCR         DMAREQ_ID     LL_DMAMUX_SetRequestID
533   * @param  DMAMUXx DMAMUXx Instance
534   * @param  Channel This parameter can be one of the following values:
535   *         @arg @ref LL_DMAMUX_CHANNEL_0
536   *         @arg @ref LL_DMAMUX_CHANNEL_1
537   *         @arg @ref LL_DMAMUX_CHANNEL_2
538   *         @arg @ref LL_DMAMUX_CHANNEL_3
539   *         @arg @ref LL_DMAMUX_CHANNEL_4
540   *         @arg @ref LL_DMAMUX_CHANNEL_5
541   *         @arg @ref LL_DMAMUX_CHANNEL_6
542   *         @arg @ref LL_DMAMUX_CHANNEL_7
543   *         @arg @ref LL_DMAMUX_CHANNEL_8
544   *         @arg @ref LL_DMAMUX_CHANNEL_9
545   *         @arg @ref LL_DMAMUX_CHANNEL_10
546   *         @arg @ref LL_DMAMUX_CHANNEL_11
547   *         @arg @ref LL_DMAMUX_CHANNEL_12
548   *         @arg @ref LL_DMAMUX_CHANNEL_13
549   * @param  Request This parameter can be one of the following values:
550   *         @arg @ref LL_DMAMUX_REQ_MEM2MEM
551   *         @arg @ref LL_DMAMUX_REQ_GENERATOR0
552   *         @arg @ref LL_DMAMUX_REQ_GENERATOR1
553   *         @arg @ref LL_DMAMUX_REQ_GENERATOR2
554   *         @arg @ref LL_DMAMUX_REQ_GENERATOR3
555   *         @arg @ref LL_DMAMUX_REQ_ADC1
556   *         @arg @ref LL_DMAMUX_REQ_DAC1_CH1
557   *         @arg @ref LL_DMAMUX_REQ_DAC1_CH2
558   *         @arg @ref LL_DMAMUX_REQ_TIM6_UP
559   *         @arg @ref LL_DMAMUX_REQ_TIM7_UP
560   *         @arg @ref LL_DMAMUX_REQ_SPI1_RX
561   *         @arg @ref LL_DMAMUX_REQ_SPI1_TX
562   *         @arg @ref LL_DMAMUX_REQ_SPI2_RX
563   *         @arg @ref LL_DMAMUX_REQ_SPI2_TX
564   *         @arg @ref LL_DMAMUX_REQ_SPI3_RX
565   *         @arg @ref LL_DMAMUX_REQ_SPI3_TX
566   *         @arg @ref LL_DMAMUX_REQ_I2C1_RX
567   *         @arg @ref LL_DMAMUX_REQ_I2C1_TX
568   *         @arg @ref LL_DMAMUX_REQ_I2C2_RX
569   *         @arg @ref LL_DMAMUX_REQ_I2C2_TX
570   *         @arg @ref LL_DMAMUX_REQ_I2C3_RX
571   *         @arg @ref LL_DMAMUX_REQ_I2C3_TX
572   *         @arg @ref LL_DMAMUX_REQ_I2C4_RX
573   *         @arg @ref LL_DMAMUX_REQ_I2C4_TX
574   *         @arg @ref LL_DMAMUX_REQ_USART1_RX
575   *         @arg @ref LL_DMAMUX_REQ_USART1_TX
576   *         @arg @ref LL_DMAMUX_REQ_USART2_RX
577   *         @arg @ref LL_DMAMUX_REQ_USART2_TX
578   *         @arg @ref LL_DMAMUX_REQ_USART3_RX
579   *         @arg @ref LL_DMAMUX_REQ_USART3_TX
580   *         @arg @ref LL_DMAMUX_REQ_UART4_RX
581   *         @arg @ref LL_DMAMUX_REQ_UART4_TX
582   *         @arg @ref LL_DMAMUX_REQ_UART5_RX
583   *         @arg @ref LL_DMAMUX_REQ_UART5_TX
584   *         @arg @ref LL_DMAMUX_REQ_LPUART1_RX
585   *         @arg @ref LL_DMAMUX_REQ_LPUART1_TX
586   *         @arg @ref LL_DMAMUX_REQ_SAI1_A
587   *         @arg @ref LL_DMAMUX_REQ_SAI1_B
588   *         @arg @ref LL_DMAMUX_REQ_SAI2_A
589   *         @arg @ref LL_DMAMUX_REQ_SAI2_B
590   *         @arg @ref LL_DMAMUX_REQ_OSPI1
591   *         @arg @ref LL_DMAMUX_REQ_OSPI2
592   *         @arg @ref LL_DMAMUX_REQ_TIM1_CH1
593   *         @arg @ref LL_DMAMUX_REQ_TIM1_CH2
594   *         @arg @ref LL_DMAMUX_REQ_TIM1_CH3
595   *         @arg @ref LL_DMAMUX_REQ_TIM1_CH4
596   *         @arg @ref LL_DMAMUX_REQ_TIM1_UP
597   *         @arg @ref LL_DMAMUX_REQ_TIM1_TRIG
598   *         @arg @ref LL_DMAMUX_REQ_TIM1_COM
599   *         @arg @ref LL_DMAMUX_REQ_TIM8_CH1
600   *         @arg @ref LL_DMAMUX_REQ_TIM8_CH2
601   *         @arg @ref LL_DMAMUX_REQ_TIM8_CH3
602   *         @arg @ref LL_DMAMUX_REQ_TIM8_CH4
603   *         @arg @ref LL_DMAMUX_REQ_TIM8_UP
604   *         @arg @ref LL_DMAMUX_REQ_TIM8_TRIG
605   *         @arg @ref LL_DMAMUX_REQ_TIM8_COM
606   *         @arg @ref LL_DMAMUX_REQ_TIM2_CH1
607   *         @arg @ref LL_DMAMUX_REQ_TIM2_CH2
608   *         @arg @ref LL_DMAMUX_REQ_TIM2_CH3
609   *         @arg @ref LL_DMAMUX_REQ_TIM2_CH4
610   *         @arg @ref LL_DMAMUX_REQ_TIM2_UP
611   *         @arg @ref LL_DMAMUX_REQ_TIM3_CH1
612   *         @arg @ref LL_DMAMUX_REQ_TIM3_CH2
613   *         @arg @ref LL_DMAMUX_REQ_TIM3_CH3
614   *         @arg @ref LL_DMAMUX_REQ_TIM3_CH4
615   *         @arg @ref LL_DMAMUX_REQ_TIM3_UP
616   *         @arg @ref LL_DMAMUX_REQ_TIM3_TRIG
617   *         @arg @ref LL_DMAMUX_REQ_TIM4_CH1
618   *         @arg @ref LL_DMAMUX_REQ_TIM4_CH2
619   *         @arg @ref LL_DMAMUX_REQ_TIM4_CH3
620   *         @arg @ref LL_DMAMUX_REQ_TIM4_CH4
621   *         @arg @ref LL_DMAMUX_REQ_TIM4_UP
622   *         @arg @ref LL_DMAMUX_REQ_TIM5_CH1
623   *         @arg @ref LL_DMAMUX_REQ_TIM5_CH2
624   *         @arg @ref LL_DMAMUX_REQ_TIM5_CH3
625   *         @arg @ref LL_DMAMUX_REQ_TIM5_CH4
626   *         @arg @ref LL_DMAMUX_REQ_TIM5_UP
627   *         @arg @ref LL_DMAMUX_REQ_TIM5_TRIG
628   *         @arg @ref LL_DMAMUX_REQ_TIM15_CH1
629   *         @arg @ref LL_DMAMUX_REQ_TIM15_UP
630   *         @arg @ref LL_DMAMUX_REQ_TIM15_TRIG
631   *         @arg @ref LL_DMAMUX_REQ_TIM15_COM
632   *         @arg @ref LL_DMAMUX_REQ_TIM16_CH1
633   *         @arg @ref LL_DMAMUX_REQ_TIM16_UP
634   *         @arg @ref LL_DMAMUX_REQ_TIM17_CH1
635   *         @arg @ref LL_DMAMUX_REQ_TIM17_UP
636   *         @arg @ref LL_DMAMUX_REQ_DFSDM1_FLT0
637   *         @arg @ref LL_DMAMUX_REQ_DFSDM1_FLT1
638   *         @arg @ref LL_DMAMUX_REQ_DFSDM1_FLT2
639   *         @arg @ref LL_DMAMUX_REQ_DFSDM1_FLT3
640   *         @arg @ref LL_DMAMUX_REQ_DCMI
641   *         @arg @ref LL_DMAMUX_REQ_AES_IN
642   *         @arg @ref LL_DMAMUX_REQ_AES_OUT
643   *         @arg @ref LL_DMAMUX_REQ_HASH_IN
644   * @retval None
645   */
LL_DMAMUX_SetRequestID(DMAMUX_Channel_TypeDef * DMAMUXx,uint32_t Channel,uint32_t Request)646 __STATIC_INLINE void LL_DMAMUX_SetRequestID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel, uint32_t Request)
647 {
648   (void)(DMAMUXx);
649   MODIFY_REG((DMAMUX1_Channel0 + Channel)->CCR, DMAMUX_CxCR_DMAREQ_ID, Request);
650 }
651 
652 /**
653   * @brief  Get DMAMUX request ID for DMAMUX Channel x.
654   * @note   DMAMUX channel 0 to 6 are mapped to DMA1 channel 1 to 7.
655   *         DMAMUX channel 7 to 13 are mapped to DMA2 channel 1 to 7.
656   * @rmtoll CxCR         DMAREQ_ID     LL_DMAMUX_GetRequestID
657   * @param  DMAMUXx DMAMUXx Instance
658   * @param  Channel This parameter can be one of the following values:
659   *         @arg @ref LL_DMAMUX_CHANNEL_0
660   *         @arg @ref LL_DMAMUX_CHANNEL_1
661   *         @arg @ref LL_DMAMUX_CHANNEL_2
662   *         @arg @ref LL_DMAMUX_CHANNEL_3
663   *         @arg @ref LL_DMAMUX_CHANNEL_4
664   *         @arg @ref LL_DMAMUX_CHANNEL_5
665   *         @arg @ref LL_DMAMUX_CHANNEL_6
666   *         @arg @ref LL_DMAMUX_CHANNEL_7
667   *         @arg @ref LL_DMAMUX_CHANNEL_8
668   *         @arg @ref LL_DMAMUX_CHANNEL_9
669   *         @arg @ref LL_DMAMUX_CHANNEL_10
670   *         @arg @ref LL_DMAMUX_CHANNEL_11
671   *         @arg @ref LL_DMAMUX_CHANNEL_12
672   *         @arg @ref LL_DMAMUX_CHANNEL_13
673   * @retval Returned value can be one of the following values:
674   *         @arg @ref LL_DMAMUX_REQ_MEM2MEM
675   *         @arg @ref LL_DMAMUX_REQ_GENERATOR0
676   *         @arg @ref LL_DMAMUX_REQ_GENERATOR1
677   *         @arg @ref LL_DMAMUX_REQ_GENERATOR2
678   *         @arg @ref LL_DMAMUX_REQ_GENERATOR3
679   *         @arg @ref LL_DMAMUX_REQ_ADC1
680   *         @arg @ref LL_DMAMUX_REQ_DAC1_CH1
681   *         @arg @ref LL_DMAMUX_REQ_DAC1_CH2
682   *         @arg @ref LL_DMAMUX_REQ_TIM6_UP
683   *         @arg @ref LL_DMAMUX_REQ_TIM7_UP
684   *         @arg @ref LL_DMAMUX_REQ_SPI1_RX
685   *         @arg @ref LL_DMAMUX_REQ_SPI1_TX
686   *         @arg @ref LL_DMAMUX_REQ_SPI2_RX
687   *         @arg @ref LL_DMAMUX_REQ_SPI2_TX
688   *         @arg @ref LL_DMAMUX_REQ_SPI3_RX
689   *         @arg @ref LL_DMAMUX_REQ_SPI3_TX
690   *         @arg @ref LL_DMAMUX_REQ_I2C1_RX
691   *         @arg @ref LL_DMAMUX_REQ_I2C1_TX
692   *         @arg @ref LL_DMAMUX_REQ_I2C2_RX
693   *         @arg @ref LL_DMAMUX_REQ_I2C2_TX
694   *         @arg @ref LL_DMAMUX_REQ_I2C3_RX
695   *         @arg @ref LL_DMAMUX_REQ_I2C3_TX
696   *         @arg @ref LL_DMAMUX_REQ_I2C4_RX
697   *         @arg @ref LL_DMAMUX_REQ_I2C4_TX
698   *         @arg @ref LL_DMAMUX_REQ_USART1_RX
699   *         @arg @ref LL_DMAMUX_REQ_USART1_TX
700   *         @arg @ref LL_DMAMUX_REQ_USART2_RX
701   *         @arg @ref LL_DMAMUX_REQ_USART2_TX
702   *         @arg @ref LL_DMAMUX_REQ_USART3_RX
703   *         @arg @ref LL_DMAMUX_REQ_USART3_TX
704   *         @arg @ref LL_DMAMUX_REQ_UART4_RX
705   *         @arg @ref LL_DMAMUX_REQ_UART4_TX
706   *         @arg @ref LL_DMAMUX_REQ_UART5_RX
707   *         @arg @ref LL_DMAMUX_REQ_UART5_TX
708   *         @arg @ref LL_DMAMUX_REQ_LPUART1_RX
709   *         @arg @ref LL_DMAMUX_REQ_LPUART1_TX
710   *         @arg @ref LL_DMAMUX_REQ_SAI1_A
711   *         @arg @ref LL_DMAMUX_REQ_SAI1_B
712   *         @arg @ref LL_DMAMUX_REQ_SAI2_A
713   *         @arg @ref LL_DMAMUX_REQ_SAI2_B
714   *         @arg @ref LL_DMAMUX_REQ_OSPI1
715   *         @arg @ref LL_DMAMUX_REQ_OSPI2
716   *         @arg @ref LL_DMAMUX_REQ_TIM1_CH1
717   *         @arg @ref LL_DMAMUX_REQ_TIM1_CH2
718   *         @arg @ref LL_DMAMUX_REQ_TIM1_CH3
719   *         @arg @ref LL_DMAMUX_REQ_TIM1_CH4
720   *         @arg @ref LL_DMAMUX_REQ_TIM1_UP
721   *         @arg @ref LL_DMAMUX_REQ_TIM1_TRIG
722   *         @arg @ref LL_DMAMUX_REQ_TIM1_COM
723   *         @arg @ref LL_DMAMUX_REQ_TIM8_CH1
724   *         @arg @ref LL_DMAMUX_REQ_TIM8_CH2
725   *         @arg @ref LL_DMAMUX_REQ_TIM8_CH3
726   *         @arg @ref LL_DMAMUX_REQ_TIM8_CH4
727   *         @arg @ref LL_DMAMUX_REQ_TIM8_UP
728   *         @arg @ref LL_DMAMUX_REQ_TIM8_TRIG
729   *         @arg @ref LL_DMAMUX_REQ_TIM8_COM
730   *         @arg @ref LL_DMAMUX_REQ_TIM2_CH1
731   *         @arg @ref LL_DMAMUX_REQ_TIM2_CH2
732   *         @arg @ref LL_DMAMUX_REQ_TIM2_CH3
733   *         @arg @ref LL_DMAMUX_REQ_TIM2_CH4
734   *         @arg @ref LL_DMAMUX_REQ_TIM2_UP
735   *         @arg @ref LL_DMAMUX_REQ_TIM3_CH1
736   *         @arg @ref LL_DMAMUX_REQ_TIM3_CH2
737   *         @arg @ref LL_DMAMUX_REQ_TIM3_CH3
738   *         @arg @ref LL_DMAMUX_REQ_TIM3_CH4
739   *         @arg @ref LL_DMAMUX_REQ_TIM3_UP
740   *         @arg @ref LL_DMAMUX_REQ_TIM3_TRIG
741   *         @arg @ref LL_DMAMUX_REQ_TIM4_CH1
742   *         @arg @ref LL_DMAMUX_REQ_TIM4_CH2
743   *         @arg @ref LL_DMAMUX_REQ_TIM4_CH3
744   *         @arg @ref LL_DMAMUX_REQ_TIM4_CH4
745   *         @arg @ref LL_DMAMUX_REQ_TIM4_UP
746   *         @arg @ref LL_DMAMUX_REQ_TIM5_CH1
747   *         @arg @ref LL_DMAMUX_REQ_TIM5_CH2
748   *         @arg @ref LL_DMAMUX_REQ_TIM5_CH3
749   *         @arg @ref LL_DMAMUX_REQ_TIM5_CH4
750   *         @arg @ref LL_DMAMUX_REQ_TIM5_UP
751   *         @arg @ref LL_DMAMUX_REQ_TIM5_TRIG
752   *         @arg @ref LL_DMAMUX_REQ_TIM15_CH1
753   *         @arg @ref LL_DMAMUX_REQ_TIM15_UP
754   *         @arg @ref LL_DMAMUX_REQ_TIM15_TRIG
755   *         @arg @ref LL_DMAMUX_REQ_TIM15_COM
756   *         @arg @ref LL_DMAMUX_REQ_TIM16_CH1
757   *         @arg @ref LL_DMAMUX_REQ_TIM16_UP
758   *         @arg @ref LL_DMAMUX_REQ_TIM17_CH1
759   *         @arg @ref LL_DMAMUX_REQ_TIM17_UP
760   *         @arg @ref LL_DMAMUX_REQ_DFSDM1_FLT0
761   *         @arg @ref LL_DMAMUX_REQ_DFSDM1_FLT1
762   *         @arg @ref LL_DMAMUX_REQ_DFSDM1_FLT2
763   *         @arg @ref LL_DMAMUX_REQ_DFSDM1_FLT3
764   *         @arg @ref LL_DMAMUX_REQ_DCMI
765   *         @arg @ref LL_DMAMUX_REQ_AES_IN
766   *         @arg @ref LL_DMAMUX_REQ_AES_OUT
767   *         @arg @ref LL_DMAMUX_REQ_HASH_IN
768   */
LL_DMAMUX_GetRequestID(DMAMUX_Channel_TypeDef * DMAMUXx,uint32_t Channel)769 __STATIC_INLINE uint32_t LL_DMAMUX_GetRequestID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
770 {
771   (void)(DMAMUXx);
772   return (uint32_t)(READ_BIT((DMAMUX1_Channel0 + Channel)->CCR, DMAMUX_CxCR_DMAREQ_ID));
773 }
774 
775 /**
776   * @brief  Set the number of DMA request that will be autorized after a synchronization event and/or the number of DMA request needed to generate an event.
777   * @rmtoll CxCR         NBREQ         LL_DMAMUX_SetSyncRequestNb
778   * @param  DMAMUXx DMAMUXx Instance
779   * @param  Channel This parameter can be one of the following values:
780   *         @arg @ref LL_DMAMUX_CHANNEL_0
781   *         @arg @ref LL_DMAMUX_CHANNEL_1
782   *         @arg @ref LL_DMAMUX_CHANNEL_2
783   *         @arg @ref LL_DMAMUX_CHANNEL_3
784   *         @arg @ref LL_DMAMUX_CHANNEL_4
785   *         @arg @ref LL_DMAMUX_CHANNEL_5
786   *         @arg @ref LL_DMAMUX_CHANNEL_6
787   *         @arg @ref LL_DMAMUX_CHANNEL_7
788   *         @arg @ref LL_DMAMUX_CHANNEL_8
789   *         @arg @ref LL_DMAMUX_CHANNEL_9
790   *         @arg @ref LL_DMAMUX_CHANNEL_10
791   *         @arg @ref LL_DMAMUX_CHANNEL_11
792   *         @arg @ref LL_DMAMUX_CHANNEL_12
793   *         @arg @ref LL_DMAMUX_CHANNEL_13
794   * @param  RequestNb This parameter must be a value between Min_Data = 1 and Max_Data = 32.
795   * @retval None
796   */
LL_DMAMUX_SetSyncRequestNb(DMAMUX_Channel_TypeDef * DMAMUXx,uint32_t Channel,uint32_t RequestNb)797 __STATIC_INLINE void LL_DMAMUX_SetSyncRequestNb(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel, uint32_t RequestNb)
798 {
799   (void)(DMAMUXx);
800   MODIFY_REG((DMAMUX1_Channel0 + Channel)->CCR, DMAMUX_CxCR_NBREQ, ((RequestNb - 1U) << DMAMUX_CxCR_NBREQ_Pos));
801 }
802 
803 /**
804   * @brief  Get the number of DMA request that will be autorized after a synchronization event and/or the number of DMA request needed to generate an event.
805   * @rmtoll CxCR         NBREQ         LL_DMAMUX_GetSyncRequestNb
806   * @param  DMAMUXx DMAMUXx Instance
807   * @param  Channel This parameter can be one of the following values:
808   *         @arg @ref LL_DMAMUX_CHANNEL_0
809   *         @arg @ref LL_DMAMUX_CHANNEL_1
810   *         @arg @ref LL_DMAMUX_CHANNEL_2
811   *         @arg @ref LL_DMAMUX_CHANNEL_3
812   *         @arg @ref LL_DMAMUX_CHANNEL_4
813   *         @arg @ref LL_DMAMUX_CHANNEL_5
814   *         @arg @ref LL_DMAMUX_CHANNEL_6
815   *         @arg @ref LL_DMAMUX_CHANNEL_7
816   *         @arg @ref LL_DMAMUX_CHANNEL_8
817   *         @arg @ref LL_DMAMUX_CHANNEL_9
818   *         @arg @ref LL_DMAMUX_CHANNEL_10
819   *         @arg @ref LL_DMAMUX_CHANNEL_11
820   *         @arg @ref LL_DMAMUX_CHANNEL_12
821   *         @arg @ref LL_DMAMUX_CHANNEL_13
822   * @retval Between Min_Data = 1 and Max_Data = 32
823   */
LL_DMAMUX_GetSyncRequestNb(DMAMUX_Channel_TypeDef * DMAMUXx,uint32_t Channel)824 __STATIC_INLINE uint32_t LL_DMAMUX_GetSyncRequestNb(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
825 {
826   (void)(DMAMUXx);
827   return (uint32_t)(((READ_BIT((DMAMUX1_Channel0 + Channel)->CCR, DMAMUX_CxCR_NBREQ)) >> DMAMUX_CxCR_NBREQ_Pos) + 1U);
828 }
829 
830 /**
831   * @brief  Set the polarity of the signal on which the DMA request is synchronized.
832   * @rmtoll CxCR         SPOL          LL_DMAMUX_SetSyncPolarity
833   * @param  DMAMUXx DMAMUXx Instance
834   * @param  Channel This parameter can be one of the following values:
835   *         @arg @ref LL_DMAMUX_CHANNEL_0
836   *         @arg @ref LL_DMAMUX_CHANNEL_1
837   *         @arg @ref LL_DMAMUX_CHANNEL_2
838   *         @arg @ref LL_DMAMUX_CHANNEL_3
839   *         @arg @ref LL_DMAMUX_CHANNEL_4
840   *         @arg @ref LL_DMAMUX_CHANNEL_5
841   *         @arg @ref LL_DMAMUX_CHANNEL_6
842   *         @arg @ref LL_DMAMUX_CHANNEL_7
843   *         @arg @ref LL_DMAMUX_CHANNEL_8
844   *         @arg @ref LL_DMAMUX_CHANNEL_9
845   *         @arg @ref LL_DMAMUX_CHANNEL_10
846   *         @arg @ref LL_DMAMUX_CHANNEL_11
847   *         @arg @ref LL_DMAMUX_CHANNEL_12
848   *         @arg @ref LL_DMAMUX_CHANNEL_13
849   * @param  Polarity This parameter can be one of the following values:
850   *         @arg @ref LL_DMAMUX_SYNC_NO_EVENT
851   *         @arg @ref LL_DMAMUX_SYNC_POL_RISING
852   *         @arg @ref LL_DMAMUX_SYNC_POL_FALLING
853   *         @arg @ref LL_DMAMUX_SYNC_POL_RISING_FALLING
854   * @retval None
855   */
LL_DMAMUX_SetSyncPolarity(DMAMUX_Channel_TypeDef * DMAMUXx,uint32_t Channel,uint32_t Polarity)856 __STATIC_INLINE void LL_DMAMUX_SetSyncPolarity(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel, uint32_t Polarity)
857 {
858   (void)(DMAMUXx);
859   MODIFY_REG((DMAMUX1_Channel0 + Channel)->CCR, DMAMUX_CxCR_SPOL, Polarity);
860 }
861 
862 /**
863   * @brief  Get the polarity of the signal on which the DMA request is synchronized.
864   * @rmtoll CxCR         SPOL          LL_DMAMUX_GetSyncPolarity
865   * @param  DMAMUXx DMAMUXx Instance
866   * @param  Channel This parameter can be one of the following values:
867   *         @arg @ref LL_DMAMUX_CHANNEL_0
868   *         @arg @ref LL_DMAMUX_CHANNEL_1
869   *         @arg @ref LL_DMAMUX_CHANNEL_2
870   *         @arg @ref LL_DMAMUX_CHANNEL_3
871   *         @arg @ref LL_DMAMUX_CHANNEL_4
872   *         @arg @ref LL_DMAMUX_CHANNEL_5
873   *         @arg @ref LL_DMAMUX_CHANNEL_6
874   *         @arg @ref LL_DMAMUX_CHANNEL_7
875   *         @arg @ref LL_DMAMUX_CHANNEL_8
876   *         @arg @ref LL_DMAMUX_CHANNEL_9
877   *         @arg @ref LL_DMAMUX_CHANNEL_10
878   *         @arg @ref LL_DMAMUX_CHANNEL_11
879   *         @arg @ref LL_DMAMUX_CHANNEL_12
880   *         @arg @ref LL_DMAMUX_CHANNEL_13
881   * @retval Returned value can be one of the following values:
882   *         @arg @ref LL_DMAMUX_SYNC_NO_EVENT
883   *         @arg @ref LL_DMAMUX_SYNC_POL_RISING
884   *         @arg @ref LL_DMAMUX_SYNC_POL_FALLING
885   *         @arg @ref LL_DMAMUX_SYNC_POL_RISING_FALLING
886   */
LL_DMAMUX_GetSyncPolarity(DMAMUX_Channel_TypeDef * DMAMUXx,uint32_t Channel)887 __STATIC_INLINE uint32_t LL_DMAMUX_GetSyncPolarity(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
888 {
889   (void)(DMAMUXx);
890   return (uint32_t)(READ_BIT((DMAMUX1_Channel0 + Channel)->CCR, DMAMUX_CxCR_SPOL));
891 }
892 
893 /**
894   * @brief  Enable the Event Generation on DMAMUX channel x.
895   * @rmtoll CxCR         EGE           LL_DMAMUX_EnableEventGeneration
896   * @param  DMAMUXx DMAMUXx Instance
897   * @param  Channel This parameter can be one of the following values:
898   *         @arg @ref LL_DMAMUX_CHANNEL_0
899   *         @arg @ref LL_DMAMUX_CHANNEL_1
900   *         @arg @ref LL_DMAMUX_CHANNEL_2
901   *         @arg @ref LL_DMAMUX_CHANNEL_3
902   *         @arg @ref LL_DMAMUX_CHANNEL_4
903   *         @arg @ref LL_DMAMUX_CHANNEL_5
904   *         @arg @ref LL_DMAMUX_CHANNEL_6
905   *         @arg @ref LL_DMAMUX_CHANNEL_7
906   *         @arg @ref LL_DMAMUX_CHANNEL_8
907   *         @arg @ref LL_DMAMUX_CHANNEL_9
908   *         @arg @ref LL_DMAMUX_CHANNEL_10
909   *         @arg @ref LL_DMAMUX_CHANNEL_11
910   *         @arg @ref LL_DMAMUX_CHANNEL_12
911   *         @arg @ref LL_DMAMUX_CHANNEL_13
912   * @retval None
913   */
LL_DMAMUX_EnableEventGeneration(DMAMUX_Channel_TypeDef * DMAMUXx,uint32_t Channel)914 __STATIC_INLINE void LL_DMAMUX_EnableEventGeneration(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
915 {
916   (void)(DMAMUXx);
917   SET_BIT((DMAMUX1_Channel0 + Channel)->CCR, DMAMUX_CxCR_EGE);
918 }
919 
920 /**
921   * @brief  Disable the Event Generation on DMAMUX channel x.
922   * @rmtoll CxCR         EGE           LL_DMAMUX_DisableEventGeneration
923   * @param  DMAMUXx DMAMUXx Instance
924   * @param  Channel This parameter can be one of the following values:
925   *         @arg @ref LL_DMAMUX_CHANNEL_0
926   *         @arg @ref LL_DMAMUX_CHANNEL_1
927   *         @arg @ref LL_DMAMUX_CHANNEL_2
928   *         @arg @ref LL_DMAMUX_CHANNEL_3
929   *         @arg @ref LL_DMAMUX_CHANNEL_4
930   *         @arg @ref LL_DMAMUX_CHANNEL_5
931   *         @arg @ref LL_DMAMUX_CHANNEL_6
932   *         @arg @ref LL_DMAMUX_CHANNEL_7
933   *         @arg @ref LL_DMAMUX_CHANNEL_8
934   *         @arg @ref LL_DMAMUX_CHANNEL_9
935   *         @arg @ref LL_DMAMUX_CHANNEL_10
936   *         @arg @ref LL_DMAMUX_CHANNEL_11
937   *         @arg @ref LL_DMAMUX_CHANNEL_12
938   *         @arg @ref LL_DMAMUX_CHANNEL_13
939   * @retval None
940   */
LL_DMAMUX_DisableEventGeneration(DMAMUX_Channel_TypeDef * DMAMUXx,uint32_t Channel)941 __STATIC_INLINE void LL_DMAMUX_DisableEventGeneration(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
942 {
943   (void)(DMAMUXx);
944   CLEAR_BIT((DMAMUX1_Channel0 + Channel)->CCR, DMAMUX_CxCR_EGE);
945 }
946 
947 /**
948   * @brief  Check if the Event Generation on DMAMUX channel x is enabled or disabled.
949   * @rmtoll CxCR         EGE           LL_DMAMUX_IsEnabledEventGeneration
950   * @param  DMAMUXx DMAMUXx Instance
951   * @param  Channel This parameter can be one of the following values:
952   *         @arg @ref LL_DMAMUX_CHANNEL_0
953   *         @arg @ref LL_DMAMUX_CHANNEL_1
954   *         @arg @ref LL_DMAMUX_CHANNEL_2
955   *         @arg @ref LL_DMAMUX_CHANNEL_3
956   *         @arg @ref LL_DMAMUX_CHANNEL_4
957   *         @arg @ref LL_DMAMUX_CHANNEL_5
958   *         @arg @ref LL_DMAMUX_CHANNEL_6
959   *         @arg @ref LL_DMAMUX_CHANNEL_7
960   *         @arg @ref LL_DMAMUX_CHANNEL_8
961   *         @arg @ref LL_DMAMUX_CHANNEL_9
962   *         @arg @ref LL_DMAMUX_CHANNEL_10
963   *         @arg @ref LL_DMAMUX_CHANNEL_11
964   *         @arg @ref LL_DMAMUX_CHANNEL_12
965   *         @arg @ref LL_DMAMUX_CHANNEL_13
966   * @retval State of bit (1 or 0).
967   */
LL_DMAMUX_IsEnabledEventGeneration(DMAMUX_Channel_TypeDef * DMAMUXx,uint32_t Channel)968 __STATIC_INLINE uint32_t LL_DMAMUX_IsEnabledEventGeneration(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
969 {
970   (void)(DMAMUXx);
971   return ((READ_BIT((DMAMUX1_Channel0 + Channel)->CCR, DMAMUX_CxCR_EGE) == (DMAMUX_CxCR_EGE))? 1UL : 0UL);
972 }
973 
974 /**
975   * @brief  Enable the synchronization mode.
976   * @rmtoll CxCR         SE            LL_DMAMUX_EnableSync
977   * @param  DMAMUXx DMAMUXx Instance
978   * @param  Channel This parameter can be one of the following values:
979   *         @arg @ref LL_DMAMUX_CHANNEL_0
980   *         @arg @ref LL_DMAMUX_CHANNEL_1
981   *         @arg @ref LL_DMAMUX_CHANNEL_2
982   *         @arg @ref LL_DMAMUX_CHANNEL_3
983   *         @arg @ref LL_DMAMUX_CHANNEL_4
984   *         @arg @ref LL_DMAMUX_CHANNEL_5
985   *         @arg @ref LL_DMAMUX_CHANNEL_6
986   *         @arg @ref LL_DMAMUX_CHANNEL_7
987   *         @arg @ref LL_DMAMUX_CHANNEL_8
988   *         @arg @ref LL_DMAMUX_CHANNEL_9
989   *         @arg @ref LL_DMAMUX_CHANNEL_10
990   *         @arg @ref LL_DMAMUX_CHANNEL_11
991   *         @arg @ref LL_DMAMUX_CHANNEL_12
992   *         @arg @ref LL_DMAMUX_CHANNEL_13
993   * @retval None
994   */
LL_DMAMUX_EnableSync(DMAMUX_Channel_TypeDef * DMAMUXx,uint32_t Channel)995 __STATIC_INLINE void LL_DMAMUX_EnableSync(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
996 {
997   (void)(DMAMUXx);
998   SET_BIT((DMAMUX1_Channel0 + Channel)->CCR, DMAMUX_CxCR_SE);
999 }
1000 
1001 /**
1002   * @brief  Disable the synchronization mode.
1003   * @rmtoll CxCR         SE            LL_DMAMUX_DisableSync
1004   * @param  DMAMUXx DMAMUXx Instance
1005   * @param  Channel This parameter can be one of the following values:
1006   *         @arg @ref LL_DMAMUX_CHANNEL_0
1007   *         @arg @ref LL_DMAMUX_CHANNEL_1
1008   *         @arg @ref LL_DMAMUX_CHANNEL_2
1009   *         @arg @ref LL_DMAMUX_CHANNEL_3
1010   *         @arg @ref LL_DMAMUX_CHANNEL_4
1011   *         @arg @ref LL_DMAMUX_CHANNEL_5
1012   *         @arg @ref LL_DMAMUX_CHANNEL_6
1013   *         @arg @ref LL_DMAMUX_CHANNEL_7
1014   *         @arg @ref LL_DMAMUX_CHANNEL_8
1015   *         @arg @ref LL_DMAMUX_CHANNEL_9
1016   *         @arg @ref LL_DMAMUX_CHANNEL_10
1017   *         @arg @ref LL_DMAMUX_CHANNEL_11
1018   *         @arg @ref LL_DMAMUX_CHANNEL_12
1019   *         @arg @ref LL_DMAMUX_CHANNEL_13
1020   * @retval None
1021   */
LL_DMAMUX_DisableSync(DMAMUX_Channel_TypeDef * DMAMUXx,uint32_t Channel)1022 __STATIC_INLINE void LL_DMAMUX_DisableSync(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
1023 {
1024   (void)(DMAMUXx);
1025   CLEAR_BIT((DMAMUX1_Channel0 + Channel)->CCR, DMAMUX_CxCR_SE);
1026 }
1027 
1028 /**
1029   * @brief  Check if the synchronization mode is enabled or disabled.
1030   * @rmtoll CxCR         SE            LL_DMAMUX_IsEnabledSync
1031   * @param  DMAMUXx DMAMUXx Instance
1032   * @param  Channel This parameter can be one of the following values:
1033   *         @arg @ref LL_DMAMUX_CHANNEL_0
1034   *         @arg @ref LL_DMAMUX_CHANNEL_1
1035   *         @arg @ref LL_DMAMUX_CHANNEL_2
1036   *         @arg @ref LL_DMAMUX_CHANNEL_3
1037   *         @arg @ref LL_DMAMUX_CHANNEL_4
1038   *         @arg @ref LL_DMAMUX_CHANNEL_5
1039   *         @arg @ref LL_DMAMUX_CHANNEL_6
1040   *         @arg @ref LL_DMAMUX_CHANNEL_7
1041   *         @arg @ref LL_DMAMUX_CHANNEL_8
1042   *         @arg @ref LL_DMAMUX_CHANNEL_9
1043   *         @arg @ref LL_DMAMUX_CHANNEL_10
1044   *         @arg @ref LL_DMAMUX_CHANNEL_11
1045   *         @arg @ref LL_DMAMUX_CHANNEL_12
1046   *         @arg @ref LL_DMAMUX_CHANNEL_13
1047   * @retval State of bit (1 or 0).
1048   */
LL_DMAMUX_IsEnabledSync(DMAMUX_Channel_TypeDef * DMAMUXx,uint32_t Channel)1049 __STATIC_INLINE uint32_t LL_DMAMUX_IsEnabledSync(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
1050 {
1051   (void)(DMAMUXx);
1052   return ((READ_BIT((DMAMUX1_Channel0 + Channel)->CCR, DMAMUX_CxCR_SE) == (DMAMUX_CxCR_SE))? 1UL : 0UL);
1053 }
1054 
1055 /**
1056   * @brief  Set DMAMUX synchronization ID  on DMAMUX Channel x.
1057   * @rmtoll CxCR         SYNC_ID       LL_DMAMUX_SetSyncID
1058   * @param  DMAMUXx DMAMUXx Instance
1059   * @param  Channel This parameter can be one of the following values:
1060   *         @arg @ref LL_DMAMUX_CHANNEL_0
1061   *         @arg @ref LL_DMAMUX_CHANNEL_1
1062   *         @arg @ref LL_DMAMUX_CHANNEL_2
1063   *         @arg @ref LL_DMAMUX_CHANNEL_3
1064   *         @arg @ref LL_DMAMUX_CHANNEL_4
1065   *         @arg @ref LL_DMAMUX_CHANNEL_5
1066   *         @arg @ref LL_DMAMUX_CHANNEL_6
1067   *         @arg @ref LL_DMAMUX_CHANNEL_7
1068   *         @arg @ref LL_DMAMUX_CHANNEL_8
1069   *         @arg @ref LL_DMAMUX_CHANNEL_9
1070   *         @arg @ref LL_DMAMUX_CHANNEL_10
1071   *         @arg @ref LL_DMAMUX_CHANNEL_11
1072   *         @arg @ref LL_DMAMUX_CHANNEL_12
1073   *         @arg @ref LL_DMAMUX_CHANNEL_13
1074   * @param  SyncID This parameter can be one of the following values:
1075   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE0
1076   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE1
1077   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE2
1078   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE3
1079   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE4
1080   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE5
1081   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE6
1082   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE7
1083   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE8
1084   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE9
1085   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE10
1086   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE11
1087   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE12
1088   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE13
1089   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE14
1090   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE15
1091   *         @arg @ref LL_DMAMUX_SYNC_DMAMUX_CH0
1092   *         @arg @ref LL_DMAMUX_SYNC_DMAMUX_CH1
1093   *         @arg @ref LL_DMAMUX_SYNC_DMAMUX_CH2
1094   *         @arg @ref LL_DMAMUX_SYNC_DMAMUX_CH3
1095   *         @arg @ref LL_DMAMUX_SYNC_LPTIM1_OUT
1096   *         @arg @ref LL_DMAMUX_SYNC_LPTIM2_OUT
1097   *         @arg @ref LL_DMAMUX_SYNC_DSI_TE
1098   *         @arg @ref LL_DMAMUX_SYNC_DSI_REFRESH_END
1099   *         @arg @ref LL_DMAMUX_SYNC_DMA2D_TX_END
1100   *         @arg @ref LL_DMAMUX_SYNC_LTDC_LINE_IT
1101   * @retval None
1102   */
LL_DMAMUX_SetSyncID(DMAMUX_Channel_TypeDef * DMAMUXx,uint32_t Channel,uint32_t SyncID)1103 __STATIC_INLINE void LL_DMAMUX_SetSyncID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel, uint32_t SyncID)
1104 {
1105   (void)(DMAMUXx);
1106   MODIFY_REG((DMAMUX1_Channel0 + Channel)->CCR, DMAMUX_CxCR_SYNC_ID, SyncID);
1107 }
1108 
1109 /**
1110   * @brief  Get DMAMUX synchronization ID  on DMAMUX Channel x.
1111   * @rmtoll CxCR         SYNC_ID       LL_DMAMUX_GetSyncID
1112   * @param  DMAMUXx DMAMUXx Instance
1113   * @param  Channel This parameter can be one of the following values:
1114   *         @arg @ref LL_DMAMUX_CHANNEL_0
1115   *         @arg @ref LL_DMAMUX_CHANNEL_1
1116   *         @arg @ref LL_DMAMUX_CHANNEL_2
1117   *         @arg @ref LL_DMAMUX_CHANNEL_3
1118   *         @arg @ref LL_DMAMUX_CHANNEL_4
1119   *         @arg @ref LL_DMAMUX_CHANNEL_5
1120   *         @arg @ref LL_DMAMUX_CHANNEL_6
1121   *         @arg @ref LL_DMAMUX_CHANNEL_7
1122   *         @arg @ref LL_DMAMUX_CHANNEL_8
1123   *         @arg @ref LL_DMAMUX_CHANNEL_9
1124   *         @arg @ref LL_DMAMUX_CHANNEL_10
1125   *         @arg @ref LL_DMAMUX_CHANNEL_11
1126   *         @arg @ref LL_DMAMUX_CHANNEL_12
1127   *         @arg @ref LL_DMAMUX_CHANNEL_13
1128   * @retval Returned value can be one of the following values:
1129   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE0
1130   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE1
1131   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE2
1132   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE3
1133   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE4
1134   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE5
1135   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE6
1136   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE7
1137   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE8
1138   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE9
1139   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE10
1140   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE11
1141   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE12
1142   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE13
1143   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE14
1144   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE15
1145   *         @arg @ref LL_DMAMUX_SYNC_DMAMUX_CH0
1146   *         @arg @ref LL_DMAMUX_SYNC_DMAMUX_CH1
1147   *         @arg @ref LL_DMAMUX_SYNC_DMAMUX_CH2
1148   *         @arg @ref LL_DMAMUX_SYNC_DMAMUX_CH3
1149   *         @arg @ref LL_DMAMUX_SYNC_LPTIM1_OUT
1150   *         @arg @ref LL_DMAMUX_SYNC_LPTIM2_OUT
1151   *         @arg @ref LL_DMAMUX_SYNC_DSI_TE
1152   *         @arg @ref LL_DMAMUX_SYNC_DSI_REFRESH_END
1153   *         @arg @ref LL_DMAMUX_SYNC_DMA2D_TX_END
1154   *         @arg @ref LL_DMAMUX_SYNC_LTDC_LINE_IT
1155   */
LL_DMAMUX_GetSyncID(DMAMUX_Channel_TypeDef * DMAMUXx,uint32_t Channel)1156 __STATIC_INLINE uint32_t LL_DMAMUX_GetSyncID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
1157 {
1158   (void)(DMAMUXx);
1159   return (uint32_t)(READ_BIT((DMAMUX1_Channel0 + Channel)->CCR, DMAMUX_CxCR_SYNC_ID));
1160 }
1161 
1162 /**
1163   * @brief  Enable the Request Generator.
1164   * @rmtoll RGxCR        GE            LL_DMAMUX_EnableRequestGen
1165   * @param  DMAMUXx DMAMUXx Instance
1166   * @param  RequestGenChannel This parameter can be one of the following values:
1167   *         @arg @ref LL_DMAMUX_REQ_GEN_0
1168   *         @arg @ref LL_DMAMUX_REQ_GEN_1
1169   *         @arg @ref LL_DMAMUX_REQ_GEN_2
1170   *         @arg @ref LL_DMAMUX_REQ_GEN_3
1171   * @retval None
1172   */
LL_DMAMUX_EnableRequestGen(DMAMUX_Channel_TypeDef * DMAMUXx,uint32_t RequestGenChannel)1173 __STATIC_INLINE void LL_DMAMUX_EnableRequestGen(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
1174 {
1175   (void)(DMAMUXx);
1176   SET_BIT(((DMAMUX_RequestGen_TypeDef *)((uint32_t)((uint32_t)DMAMUX1_RequestGenerator0 + (DMAMUX_RGCR_SIZE * (RequestGenChannel)))))->RGCR, DMAMUX_RGxCR_GE);
1177 }
1178 
1179 /**
1180   * @brief  Disable the Request Generator.
1181   * @rmtoll RGxCR        GE            LL_DMAMUX_DisableRequestGen
1182   * @param  DMAMUXx DMAMUXx Instance
1183   * @param  RequestGenChannel This parameter can be one of the following values:
1184   *         @arg @ref LL_DMAMUX_REQ_GEN_0
1185   *         @arg @ref LL_DMAMUX_REQ_GEN_1
1186   *         @arg @ref LL_DMAMUX_REQ_GEN_2
1187   *         @arg @ref LL_DMAMUX_REQ_GEN_3
1188   * @retval None
1189   */
LL_DMAMUX_DisableRequestGen(DMAMUX_Channel_TypeDef * DMAMUXx,uint32_t RequestGenChannel)1190 __STATIC_INLINE void LL_DMAMUX_DisableRequestGen(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
1191 {
1192   (void)(DMAMUXx);
1193   CLEAR_BIT(((DMAMUX_RequestGen_TypeDef *)((uint32_t)((uint32_t)DMAMUX1_RequestGenerator0 + (DMAMUX_RGCR_SIZE * (RequestGenChannel)))))->RGCR, DMAMUX_RGxCR_GE);
1194 }
1195 
1196 /**
1197   * @brief  Check if the Request Generator is enabled or disabled.
1198   * @rmtoll RGxCR        GE            LL_DMAMUX_IsEnabledRequestGen
1199   * @param  DMAMUXx DMAMUXx Instance
1200   * @param  RequestGenChannel This parameter can be one of the following values:
1201   *         @arg @ref LL_DMAMUX_REQ_GEN_0
1202   *         @arg @ref LL_DMAMUX_REQ_GEN_1
1203   *         @arg @ref LL_DMAMUX_REQ_GEN_2
1204   *         @arg @ref LL_DMAMUX_REQ_GEN_3
1205   * @retval State of bit (1 or 0).
1206   */
LL_DMAMUX_IsEnabledRequestGen(DMAMUX_Channel_TypeDef * DMAMUXx,uint32_t RequestGenChannel)1207 __STATIC_INLINE uint32_t LL_DMAMUX_IsEnabledRequestGen(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
1208 {
1209   (void)(DMAMUXx);
1210   return ((READ_BIT(((DMAMUX_RequestGen_TypeDef *)((uint32_t)((uint32_t)DMAMUX1_RequestGenerator0 + (DMAMUX_RGCR_SIZE * (RequestGenChannel)))))->RGCR, DMAMUX_RGxCR_GE) == (DMAMUX_RGxCR_GE))? 1UL : 0UL);
1211 }
1212 
1213 /**
1214   * @brief  Set the polarity of the signal on which the DMA request is generated.
1215   * @rmtoll RGxCR        GPOL          LL_DMAMUX_SetRequestGenPolarity
1216   * @param  DMAMUXx DMAMUXx Instance
1217   * @param  RequestGenChannel This parameter can be one of the following values:
1218   *         @arg @ref LL_DMAMUX_REQ_GEN_0
1219   *         @arg @ref LL_DMAMUX_REQ_GEN_1
1220   *         @arg @ref LL_DMAMUX_REQ_GEN_2
1221   *         @arg @ref LL_DMAMUX_REQ_GEN_3
1222   * @param  Polarity This parameter can be one of the following values:
1223   *         @arg @ref LL_DMAMUX_REQ_GEN_NO_EVENT
1224   *         @arg @ref LL_DMAMUX_REQ_GEN_POL_RISING
1225   *         @arg @ref LL_DMAMUX_REQ_GEN_POL_FALLING
1226   *         @arg @ref LL_DMAMUX_REQ_GEN_POL_RISING_FALLING
1227   * @retval None
1228   */
LL_DMAMUX_SetRequestGenPolarity(DMAMUX_Channel_TypeDef * DMAMUXx,uint32_t RequestGenChannel,uint32_t Polarity)1229 __STATIC_INLINE void LL_DMAMUX_SetRequestGenPolarity(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel, uint32_t Polarity)
1230 {
1231   (void)(DMAMUXx);
1232   MODIFY_REG(((DMAMUX_RequestGen_TypeDef *)((uint32_t)((uint32_t)DMAMUX1_RequestGenerator0 + (DMAMUX_RGCR_SIZE * (RequestGenChannel)))))->RGCR, DMAMUX_RGxCR_GPOL, Polarity);
1233 }
1234 
1235 /**
1236   * @brief  Get the polarity of the signal on which the DMA request is generated.
1237   * @rmtoll RGxCR        GPOL          LL_DMAMUX_GetRequestGenPolarity
1238   * @param  DMAMUXx DMAMUXx Instance
1239   * @param  RequestGenChannel This parameter can be one of the following values:
1240   *         @arg @ref LL_DMAMUX_REQ_GEN_0
1241   *         @arg @ref LL_DMAMUX_REQ_GEN_1
1242   *         @arg @ref LL_DMAMUX_REQ_GEN_2
1243   *         @arg @ref LL_DMAMUX_REQ_GEN_3
1244   * @retval Returned value can be one of the following values:
1245   *         @arg @ref LL_DMAMUX_REQ_GEN_NO_EVENT
1246   *         @arg @ref LL_DMAMUX_REQ_GEN_POL_RISING
1247   *         @arg @ref LL_DMAMUX_REQ_GEN_POL_FALLING
1248   *         @arg @ref LL_DMAMUX_REQ_GEN_POL_RISING_FALLING
1249   */
LL_DMAMUX_GetRequestGenPolarity(DMAMUX_Channel_TypeDef * DMAMUXx,uint32_t RequestGenChannel)1250 __STATIC_INLINE uint32_t LL_DMAMUX_GetRequestGenPolarity(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
1251 {
1252   (void)(DMAMUXx);
1253   return (uint32_t)(READ_BIT(((DMAMUX_RequestGen_TypeDef *)((uint32_t)((uint32_t)DMAMUX1_RequestGenerator0 + (DMAMUX_RGCR_SIZE * (RequestGenChannel)))))->RGCR, DMAMUX_RGxCR_GPOL));
1254 }
1255 
1256 /**
1257   * @brief  Set the number of DMA request that will be autorized after a generation event.
1258   * @note   This field can only be written when Generator is disabled.
1259   * @rmtoll RGxCR        GNBREQ        LL_DMAMUX_SetGenRequestNb
1260   * @param  DMAMUXx DMAMUXx Instance
1261   * @param  RequestGenChannel This parameter can be one of the following values:
1262   *         @arg @ref LL_DMAMUX_REQ_GEN_0
1263   *         @arg @ref LL_DMAMUX_REQ_GEN_1
1264   *         @arg @ref LL_DMAMUX_REQ_GEN_2
1265   *         @arg @ref LL_DMAMUX_REQ_GEN_3
1266   * @param  RequestNb This parameter must be a value between Min_Data = 1 and Max_Data = 32.
1267   * @retval None
1268   */
LL_DMAMUX_SetGenRequestNb(DMAMUX_Channel_TypeDef * DMAMUXx,uint32_t RequestGenChannel,uint32_t RequestNb)1269 __STATIC_INLINE void LL_DMAMUX_SetGenRequestNb(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel, uint32_t RequestNb)
1270 {
1271   (void)(DMAMUXx);
1272   MODIFY_REG(((DMAMUX_RequestGen_TypeDef *)((uint32_t)((uint32_t)DMAMUX1_RequestGenerator0 + (DMAMUX_RGCR_SIZE * (RequestGenChannel)))))->RGCR, DMAMUX_RGxCR_GNBREQ, (RequestNb - 1U) << DMAMUX_RGxCR_GNBREQ_Pos);
1273 }
1274 
1275 /**
1276   * @brief  Get the number of DMA request that will be autorized after a generation event.
1277   * @rmtoll RGxCR        GNBREQ        LL_DMAMUX_GetGenRequestNb
1278   * @param  DMAMUXx DMAMUXx Instance
1279   * @param  RequestGenChannel This parameter can be one of the following values:
1280   *         @arg @ref LL_DMAMUX_REQ_GEN_0
1281   *         @arg @ref LL_DMAMUX_REQ_GEN_1
1282   *         @arg @ref LL_DMAMUX_REQ_GEN_2
1283   *         @arg @ref LL_DMAMUX_REQ_GEN_3
1284   * @retval Between Min_Data = 1 and Max_Data = 32
1285   */
LL_DMAMUX_GetGenRequestNb(DMAMUX_Channel_TypeDef * DMAMUXx,uint32_t RequestGenChannel)1286 __STATIC_INLINE uint32_t LL_DMAMUX_GetGenRequestNb(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
1287 {
1288   (void)(DMAMUXx);
1289   return (uint32_t)((READ_BIT(((DMAMUX_RequestGen_TypeDef *)((uint32_t)((uint32_t)DMAMUX1_RequestGenerator0 + (DMAMUX_RGCR_SIZE * (RequestGenChannel)))))->RGCR, DMAMUX_RGxCR_GNBREQ) >> DMAMUX_RGxCR_GNBREQ_Pos) + 1U);
1290 }
1291 
1292 /**
1293   * @brief  Set DMAMUX external Request Signal ID on DMAMUX Request Generation Trigger Event Channel x.
1294   * @rmtoll RGxCR        SIG_ID        LL_DMAMUX_SetRequestSignalID
1295   * @param  DMAMUXx DMAMUXx Instance
1296   * @param  RequestGenChannel This parameter can be one of the following values:
1297   *         @arg @ref LL_DMAMUX_REQ_GEN_0
1298   *         @arg @ref LL_DMAMUX_REQ_GEN_1
1299   *         @arg @ref LL_DMAMUX_REQ_GEN_2
1300   *         @arg @ref LL_DMAMUX_REQ_GEN_3
1301   * @param  RequestSignalID This parameter can be one of the following values:
1302   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE0
1303   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE1
1304   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE2
1305   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE3
1306   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE4
1307   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE5
1308   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE6
1309   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE7
1310   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE8
1311   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE9
1312   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE10
1313   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE11
1314   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE12
1315   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE13
1316   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE14
1317   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE15
1318   *         @arg @ref LL_DMAMUX_REQ_GEN_DMAMUX_CH0
1319   *         @arg @ref LL_DMAMUX_REQ_GEN_DMAMUX_CH1
1320   *         @arg @ref LL_DMAMUX_REQ_GEN_DMAMUX_CH2
1321   *         @arg @ref LL_DMAMUX_REQ_GEN_DMAMUX_CH3
1322   *         @arg @ref LL_DMAMUX_REQ_GEN_LPTIM1_OUT
1323   *         @arg @ref LL_DMAMUX_REQ_GEN_LPTIM2_OUT
1324   *         @arg @ref LL_DMAMUX_REQ_GEN_DSI_TE
1325   *         @arg @ref LL_DMAMUX_REQ_GEN_DSI_REFRESH_END
1326   *         @arg @ref LL_DMAMUX_REQ_GEN_DMA2D_TX_END
1327   *         @arg @ref LL_DMAMUX_REQ_GEN_LTDC_LINE_IT
1328   * @retval None
1329   */
LL_DMAMUX_SetRequestSignalID(DMAMUX_Channel_TypeDef * DMAMUXx,uint32_t RequestGenChannel,uint32_t RequestSignalID)1330 __STATIC_INLINE void LL_DMAMUX_SetRequestSignalID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel, uint32_t RequestSignalID)
1331 {
1332   (void)(DMAMUXx);
1333   MODIFY_REG(((DMAMUX_RequestGen_TypeDef *)((uint32_t)((uint32_t)DMAMUX1_RequestGenerator0 + (DMAMUX_RGCR_SIZE * (RequestGenChannel)))))->RGCR, DMAMUX_RGxCR_SIG_ID, RequestSignalID);
1334 }
1335 
1336 /**
1337   * @brief  Get DMAMUX external Request Signal ID set on DMAMUX Channel x.
1338   * @rmtoll RGxCR        SIG_ID        LL_DMAMUX_GetRequestSignalID
1339   * @param  DMAMUXx DMAMUXx Instance
1340   * @param  RequestGenChannel This parameter can be one of the following values:
1341   *         @arg @ref LL_DMAMUX_REQ_GEN_0
1342   *         @arg @ref LL_DMAMUX_REQ_GEN_1
1343   *         @arg @ref LL_DMAMUX_REQ_GEN_2
1344   *         @arg @ref LL_DMAMUX_REQ_GEN_3
1345   * @retval Returned value can be one of the following values:
1346   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE0
1347   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE1
1348   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE2
1349   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE3
1350   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE4
1351   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE5
1352   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE6
1353   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE7
1354   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE8
1355   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE9
1356   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE10
1357   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE11
1358   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE12
1359   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE13
1360   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE14
1361   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE15
1362   *         @arg @ref LL_DMAMUX_REQ_GEN_DMAMUX_CH0
1363   *         @arg @ref LL_DMAMUX_REQ_GEN_DMAMUX_CH1
1364   *         @arg @ref LL_DMAMUX_REQ_GEN_DMAMUX_CH2
1365   *         @arg @ref LL_DMAMUX_REQ_GEN_DMAMUX_CH3
1366   *         @arg @ref LL_DMAMUX_REQ_GEN_LPTIM1_OUT
1367   *         @arg @ref LL_DMAMUX_REQ_GEN_LPTIM2_OUT
1368   *         @arg @ref LL_DMAMUX_REQ_GEN_DSI_TE
1369   *         @arg @ref LL_DMAMUX_REQ_GEN_DSI_REFRESH_END
1370   *         @arg @ref LL_DMAMUX_REQ_GEN_DMA2D_TX_END
1371   *         @arg @ref LL_DMAMUX_REQ_GEN_LTDC_LINE_IT
1372   */
LL_DMAMUX_GetRequestSignalID(DMAMUX_Channel_TypeDef * DMAMUXx,uint32_t RequestGenChannel)1373 __STATIC_INLINE uint32_t LL_DMAMUX_GetRequestSignalID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
1374 {
1375   (void)(DMAMUXx);
1376   return (uint32_t)(READ_BIT(((DMAMUX_RequestGen_TypeDef *)((uint32_t)((uint32_t)DMAMUX1_RequestGenerator0 + (DMAMUX_RGCR_SIZE * (RequestGenChannel)))))->RGCR, DMAMUX_RGxCR_SIG_ID));
1377 }
1378 
1379 /**
1380   * @}
1381   */
1382 
1383 /** @defgroup DMAMUX_LL_EF_FLAG_Management FLAG_Management
1384   * @{
1385   */
1386 
1387 /**
1388   * @brief  Get Synchronization Event Overrun Flag Channel 0.
1389   * @rmtoll CSR          SOF0          LL_DMAMUX_IsActiveFlag_SO0
1390   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1391   * @retval State of bit (1 or 0).
1392   */
LL_DMAMUX_IsActiveFlag_SO0(DMAMUX_Channel_TypeDef * DMAMUXx)1393 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO0(DMAMUX_Channel_TypeDef *DMAMUXx)
1394 {
1395   (void)(DMAMUXx);
1396   return ((READ_BIT(DMAMUX1_ChannelStatus->CSR, DMAMUX_CSR_SOF0) == (DMAMUX_CSR_SOF0)) ? 1UL : 0UL);
1397 }
1398 
1399 /**
1400   * @brief  Get Synchronization Event Overrun Flag Channel 1.
1401   * @rmtoll CSR          SOF1          LL_DMAMUX_IsActiveFlag_SO1
1402   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1403   * @retval State of bit (1 or 0).
1404   */
LL_DMAMUX_IsActiveFlag_SO1(DMAMUX_Channel_TypeDef * DMAMUXx)1405 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO1(DMAMUX_Channel_TypeDef *DMAMUXx)
1406 {
1407   (void)(DMAMUXx);
1408   return ((READ_BIT(DMAMUX1_ChannelStatus->CSR, DMAMUX_CSR_SOF1) == (DMAMUX_CSR_SOF1)) ? 1UL : 0UL);
1409 }
1410 
1411 /**
1412   * @brief  Get Synchronization Event Overrun Flag Channel 2.
1413   * @rmtoll CSR          SOF2          LL_DMAMUX_IsActiveFlag_SO2
1414   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1415   * @retval State of bit (1 or 0).
1416   */
LL_DMAMUX_IsActiveFlag_SO2(DMAMUX_Channel_TypeDef * DMAMUXx)1417 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO2(DMAMUX_Channel_TypeDef *DMAMUXx)
1418 {
1419   (void)(DMAMUXx);
1420   return ((READ_BIT(DMAMUX1_ChannelStatus->CSR, DMAMUX_CSR_SOF2) == (DMAMUX_CSR_SOF2)) ? 1UL : 0UL);
1421 }
1422 
1423 /**
1424   * @brief  Get Synchronization Event Overrun Flag Channel 3.
1425   * @rmtoll CSR          SOF3          LL_DMAMUX_IsActiveFlag_SO3
1426   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1427   * @retval State of bit (1 or 0).
1428   */
LL_DMAMUX_IsActiveFlag_SO3(DMAMUX_Channel_TypeDef * DMAMUXx)1429 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO3(DMAMUX_Channel_TypeDef *DMAMUXx)
1430 {
1431   (void)(DMAMUXx);
1432   return ((READ_BIT(DMAMUX1_ChannelStatus->CSR, DMAMUX_CSR_SOF3) == (DMAMUX_CSR_SOF3)) ? 1UL : 0UL);
1433 }
1434 
1435 /**
1436   * @brief  Get Synchronization Event Overrun Flag Channel 4.
1437   * @rmtoll CSR          SOF4          LL_DMAMUX_IsActiveFlag_SO4
1438   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1439   * @retval State of bit (1 or 0).
1440   */
LL_DMAMUX_IsActiveFlag_SO4(DMAMUX_Channel_TypeDef * DMAMUXx)1441 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO4(DMAMUX_Channel_TypeDef *DMAMUXx)
1442 {
1443   (void)(DMAMUXx);
1444   return ((READ_BIT(DMAMUX1_ChannelStatus->CSR, DMAMUX_CSR_SOF4) == (DMAMUX_CSR_SOF4)) ? 1UL : 0UL);
1445 }
1446 
1447 /**
1448   * @brief  Get Synchronization Event Overrun Flag Channel 5.
1449   * @rmtoll CSR          SOF5          LL_DMAMUX_IsActiveFlag_SO5
1450   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1451   * @retval State of bit (1 or 0).
1452   */
LL_DMAMUX_IsActiveFlag_SO5(DMAMUX_Channel_TypeDef * DMAMUXx)1453 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO5(DMAMUX_Channel_TypeDef *DMAMUXx)
1454 {
1455   (void)(DMAMUXx);
1456   return ((READ_BIT(DMAMUX1_ChannelStatus->CSR, DMAMUX_CSR_SOF5) == (DMAMUX_CSR_SOF5)) ? 1UL : 0UL);
1457 }
1458 
1459 /**
1460   * @brief  Get Synchronization Event Overrun Flag Channel 6.
1461   * @rmtoll CSR          SOF6          LL_DMAMUX_IsActiveFlag_SO6
1462   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1463   * @retval State of bit (1 or 0).
1464   */
LL_DMAMUX_IsActiveFlag_SO6(DMAMUX_Channel_TypeDef * DMAMUXx)1465 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO6(DMAMUX_Channel_TypeDef *DMAMUXx)
1466 {
1467   (void)(DMAMUXx);
1468   return ((READ_BIT(DMAMUX1_ChannelStatus->CSR, DMAMUX_CSR_SOF6) == (DMAMUX_CSR_SOF6)) ? 1UL : 0UL);
1469 }
1470 
1471 /**
1472   * @brief  Get Synchronization Event Overrun Flag Channel 7.
1473   * @rmtoll CSR          SOF7          LL_DMAMUX_IsActiveFlag_SO7
1474   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1475   * @retval State of bit (1 or 0).
1476   */
LL_DMAMUX_IsActiveFlag_SO7(DMAMUX_Channel_TypeDef * DMAMUXx)1477 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO7(DMAMUX_Channel_TypeDef *DMAMUXx)
1478 {
1479   (void)(DMAMUXx);
1480   return ((READ_BIT(DMAMUX1_ChannelStatus->CSR, DMAMUX_CSR_SOF7) == (DMAMUX_CSR_SOF7)) ? 1UL : 0UL);
1481 }
1482 
1483 /**
1484   * @brief  Get Synchronization Event Overrun Flag Channel 8.
1485   * @rmtoll CSR          SOF8          LL_DMAMUX_IsActiveFlag_SO8
1486   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1487   * @retval State of bit (1 or 0).
1488   */
LL_DMAMUX_IsActiveFlag_SO8(DMAMUX_Channel_TypeDef * DMAMUXx)1489 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO8(DMAMUX_Channel_TypeDef *DMAMUXx)
1490 {
1491   (void)(DMAMUXx);
1492   return ((READ_BIT(DMAMUX1_ChannelStatus->CSR, DMAMUX_CSR_SOF8) == (DMAMUX_CSR_SOF8)) ? 1UL : 0UL);
1493 }
1494 
1495 /**
1496   * @brief  Get Synchronization Event Overrun Flag Channel 9.
1497   * @rmtoll CSR          SOF9          LL_DMAMUX_IsActiveFlag_SO9
1498   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1499   * @retval State of bit (1 or 0).
1500   */
LL_DMAMUX_IsActiveFlag_SO9(DMAMUX_Channel_TypeDef * DMAMUXx)1501 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO9(DMAMUX_Channel_TypeDef *DMAMUXx)
1502 {
1503   (void)(DMAMUXx);
1504   return ((READ_BIT(DMAMUX1_ChannelStatus->CSR, DMAMUX_CSR_SOF9) == (DMAMUX_CSR_SOF9)) ? 1UL : 0UL);
1505 }
1506 
1507 /**
1508   * @brief  Get Synchronization Event Overrun Flag Channel 10.
1509   * @rmtoll CSR          SOF10         LL_DMAMUX_IsActiveFlag_SO10
1510   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1511   * @retval State of bit (1 or 0).
1512   */
LL_DMAMUX_IsActiveFlag_SO10(DMAMUX_Channel_TypeDef * DMAMUXx)1513 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO10(DMAMUX_Channel_TypeDef *DMAMUXx)
1514 {
1515   (void)(DMAMUXx);
1516   return ((READ_BIT(DMAMUX1_ChannelStatus->CSR, DMAMUX_CSR_SOF10) == (DMAMUX_CSR_SOF10)) ? 1UL : 0UL);
1517 }
1518 
1519 /**
1520   * @brief  Get Synchronization Event Overrun Flag Channel 11.
1521   * @rmtoll CSR          SOF11         LL_DMAMUX_IsActiveFlag_SO11
1522   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1523   * @retval State of bit (1 or 0).
1524   */
LL_DMAMUX_IsActiveFlag_SO11(DMAMUX_Channel_TypeDef * DMAMUXx)1525 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO11(DMAMUX_Channel_TypeDef *DMAMUXx)
1526 {
1527   (void)(DMAMUXx);
1528   return ((READ_BIT(DMAMUX1_ChannelStatus->CSR, DMAMUX_CSR_SOF11) == (DMAMUX_CSR_SOF11)) ? 1UL : 0UL);
1529 }
1530 
1531 /**
1532   * @brief  Get Synchronization Event Overrun Flag Channel 12.
1533   * @rmtoll CSR          SOF12         LL_DMAMUX_IsActiveFlag_SO12
1534   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1535   * @retval State of bit (1 or 0).
1536   */
LL_DMAMUX_IsActiveFlag_SO12(DMAMUX_Channel_TypeDef * DMAMUXx)1537 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO12(DMAMUX_Channel_TypeDef *DMAMUXx)
1538 {
1539   (void)(DMAMUXx);
1540   return ((READ_BIT(DMAMUX1_ChannelStatus->CSR, DMAMUX_CSR_SOF12) == (DMAMUX_CSR_SOF12)) ? 1UL : 0UL);
1541 }
1542 
1543 /**
1544   * @brief  Get Synchronization Event Overrun Flag Channel 13.
1545   * @rmtoll CSR          SOF13         LL_DMAMUX_IsActiveFlag_SO13
1546   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1547   * @retval State of bit (1 or 0).
1548   */
LL_DMAMUX_IsActiveFlag_SO13(DMAMUX_Channel_TypeDef * DMAMUXx)1549 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO13(DMAMUX_Channel_TypeDef *DMAMUXx)
1550 {
1551   (void)(DMAMUXx);
1552   return ((READ_BIT(DMAMUX1_ChannelStatus->CSR, DMAMUX_CSR_SOF13) == (DMAMUX_CSR_SOF13)) ? 1UL : 0UL);
1553 }
1554 
1555 /**
1556   * @brief  Get Request Generator 0 Trigger Event Overrun Flag.
1557   * @rmtoll RGSR         OF0           LL_DMAMUX_IsActiveFlag_RGO0
1558   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1559   * @retval State of bit (1 or 0).
1560   */
LL_DMAMUX_IsActiveFlag_RGO0(DMAMUX_Channel_TypeDef * DMAMUXx)1561 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO0(DMAMUX_Channel_TypeDef *DMAMUXx)
1562 {
1563   (void)(DMAMUXx);
1564   return ((READ_BIT(DMAMUX1_RequestGenStatus->RGSR, DMAMUX_RGSR_OF0) == (DMAMUX_RGSR_OF0)) ? 1UL : 0UL);
1565 }
1566 
1567 /**
1568   * @brief  Get Request Generator 1 Trigger Event Overrun Flag.
1569   * @rmtoll RGSR         OF1           LL_DMAMUX_IsActiveFlag_RGO1
1570   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1571   * @retval State of bit (1 or 0).
1572   */
LL_DMAMUX_IsActiveFlag_RGO1(DMAMUX_Channel_TypeDef * DMAMUXx)1573 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO1(DMAMUX_Channel_TypeDef *DMAMUXx)
1574 {
1575   (void)(DMAMUXx);
1576   return ((READ_BIT(DMAMUX1_RequestGenStatus->RGSR, DMAMUX_RGSR_OF1) == (DMAMUX_RGSR_OF1)) ? 1UL : 0UL);
1577 }
1578 
1579 /**
1580   * @brief  Get Request Generator 2 Trigger Event Overrun Flag.
1581   * @rmtoll RGSR         OF2           LL_DMAMUX_IsActiveFlag_RGO2
1582   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1583   * @retval State of bit (1 or 0).
1584   */
LL_DMAMUX_IsActiveFlag_RGO2(DMAMUX_Channel_TypeDef * DMAMUXx)1585 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO2(DMAMUX_Channel_TypeDef *DMAMUXx)
1586 {
1587   (void)(DMAMUXx);
1588   return ((READ_BIT(DMAMUX1_RequestGenStatus->RGSR, DMAMUX_RGSR_OF2) == (DMAMUX_RGSR_OF2)) ? 1UL : 0UL);
1589 }
1590 
1591 /**
1592   * @brief  Get Request Generator 3 Trigger Event Overrun Flag.
1593   * @rmtoll RGSR         OF3           LL_DMAMUX_IsActiveFlag_RGO3
1594   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1595   * @retval State of bit (1 or 0).
1596   */
LL_DMAMUX_IsActiveFlag_RGO3(DMAMUX_Channel_TypeDef * DMAMUXx)1597 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO3(DMAMUX_Channel_TypeDef *DMAMUXx)
1598 {
1599   (void)(DMAMUXx);
1600   return ((READ_BIT(DMAMUX1_RequestGenStatus->RGSR, DMAMUX_RGSR_OF3) == (DMAMUX_RGSR_OF3)) ? 1UL : 0UL);
1601 }
1602 
1603 /**
1604   * @brief  Clear Synchronization Event Overrun Flag Channel 0.
1605   * @rmtoll CFR          CSOF0         LL_DMAMUX_ClearFlag_SO0
1606   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1607   * @retval None
1608   */
LL_DMAMUX_ClearFlag_SO0(DMAMUX_Channel_TypeDef * DMAMUXx)1609 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO0(DMAMUX_Channel_TypeDef * DMAMUXx)
1610 {
1611   (void)(DMAMUXx);
1612   SET_BIT(DMAMUX1_ChannelStatus->CFR, DMAMUX_CFR_CSOF0);
1613 }
1614 
1615 /**
1616   * @brief  Clear Synchronization Event Overrun Flag Channel 1.
1617   * @rmtoll CFR          CSOF1         LL_DMAMUX_ClearFlag_SO1
1618   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1619   * @retval None
1620   */
LL_DMAMUX_ClearFlag_SO1(DMAMUX_Channel_TypeDef * DMAMUXx)1621 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO1(DMAMUX_Channel_TypeDef *DMAMUXx)
1622 {
1623   (void)(DMAMUXx);
1624   SET_BIT(DMAMUX1_ChannelStatus->CFR, DMAMUX_CFR_CSOF1);
1625 }
1626 
1627 /**
1628   * @brief  Clear Synchronization Event Overrun Flag Channel 2.
1629   * @rmtoll CFR          CSOF2         LL_DMAMUX_ClearFlag_SO2
1630   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1631   * @retval None
1632   */
LL_DMAMUX_ClearFlag_SO2(DMAMUX_Channel_TypeDef * DMAMUXx)1633 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO2(DMAMUX_Channel_TypeDef *DMAMUXx)
1634 {
1635   (void)(DMAMUXx);
1636   SET_BIT(DMAMUX1_ChannelStatus->CFR, DMAMUX_CFR_CSOF2);
1637 }
1638 
1639 /**
1640   * @brief  Clear Synchronization Event Overrun Flag Channel 3.
1641   * @rmtoll CFR          CSOF3         LL_DMAMUX_ClearFlag_SO3
1642   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1643   * @retval None
1644   */
LL_DMAMUX_ClearFlag_SO3(DMAMUX_Channel_TypeDef * DMAMUXx)1645 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO3(DMAMUX_Channel_TypeDef *DMAMUXx)
1646 {
1647   (void)(DMAMUXx);
1648   SET_BIT(DMAMUX1_ChannelStatus->CFR, DMAMUX_CFR_CSOF3);
1649 }
1650 
1651 /**
1652   * @brief  Clear Synchronization Event Overrun Flag Channel 4.
1653   * @rmtoll CFR          CSOF4         LL_DMAMUX_ClearFlag_SO4
1654   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1655   * @retval None
1656   */
LL_DMAMUX_ClearFlag_SO4(DMAMUX_Channel_TypeDef * DMAMUXx)1657 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO4(DMAMUX_Channel_TypeDef *DMAMUXx)
1658 {
1659   (void)(DMAMUXx);
1660   SET_BIT(DMAMUX1_ChannelStatus->CFR, DMAMUX_CFR_CSOF4);
1661 }
1662 
1663 /**
1664   * @brief  Clear Synchronization Event Overrun Flag Channel 5.
1665   * @rmtoll CFR          CSOF5         LL_DMAMUX_ClearFlag_SO5
1666   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1667   * @retval None
1668   */
LL_DMAMUX_ClearFlag_SO5(DMAMUX_Channel_TypeDef * DMAMUXx)1669 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO5(DMAMUX_Channel_TypeDef *DMAMUXx)
1670 {
1671   (void)(DMAMUXx);
1672   SET_BIT(DMAMUX1_ChannelStatus->CFR, DMAMUX_CFR_CSOF5);
1673 }
1674 
1675 /**
1676   * @brief  Clear Synchronization Event Overrun Flag Channel 6.
1677   * @rmtoll CFR          CSOF6         LL_DMAMUX_ClearFlag_SO6
1678   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1679   * @retval None
1680   */
LL_DMAMUX_ClearFlag_SO6(DMAMUX_Channel_TypeDef * DMAMUXx)1681 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO6(DMAMUX_Channel_TypeDef *DMAMUXx)
1682 {
1683   (void)(DMAMUXx);
1684   SET_BIT(DMAMUX1_ChannelStatus->CFR, DMAMUX_CFR_CSOF6);
1685 }
1686 
1687 /**
1688   * @brief  Clear Synchronization Event Overrun Flag Channel 7.
1689   * @rmtoll CFR          CSOF7         LL_DMAMUX_ClearFlag_SO7
1690   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1691   * @retval None
1692   */
LL_DMAMUX_ClearFlag_SO7(DMAMUX_Channel_TypeDef * DMAMUXx)1693 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO7(DMAMUX_Channel_TypeDef *DMAMUXx)
1694 {
1695   (void)(DMAMUXx);
1696   SET_BIT(DMAMUX1_ChannelStatus->CFR, DMAMUX_CFR_CSOF7);
1697 }
1698 
1699 /**
1700   * @brief  Clear Synchronization Event Overrun Flag Channel 8.
1701   * @rmtoll CFR          CSOF8         LL_DMAMUX_ClearFlag_SO8
1702   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1703   * @retval None
1704   */
LL_DMAMUX_ClearFlag_SO8(DMAMUX_Channel_TypeDef * DMAMUXx)1705 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO8(DMAMUX_Channel_TypeDef *DMAMUXx)
1706 {
1707   (void)(DMAMUXx);
1708   SET_BIT(DMAMUX1_ChannelStatus->CFR, DMAMUX_CFR_CSOF8);
1709 }
1710 
1711 /**
1712   * @brief  Clear Synchronization Event Overrun Flag Channel 9.
1713   * @rmtoll CFR          CSOF9         LL_DMAMUX_ClearFlag_SO9
1714   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1715   * @retval None
1716   */
LL_DMAMUX_ClearFlag_SO9(DMAMUX_Channel_TypeDef * DMAMUXx)1717 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO9(DMAMUX_Channel_TypeDef *DMAMUXx)
1718 {
1719   (void)(DMAMUXx);
1720   SET_BIT(DMAMUX1_ChannelStatus->CFR, DMAMUX_CFR_CSOF9);
1721 }
1722 
1723 /**
1724   * @brief  Clear Synchronization Event Overrun Flag Channel 10.
1725   * @rmtoll CFR          CSOF10        LL_DMAMUX_ClearFlag_SO10
1726   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1727   * @retval None
1728   */
LL_DMAMUX_ClearFlag_SO10(DMAMUX_Channel_TypeDef * DMAMUXx)1729 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO10(DMAMUX_Channel_TypeDef *DMAMUXx)
1730 {
1731   (void)(DMAMUXx);
1732   SET_BIT(DMAMUX1_ChannelStatus->CFR, DMAMUX_CFR_CSOF10);
1733 }
1734 
1735 /**
1736   * @brief  Clear Synchronization Event Overrun Flag Channel 11.
1737   * @rmtoll CFR          CSOF11        LL_DMAMUX_ClearFlag_SO11
1738   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1739   * @retval None
1740   */
LL_DMAMUX_ClearFlag_SO11(DMAMUX_Channel_TypeDef * DMAMUXx)1741 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO11(DMAMUX_Channel_TypeDef *DMAMUXx)
1742 {
1743   (void)(DMAMUXx);
1744   SET_BIT(DMAMUX1_ChannelStatus->CFR, DMAMUX_CFR_CSOF11);
1745 }
1746 
1747 /**
1748   * @brief  Clear Synchronization Event Overrun Flag Channel 12.
1749   * @rmtoll CFR          CSOF12        LL_DMAMUX_ClearFlag_SO12
1750   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1751   * @retval None
1752   */
LL_DMAMUX_ClearFlag_SO12(DMAMUX_Channel_TypeDef * DMAMUXx)1753 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO12(DMAMUX_Channel_TypeDef *DMAMUXx)
1754 {
1755   (void)(DMAMUXx);
1756   SET_BIT(DMAMUX1_ChannelStatus->CFR, DMAMUX_CFR_CSOF12);
1757 }
1758 
1759 /**
1760   * @brief  Clear Synchronization Event Overrun Flag Channel 13.
1761   * @rmtoll CFR          CSOF13        LL_DMAMUX_ClearFlag_SO13
1762   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1763   * @retval None
1764   */
LL_DMAMUX_ClearFlag_SO13(DMAMUX_Channel_TypeDef * DMAMUXx)1765 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO13(DMAMUX_Channel_TypeDef *DMAMUXx)
1766 {
1767   (void)(DMAMUXx);
1768   SET_BIT(DMAMUX1_ChannelStatus->CFR, DMAMUX_CFR_CSOF13);
1769 }
1770 
1771 /**
1772   * @brief  Clear Request Generator 0 Trigger Event Overrun Flag.
1773   * @rmtoll RGCFR        COF0          LL_DMAMUX_ClearFlag_RGO0
1774   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1775   * @retval None
1776   */
LL_DMAMUX_ClearFlag_RGO0(DMAMUX_Channel_TypeDef * DMAMUXx)1777 __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO0(DMAMUX_Channel_TypeDef *DMAMUXx)
1778 {
1779   (void)(DMAMUXx);
1780   SET_BIT(DMAMUX1_RequestGenStatus->RGCFR, DMAMUX_RGCFR_COF0);
1781 }
1782 
1783 /**
1784   * @brief  Clear Request Generator 1 Trigger Event Overrun Flag.
1785   * @rmtoll RGCFR        COF1          LL_DMAMUX_ClearFlag_RGO1
1786   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1787   * @retval None
1788   */
LL_DMAMUX_ClearFlag_RGO1(DMAMUX_Channel_TypeDef * DMAMUXx)1789 __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO1(DMAMUX_Channel_TypeDef *DMAMUXx)
1790 {
1791   (void)(DMAMUXx);
1792   SET_BIT(DMAMUX1_RequestGenStatus->RGCFR, DMAMUX_RGCFR_COF1);
1793 }
1794 
1795 /**
1796   * @brief  Clear Request Generator 2 Trigger Event Overrun Flag.
1797   * @rmtoll RGCFR        COF2          LL_DMAMUX_ClearFlag_RGO2
1798   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1799   * @retval None
1800   */
LL_DMAMUX_ClearFlag_RGO2(DMAMUX_Channel_TypeDef * DMAMUXx)1801 __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO2(DMAMUX_Channel_TypeDef *DMAMUXx)
1802 {
1803   (void)(DMAMUXx);
1804   SET_BIT(DMAMUX1_RequestGenStatus->RGCFR, DMAMUX_RGCFR_COF2);
1805 }
1806 
1807 /**
1808   * @brief  Clear Request Generator 3 Trigger Event Overrun Flag.
1809   * @rmtoll RGCFR        COF3          LL_DMAMUX_ClearFlag_RGO3
1810   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1811   * @retval None
1812   */
LL_DMAMUX_ClearFlag_RGO3(DMAMUX_Channel_TypeDef * DMAMUXx)1813 __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO3(DMAMUX_Channel_TypeDef *DMAMUXx)
1814 {
1815   (void)(DMAMUXx);
1816   SET_BIT(DMAMUX1_RequestGenStatus->RGCFR, DMAMUX_RGCFR_COF3);
1817 }
1818 
1819 /**
1820   * @}
1821   */
1822 
1823 /** @defgroup DMAMUX_LL_EF_IT_Management IT_Management
1824   * @{
1825   */
1826 
1827 /**
1828   * @brief  Enable the Synchronization Event Overrun Interrupt on DMAMUX channel x.
1829   * @rmtoll CxCR         SOIE          LL_DMAMUX_EnableIT_SO
1830   * @param  DMAMUXx DMAMUXx Instance
1831   * @param  Channel This parameter can be one of the following values:
1832   *         @arg @ref LL_DMAMUX_CHANNEL_0
1833   *         @arg @ref LL_DMAMUX_CHANNEL_1
1834   *         @arg @ref LL_DMAMUX_CHANNEL_2
1835   *         @arg @ref LL_DMAMUX_CHANNEL_3
1836   *         @arg @ref LL_DMAMUX_CHANNEL_4
1837   *         @arg @ref LL_DMAMUX_CHANNEL_5
1838   *         @arg @ref LL_DMAMUX_CHANNEL_6
1839   *         @arg @ref LL_DMAMUX_CHANNEL_7
1840   *         @arg @ref LL_DMAMUX_CHANNEL_8
1841   *         @arg @ref LL_DMAMUX_CHANNEL_9
1842   *         @arg @ref LL_DMAMUX_CHANNEL_10
1843   *         @arg @ref LL_DMAMUX_CHANNEL_11
1844   *         @arg @ref LL_DMAMUX_CHANNEL_12
1845   *         @arg @ref LL_DMAMUX_CHANNEL_13
1846   * @retval None
1847   */
LL_DMAMUX_EnableIT_SO(DMAMUX_Channel_TypeDef * DMAMUXx,uint32_t Channel)1848 __STATIC_INLINE void LL_DMAMUX_EnableIT_SO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
1849 {
1850   (void)(DMAMUXx);
1851   SET_BIT((DMAMUX1_Channel0 + Channel)->CCR, DMAMUX_CxCR_SOIE);
1852 }
1853 
1854 /**
1855   * @brief  Disable the Synchronization Event Overrun Interrupt on DMAMUX channel x.
1856   * @rmtoll CxCR         SOIE          LL_DMAMUX_DisableIT_SO
1857   * @param  DMAMUXx DMAMUXx Instance
1858   * @param  Channel This parameter can be one of the following values:
1859   *         @arg @ref LL_DMAMUX_CHANNEL_0
1860   *         @arg @ref LL_DMAMUX_CHANNEL_1
1861   *         @arg @ref LL_DMAMUX_CHANNEL_2
1862   *         @arg @ref LL_DMAMUX_CHANNEL_3
1863   *         @arg @ref LL_DMAMUX_CHANNEL_4
1864   *         @arg @ref LL_DMAMUX_CHANNEL_5
1865   *         @arg @ref LL_DMAMUX_CHANNEL_6
1866   *         @arg @ref LL_DMAMUX_CHANNEL_7
1867   *         @arg @ref LL_DMAMUX_CHANNEL_8
1868   *         @arg @ref LL_DMAMUX_CHANNEL_9
1869   *         @arg @ref LL_DMAMUX_CHANNEL_10
1870   *         @arg @ref LL_DMAMUX_CHANNEL_11
1871   *         @arg @ref LL_DMAMUX_CHANNEL_12
1872   *         @arg @ref LL_DMAMUX_CHANNEL_13
1873   * @retval None
1874   */
LL_DMAMUX_DisableIT_SO(DMAMUX_Channel_TypeDef * DMAMUXx,uint32_t Channel)1875 __STATIC_INLINE void LL_DMAMUX_DisableIT_SO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
1876 {
1877   (void)(DMAMUXx);
1878   CLEAR_BIT((DMAMUX1_Channel0 + Channel)->CCR, DMAMUX_CxCR_SOIE);
1879 }
1880 
1881 /**
1882   * @brief  Check if the Synchronization Event Overrun Interrupt on DMAMUX channel x is enabled or disabled.
1883   * @rmtoll CxCR         SOIE          LL_DMAMUX_IsEnabledIT_SO
1884   * @param  DMAMUXx DMAMUXx Instance
1885   * @param  Channel This parameter can be one of the following values:
1886   *         @arg @ref LL_DMAMUX_CHANNEL_0
1887   *         @arg @ref LL_DMAMUX_CHANNEL_1
1888   *         @arg @ref LL_DMAMUX_CHANNEL_2
1889   *         @arg @ref LL_DMAMUX_CHANNEL_3
1890   *         @arg @ref LL_DMAMUX_CHANNEL_4
1891   *         @arg @ref LL_DMAMUX_CHANNEL_5
1892   *         @arg @ref LL_DMAMUX_CHANNEL_6
1893   *         @arg @ref LL_DMAMUX_CHANNEL_7
1894   *         @arg @ref LL_DMAMUX_CHANNEL_8
1895   *         @arg @ref LL_DMAMUX_CHANNEL_9
1896   *         @arg @ref LL_DMAMUX_CHANNEL_10
1897   *         @arg @ref LL_DMAMUX_CHANNEL_11
1898   *         @arg @ref LL_DMAMUX_CHANNEL_12
1899   *         @arg @ref LL_DMAMUX_CHANNEL_13
1900   * @retval State of bit (1 or 0).
1901   */
LL_DMAMUX_IsEnabledIT_SO(DMAMUX_Channel_TypeDef * DMAMUXx,uint32_t Channel)1902 __STATIC_INLINE uint32_t LL_DMAMUX_IsEnabledIT_SO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
1903 {
1904   (void)(DMAMUXx);
1905   return (((READ_BIT((DMAMUX1_Channel0 + Channel)->CCR, DMAMUX_CxCR_SOIE)) == (DMAMUX_CxCR_SOIE))? 1UL : 0UL);
1906 }
1907 
1908 /**
1909   * @brief  Enable the Request Generation Trigger Event Overrun Interrupt on DMAMUX channel x.
1910   * @rmtoll RGxCR        OIE           LL_DMAMUX_EnableIT_RGO
1911   * @param  DMAMUXx DMAMUXx Instance
1912   * @param  RequestGenChannel This parameter can be one of the following values:
1913   *         @arg @ref LL_DMAMUX_REQ_GEN_0
1914   *         @arg @ref LL_DMAMUX_REQ_GEN_1
1915   *         @arg @ref LL_DMAMUX_REQ_GEN_2
1916   *         @arg @ref LL_DMAMUX_REQ_GEN_3
1917   * @retval None
1918   */
LL_DMAMUX_EnableIT_RGO(DMAMUX_Channel_TypeDef * DMAMUXx,uint32_t RequestGenChannel)1919 __STATIC_INLINE void LL_DMAMUX_EnableIT_RGO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
1920 {
1921   (void)(DMAMUXx);
1922   SET_BIT((DMAMUX1_RequestGenerator0 + RequestGenChannel)->RGCR, DMAMUX_RGxCR_OIE);
1923 }
1924 
1925 /**
1926   * @brief  Disable the Request Generation Trigger Event Overrun Interrupt on DMAMUX channel x.
1927   * @rmtoll RGxCR        OIE           LL_DMAMUX_DisableIT_RGO
1928   * @param  DMAMUXx DMAMUXx Instance
1929   * @param  RequestGenChannel This parameter can be one of the following values:
1930   *         @arg @ref LL_DMAMUX_REQ_GEN_0
1931   *         @arg @ref LL_DMAMUX_REQ_GEN_1
1932   *         @arg @ref LL_DMAMUX_REQ_GEN_2
1933   *         @arg @ref LL_DMAMUX_REQ_GEN_3
1934   * @retval None
1935   */
LL_DMAMUX_DisableIT_RGO(DMAMUX_Channel_TypeDef * DMAMUXx,uint32_t RequestGenChannel)1936 __STATIC_INLINE void LL_DMAMUX_DisableIT_RGO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
1937 {
1938   (void)(DMAMUXx);
1939   CLEAR_BIT((DMAMUX1_RequestGenerator0 + RequestGenChannel)->RGCR, DMAMUX_RGxCR_OIE);
1940 }
1941 
1942 /**
1943   * @brief  Check if the Request Generation Trigger Event Overrun Interrupt on DMAMUX channel x is enabled or disabled.
1944   * @rmtoll RGxCR        OIE           LL_DMAMUX_IsEnabledIT_RGO
1945   * @param  DMAMUXx DMAMUXx Instance
1946   * @param  RequestGenChannel This parameter can be one of the following values:
1947   *         @arg @ref LL_DMAMUX_REQ_GEN_0
1948   *         @arg @ref LL_DMAMUX_REQ_GEN_1
1949   *         @arg @ref LL_DMAMUX_REQ_GEN_2
1950   *         @arg @ref LL_DMAMUX_REQ_GEN_3
1951   * @retval State of bit (1 or 0).
1952   */
LL_DMAMUX_IsEnabledIT_RGO(DMAMUX_Channel_TypeDef * DMAMUXx,uint32_t RequestGenChannel)1953 __STATIC_INLINE uint32_t LL_DMAMUX_IsEnabledIT_RGO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
1954 {
1955   (void)(DMAMUXx);
1956   return ((READ_BIT((DMAMUX1_RequestGenerator0 + RequestGenChannel)->RGCR, DMAMUX_RGxCR_OIE) == (DMAMUX_RGxCR_OIE))? 1UL : 0UL);
1957 }
1958 
1959 /**
1960   * @}
1961   */
1962 
1963 /**
1964   * @}
1965   */
1966 
1967 /**
1968   * @}
1969   */
1970 
1971 #endif /* DMAMUX1 */
1972 
1973 /**
1974   * @}
1975   */
1976 
1977 #ifdef __cplusplus
1978 }
1979 #endif
1980 
1981 #endif /* STM32L4xx_LL_DMAMUX_H */
1982