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