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