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