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>© 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