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