You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

2312 lines
107 KiB

  1. /**
  2. ******************************************************************************
  3. * @file stm32h7xx_ll_dmamux.h
  4. * @author MCD Application Team
  5. * @brief Header file of DMAMUX LL module.
  6. ******************************************************************************
  7. * @attention
  8. *
  9. * <h2><center>&copy; COPYRIGHT(c) 2017 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. /* Define to prevent recursive inclusion -------------------------------------*/
  20. #ifndef STM32H7xx_LL_DMAMUX_H
  21. #define STM32H7xx_LL_DMAMUX_H
  22. #ifdef __cplusplus
  23. extern "C" {
  24. #endif
  25. /* Includes ------------------------------------------------------------------*/
  26. #include "stm32h7xx.h"
  27. /** @addtogroup STM32H7xx_LL_Driver
  28. * @{
  29. */
  30. #if defined (DMAMUX1) || defined (DMAMUX2)
  31. /** @defgroup DMAMUX_LL DMAMUX
  32. * @{
  33. */
  34. /* Private types -------------------------------------------------------------*/
  35. /* Private variables ---------------------------------------------------------*/
  36. /* Private constants ---------------------------------------------------------*/
  37. /** @defgroup DMAMUX_LL_Private_Constants DMAMUX Private Constants
  38. * @{
  39. */
  40. /* Define used to get DMAMUX CCR register size */
  41. #define DMAMUX_CCR_SIZE 0x00000004U
  42. /* Define used to get DMAMUX RGCR register size */
  43. #define DMAMUX_RGCR_SIZE 0x00000004U
  44. /* Define used to get DMAMUX RequestGenerator offset */
  45. #define DMAMUX_REQ_GEN_OFFSET (DMAMUX1_RequestGenerator0_BASE - DMAMUX1_BASE)
  46. /* Define used to get DMAMUX Channel Status offset */
  47. #define DMAMUX_CH_STATUS_OFFSET (DMAMUX1_ChannelStatus_BASE - DMAMUX1_BASE)
  48. /* Define used to get DMAMUX RequestGenerator status offset */
  49. #define DMAMUX_REQ_GEN_STATUS_OFFSET (DMAMUX1_RequestGenStatus_BASE - DMAMUX1_BASE)
  50. /**
  51. * @}
  52. */
  53. /* Private macros ------------------------------------------------------------*/
  54. /* Exported types ------------------------------------------------------------*/
  55. /* Exported constants --------------------------------------------------------*/
  56. /** @defgroup DMAMUX_LL_Exported_Constants DMAMUX Exported Constants
  57. * @{
  58. */
  59. /** @defgroup DMAMUX_LL_EC_CLEAR_FLAG Clear Flags Defines
  60. * @brief Flags defines which can be used with LL_DMAMUX_WriteReg function
  61. * @{
  62. */
  63. #define LL_DMAMUX_CFR_CSOF0 DMAMUX_CFR_CSOF0 /*!< Synchronization Event Overrun Flag Channel 0 */
  64. #define LL_DMAMUX_CFR_CSOF1 DMAMUX_CFR_CSOF1 /*!< Synchronization Event Overrun Flag Channel 1 */
  65. #define LL_DMAMUX_CFR_CSOF2 DMAMUX_CFR_CSOF2 /*!< Synchronization Event Overrun Flag Channel 2 */
  66. #define LL_DMAMUX_CFR_CSOF3 DMAMUX_CFR_CSOF3 /*!< Synchronization Event Overrun Flag Channel 3 */
  67. #define LL_DMAMUX_CFR_CSOF4 DMAMUX_CFR_CSOF4 /*!< Synchronization Event Overrun Flag Channel 4 */
  68. #define LL_DMAMUX_CFR_CSOF5 DMAMUX_CFR_CSOF5 /*!< Synchronization Event Overrun Flag Channel 5 */
  69. #define LL_DMAMUX_CFR_CSOF6 DMAMUX_CFR_CSOF6 /*!< Synchronization Event Overrun Flag Channel 6 */
  70. #define LL_DMAMUX_CFR_CSOF7 DMAMUX_CFR_CSOF7 /*!< Synchronization Event Overrun Flag Channel 7 */
  71. #define LL_DMAMUX_CFR_CSOF8 DMAMUX_CFR_CSOF8 /*!< Synchronization Event Overrun Flag Channel 8 */
  72. #define LL_DMAMUX_CFR_CSOF9 DMAMUX_CFR_CSOF9 /*!< Synchronization Event Overrun Flag Channel 9 */
  73. #define LL_DMAMUX_CFR_CSOF10 DMAMUX_CFR_CSOF10 /*!< Synchronization Event Overrun Flag Channel 10 */
  74. #define LL_DMAMUX_CFR_CSOF11 DMAMUX_CFR_CSOF11 /*!< Synchronization Event Overrun Flag Channel 11 */
  75. #define LL_DMAMUX_CFR_CSOF12 DMAMUX_CFR_CSOF12 /*!< Synchronization Event Overrun Flag Channel 12 */
  76. #define LL_DMAMUX_CFR_CSOF13 DMAMUX_CFR_CSOF13 /*!< Synchronization Event Overrun Flag Channel 13 */
  77. #define LL_DMAMUX_CFR_CSOF14 DMAMUX_CFR_CSOF14 /*!< Synchronization Event Overrun Flag Channel 14 */
  78. #define LL_DMAMUX_CFR_CSOF15 DMAMUX_CFR_CSOF15 /*!< Synchronization Event Overrun Flag Channel 15 */
  79. #define LL_DMAMUX_RGCFR_RGCOF0 DMAMUX_RGCFR_COF0 /*!< Request Generator 0 Trigger Event Overrun Flag */
  80. #define LL_DMAMUX_RGCFR_RGCOF1 DMAMUX_RGCFR_COF1 /*!< Request Generator 1 Trigger Event Overrun Flag */
  81. #define LL_DMAMUX_RGCFR_RGCOF2 DMAMUX_RGCFR_COF2 /*!< Request Generator 2 Trigger Event Overrun Flag */
  82. #define LL_DMAMUX_RGCFR_RGCOF3 DMAMUX_RGCFR_COF3 /*!< Request Generator 3 Trigger Event Overrun Flag */
  83. #define LL_DMAMUX_RGCFR_RGCOF4 DMAMUX_RGCFR_COF4 /*!< Request Generator 4 Trigger Event Overrun Flag */
  84. #define LL_DMAMUX_RGCFR_RGCOF5 DMAMUX_RGCFR_COF5 /*!< Request Generator 5 Trigger Event Overrun Flag */
  85. #define LL_DMAMUX_RGCFR_RGCOF6 DMAMUX_RGCFR_COF6 /*!< Request Generator 6 Trigger Event Overrun Flag */
  86. #define LL_DMAMUX_RGCFR_RGCOF7 DMAMUX_RGCFR_COF7 /*!< Request Generator 7 Trigger Event Overrun Flag */
  87. /**
  88. * @}
  89. */
  90. /** @defgroup DMAMUX_LL_EC_GET_FLAG Get Flags Defines
  91. * @brief Flags defines which can be used with LL_DMAMUX_ReadReg function
  92. * @{
  93. */
  94. #define LL_DMAMUX_CSR_SOF0 DMAMUX_CSR_SOF0 /*!< Synchronization Event Overrun Flag Channel 0 */
  95. #define LL_DMAMUX_CSR_SOF1 DMAMUX_CSR_SOF1 /*!< Synchronization Event Overrun Flag Channel 1 */
  96. #define LL_DMAMUX_CSR_SOF2 DMAMUX_CSR_SOF2 /*!< Synchronization Event Overrun Flag Channel 2 */
  97. #define LL_DMAMUX_CSR_SOF3 DMAMUX_CSR_SOF3 /*!< Synchronization Event Overrun Flag Channel 3 */
  98. #define LL_DMAMUX_CSR_SOF4 DMAMUX_CSR_SOF4 /*!< Synchronization Event Overrun Flag Channel 4 */
  99. #define LL_DMAMUX_CSR_SOF5 DMAMUX_CSR_SOF5 /*!< Synchronization Event Overrun Flag Channel 5 */
  100. #define LL_DMAMUX_CSR_SOF6 DMAMUX_CSR_SOF6 /*!< Synchronization Event Overrun Flag Channel 6 */
  101. #define LL_DMAMUX_CSR_SOF7 DMAMUX_CSR_SOF7 /*!< Synchronization Event Overrun Flag Channel 7 */
  102. #define LL_DMAMUX_CSR_SOF8 DMAMUX_CSR_SOF8 /*!< Synchronization Event Overrun Flag Channel 8 */
  103. #define LL_DMAMUX_CSR_SOF9 DMAMUX_CSR_SOF9 /*!< Synchronization Event Overrun Flag Channel 9 */
  104. #define LL_DMAMUX_CSR_SOF10 DMAMUX_CSR_SOF10 /*!< Synchronization Event Overrun Flag Channel 10 */
  105. #define LL_DMAMUX_CSR_SOF11 DMAMUX_CSR_SOF11 /*!< Synchronization Event Overrun Flag Channel 11 */
  106. #define LL_DMAMUX_CSR_SOF12 DMAMUX_CSR_SOF12 /*!< Synchronization Event Overrun Flag Channel 12 */
  107. #define LL_DMAMUX_CSR_SOF13 DMAMUX_CSR_SOF13 /*!< Synchronization Event Overrun Flag Channel 13 */
  108. #define LL_DMAMUX_CSR_SOF14 DMAMUX_CSR_SOF14 /*!< Synchronization Event Overrun Flag Channel 14 */
  109. #define LL_DMAMUX_CSR_SOF15 DMAMUX_CSR_SOF15 /*!< Synchronization Event Overrun Flag Channel 15 */
  110. #define LL_DMAMUX_RGSR_RGOF0 DMAMUX_RGSR_OF0 /*!< Request Generator 0 Trigger Event Overrun Flag */
  111. #define LL_DMAMUX_RGSR_RGOF1 DMAMUX_RGSR_OF1 /*!< Request Generator 1 Trigger Event Overrun Flag */
  112. #define LL_DMAMUX_RGSR_RGOF2 DMAMUX_RGSR_OF2 /*!< Request Generator 2 Trigger Event Overrun Flag */
  113. #define LL_DMAMUX_RGSR_RGOF3 DMAMUX_RGSR_OF3 /*!< Request Generator 3 Trigger Event Overrun Flag */
  114. #define LL_DMAMUX_RGSR_RGOF4 DMAMUX_RGSR_OF4 /*!< Request Generator 4 Trigger Event Overrun Flag */
  115. #define LL_DMAMUX_RGSR_RGOF5 DMAMUX_RGSR_OF5 /*!< Request Generator 5 Trigger Event Overrun Flag */
  116. #define LL_DMAMUX_RGSR_RGOF6 DMAMUX_RGSR_OF6 /*!< Request Generator 6 Trigger Event Overrun Flag */
  117. #define LL_DMAMUX_RGSR_RGOF7 DMAMUX_RGSR_OF7 /*!< Request Generator 7 Trigger Event Overrun Flag */
  118. /**
  119. * @}
  120. */
  121. /** @defgroup DMAMUX_LL_EC_IT IT Defines
  122. * @brief IT defines which can be used with LL_DMA_ReadReg and LL_DMAMUX_WriteReg functions
  123. * @{
  124. */
  125. #define LL_DMAMUX_CCR_SOIE DMAMUX_CxCR_SOIE /*!< Synchronization Event Overrun Interrupt */
  126. #define LL_DMAMUX_RGCR_RGOIE DMAMUX_RGxCR_OIE /*!< Request Generation Trigger Event Overrun Interrupt */
  127. /**
  128. * @}
  129. */
  130. /** @defgroup DMAMUX_Request_selection DMAMUX Request selection
  131. * @brief DMA Request selection
  132. * @{
  133. */
  134. /* D2 Domain : DMAMUX1 requests */
  135. #define LL_DMAMUX1_REQ_MEM2MEM 0U /*!< memory to memory transfer */
  136. #define LL_DMAMUX1_REQ_GENERATOR0 1U /*!< DMAMUX1 request generator 0 */
  137. #define LL_DMAMUX1_REQ_GENERATOR1 2U /*!< DMAMUX1 request generator 1 */
  138. #define LL_DMAMUX1_REQ_GENERATOR2 3U /*!< DMAMUX1 request generator 2 */
  139. #define LL_DMAMUX1_REQ_GENERATOR3 4U /*!< DMAMUX1 request generator 3 */
  140. #define LL_DMAMUX1_REQ_GENERATOR4 5U /*!< DMAMUX1 request generator 4 */
  141. #define LL_DMAMUX1_REQ_GENERATOR5 6U /*!< DMAMUX1 request generator 5 */
  142. #define LL_DMAMUX1_REQ_GENERATOR6 7U /*!< DMAMUX1 request generator 6 */
  143. #define LL_DMAMUX1_REQ_GENERATOR7 8U /*!< DMAMUX1 request generator 7 */
  144. #define LL_DMAMUX1_REQ_ADC1 9U /*!< DMAMUX1 ADC1 request */
  145. #define LL_DMAMUX1_REQ_ADC2 10U /*!< DMAMUX1 ADC2 request */
  146. #define LL_DMAMUX1_REQ_TIM1_CH1 11U /*!< DMAMUX1 TIM1 CH1 request */
  147. #define LL_DMAMUX1_REQ_TIM1_CH2 12U /*!< DMAMUX1 TIM1 CH2 request */
  148. #define LL_DMAMUX1_REQ_TIM1_CH3 13U /*!< DMAMUX1 TIM1 CH3 request */
  149. #define LL_DMAMUX1_REQ_TIM1_CH4 14U /*!< DMAMUX1 TIM1 CH4 request */
  150. #define LL_DMAMUX1_REQ_TIM1_UP 15U /*!< DMAMUX1 TIM1 UP request */
  151. #define LL_DMAMUX1_REQ_TIM1_TRIG 16U /*!< DMAMUX1 TIM1 TRIG request */
  152. #define LL_DMAMUX1_REQ_TIM1_COM 17U /*!< DMAMUX1 TIM1 COM request */
  153. #define LL_DMAMUX1_REQ_TIM2_CH1 18U /*!< DMAMUX1 TIM2 CH1 request */
  154. #define LL_DMAMUX1_REQ_TIM2_CH2 19U /*!< DMAMUX1 TIM2 CH2 request */
  155. #define LL_DMAMUX1_REQ_TIM2_CH3 20U /*!< DMAMUX1 TIM2 CH3 request */
  156. #define LL_DMAMUX1_REQ_TIM2_CH4 21U /*!< DMAMUX1 TIM2 CH4 request */
  157. #define LL_DMAMUX1_REQ_TIM2_UP 22U /*!< DMAMUX1 TIM2 UP request */
  158. #define LL_DMAMUX1_REQ_TIM3_CH1 23U /*!< DMAMUX1 TIM3 CH1 request */
  159. #define LL_DMAMUX1_REQ_TIM3_CH2 24U /*!< DMAMUX1 TIM3 CH2 request */
  160. #define LL_DMAMUX1_REQ_TIM3_CH3 25U /*!< DMAMUX1 TIM3 CH3 request */
  161. #define LL_DMAMUX1_REQ_TIM3_CH4 26U /*!< DMAMUX1 TIM3 CH4 request */
  162. #define LL_DMAMUX1_REQ_TIM3_UP 27U /*!< DMAMUX1 TIM3 UP request */
  163. #define LL_DMAMUX1_REQ_TIM3_TRIG 28U /*!< DMAMUX1 TIM3 TRIG request */
  164. #define LL_DMAMUX1_REQ_TIM4_CH1 29U /*!< DMAMUX1 TIM4 CH1 request */
  165. #define LL_DMAMUX1_REQ_TIM4_CH2 30U /*!< DMAMUX1 TIM4 CH2 request */
  166. #define LL_DMAMUX1_REQ_TIM4_CH3 31U /*!< DMAMUX1 TIM4 CH3 request */
  167. #define LL_DMAMUX1_REQ_TIM4_UP 32U /*!< DMAMUX1 TIM4 UP request */
  168. #define LL_DMAMUX1_REQ_I2C1_RX 33U /*!< DMAMUX1 I2C1 RX request */
  169. #define LL_DMAMUX1_REQ_I2C1_TX 34U /*!< DMAMUX1 I2C1 TX request */
  170. #define LL_DMAMUX1_REQ_I2C2_RX 35U /*!< DMAMUX1 I2C2 RX request */
  171. #define LL_DMAMUX1_REQ_I2C2_TX 36U /*!< DMAMUX1 I2C2 TX request */
  172. #define LL_DMAMUX1_REQ_SPI1_RX 37U /*!< DMAMUX1 SPI1 RX request */
  173. #define LL_DMAMUX1_REQ_SPI1_TX 38U /*!< DMAMUX1 SPI1 TX request */
  174. #define LL_DMAMUX1_REQ_SPI2_RX 39U /*!< DMAMUX1 SPI2 RX request */
  175. #define LL_DMAMUX1_REQ_SPI2_TX 40U /*!< DMAMUX1 SPI2 TX request */
  176. #define LL_DMAMUX1_REQ_USART1_RX 41U /*!< DMAMUX1 USART1 RX request */
  177. #define LL_DMAMUX1_REQ_USART1_TX 42U /*!< DMAMUX1 USART1 TX request */
  178. #define LL_DMAMUX1_REQ_USART2_RX 43U /*!< DMAMUX1 USART2 RX request */
  179. #define LL_DMAMUX1_REQ_USART2_TX 44U /*!< DMAMUX1 USART2 TX request */
  180. #define LL_DMAMUX1_REQ_USART3_RX 45U /*!< DMAMUX1 USART3 RX request */
  181. #define LL_DMAMUX1_REQ_USART3_TX 46U /*!< DMAMUX1 USART3 TX request */
  182. #define LL_DMAMUX1_REQ_TIM8_CH1 47U /*!< DMAMUX1 TIM8 CH1 request */
  183. #define LL_DMAMUX1_REQ_TIM8_CH2 48U /*!< DMAMUX1 TIM8 CH2 request */
  184. #define LL_DMAMUX1_REQ_TIM8_CH3 49U /*!< DMAMUX1 TIM8 CH3 request */
  185. #define LL_DMAMUX1_REQ_TIM8_CH4 50U /*!< DMAMUX1 TIM8 CH4 request */
  186. #define LL_DMAMUX1_REQ_TIM8_UP 51U /*!< DMAMUX1 TIM8 UP request */
  187. #define LL_DMAMUX1_REQ_TIM8_TRIG 52U /*!< DMAMUX1 TIM8 TRIG request */
  188. #define LL_DMAMUX1_REQ_TIM8_COM 53U /*!< DMAMUX1 TIM8 COM request */
  189. #define LL_DMAMUX1_REQ_TIM5_CH1 55U /*!< DMAMUX1 TIM5 CH1 request */
  190. #define LL_DMAMUX1_REQ_TIM5_CH2 56U /*!< DMAMUX1 TIM5 CH2 request */
  191. #define LL_DMAMUX1_REQ_TIM5_CH3 57U /*!< DMAMUX1 TIM5 CH3 request */
  192. #define LL_DMAMUX1_REQ_TIM5_CH4 58U /*!< DMAMUX1 TIM5 CH4 request */
  193. #define LL_DMAMUX1_REQ_TIM5_UP 59U /*!< DMAMUX1 TIM5 UP request */
  194. #define LL_DMAMUX1_REQ_TIM5_TRIG 60U /*!< DMAMUX1 TIM5 TRIG request */
  195. #define LL_DMAMUX1_REQ_SPI3_RX 61U /*!< DMAMUX1 SPI3 RX request */
  196. #define LL_DMAMUX1_REQ_SPI3_TX 62U /*!< DMAMUX1 SPI3 TX request */
  197. #define LL_DMAMUX1_REQ_UART4_RX 63U /*!< DMAMUX1 UART4 RX request */
  198. #define LL_DMAMUX1_REQ_UART4_TX 64U /*!< DMAMUX1 UART4 TX request */
  199. #define LL_DMAMUX1_REQ_UART5_RX 65U /*!< DMAMUX1 UART5 RX request */
  200. #define LL_DMAMUX1_REQ_UART5_TX 66U /*!< DMAMUX1 UART5 TX request */
  201. #define LL_DMAMUX1_REQ_DAC1_CH1 67U /*!< DMAMUX1 DAC1 Channel 1 request */
  202. #define LL_DMAMUX1_REQ_DAC1_CH2 68U /*!< DMAMUX1 DAC1 Channel 2 request */
  203. #define LL_DMAMUX1_REQ_TIM6_UP 69U /*!< DMAMUX1 TIM6 UP request */
  204. #define LL_DMAMUX1_REQ_TIM7_UP 70U /*!< DMAMUX1 TIM7 UP request */
  205. #define LL_DMAMUX1_REQ_USART6_RX 71U /*!< DMAMUX1 USART6 RX request */
  206. #define LL_DMAMUX1_REQ_USART6_TX 72U /*!< DMAMUX1 USART6 TX request */
  207. #define LL_DMAMUX1_REQ_I2C3_RX 73U /*!< DMAMUX1 I2C3 RX request */
  208. #define LL_DMAMUX1_REQ_I2C3_TX 74U /*!< DMAMUX1 I2C3 TX request */
  209. #define LL_DMAMUX1_REQ_DCMI 75U /*!< DMAMUX1 DCMI request */
  210. #define LL_DMAMUX1_REQ_CRYP_IN 76U /*!< DMAMUX1 CRYP IN request */
  211. #define LL_DMAMUX1_REQ_CRYP_OUT 77U /*!< DMAMUX1 CRYP OUT request */
  212. #define LL_DMAMUX1_REQ_HASH_IN 78U /*!< DMAMUX1 HASH IN request */
  213. #define LL_DMAMUX1_REQ_UART7_RX 79U /*!< DMAMUX1 UART7 RX request */
  214. #define LL_DMAMUX1_REQ_UART7_TX 80U /*!< DMAMUX1 UART7 TX request */
  215. #define LL_DMAMUX1_REQ_UART8_RX 81U /*!< DMAMUX1 UART8 RX request */
  216. #define LL_DMAMUX1_REQ_UART8_TX 82U /*!< DMAMUX1 UART8 TX request */
  217. #define LL_DMAMUX1_REQ_SPI4_RX 83U /*!< DMAMUX1 SPI4 RX request */
  218. #define LL_DMAMUX1_REQ_SPI4_TX 84U /*!< DMAMUX1 SPI4 TX request */
  219. #define LL_DMAMUX1_REQ_SPI5_RX 85U /*!< DMAMUX1 SPI5 RX request */
  220. #define LL_DMAMUX1_REQ_SPI5_TX 86U /*!< DMAMUX1 SPI5 TX request */
  221. #define LL_DMAMUX1_REQ_SAI1_A 87U /*!< DMAMUX1 SAI1 A request */
  222. #define LL_DMAMUX1_REQ_SAI1_B 88U /*!< DMAMUX1 SAI1 B request */
  223. #define LL_DMAMUX1_REQ_SAI2_A 89U /*!< DMAMUX1 SAI2 A request */
  224. #define LL_DMAMUX1_REQ_SAI2_B 90U /*!< DMAMUX1 SAI2 B request */
  225. #define LL_DMAMUX1_REQ_SWPMI_RX 91U /*!< DMAMUX1 SWPMI RX request */
  226. #define LL_DMAMUX1_REQ_SWPMI_TX 92U /*!< DMAMUX1 SWPMI TX request */
  227. #define LL_DMAMUX1_REQ_SPDIF_RX_DT 93U /*!< DMAMUX1 SPDIF RXDT request*/
  228. #define LL_DMAMUX1_REQ_SPDIF_RX_CS 94U /*!< DMAMUX1 SPDIF RXCS request*/
  229. #define LL_DMAMUX1_REQ_HRTIM_MASTER 95U /*!< DMAMUX1 HRTIM1 Master request 1 */
  230. #define LL_DMAMUX1_REQ_HRTIM_TIMER_A 96U /*!< DMAMUX1 HRTIM1 TimerA request 2 */
  231. #define LL_DMAMUX1_REQ_HRTIM_TIMER_B 97U /*!< DMAMUX1 HRTIM1 TimerB request 3 */
  232. #define LL_DMAMUX1_REQ_HRTIM_TIMER_C 98U /*!< DMAMUX1 HRTIM1 TimerC request 4 */
  233. #define LL_DMAMUX1_REQ_HRTIM_TIMER_D 99U /*!< DMAMUX1 HRTIM1 TimerD request 5 */
  234. #define LL_DMAMUX1_REQ_HRTIM_TIMER_E 100U /*!< DMAMUX1 HRTIM1 TimerE request 6 */
  235. #define LL_DMAMUX1_REQ_DFSDM1_FLT0 101U /*!< DMAMUX1 DFSDM Filter0 request */
  236. #define LL_DMAMUX1_REQ_DFSDM1_FLT1 102U /*!< DMAMUX1 DFSDM Filter1 request */
  237. #define LL_DMAMUX1_REQ_DFSDM1_FLT2 103U /*!< DMAMUX1 DFSDM Filter2 request */
  238. #define LL_DMAMUX1_REQ_DFSDM1_FLT3 104U /*!< DMAMUX1 DFSDM Filter3 request */
  239. #define LL_DMAMUX1_REQ_TIM15_CH1 105U /*!< DMAMUX1 TIM15 CH1 request */
  240. #define LL_DMAMUX1_REQ_TIM15_UP 106U /*!< DMAMUX1 TIM15 UP request */
  241. #define LL_DMAMUX1_REQ_TIM15_TRIG 107U /*!< DMAMUX1 TIM15 TRIG request */
  242. #define LL_DMAMUX1_REQ_TIM15_COM 108U /*!< DMAMUX1 TIM15 COM request */
  243. #define LL_DMAMUX1_REQ_TIM16_CH1 109U /*!< DMAMUX1 TIM16 CH1 request */
  244. #define LL_DMAMUX1_REQ_TIM16_UP 110U /*!< DMAMUX1 TIM16 UP request */
  245. #define LL_DMAMUX1_REQ_TIM17_CH1 111U /*!< DMAMUX1 TIM17 CH1 request */
  246. #define LL_DMAMUX1_REQ_TIM17_UP 112U /*!< DMAMUX1 TIM17 UP request */
  247. #define LL_DMAMUX1_REQ_SAI3_A 113U /*!< DMAMUX1 SAI3 A request */
  248. #define LL_DMAMUX1_REQ_SAI3_B 114U /*!< DMAMUX1 SAI3 B request */
  249. #define LL_DMAMUX1_REQ_ADC3 115U /*!< DMAMUX1 ADC3 request */
  250. /* D3 Domain : DMAMUX2 requests */
  251. #define LL_DMAMUX2_REQ_MEM2MEM 0U /*!< memory to memory transfer */
  252. #define LL_DMAMUX2_REQ_GENERATOR0 1U /*!< DMAMUX2 request generator 0 */
  253. #define LL_DMAMUX2_REQ_GENERATOR1 2U /*!< DMAMUX2 request generator 1 */
  254. #define LL_DMAMUX2_REQ_GENERATOR2 3U /*!< DMAMUX2 request generator 2 */
  255. #define LL_DMAMUX2_REQ_GENERATOR3 4U /*!< DMAMUX2 request generator 3 */
  256. #define LL_DMAMUX2_REQ_GENERATOR4 5U /*!< DMAMUX2 request generator 4 */
  257. #define LL_DMAMUX2_REQ_GENERATOR5 6U /*!< DMAMUX2 request generator 5 */
  258. #define LL_DMAMUX2_REQ_GENERATOR6 7U /*!< DMAMUX2 request generator 6 */
  259. #define LL_DMAMUX2_REQ_GENERATOR7 8U /*!< DMAMUX2 request generator 7 */
  260. #define LL_DMAMUX2_REQ_LPUART1_RX 9U /*!< DMAMUX2 LP_UART1_RX request */
  261. #define LL_DMAMUX2_REQ_LPUART1_TX 10U /*!< DMAMUX2 LP_UART1_TX request */
  262. #define LL_DMAMUX2_REQ_SPI6_RX 11U /*!< DMAMUX2 SPI6 RX request */
  263. #define LL_DMAMUX2_REQ_SPI6_TX 12U /*!< DMAMUX2 SPI6 TX request */
  264. #define LL_DMAMUX2_REQ_I2C4_RX 13U /*!< DMAMUX2 I2C4 RX request */
  265. #define LL_DMAMUX2_REQ_I2C4_TX 14U /*!< DMAMUX2 I2C4 TX request */
  266. #define LL_DMAMUX2_REQ_SAI4_A 15U /*!< DMAMUX2 SAI4 A request */
  267. #define LL_DMAMUX2_REQ_SAI4_B 16U /*!< DMAMUX2 SAI4 B request */
  268. #define LL_DMAMUX2_REQ_ADC3 17U /*!< DMAMUX2 ADC3 request */
  269. /**
  270. * @}
  271. */
  272. /** @defgroup DMAMUX_LL_EC_CHANNEL DMAMUX Channel
  273. * @{
  274. */
  275. #define LL_DMAMUX_CHANNEL_0 0x00000000U /*!< DMAMUX1 Channel 0 connected to DMA1 Channel 0 , DMAMUX2 Channel 0 connected to BDMA Channel 0 */
  276. #define LL_DMAMUX_CHANNEL_1 0x00000001U /*!< DMAMUX1 Channel 1 connected to DMA1 Channel 1 , DMAMUX2 Channel 1 connected to BDMA Channel 1 */
  277. #define LL_DMAMUX_CHANNEL_2 0x00000002U /*!< DMAMUX1 Channel 2 connected to DMA1 Channel 2 , DMAMUX2 Channel 2 connected to BDMA Channel 2 */
  278. #define LL_DMAMUX_CHANNEL_3 0x00000003U /*!< DMAMUX1 Channel 3 connected to DMA1 Channel 3 , DMAMUX2 Channel 3 connected to BDMA Channel 3 */
  279. #define LL_DMAMUX_CHANNEL_4 0x00000004U /*!< DMAMUX1 Channel 4 connected to DMA1 Channel 4 , DMAMUX2 Channel 4 connected to BDMA Channel 4 */
  280. #define LL_DMAMUX_CHANNEL_5 0x00000005U /*!< DMAMUX1 Channel 5 connected to DMA1 Channel 5 , DMAMUX2 Channel 5 connected to BDMA Channel 5 */
  281. #define LL_DMAMUX_CHANNEL_6 0x00000006U /*!< DMAMUX1 Channel 6 connected to DMA1 Channel 6 , DMAMUX2 Channel 6 connected to BDMA Channel 6 */
  282. #define LL_DMAMUX_CHANNEL_7 0x00000007U /*!< DMAMUX1 Channel 7 connected to DMA1 Channel 7 , DMAMUX2 Channel 7 connected to BDMA Channel 7 */
  283. #define LL_DMAMUX_CHANNEL_8 0x00000008U /*!< DMAMUX1 Channel 8 connected to DMA2 Channel 0 */
  284. #define LL_DMAMUX_CHANNEL_9 0x00000009U /*!< DMAMUX1 Channel 9 connected to DMA2 Channel 1 */
  285. #define LL_DMAMUX_CHANNEL_10 0x0000000AU /*!< DMAMUX1 Channel 10 connected to DMA2 Channel 2 */
  286. #define LL_DMAMUX_CHANNEL_11 0x0000000BU /*!< DMAMUX1 Channel 11 connected to DMA2 Channel 3 */
  287. #define LL_DMAMUX_CHANNEL_12 0x0000000CU /*!< DMAMUX1 Channel 12 connected to DMA2 Channel 4 */
  288. #define LL_DMAMUX_CHANNEL_13 0x0000000DU /*!< DMAMUX1 Channel 13 connected to DMA2 Channel 5 */
  289. #define LL_DMAMUX_CHANNEL_14 0x0000000EU /*!< DMAMUX1 Channel 14 connected to DMA2 Channel 6 */
  290. #define LL_DMAMUX_CHANNEL_15 0x0000000FU /*!< DMAMUX1 Channel 15 connected to DMA2 Channel 7 */
  291. /**
  292. * @}
  293. */
  294. /** @defgroup DMAMUX_LL_EC_SYNC_NO Synchronization Signal Polarity
  295. * @{
  296. */
  297. #define LL_DMAMUX_SYNC_NO_EVENT 0x00000000U /*!< All requests are blocked */
  298. #define LL_DMAMUX_SYNC_POL_RISING DMAMUX_CxCR_SPOL_0 /*!< Synchronization on event on rising edge */
  299. #define LL_DMAMUX_SYNC_POL_FALLING DMAMUX_CxCR_SPOL_1 /*!< Synchronization on event on falling edge */
  300. #define LL_DMAMUX_SYNC_POL_RISING_FALLING (DMAMUX_CxCR_SPOL_0 | DMAMUX_CxCR_SPOL_1) /*!< Synchronization on event on rising and falling edge */
  301. /**
  302. * @}
  303. */
  304. /** @defgroup DMAMUX_LL_EC_SYNC_EVT Synchronization Signal Event
  305. * @{
  306. */
  307. #define LL_DMAMUX1_SYNC_DMAMUX1_CH0_EVT 0x00000000U /*!< D2 Domain synchronization Signal is DMAMUX1 Channel0 Event */
  308. #define LL_DMAMUX1_SYNC_DMAMUX1_CH1_EVT 0x01000000U /*!< D2 Domain synchronization Signal is DMAMUX1 Channel1 Event */
  309. #define LL_DMAMUX1_SYNC_DMAMUX1_CH2_EVT 0x02000000U /*!< D2 Domain synchronization Signal is DMAMUX1 Channel2 Event */
  310. #define LL_DMAMUX1_SYNC_LPTIM1_OUT 0x03000000U /*!< D2 Domain synchronization Signal is LPTIM1 OUT */
  311. #define LL_DMAMUX1_SYNC_LPTIM2_OUT 0x04000000U /*!< D2 Domain synchronization Signal is LPTIM2 OUT */
  312. #define LL_DMAMUX1_SYNC_LPTIM3_OUT 0x05000000U /*!< D2 Domain synchronization Signal is LPTIM3 OUT */
  313. #define LL_DMAMUX1_SYNC_EXTI0 0x06000000U /*!< D2 Domain synchronization Signal is EXTI0 IT */
  314. #define LL_DMAMUX1_SYNC_TIM12_TRGO 0x07000000U /*!< D2 Domain synchronization Signal is TIM12 TRGO */
  315. #define LL_DMAMUX2_SYNC_DMAMUX2_CH0_EVT 0x00000000U /*!< D3 Domain synchronization Signal is DMAMUX2 Channel0 Event */
  316. #define LL_DMAMUX2_SYNC_DMAMUX2_CH1_EVT 0x01000000U /*!< D3 Domain synchronization Signal is DMAMUX2 Channel1 Event */
  317. #define LL_DMAMUX2_SYNC_DMAMUX2_CH2_EVT 0x02000000U /*!< D3 Domain synchronization Signal is DMAMUX2 Channel2 Event */
  318. #define LL_DMAMUX2_SYNC_DMAMUX2_CH3_EVT 0x03000000U /*!< D3 Domain synchronization Signal is DMAMUX2 Channel3 Event */
  319. #define LL_DMAMUX2_SYNC_DMAMUX2_CH4_EVT 0x04000000U /*!< D3 Domain synchronization Signal is DMAMUX2 Channel4 Event */
  320. #define LL_DMAMUX2_SYNC_DMAMUX2_CH5_EVT 0x05000000U /*!< D3 Domain synchronization Signal is DMAMUX2 Channel5 Event */
  321. #define LL_DMAMUX2_SYNC_LPUART1_RX_WKUP 0x06000000U /*!< D3 Domain synchronization Signal is LPUART1 RX Wakeup */
  322. #define LL_DMAMUX2_SYNC_LPUART1_TX_WKUP 0x07000000U /*!< D3 Domain synchronization Signal is LPUART1 TX Wakeup */
  323. #define LL_DMAMUX2_SYNC_LPTIM2_OUT 0x08000000U /*!< D3 Domain synchronization Signal is LPTIM2 output */
  324. #define LL_DMAMUX2_SYNC_LPTIM3_OUT 0x09000000U /*!< D3 Domain synchronization Signal is LPTIM3 output */
  325. #define LL_DMAMUX2_SYNC_I2C4_WKUP 0x0A000000U /*!< D3 Domain synchronization Signal is I2C4 Wakeup */
  326. #define LL_DMAMUX2_SYNC_SPI6_WKUP 0x0B000000U /*!< D3 Domain synchronization Signal is SPI6 Wakeup */
  327. #define LL_DMAMUX2_SYNC_COMP1_OUT 0x0C000000U /*!< D3 Domain synchronization Signal is Comparator 1 output */
  328. #define LL_DMAMUX2_SYNC_RTC_WKUP 0x0D000000U /*!< D3 Domain synchronization Signal is RTC Wakeup */
  329. #define LL_DMAMUX2_SYNC_EXTI0 0x0E000000U /*!< D3 Domain synchronization Signal is EXTI0 IT */
  330. #define LL_DMAMUX2_SYNC_EXTI2 0x0F000000U /*!< D3 Domain synchronization Signal is EXTI2 IT */
  331. /**
  332. * @}
  333. */
  334. /** @defgroup DMAMUX_LL_EC_REQUEST_GENERATOR Request Generator Channel
  335. * @{
  336. */
  337. #define LL_DMAMUX_REQ_GEN_0 0x00000000U
  338. #define LL_DMAMUX_REQ_GEN_1 0x00000001U
  339. #define LL_DMAMUX_REQ_GEN_2 0x00000002U
  340. #define LL_DMAMUX_REQ_GEN_3 0x00000003U
  341. #define LL_DMAMUX_REQ_GEN_4 0x00000004U
  342. #define LL_DMAMUX_REQ_GEN_5 0x00000005U
  343. #define LL_DMAMUX_REQ_GEN_6 0x00000006U
  344. #define LL_DMAMUX_REQ_GEN_7 0x00000007U
  345. /**
  346. * @}
  347. */
  348. /** @defgroup DMAMUX_LL_EC_REQUEST_GEN_POLARITY External Request Signal Generation Polarity
  349. * @{
  350. */
  351. #define LL_DMAMUX_REQ_GEN_NO_EVENT 0x00000000U /*!< No external DMA request generation */
  352. #define LL_DMAMUX_REQ_GEN_POL_RISING DMAMUX_RGxCR_GPOL_0 /*!< External DMA request generation on event on rising edge */
  353. #define LL_DMAMUX_REQ_GEN_POL_FALLING DMAMUX_RGxCR_GPOL_1 /*!< External DMA request generation on event on falling edge */
  354. #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 */
  355. /**
  356. * @}
  357. */
  358. /** @defgroup DMAMUX_LL_EC_REQUEST_GEN External Request Signal Generation
  359. * @{
  360. */
  361. #define LL_DMAMUX1_REQ_GEN_DMAMUX1_CH0_EVT 0U /*!< D2 domain Request generator Signal is DMAMUX1 Channel0 Event */
  362. #define LL_DMAMUX1_REQ_GEN_DMAMUX1_CH1_EVT 1U /*!< D2 domain Request generator Signal is DMAMUX1 Channel1 Event */
  363. #define LL_DMAMUX1_REQ_GEN_DMAMUX1_CH2_EVT 2U /*!< D2 domain Request generator Signal is DMAMUX1 Channel2 Event */
  364. #define LL_DMAMUX1_REQ_GEN_LPTIM1_OUT 3U /*!< D2 domain Request generator Signal is LPTIM1 OUT */
  365. #define LL_DMAMUX1_REQ_GEN_LPTIM2_OUT 4U /*!< D2 domain Request generator Signal is LPTIM2 OUT */
  366. #define LL_DMAMUX1_REQ_GEN_LPTIM3_OUT 5U /*!< D2 domain Request generator Signal is LPTIM3 OUT */
  367. #define LL_DMAMUX1_REQ_GEN_EXTI0 6U /*!< D2 domain Request generator Signal is EXTI0 IT */
  368. #define LL_DMAMUX1_REQ_GEN_TIM12_TRGO 7U /*!< D2 domain Request generator Signal is TIM12 TRGO */
  369. #define LL_DMAMUX2_REQ_GEN_DMAMUX2_CH0_EVT 0U /*!< D3 domain Request generator Signal is DMAMUX2 Channel0 Event */
  370. #define LL_DMAMUX2_REQ_GEN_DMAMUX2_CH1_EVT 1U /*!< D3 domain Request generator Signal is DMAMUX2 Channel1 Event */
  371. #define LL_DMAMUX2_REQ_GEN_DMAMUX2_CH2_EVT 2U /*!< D3 domain Request generator Signal is DMAMUX2 Channel2 Event */
  372. #define LL_DMAMUX2_REQ_GEN_DMAMUX2_CH3_EVT 3U /*!< D3 domain Request generator Signal is DMAMUX2 Channel3 Event */
  373. #define LL_DMAMUX2_REQ_GEN_DMAMUX2_CH4_EVT 4U /*!< D3 domain Request generator Signal is DMAMUX2 Channel4 Event */
  374. #define LL_DMAMUX2_REQ_GEN_DMAMUX2_CH5_EVT 5U /*!< D3 domain Request generator Signal is DMAMUX2 Channel5 Event */
  375. #define LL_DMAMUX2_REQ_GEN_DMAMUX2_CH6_EVT 6U /*!< D3 domain Request generator Signal is DMAMUX2 Channel6 Event */
  376. #define LL_DMAMUX2_REQ_GEN_LPUART1_RX_WKUP 7U /*!< D3 domain Request generator Signal is LPUART1 RX Wakeup */
  377. #define LL_DMAMUX2_REQ_GEN_LPUART1_TX_WKUP 8U /*!< D3 domain Request generator Signal is LPUART1 TX Wakeup */
  378. #define LL_DMAMUX2_REQ_GEN_LPTIM2_WKUP 9U /*!< D3 domain Request generator Signal is LPTIM2 Wakeup */
  379. #define LL_DMAMUX2_REQ_GEN_LPTIM2_OUT 10U /*!< D3 domain Request generator Signal is LPTIM2 OUT */
  380. #define LL_DMAMUX2_REQ_GEN_LPTIM3_WKUP 11U /*!< D3 domain Request generator Signal is LPTIM3 Wakeup */
  381. #define LL_DMAMUX2_REQ_GEN_LPTIM3_OUT 12U /*!< D3 domain Request generator Signal is LPTIM3 OUT */
  382. #define LL_DMAMUX2_REQ_GEN_LPTIM4_WKUP 13U /*!< D3 domain Request generator Signal is LPTIM4 Wakeup */
  383. #define LL_DMAMUX2_REQ_GEN_LPTIM5_WKUP 14U /*!< D3 domain Request generator Signal is LPTIM5 Wakeup */
  384. #define LL_DMAMUX2_REQ_GEN_I2C4_WKUP 15U /*!< D3 domain Request generator Signal is I2C4 Wakeup */
  385. #define LL_DMAMUX2_REQ_GEN_SPI6_WKUP 16U /*!< D3 domain Request generator Signal is SPI6 Wakeup */
  386. #define LL_DMAMUX2_REQ_GEN_COMP1_OUT 17U /*!< D3 domain Request generator Signal is Comparator 1 output */
  387. #define LL_DMAMUX2_REQ_GEN_COMP2_OUT 18U /*!< D3 domain Request generator Signal is Comparator 2 output */
  388. #define LL_DMAMUX2_REQ_GEN_RTC_WKUP 19U /*!< D3 domain Request generator Signal is RTC Wakeup */
  389. #define LL_DMAMUX2_REQ_GEN_EXTI0 20U /*!< D3 domain Request generator Signal is EXTI0 */
  390. #define LL_DMAMUX2_REQ_GEN_EXTI2 21U /*!< D3 domain Request generator Signal is EXTI2 */
  391. #define LL_DMAMUX2_REQ_GEN_I2C4_IT_EVT 22U /*!< D3 domain Request generator Signal is I2C4 IT Event */
  392. #define LL_DMAMUX2_REQ_GEN_SPI6_IT 23U /*!< D3 domain Request generator Signal is SPI6 IT */
  393. #define LL_DMAMUX2_REQ_GEN_LPUART1_TX_IT 24U /*!< D3 domain Request generator Signal is LPUART1 Tx IT */
  394. #define LL_DMAMUX2_REQ_GEN_LPUART1_RX_IT 25U /*!< D3 domain Request generator Signal is LPUART1 Rx IT */
  395. #define LL_DMAMUX2_REQ_GEN_ADC3_IT 26U /*!< D3 domain Request generator Signal is ADC3 IT */
  396. #define LL_DMAMUX2_REQ_GEN_ADC3_AWD1_OUT 27U /*!< D3 domain Request generator Signal is ADC3 Analog Watchdog 1 output */
  397. #define LL_DMAMUX2_REQ_GEN_BDMA_CH0_IT 28U /*!< D3 domain Request generator Signal is BDMA Channel 0 IT */
  398. #define LL_DMAMUX2_REQ_GEN_BDMA_CH1_IT 29U /*!< D3 domain Request generator Signal is BDMA Channel 1 IT */
  399. /**
  400. * @}
  401. */
  402. /**
  403. * @}
  404. */
  405. /* Exported macro ------------------------------------------------------------*/
  406. /** @defgroup DMAMUX_LL_Exported_Macros DMAMUX Exported Macros
  407. * @{
  408. */
  409. /** @defgroup DMAMUX_LL_EM_WRITE_READ Common Write and read registers macros
  410. * @{
  411. */
  412. /**
  413. * @brief Write a value in DMAMUX register
  414. * @param __INSTANCE__ DMAMUX Instance
  415. * @param __REG__ Register to be written
  416. * @param __VALUE__ Value to be written in the register
  417. * @retval None
  418. */
  419. #define LL_DMAMUX_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VALUE__))
  420. /**
  421. * @brief Read a value in DMAMUX register
  422. * @param __INSTANCE__ DMAMUX Instance
  423. * @param __REG__ Register to be read
  424. * @retval Register value
  425. */
  426. #define LL_DMAMUX_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__)
  427. /**
  428. * @}
  429. */
  430. /**
  431. * @}
  432. */
  433. /* Exported functions --------------------------------------------------------*/
  434. /** @defgroup DMAMUX_LL_Exported_Functions DMAMUX Exported Functions
  435. * @{
  436. */
  437. /** @defgroup DMAMUX_LL_EF_Configuration Configuration
  438. * @{
  439. */
  440. /**
  441. * @brief Set DMAMUX request ID for DMAMUX Channel x.
  442. * @note DMAMUX1 channel 0 to 7 are mapped to DMA1 channel 0 to 7.
  443. * DMAMUX1 channel 8 to 15 are mapped to DMA2 channel 0 to 7.
  444. * DMAMUX2 channel 0 to 7 are mapped to BDMA channel 0 to 7.
  445. * @rmtoll CxCR DMAREQ_ID LL_DMAMUX_SetRequestID
  446. * @param DMAMUXx DMAMUXx Instance
  447. * @param Channel This parameter can be one of the following values:
  448. * @arg @ref LL_DMAMUX_CHANNEL_0
  449. * @arg @ref LL_DMAMUX_CHANNEL_1
  450. * @arg @ref LL_DMAMUX_CHANNEL_2
  451. * @arg @ref LL_DMAMUX_CHANNEL_3
  452. * @arg @ref LL_DMAMUX_CHANNEL_4
  453. * @arg @ref LL_DMAMUX_CHANNEL_5
  454. * @arg @ref LL_DMAMUX_CHANNEL_6
  455. * @arg @ref LL_DMAMUX_CHANNEL_7
  456. * @arg @ref LL_DMAMUX_CHANNEL_8
  457. * @arg @ref LL_DMAMUX_CHANNEL_9
  458. * @arg @ref LL_DMAMUX_CHANNEL_10
  459. * @arg @ref LL_DMAMUX_CHANNEL_11
  460. * @arg @ref LL_DMAMUX_CHANNEL_12
  461. * @arg @ref LL_DMAMUX_CHANNEL_13
  462. * @arg @ref LL_DMAMUX_CHANNEL_14
  463. * @arg @ref LL_DMAMUX_CHANNEL_15
  464. * @param Request This parameter can be one of the following values:
  465. * @arg @ref LL_DMAMUX1_REQ_MEM2MEM
  466. * @arg @ref LL_DMAMUX1_REQ_GENERATOR0
  467. * @arg @ref LL_DMAMUX1_REQ_GENERATOR1
  468. * @arg @ref LL_DMAMUX1_REQ_GENERATOR2
  469. * @arg @ref LL_DMAMUX1_REQ_GENERATOR3
  470. * @arg @ref LL_DMAMUX1_REQ_GENERATOR4
  471. * @arg @ref LL_DMAMUX1_REQ_GENERATOR5
  472. * @arg @ref LL_DMAMUX1_REQ_GENERATOR6
  473. * @arg @ref LL_DMAMUX1_REQ_GENERATOR7
  474. * @arg @ref LL_DMAMUX1_REQ_ADC1
  475. * @arg @ref LL_DMAMUX1_REQ_ADC2
  476. * @arg @ref LL_DMAMUX1_REQ_TIM1_CH1
  477. * @arg @ref LL_DMAMUX1_REQ_TIM1_CH2
  478. * @arg @ref LL_DMAMUX1_REQ_TIM1_CH3
  479. * @arg @ref LL_DMAMUX1_REQ_TIM1_CH4
  480. * @arg @ref LL_DMAMUX1_REQ_TIM1_UP
  481. * @arg @ref LL_DMAMUX1_REQ_TIM1_TRIG
  482. * @arg @ref LL_DMAMUX1_REQ_TIM1_COM
  483. * @arg @ref LL_DMAMUX1_REQ_TIM2_CH1
  484. * @arg @ref LL_DMAMUX1_REQ_TIM2_CH2
  485. * @arg @ref LL_DMAMUX1_REQ_TIM2_CH3
  486. * @arg @ref LL_DMAMUX1_REQ_TIM2_CH4
  487. * @arg @ref LL_DMAMUX1_REQ_TIM2_UP
  488. * @arg @ref LL_DMAMUX1_REQ_TIM3_CH1
  489. * @arg @ref LL_DMAMUX1_REQ_TIM3_CH2
  490. * @arg @ref LL_DMAMUX1_REQ_TIM3_CH3
  491. * @arg @ref LL_DMAMUX1_REQ_TIM3_CH4
  492. * @arg @ref LL_DMAMUX1_REQ_TIM3_UP
  493. * @arg @ref LL_DMAMUX1_REQ_TIM3_TRIG
  494. * @arg @ref LL_DMAMUX1_REQ_TIM4_CH1
  495. * @arg @ref LL_DMAMUX1_REQ_TIM4_CH2
  496. * @arg @ref LL_DMAMUX1_REQ_TIM4_CH3
  497. * @arg @ref LL_DMAMUX1_REQ_TIM4_UP
  498. * @arg @ref LL_DMAMUX1_REQ_I2C1_RX
  499. * @arg @ref LL_DMAMUX1_REQ_I2C1_TX
  500. * @arg @ref LL_DMAMUX1_REQ_I2C2_RX
  501. * @arg @ref LL_DMAMUX1_REQ_I2C2_TX
  502. * @arg @ref LL_DMAMUX1_REQ_SPI1_RX
  503. * @arg @ref LL_DMAMUX1_REQ_SPI1_TX
  504. * @arg @ref LL_DMAMUX1_REQ_SPI2_RX
  505. * @arg @ref LL_DMAMUX1_REQ_SPI2_TX
  506. * @arg @ref LL_DMAMUX1_REQ_USART1_RX
  507. * @arg @ref LL_DMAMUX1_REQ_USART1_TX
  508. * @arg @ref LL_DMAMUX1_REQ_USART2_RX
  509. * @arg @ref LL_DMAMUX1_REQ_USART2_TX
  510. * @arg @ref LL_DMAMUX1_REQ_USART3_RX
  511. * @arg @ref LL_DMAMUX1_REQ_USART3_TX
  512. * @arg @ref LL_DMAMUX1_REQ_TIM8_CH1
  513. * @arg @ref LL_DMAMUX1_REQ_TIM8_CH2
  514. * @arg @ref LL_DMAMUX1_REQ_TIM8_CH3
  515. * @arg @ref LL_DMAMUX1_REQ_TIM8_CH4
  516. * @arg @ref LL_DMAMUX1_REQ_TIM8_UP
  517. * @arg @ref LL_DMAMUX1_REQ_TIM8_TRIG
  518. * @arg @ref LL_DMAMUX1_REQ_TIM8_COM
  519. * @arg @ref LL_DMAMUX1_REQ_TIM5_CH1
  520. * @arg @ref LL_DMAMUX1_REQ_TIM5_CH2
  521. * @arg @ref LL_DMAMUX1_REQ_TIM5_CH3
  522. * @arg @ref LL_DMAMUX1_REQ_TIM5_CH4
  523. * @arg @ref LL_DMAMUX1_REQ_TIM5_UP
  524. * @arg @ref LL_DMAMUX1_REQ_TIM5_TRIG
  525. * @arg @ref LL_DMAMUX1_REQ_SPI3_RX
  526. * @arg @ref LL_DMAMUX1_REQ_SPI3_TX
  527. * @arg @ref LL_DMAMUX1_REQ_UART4_RX
  528. * @arg @ref LL_DMAMUX1_REQ_UART4_TX
  529. * @arg @ref LL_DMAMUX1_REQ_UART5_RX
  530. * @arg @ref LL_DMAMUX1_REQ_UART5_TX
  531. * @arg @ref LL_DMAMUX1_REQ_DAC1_CH1
  532. * @arg @ref LL_DMAMUX1_REQ_DAC1_CH2
  533. * @arg @ref LL_DMAMUX1_REQ_TIM6_UP
  534. * @arg @ref LL_DMAMUX1_REQ_TIM7_UP
  535. * @arg @ref LL_DMAMUX1_REQ_USART6_RX
  536. * @arg @ref LL_DMAMUX1_REQ_USART6_TX
  537. * @arg @ref LL_DMAMUX1_REQ_I2C3_RX
  538. * @arg @ref LL_DMAMUX1_REQ_I2C3_TX
  539. * @arg @ref LL_DMAMUX1_REQ_DCMI
  540. * @arg @ref LL_DMAMUX1_REQ_CRYP_IN
  541. * @arg @ref LL_DMAMUX1_REQ_CRYP_OUT
  542. * @arg @ref LL_DMAMUX1_REQ_HASH_IN
  543. * @arg @ref LL_DMAMUX1_REQ_UART7_RX
  544. * @arg @ref LL_DMAMUX1_REQ_UART7_TX
  545. * @arg @ref LL_DMAMUX1_REQ_UART8_RX
  546. * @arg @ref LL_DMAMUX1_REQ_UART8_TX
  547. * @arg @ref LL_DMAMUX1_REQ_SPI4_RX
  548. * @arg @ref LL_DMAMUX1_REQ_SPI4_TX
  549. * @arg @ref LL_DMAMUX1_REQ_SPI5_RX
  550. * @arg @ref LL_DMAMUX1_REQ_SPI5_TX
  551. * @arg @ref LL_DMAMUX1_REQ_SAI1_A
  552. * @arg @ref LL_DMAMUX1_REQ_SAI1_B
  553. * @arg @ref LL_DMAMUX1_REQ_SAI2_A
  554. * @arg @ref LL_DMAMUX1_REQ_SAI2_B
  555. * @arg @ref LL_DMAMUX1_REQ_SWPMI_RX
  556. * @arg @ref LL_DMAMUX1_REQ_SWPMI_TX
  557. * @arg @ref LL_DMAMUX1_REQ_SPDIF_RX_DT
  558. * @arg @ref LL_DMAMUX1_REQ_SPDIF_RX_CS
  559. * @arg @ref LL_DMAMUX1_REQ_HRTIM_MASTER
  560. * @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_A
  561. * @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_B
  562. * @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_C
  563. * @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_D
  564. * @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_E
  565. * @arg @ref LL_DMAMUX1_REQ_DFSDM1_FLT0
  566. * @arg @ref LL_DMAMUX1_REQ_DFSDM1_FLT1
  567. * @arg @ref LL_DMAMUX1_REQ_DFSDM1_FLT2
  568. * @arg @ref LL_DMAMUX1_REQ_DFSDM1_FLT3
  569. * @arg @ref LL_DMAMUX1_REQ_TIM15_CH1
  570. * @arg @ref LL_DMAMUX1_REQ_TIM15_UP
  571. * @arg @ref LL_DMAMUX1_REQ_TIM15_TRIG
  572. * @arg @ref LL_DMAMUX1_REQ_TIM15_COM
  573. * @arg @ref LL_DMAMUX1_REQ_TIM16_CH1
  574. * @arg @ref LL_DMAMUX1_REQ_TIM16_UP
  575. * @arg @ref LL_DMAMUX1_REQ_TIM17_CH1
  576. * @arg @ref LL_DMAMUX1_REQ_TIM17_UP
  577. * @arg @ref LL_DMAMUX1_REQ_SAI3_A
  578. * @arg @ref LL_DMAMUX1_REQ_SAI3_B
  579. * @arg @ref LL_DMAMUX1_REQ_ADC3
  580. * @arg @ref LL_DMAMUX2_REQ_MEM2MEM
  581. * @arg @ref LL_DMAMUX2_REQ_GENERATOR0
  582. * @arg @ref LL_DMAMUX2_REQ_GENERATOR1
  583. * @arg @ref LL_DMAMUX2_REQ_GENERATOR2
  584. * @arg @ref LL_DMAMUX2_REQ_GENERATOR3
  585. * @arg @ref LL_DMAMUX2_REQ_GENERATOR4
  586. * @arg @ref LL_DMAMUX2_REQ_GENERATOR5
  587. * @arg @ref LL_DMAMUX2_REQ_GENERATOR6
  588. * @arg @ref LL_DMAMUX2_REQ_GENERATOR7
  589. * @arg @ref LL_DMAMUX2_REQ_LPUART1_RX
  590. * @arg @ref LL_DMAMUX2_REQ_LPUART1_TX
  591. * @arg @ref LL_DMAMUX2_REQ_SPI6_RX
  592. * @arg @ref LL_DMAMUX2_REQ_SPI6_TX
  593. * @arg @ref LL_DMAMUX2_REQ_I2C4_RX
  594. * @arg @ref LL_DMAMUX2_REQ_I2C4_TX
  595. * @arg @ref LL_DMAMUX2_REQ_SAI4_A
  596. * @arg @ref LL_DMAMUX2_REQ_SAI4_B
  597. * @arg @ref LL_DMAMUX2_REQ_ADC3
  598. * @retval None
  599. */
  600. __STATIC_INLINE void LL_DMAMUX_SetRequestID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel, uint32_t Request)
  601. {
  602. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  603. MODIFY_REG(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_DMAREQ_ID, Request);
  604. }
  605. /**
  606. * @brief Get DMAMUX request ID for DMAMUX Channel x.
  607. * @note DMAMUX1 channel 0 to 7 are mapped to DMA1 channel 0 to 7.
  608. * DMAMUX1 channel 8 to 15 are mapped to DMA2 channel 0 to 7.
  609. * DMAMUX2 channel 0 to 7 are mapped to BDMA channel 0 to 7.
  610. * @rmtoll CxCR DMAREQ_ID LL_DMAMUX_GetRequestID
  611. * @param DMAMUXx DMAMUXx Instance
  612. * @param Channel This parameter can be one of the following values:
  613. * @arg @ref LL_DMAMUX_CHANNEL_0
  614. * @arg @ref LL_DMAMUX_CHANNEL_1
  615. * @arg @ref LL_DMAMUX_CHANNEL_2
  616. * @arg @ref LL_DMAMUX_CHANNEL_3
  617. * @arg @ref LL_DMAMUX_CHANNEL_4
  618. * @arg @ref LL_DMAMUX_CHANNEL_5
  619. * @arg @ref LL_DMAMUX_CHANNEL_6
  620. * @arg @ref LL_DMAMUX_CHANNEL_7
  621. * @arg @ref LL_DMAMUX_CHANNEL_8
  622. * @arg @ref LL_DMAMUX_CHANNEL_9
  623. * @arg @ref LL_DMAMUX_CHANNEL_10
  624. * @arg @ref LL_DMAMUX_CHANNEL_11
  625. * @arg @ref LL_DMAMUX_CHANNEL_12
  626. * @arg @ref LL_DMAMUX_CHANNEL_13
  627. * @arg @ref LL_DMAMUX_CHANNEL_14
  628. * @arg @ref LL_DMAMUX_CHANNEL_15
  629. * @retval Returned value can be one of the following values:
  630. * @arg @ref LL_DMAMUX1_REQ_MEM2MEM
  631. * @arg @ref LL_DMAMUX1_REQ_GENERATOR0
  632. * @arg @ref LL_DMAMUX1_REQ_GENERATOR1
  633. * @arg @ref LL_DMAMUX1_REQ_GENERATOR2
  634. * @arg @ref LL_DMAMUX1_REQ_GENERATOR3
  635. * @arg @ref LL_DMAMUX1_REQ_GENERATOR4
  636. * @arg @ref LL_DMAMUX1_REQ_GENERATOR5
  637. * @arg @ref LL_DMAMUX1_REQ_GENERATOR6
  638. * @arg @ref LL_DMAMUX1_REQ_GENERATOR7
  639. * @arg @ref LL_DMAMUX1_REQ_ADC1
  640. * @arg @ref LL_DMAMUX1_REQ_ADC2
  641. * @arg @ref LL_DMAMUX1_REQ_TIM1_CH1
  642. * @arg @ref LL_DMAMUX1_REQ_TIM1_CH2
  643. * @arg @ref LL_DMAMUX1_REQ_TIM1_CH3
  644. * @arg @ref LL_DMAMUX1_REQ_TIM1_CH4
  645. * @arg @ref LL_DMAMUX1_REQ_TIM1_UP
  646. * @arg @ref LL_DMAMUX1_REQ_TIM1_TRIG
  647. * @arg @ref LL_DMAMUX1_REQ_TIM1_COM
  648. * @arg @ref LL_DMAMUX1_REQ_TIM2_CH1
  649. * @arg @ref LL_DMAMUX1_REQ_TIM2_CH2
  650. * @arg @ref LL_DMAMUX1_REQ_TIM2_CH3
  651. * @arg @ref LL_DMAMUX1_REQ_TIM2_CH4
  652. * @arg @ref LL_DMAMUX1_REQ_TIM2_UP
  653. * @arg @ref LL_DMAMUX1_REQ_TIM3_CH1
  654. * @arg @ref LL_DMAMUX1_REQ_TIM3_CH2
  655. * @arg @ref LL_DMAMUX1_REQ_TIM3_CH3
  656. * @arg @ref LL_DMAMUX1_REQ_TIM3_CH4
  657. * @arg @ref LL_DMAMUX1_REQ_TIM3_UP
  658. * @arg @ref LL_DMAMUX1_REQ_TIM3_TRIG
  659. * @arg @ref LL_DMAMUX1_REQ_TIM4_CH1
  660. * @arg @ref LL_DMAMUX1_REQ_TIM4_CH2
  661. * @arg @ref LL_DMAMUX1_REQ_TIM4_CH3
  662. * @arg @ref LL_DMAMUX1_REQ_TIM4_UP
  663. * @arg @ref LL_DMAMUX1_REQ_I2C1_RX
  664. * @arg @ref LL_DMAMUX1_REQ_I2C1_TX
  665. * @arg @ref LL_DMAMUX1_REQ_I2C2_RX
  666. * @arg @ref LL_DMAMUX1_REQ_I2C2_TX
  667. * @arg @ref LL_DMAMUX1_REQ_SPI1_RX
  668. * @arg @ref LL_DMAMUX1_REQ_SPI1_TX
  669. * @arg @ref LL_DMAMUX1_REQ_SPI2_RX
  670. * @arg @ref LL_DMAMUX1_REQ_SPI2_TX
  671. * @arg @ref LL_DMAMUX1_REQ_USART1_RX
  672. * @arg @ref LL_DMAMUX1_REQ_USART1_TX
  673. * @arg @ref LL_DMAMUX1_REQ_USART2_RX
  674. * @arg @ref LL_DMAMUX1_REQ_USART2_TX
  675. * @arg @ref LL_DMAMUX1_REQ_USART3_RX
  676. * @arg @ref LL_DMAMUX1_REQ_USART3_TX
  677. * @arg @ref LL_DMAMUX1_REQ_TIM8_CH1
  678. * @arg @ref LL_DMAMUX1_REQ_TIM8_CH2
  679. * @arg @ref LL_DMAMUX1_REQ_TIM8_CH3
  680. * @arg @ref LL_DMAMUX1_REQ_TIM8_CH4
  681. * @arg @ref LL_DMAMUX1_REQ_TIM8_UP
  682. * @arg @ref LL_DMAMUX1_REQ_TIM8_TRIG
  683. * @arg @ref LL_DMAMUX1_REQ_TIM8_COM
  684. * @arg @ref LL_DMAMUX1_REQ_TIM5_CH1
  685. * @arg @ref LL_DMAMUX1_REQ_TIM5_CH2
  686. * @arg @ref LL_DMAMUX1_REQ_TIM5_CH3
  687. * @arg @ref LL_DMAMUX1_REQ_TIM5_CH4
  688. * @arg @ref LL_DMAMUX1_REQ_TIM5_UP
  689. * @arg @ref LL_DMAMUX1_REQ_TIM5_TRIG
  690. * @arg @ref LL_DMAMUX1_REQ_SPI3_RX
  691. * @arg @ref LL_DMAMUX1_REQ_SPI3_TX
  692. * @arg @ref LL_DMAMUX1_REQ_UART4_RX
  693. * @arg @ref LL_DMAMUX1_REQ_UART4_TX
  694. * @arg @ref LL_DMAMUX1_REQ_UART5_RX
  695. * @arg @ref LL_DMAMUX1_REQ_UART5_TX
  696. * @arg @ref LL_DMAMUX1_REQ_DAC1_CH1
  697. * @arg @ref LL_DMAMUX1_REQ_DAC1_CH2
  698. * @arg @ref LL_DMAMUX1_REQ_TIM6_UP
  699. * @arg @ref LL_DMAMUX1_REQ_TIM7_UP
  700. * @arg @ref LL_DMAMUX1_REQ_USART6_RX
  701. * @arg @ref LL_DMAMUX1_REQ_USART6_TX
  702. * @arg @ref LL_DMAMUX1_REQ_I2C3_RX
  703. * @arg @ref LL_DMAMUX1_REQ_I2C3_TX
  704. * @arg @ref LL_DMAMUX1_REQ_DCMI
  705. * @arg @ref LL_DMAMUX1_REQ_CRYP_IN
  706. * @arg @ref LL_DMAMUX1_REQ_CRYP_OUT
  707. * @arg @ref LL_DMAMUX1_REQ_HASH_IN
  708. * @arg @ref LL_DMAMUX1_REQ_UART7_RX
  709. * @arg @ref LL_DMAMUX1_REQ_UART7_TX
  710. * @arg @ref LL_DMAMUX1_REQ_UART8_RX
  711. * @arg @ref LL_DMAMUX1_REQ_UART8_TX
  712. * @arg @ref LL_DMAMUX1_REQ_SPI4_RX
  713. * @arg @ref LL_DMAMUX1_REQ_SPI4_TX
  714. * @arg @ref LL_DMAMUX1_REQ_SPI5_RX
  715. * @arg @ref LL_DMAMUX1_REQ_SPI5_TX
  716. * @arg @ref LL_DMAMUX1_REQ_SAI1_A
  717. * @arg @ref LL_DMAMUX1_REQ_SAI1_B
  718. * @arg @ref LL_DMAMUX1_REQ_SAI2_A
  719. * @arg @ref LL_DMAMUX1_REQ_SAI2_B
  720. * @arg @ref LL_DMAMUX1_REQ_SWPMI_RX
  721. * @arg @ref LL_DMAMUX1_REQ_SWPMI_TX
  722. * @arg @ref LL_DMAMUX1_REQ_SPDIF_RX_DT
  723. * @arg @ref LL_DMAMUX1_REQ_SPDIF_RX_CS
  724. * @arg @ref LL_DMAMUX1_REQ_HRTIM_MASTER
  725. * @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_A
  726. * @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_B
  727. * @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_C
  728. * @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_D
  729. * @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_E
  730. * @arg @ref LL_DMAMUX1_REQ_DFSDM1_FLT0
  731. * @arg @ref LL_DMAMUX1_REQ_DFSDM1_FLT1
  732. * @arg @ref LL_DMAMUX1_REQ_DFSDM1_FLT2
  733. * @arg @ref LL_DMAMUX1_REQ_DFSDM1_FLT3
  734. * @arg @ref LL_DMAMUX1_REQ_TIM15_CH1
  735. * @arg @ref LL_DMAMUX1_REQ_TIM15_UP
  736. * @arg @ref LL_DMAMUX1_REQ_TIM15_TRIG
  737. * @arg @ref LL_DMAMUX1_REQ_TIM15_COM
  738. * @arg @ref LL_DMAMUX1_REQ_TIM16_CH1
  739. * @arg @ref LL_DMAMUX1_REQ_TIM16_UP
  740. * @arg @ref LL_DMAMUX1_REQ_TIM17_CH1
  741. * @arg @ref LL_DMAMUX1_REQ_TIM17_UP
  742. * @arg @ref LL_DMAMUX1_REQ_SAI3_A
  743. * @arg @ref LL_DMAMUX1_REQ_SAI3_B
  744. * @arg @ref LL_DMAMUX1_REQ_ADC3
  745. * @arg @ref LL_DMAMUX2_REQ_MEM2MEM
  746. * @arg @ref LL_DMAMUX2_REQ_GENERATOR0
  747. * @arg @ref LL_DMAMUX2_REQ_GENERATOR1
  748. * @arg @ref LL_DMAMUX2_REQ_GENERATOR2
  749. * @arg @ref LL_DMAMUX2_REQ_GENERATOR3
  750. * @arg @ref LL_DMAMUX2_REQ_GENERATOR4
  751. * @arg @ref LL_DMAMUX2_REQ_GENERATOR5
  752. * @arg @ref LL_DMAMUX2_REQ_GENERATOR6
  753. * @arg @ref LL_DMAMUX2_REQ_GENERATOR7
  754. * @arg @ref LL_DMAMUX2_REQ_LPUART1_RX
  755. * @arg @ref LL_DMAMUX2_REQ_LPUART1_TX
  756. * @arg @ref LL_DMAMUX2_REQ_SPI6_RX
  757. * @arg @ref LL_DMAMUX2_REQ_SPI6_TX
  758. * @arg @ref LL_DMAMUX2_REQ_I2C4_RX
  759. * @arg @ref LL_DMAMUX2_REQ_I2C4_TX
  760. * @arg @ref LL_DMAMUX2_REQ_SAI4_A
  761. * @arg @ref LL_DMAMUX2_REQ_SAI4_B
  762. * @arg @ref LL_DMAMUX2_REQ_ADC3
  763. */
  764. __STATIC_INLINE uint32_t LL_DMAMUX_GetRequestID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
  765. {
  766. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  767. return (uint32_t)(READ_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_DMAREQ_ID));
  768. }
  769. /**
  770. * @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.
  771. * @rmtoll CxCR NBREQ LL_DMAMUX_SetSyncRequestNb
  772. * @param DMAMUXx DMAMUXx Instance
  773. * @param Channel This parameter can be one of the following values:
  774. * @arg @ref LL_DMAMUX_CHANNEL_0
  775. * @arg @ref LL_DMAMUX_CHANNEL_1
  776. * @arg @ref LL_DMAMUX_CHANNEL_2
  777. * @arg @ref LL_DMAMUX_CHANNEL_3
  778. * @arg @ref LL_DMAMUX_CHANNEL_4
  779. * @arg @ref LL_DMAMUX_CHANNEL_5
  780. * @arg @ref LL_DMAMUX_CHANNEL_6
  781. * @arg @ref LL_DMAMUX_CHANNEL_7
  782. * @arg @ref LL_DMAMUX_CHANNEL_8
  783. * @arg @ref LL_DMAMUX_CHANNEL_9
  784. * @arg @ref LL_DMAMUX_CHANNEL_10
  785. * @arg @ref LL_DMAMUX_CHANNEL_11
  786. * @arg @ref LL_DMAMUX_CHANNEL_12
  787. * @arg @ref LL_DMAMUX_CHANNEL_13
  788. * @arg @ref LL_DMAMUX_CHANNEL_14
  789. * @arg @ref LL_DMAMUX_CHANNEL_15
  790. * @param RequestNb This parameter must be a value between Min_Data = 1 and Max_Data = 32.
  791. * @retval None
  792. */
  793. __STATIC_INLINE void LL_DMAMUX_SetSyncRequestNb(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel, uint32_t RequestNb)
  794. {
  795. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  796. MODIFY_REG(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_NBREQ, (RequestNb - 1U) << DMAMUX_CxCR_NBREQ_Pos);
  797. }
  798. /**
  799. * @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.
  800. * @rmtoll CxCR NBREQ LL_DMAMUX_GetSyncRequestNb
  801. * @param DMAMUXx DMAMUXx Instance
  802. * @param Channel This parameter can be one of the following values:
  803. * @arg @ref LL_DMAMUX_CHANNEL_0
  804. * @arg @ref LL_DMAMUX_CHANNEL_1
  805. * @arg @ref LL_DMAMUX_CHANNEL_2
  806. * @arg @ref LL_DMAMUX_CHANNEL_3
  807. * @arg @ref LL_DMAMUX_CHANNEL_4
  808. * @arg @ref LL_DMAMUX_CHANNEL_5
  809. * @arg @ref LL_DMAMUX_CHANNEL_6
  810. * @arg @ref LL_DMAMUX_CHANNEL_7
  811. * @arg @ref LL_DMAMUX_CHANNEL_8
  812. * @arg @ref LL_DMAMUX_CHANNEL_9
  813. * @arg @ref LL_DMAMUX_CHANNEL_10
  814. * @arg @ref LL_DMAMUX_CHANNEL_11
  815. * @arg @ref LL_DMAMUX_CHANNEL_12
  816. * @arg @ref LL_DMAMUX_CHANNEL_13
  817. * @arg @ref LL_DMAMUX_CHANNEL_14
  818. * @arg @ref LL_DMAMUX_CHANNEL_15
  819. * @retval Between Min_Data = 1 and Max_Data = 32
  820. */
  821. __STATIC_INLINE uint32_t LL_DMAMUX_GetSyncRequestNb(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
  822. {
  823. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  824. return (uint32_t)((READ_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_NBREQ) >> DMAMUX_CxCR_NBREQ_Pos) + 1U);
  825. }
  826. /**
  827. * @brief Set the polarity of the signal on which the DMA request is synchronized.
  828. * @rmtoll CxCR SPOL LL_DMAMUX_SetSyncPolarity
  829. * @param DMAMUXx DMAMUXx Instance
  830. * @param Channel This parameter can be one of the following values:
  831. * @arg @ref LL_DMAMUX_CHANNEL_0
  832. * @arg @ref LL_DMAMUX_CHANNEL_1
  833. * @arg @ref LL_DMAMUX_CHANNEL_2
  834. * @arg @ref LL_DMAMUX_CHANNEL_3
  835. * @arg @ref LL_DMAMUX_CHANNEL_4
  836. * @arg @ref LL_DMAMUX_CHANNEL_5
  837. * @arg @ref LL_DMAMUX_CHANNEL_6
  838. * @arg @ref LL_DMAMUX_CHANNEL_7
  839. * @arg @ref LL_DMAMUX_CHANNEL_8
  840. * @arg @ref LL_DMAMUX_CHANNEL_9
  841. * @arg @ref LL_DMAMUX_CHANNEL_10
  842. * @arg @ref LL_DMAMUX_CHANNEL_11
  843. * @arg @ref LL_DMAMUX_CHANNEL_12
  844. * @arg @ref LL_DMAMUX_CHANNEL_13
  845. * @arg @ref LL_DMAMUX_CHANNEL_14
  846. * @arg @ref LL_DMAMUX_CHANNEL_15
  847. * @param Polarity This parameter can be one of the following values:
  848. * @arg @ref LL_DMAMUX_SYNC_NO_EVENT
  849. * @arg @ref LL_DMAMUX_SYNC_POL_RISING
  850. * @arg @ref LL_DMAMUX_SYNC_POL_FALLING
  851. * @arg @ref LL_DMAMUX_SYNC_POL_RISING_FALLING
  852. * @retval None
  853. */
  854. __STATIC_INLINE void LL_DMAMUX_SetSyncPolarity(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel, uint32_t Polarity)
  855. {
  856. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  857. MODIFY_REG(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_SPOL, Polarity);
  858. }
  859. /**
  860. * @brief Get the polarity of the signal on which the DMA request is synchronized.
  861. * @rmtoll CxCR SPOL LL_DMAMUX_GetSyncPolarity
  862. * @param DMAMUXx DMAMUXx Instance
  863. * @param Channel This parameter can be one of the following values:
  864. * @arg @ref LL_DMAMUX_CHANNEL_0
  865. * @arg @ref LL_DMAMUX_CHANNEL_1
  866. * @arg @ref LL_DMAMUX_CHANNEL_2
  867. * @arg @ref LL_DMAMUX_CHANNEL_3
  868. * @arg @ref LL_DMAMUX_CHANNEL_4
  869. * @arg @ref LL_DMAMUX_CHANNEL_5
  870. * @arg @ref LL_DMAMUX_CHANNEL_6
  871. * @arg @ref LL_DMAMUX_CHANNEL_7
  872. * @arg @ref LL_DMAMUX_CHANNEL_8
  873. * @arg @ref LL_DMAMUX_CHANNEL_9
  874. * @arg @ref LL_DMAMUX_CHANNEL_10
  875. * @arg @ref LL_DMAMUX_CHANNEL_11
  876. * @arg @ref LL_DMAMUX_CHANNEL_12
  877. * @arg @ref LL_DMAMUX_CHANNEL_13
  878. * @arg @ref LL_DMAMUX_CHANNEL_14
  879. * @arg @ref LL_DMAMUX_CHANNEL_15
  880. * @retval Returned value can be one of the following values:
  881. * @arg @ref LL_DMAMUX_SYNC_NO_EVENT
  882. * @arg @ref LL_DMAMUX_SYNC_POL_RISING
  883. * @arg @ref LL_DMAMUX_SYNC_POL_FALLING
  884. * @arg @ref LL_DMAMUX_SYNC_POL_RISING_FALLING
  885. */
  886. __STATIC_INLINE uint32_t LL_DMAMUX_GetSyncPolarity(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
  887. {
  888. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  889. return (uint32_t)(READ_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_SPOL));
  890. }
  891. /**
  892. * @brief Enable the Event Generation on DMAMUX channel x.
  893. * @rmtoll CxCR EGE LL_DMAMUX_EnableEventGeneration
  894. * @param DMAMUXx DMAMUXx Instance
  895. * @param Channel This parameter can be one of the following values:
  896. * @arg @ref LL_DMAMUX_CHANNEL_0
  897. * @arg @ref LL_DMAMUX_CHANNEL_1
  898. * @arg @ref LL_DMAMUX_CHANNEL_2
  899. * @arg @ref LL_DMAMUX_CHANNEL_3
  900. * @arg @ref LL_DMAMUX_CHANNEL_4
  901. * @arg @ref LL_DMAMUX_CHANNEL_5
  902. * @arg @ref LL_DMAMUX_CHANNEL_6
  903. * @arg @ref LL_DMAMUX_CHANNEL_7
  904. * @arg @ref LL_DMAMUX_CHANNEL_8
  905. * @arg @ref LL_DMAMUX_CHANNEL_9
  906. * @arg @ref LL_DMAMUX_CHANNEL_10
  907. * @arg @ref LL_DMAMUX_CHANNEL_11
  908. * @arg @ref LL_DMAMUX_CHANNEL_12
  909. * @arg @ref LL_DMAMUX_CHANNEL_13
  910. * @arg @ref LL_DMAMUX_CHANNEL_14
  911. * @arg @ref LL_DMAMUX_CHANNEL_15
  912. * @retval None
  913. */
  914. __STATIC_INLINE void LL_DMAMUX_EnableEventGeneration(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
  915. {
  916. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  917. SET_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_EGE);
  918. }
  919. /**
  920. * @brief Disable the Event Generation on DMAMUX channel x.
  921. * @rmtoll CxCR EGE LL_DMAMUX_DisableEventGeneration
  922. * @param DMAMUXx DMAMUXx Instance
  923. * @param Channel This parameter can be one of the following values:
  924. * @arg @ref LL_DMAMUX_CHANNEL_0
  925. * @arg @ref LL_DMAMUX_CHANNEL_1
  926. * @arg @ref LL_DMAMUX_CHANNEL_2
  927. * @arg @ref LL_DMAMUX_CHANNEL_3
  928. * @arg @ref LL_DMAMUX_CHANNEL_4
  929. * @arg @ref LL_DMAMUX_CHANNEL_5
  930. * @arg @ref LL_DMAMUX_CHANNEL_6
  931. * @arg @ref LL_DMAMUX_CHANNEL_7
  932. * @arg @ref LL_DMAMUX_CHANNEL_8
  933. * @arg @ref LL_DMAMUX_CHANNEL_9
  934. * @arg @ref LL_DMAMUX_CHANNEL_10
  935. * @arg @ref LL_DMAMUX_CHANNEL_11
  936. * @arg @ref LL_DMAMUX_CHANNEL_12
  937. * @arg @ref LL_DMAMUX_CHANNEL_13
  938. * @arg @ref LL_DMAMUX_CHANNEL_14
  939. * @arg @ref LL_DMAMUX_CHANNEL_15
  940. * @retval None
  941. */
  942. __STATIC_INLINE void LL_DMAMUX_DisableEventGeneration(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
  943. {
  944. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  945. CLEAR_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_EGE);
  946. }
  947. /**
  948. * @brief Check if the Event Generation on DMAMUX channel x is enabled or disabled.
  949. * @rmtoll CxCR EGE LL_DMAMUX_IsEnabledEventGeneration
  950. * @param DMAMUXx DMAMUXx Instance
  951. * @param Channel This parameter can be one of the following values:
  952. * @arg @ref LL_DMAMUX_CHANNEL_0
  953. * @arg @ref LL_DMAMUX_CHANNEL_1
  954. * @arg @ref LL_DMAMUX_CHANNEL_2
  955. * @arg @ref LL_DMAMUX_CHANNEL_3
  956. * @arg @ref LL_DMAMUX_CHANNEL_4
  957. * @arg @ref LL_DMAMUX_CHANNEL_5
  958. * @arg @ref LL_DMAMUX_CHANNEL_6
  959. * @arg @ref LL_DMAMUX_CHANNEL_7
  960. * @arg @ref LL_DMAMUX_CHANNEL_8
  961. * @arg @ref LL_DMAMUX_CHANNEL_9
  962. * @arg @ref LL_DMAMUX_CHANNEL_10
  963. * @arg @ref LL_DMAMUX_CHANNEL_11
  964. * @arg @ref LL_DMAMUX_CHANNEL_12
  965. * @arg @ref LL_DMAMUX_CHANNEL_13
  966. * @arg @ref LL_DMAMUX_CHANNEL_14
  967. * @arg @ref LL_DMAMUX_CHANNEL_15
  968. * @retval State of bit (1 or 0).
  969. */
  970. __STATIC_INLINE uint32_t LL_DMAMUX_IsEnabledEventGeneration(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
  971. {
  972. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  973. return ((READ_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_EGE) == (DMAMUX_CxCR_EGE)) ? 1UL : 0UL);
  974. }
  975. /**
  976. * @brief Enable the synchronization mode.
  977. * @rmtoll CxCR SE LL_DMAMUX_EnableSync
  978. * @param DMAMUXx DMAMUXx Instance
  979. * @param Channel This parameter can be one of the following values:
  980. * @arg @ref LL_DMAMUX_CHANNEL_0
  981. * @arg @ref LL_DMAMUX_CHANNEL_1
  982. * @arg @ref LL_DMAMUX_CHANNEL_2
  983. * @arg @ref LL_DMAMUX_CHANNEL_3
  984. * @arg @ref LL_DMAMUX_CHANNEL_4
  985. * @arg @ref LL_DMAMUX_CHANNEL_5
  986. * @arg @ref LL_DMAMUX_CHANNEL_6
  987. * @arg @ref LL_DMAMUX_CHANNEL_7
  988. * @arg @ref LL_DMAMUX_CHANNEL_8
  989. * @arg @ref LL_DMAMUX_CHANNEL_9
  990. * @arg @ref LL_DMAMUX_CHANNEL_10
  991. * @arg @ref LL_DMAMUX_CHANNEL_11
  992. * @arg @ref LL_DMAMUX_CHANNEL_12
  993. * @arg @ref LL_DMAMUX_CHANNEL_13
  994. * @arg @ref LL_DMAMUX_CHANNEL_14
  995. * @arg @ref LL_DMAMUX_CHANNEL_15
  996. * @retval None
  997. */
  998. __STATIC_INLINE void LL_DMAMUX_EnableSync(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
  999. {
  1000. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1001. SET_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_SE);
  1002. }
  1003. /**
  1004. * @brief Disable the synchronization mode.
  1005. * @rmtoll CxCR SE LL_DMAMUX_DisableSync
  1006. * @param DMAMUXx DMAMUXx Instance
  1007. * @param Channel This parameter can be one of the following values:
  1008. * @arg @ref LL_DMAMUX_CHANNEL_0
  1009. * @arg @ref LL_DMAMUX_CHANNEL_1
  1010. * @arg @ref LL_DMAMUX_CHANNEL_2
  1011. * @arg @ref LL_DMAMUX_CHANNEL_3
  1012. * @arg @ref LL_DMAMUX_CHANNEL_4
  1013. * @arg @ref LL_DMAMUX_CHANNEL_5
  1014. * @arg @ref LL_DMAMUX_CHANNEL_6
  1015. * @arg @ref LL_DMAMUX_CHANNEL_7
  1016. * @arg @ref LL_DMAMUX_CHANNEL_8
  1017. * @arg @ref LL_DMAMUX_CHANNEL_9
  1018. * @arg @ref LL_DMAMUX_CHANNEL_10
  1019. * @arg @ref LL_DMAMUX_CHANNEL_11
  1020. * @arg @ref LL_DMAMUX_CHANNEL_12
  1021. * @arg @ref LL_DMAMUX_CHANNEL_13
  1022. * @arg @ref LL_DMAMUX_CHANNEL_14
  1023. * @arg @ref LL_DMAMUX_CHANNEL_15
  1024. * @retval None
  1025. */
  1026. __STATIC_INLINE void LL_DMAMUX_DisableSync(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
  1027. {
  1028. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1029. CLEAR_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_SE);
  1030. }
  1031. /**
  1032. * @brief Check if the synchronization mode is enabled or disabled.
  1033. * @rmtoll CxCR SE LL_DMAMUX_IsEnabledSync
  1034. * @param DMAMUXx DMAMUXx Instance
  1035. * @param Channel This parameter can be one of the following values:
  1036. * @arg @ref LL_DMAMUX_CHANNEL_0
  1037. * @arg @ref LL_DMAMUX_CHANNEL_1
  1038. * @arg @ref LL_DMAMUX_CHANNEL_2
  1039. * @arg @ref LL_DMAMUX_CHANNEL_3
  1040. * @arg @ref LL_DMAMUX_CHANNEL_4
  1041. * @arg @ref LL_DMAMUX_CHANNEL_5
  1042. * @arg @ref LL_DMAMUX_CHANNEL_6
  1043. * @arg @ref LL_DMAMUX_CHANNEL_7
  1044. * @arg @ref LL_DMAMUX_CHANNEL_8
  1045. * @arg @ref LL_DMAMUX_CHANNEL_9
  1046. * @arg @ref LL_DMAMUX_CHANNEL_10
  1047. * @arg @ref LL_DMAMUX_CHANNEL_11
  1048. * @arg @ref LL_DMAMUX_CHANNEL_12
  1049. * @arg @ref LL_DMAMUX_CHANNEL_13
  1050. * @arg @ref LL_DMAMUX_CHANNEL_14
  1051. * @arg @ref LL_DMAMUX_CHANNEL_15
  1052. * @retval State of bit (1 or 0).
  1053. */
  1054. __STATIC_INLINE uint32_t LL_DMAMUX_IsEnabledSync(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
  1055. {
  1056. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1057. return ((READ_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_SE) == (DMAMUX_CxCR_SE)) ? 1UL : 0UL);
  1058. }
  1059. /**
  1060. * @brief Set DMAMUX synchronization ID on DMAMUX Channel x.
  1061. * @rmtoll CxCR SYNC_ID LL_DMAMUX_SetSyncID
  1062. * @param DMAMUXx DMAMUXx Instance
  1063. * @param Channel This parameter can be one of the following values:
  1064. * @arg @ref LL_DMAMUX_CHANNEL_0
  1065. * @arg @ref LL_DMAMUX_CHANNEL_1
  1066. * @arg @ref LL_DMAMUX_CHANNEL_2
  1067. * @arg @ref LL_DMAMUX_CHANNEL_3
  1068. * @arg @ref LL_DMAMUX_CHANNEL_4
  1069. * @arg @ref LL_DMAMUX_CHANNEL_5
  1070. * @arg @ref LL_DMAMUX_CHANNEL_6
  1071. * @arg @ref LL_DMAMUX_CHANNEL_7
  1072. * @arg @ref LL_DMAMUX_CHANNEL_8
  1073. * @arg @ref LL_DMAMUX_CHANNEL_9
  1074. * @arg @ref LL_DMAMUX_CHANNEL_10
  1075. * @arg @ref LL_DMAMUX_CHANNEL_11
  1076. * @arg @ref LL_DMAMUX_CHANNEL_12
  1077. * @arg @ref LL_DMAMUX_CHANNEL_13
  1078. * @arg @ref LL_DMAMUX_CHANNEL_14
  1079. * @arg @ref LL_DMAMUX_CHANNEL_15
  1080. * @param SyncID This parameter can be one of the following values:
  1081. * @arg @ref LL_DMAMUX1_SYNC_DMAMUX1_CH0_EVT
  1082. * @arg @ref LL_DMAMUX1_SYNC_DMAMUX1_CH1_EVT
  1083. * @arg @ref LL_DMAMUX1_SYNC_DMAMUX1_CH2_EVT
  1084. * @arg @ref LL_DMAMUX1_SYNC_LPTIM1_OUT
  1085. * @arg @ref LL_DMAMUX1_SYNC_LPTIM2_OUT
  1086. * @arg @ref LL_DMAMUX1_SYNC_LPTIM3_OUT
  1087. * @arg @ref LL_DMAMUX1_SYNC_EXTI0
  1088. * @arg @ref LL_DMAMUX1_SYNC_TIM12_TRGO
  1089. * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH0_EVT
  1090. * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH1_EVT
  1091. * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH2_EVT
  1092. * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH3_EVT
  1093. * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH4_EVT
  1094. * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH5_EVT
  1095. * @arg @ref LL_DMAMUX2_SYNC_LPUART1_RX_WKUP
  1096. * @arg @ref LL_DMAMUX2_SYNC_LPUART1_TX_WKUP
  1097. * @arg @ref LL_DMAMUX2_SYNC_LPTIM2_OUT
  1098. * @arg @ref LL_DMAMUX2_SYNC_LPTIM3_OUT
  1099. * @arg @ref LL_DMAMUX2_SYNC_I2C4_WKUP
  1100. * @arg @ref LL_DMAMUX2_SYNC_SPI6_WKUP
  1101. * @arg @ref LL_DMAMUX2_SYNC_COMP1_OUT
  1102. * @arg @ref LL_DMAMUX2_SYNC_RTC_WKUP
  1103. * @arg @ref LL_DMAMUX2_SYNC_EXTI0
  1104. * @arg @ref LL_DMAMUX2_SYNC_EXTI2
  1105. * @retval None
  1106. */
  1107. __STATIC_INLINE void LL_DMAMUX_SetSyncID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel, uint32_t SyncID)
  1108. {
  1109. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1110. MODIFY_REG(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_SYNC_ID, SyncID);
  1111. }
  1112. /**
  1113. * @brief Get DMAMUX synchronization ID on DMAMUX Channel x.
  1114. * @rmtoll CxCR SYNC_ID LL_DMAMUX_GetSyncID
  1115. * @param DMAMUXx DMAMUXx Instance
  1116. * @param Channel This parameter can be one of the following values:
  1117. * @arg @ref LL_DMAMUX_CHANNEL_0
  1118. * @arg @ref LL_DMAMUX_CHANNEL_1
  1119. * @arg @ref LL_DMAMUX_CHANNEL_2
  1120. * @arg @ref LL_DMAMUX_CHANNEL_3
  1121. * @arg @ref LL_DMAMUX_CHANNEL_4
  1122. * @arg @ref LL_DMAMUX_CHANNEL_5
  1123. * @arg @ref LL_DMAMUX_CHANNEL_6
  1124. * @arg @ref LL_DMAMUX_CHANNEL_7
  1125. * @arg @ref LL_DMAMUX_CHANNEL_8
  1126. * @arg @ref LL_DMAMUX_CHANNEL_9
  1127. * @arg @ref LL_DMAMUX_CHANNEL_10
  1128. * @arg @ref LL_DMAMUX_CHANNEL_11
  1129. * @arg @ref LL_DMAMUX_CHANNEL_12
  1130. * @arg @ref LL_DMAMUX_CHANNEL_13
  1131. * @arg @ref LL_DMAMUX_CHANNEL_14
  1132. * @arg @ref LL_DMAMUX_CHANNEL_15
  1133. * @retval Returned value can be one of the following values:
  1134. * @arg @ref LL_DMAMUX1_SYNC_DMAMUX1_CH0_EVT
  1135. * @arg @ref LL_DMAMUX1_SYNC_DMAMUX1_CH1_EVT
  1136. * @arg @ref LL_DMAMUX1_SYNC_DMAMUX1_CH2_EVT
  1137. * @arg @ref LL_DMAMUX1_SYNC_LPTIM1_OUT
  1138. * @arg @ref LL_DMAMUX1_SYNC_LPTIM2_OUT
  1139. * @arg @ref LL_DMAMUX1_SYNC_LPTIM3_OUT
  1140. * @arg @ref LL_DMAMUX1_SYNC_EXTI0
  1141. * @arg @ref LL_DMAMUX1_SYNC_TIM12_TRGO
  1142. * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH0_EVT
  1143. * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH1_EVT
  1144. * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH2_EVT
  1145. * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH3_EVT
  1146. * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH4_EVT
  1147. * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH5_EVT
  1148. * @arg @ref LL_DMAMUX2_SYNC_LPUART1_RX_WKUP
  1149. * @arg @ref LL_DMAMUX2_SYNC_LPUART1_TX_WKUP
  1150. * @arg @ref LL_DMAMUX2_SYNC_LPTIM2_OUT
  1151. * @arg @ref LL_DMAMUX2_SYNC_LPTIM3_OUT
  1152. * @arg @ref LL_DMAMUX2_SYNC_I2C4_WKUP
  1153. * @arg @ref LL_DMAMUX2_SYNC_SPI6_WKUP
  1154. * @arg @ref LL_DMAMUX2_SYNC_COMP1_OUT
  1155. * @arg @ref LL_DMAMUX2_SYNC_RTC_WKUP
  1156. * @arg @ref LL_DMAMUX2_SYNC_EXTI0
  1157. * @arg @ref LL_DMAMUX2_SYNC_EXTI2
  1158. */
  1159. __STATIC_INLINE uint32_t LL_DMAMUX_GetSyncID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
  1160. {
  1161. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1162. return (uint32_t)(READ_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_SYNC_ID));
  1163. }
  1164. /**
  1165. * @brief Enable the Request Generator.
  1166. * @rmtoll RGxCR GE LL_DMAMUX_EnableRequestGen
  1167. * @param DMAMUXx DMAMUXx Instance
  1168. * @param RequestGenChannel This parameter can be one of the following values:
  1169. * @arg @ref LL_DMAMUX_REQ_GEN_0
  1170. * @arg @ref LL_DMAMUX_REQ_GEN_1
  1171. * @arg @ref LL_DMAMUX_REQ_GEN_2
  1172. * @arg @ref LL_DMAMUX_REQ_GEN_3
  1173. * @arg @ref LL_DMAMUX_REQ_GEN_4
  1174. * @arg @ref LL_DMAMUX_REQ_GEN_5
  1175. * @arg @ref LL_DMAMUX_REQ_GEN_6
  1176. * @arg @ref LL_DMAMUX_REQ_GEN_7
  1177. * @retval None
  1178. */
  1179. __STATIC_INLINE void LL_DMAMUX_EnableRequestGen(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
  1180. {
  1181. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1182. SET_BIT(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * (RequestGenChannel))))->RGCR, DMAMUX_RGxCR_GE);
  1183. }
  1184. /**
  1185. * @brief Disable the Request Generator.
  1186. * @rmtoll RGxCR GE LL_DMAMUX_DisableRequestGen
  1187. * @param DMAMUXx DMAMUXx Instance
  1188. * @param RequestGenChannel This parameter can be one of the following values:
  1189. * @arg @ref LL_DMAMUX_REQ_GEN_0
  1190. * @arg @ref LL_DMAMUX_REQ_GEN_1
  1191. * @arg @ref LL_DMAMUX_REQ_GEN_2
  1192. * @arg @ref LL_DMAMUX_REQ_GEN_3
  1193. * @retval None
  1194. */
  1195. __STATIC_INLINE void LL_DMAMUX_DisableRequestGen(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
  1196. {
  1197. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1198. CLEAR_BIT(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * (RequestGenChannel))))->RGCR, DMAMUX_RGxCR_GE);
  1199. }
  1200. /**
  1201. * @brief Check if the Request Generator is enabled or disabled.
  1202. * @rmtoll RGxCR GE LL_DMAMUX_IsEnabledRequestGen
  1203. * @param DMAMUXx DMAMUXx Instance
  1204. * @param RequestGenChannel This parameter can be one of the following values:
  1205. * @arg @ref LL_DMAMUX_REQ_GEN_0
  1206. * @arg @ref LL_DMAMUX_REQ_GEN_1
  1207. * @arg @ref LL_DMAMUX_REQ_GEN_2
  1208. * @arg @ref LL_DMAMUX_REQ_GEN_3
  1209. * @arg @ref LL_DMAMUX_REQ_GEN_4
  1210. * @arg @ref LL_DMAMUX_REQ_GEN_5
  1211. * @arg @ref LL_DMAMUX_REQ_GEN_6
  1212. * @arg @ref LL_DMAMUX_REQ_GEN_7
  1213. * @retval State of bit (1 or 0).
  1214. */
  1215. __STATIC_INLINE uint32_t LL_DMAMUX_IsEnabledRequestGen(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
  1216. {
  1217. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1218. return ((READ_BIT(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * RequestGenChannel)))->RGCR, DMAMUX_RGxCR_GE) == (DMAMUX_RGxCR_GE)) ? 1UL : 0UL);
  1219. }
  1220. /**
  1221. * @brief Set the polarity of the signal on which the DMA request is generated.
  1222. * @rmtoll RGxCR GPOL LL_DMAMUX_SetRequestGenPolarity
  1223. * @param DMAMUXx DMAMUXx Instance
  1224. * @param RequestGenChannel This parameter can be one of the following values:
  1225. * @arg @ref LL_DMAMUX_REQ_GEN_0
  1226. * @arg @ref LL_DMAMUX_REQ_GEN_1
  1227. * @arg @ref LL_DMAMUX_REQ_GEN_2
  1228. * @arg @ref LL_DMAMUX_REQ_GEN_3
  1229. * @arg @ref LL_DMAMUX_REQ_GEN_4
  1230. * @arg @ref LL_DMAMUX_REQ_GEN_5
  1231. * @arg @ref LL_DMAMUX_REQ_GEN_6
  1232. * @arg @ref LL_DMAMUX_REQ_GEN_7
  1233. * @param Polarity This parameter can be one of the following values:
  1234. * @arg @ref LL_DMAMUX_REQ_GEN_NO_EVENT
  1235. * @arg @ref LL_DMAMUX_REQ_GEN_POL_RISING
  1236. * @arg @ref LL_DMAMUX_REQ_GEN_POL_FALLING
  1237. * @arg @ref LL_DMAMUX_REQ_GEN_POL_RISING_FALLING
  1238. * @retval None
  1239. */
  1240. __STATIC_INLINE void LL_DMAMUX_SetRequestGenPolarity(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel, uint32_t Polarity)
  1241. {
  1242. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1243. MODIFY_REG(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * RequestGenChannel)))->RGCR, DMAMUX_RGxCR_GPOL, Polarity);
  1244. }
  1245. /**
  1246. * @brief Get the polarity of the signal on which the DMA request is generated.
  1247. * @rmtoll RGxCR GPOL LL_DMAMUX_GetRequestGenPolarity
  1248. * @param DMAMUXx DMAMUXx Instance
  1249. * @param RequestGenChannel This parameter can be one of the following values:
  1250. * @arg @ref LL_DMAMUX_REQ_GEN_0
  1251. * @arg @ref LL_DMAMUX_REQ_GEN_1
  1252. * @arg @ref LL_DMAMUX_REQ_GEN_2
  1253. * @arg @ref LL_DMAMUX_REQ_GEN_3
  1254. * @arg @ref LL_DMAMUX_REQ_GEN_4
  1255. * @arg @ref LL_DMAMUX_REQ_GEN_5
  1256. * @arg @ref LL_DMAMUX_REQ_GEN_6
  1257. * @arg @ref LL_DMAMUX_REQ_GEN_7
  1258. * @retval Returned value can be one of the following values:
  1259. * @arg @ref LL_DMAMUX_REQ_GEN_NO_EVENT
  1260. * @arg @ref LL_DMAMUX_REQ_GEN_POL_RISING
  1261. * @arg @ref LL_DMAMUX_REQ_GEN_POL_FALLING
  1262. * @arg @ref LL_DMAMUX_REQ_GEN_POL_RISING_FALLING
  1263. */
  1264. __STATIC_INLINE uint32_t LL_DMAMUX_GetRequestGenPolarity(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
  1265. {
  1266. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1267. return (uint32_t)(READ_BIT(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * RequestGenChannel)))->RGCR, DMAMUX_RGxCR_GPOL));
  1268. }
  1269. /**
  1270. * @brief Set the number of DMA request that will be autorized after a generation event.
  1271. * @note This field can only be written when Generator is disabled.
  1272. * @rmtoll RGxCR GNBREQ LL_DMAMUX_SetGenRequestNb
  1273. * @param DMAMUXx DMAMUXx Instance
  1274. * @param RequestGenChannel This parameter can be one of the following values:
  1275. * @arg @ref LL_DMAMUX_REQ_GEN_0
  1276. * @arg @ref LL_DMAMUX_REQ_GEN_1
  1277. * @arg @ref LL_DMAMUX_REQ_GEN_2
  1278. * @arg @ref LL_DMAMUX_REQ_GEN_3
  1279. * @arg @ref LL_DMAMUX_REQ_GEN_4
  1280. * @arg @ref LL_DMAMUX_REQ_GEN_5
  1281. * @arg @ref LL_DMAMUX_REQ_GEN_6
  1282. * @arg @ref LL_DMAMUX_REQ_GEN_7
  1283. * @param RequestNb This parameter must be a value between Min_Data = 1 and Max_Data = 32.
  1284. * @retval None
  1285. */
  1286. __STATIC_INLINE void LL_DMAMUX_SetGenRequestNb(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel, uint32_t RequestNb)
  1287. {
  1288. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1289. MODIFY_REG(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * RequestGenChannel)))->RGCR, DMAMUX_RGxCR_GNBREQ, (RequestNb - 1U) << DMAMUX_RGxCR_GNBREQ_Pos);
  1290. }
  1291. /**
  1292. * @brief Get the number of DMA request that will be autorized after a generation event.
  1293. * @rmtoll RGxCR GNBREQ LL_DMAMUX_GetGenRequestNb
  1294. * @param DMAMUXx DMAMUXx Instance
  1295. * @param RequestGenChannel This parameter can be one of the following values:
  1296. * @arg @ref LL_DMAMUX_REQ_GEN_0
  1297. * @arg @ref LL_DMAMUX_REQ_GEN_1
  1298. * @arg @ref LL_DMAMUX_REQ_GEN_2
  1299. * @arg @ref LL_DMAMUX_REQ_GEN_3
  1300. * @arg @ref LL_DMAMUX_REQ_GEN_4
  1301. * @arg @ref LL_DMAMUX_REQ_GEN_5
  1302. * @arg @ref LL_DMAMUX_REQ_GEN_6
  1303. * @arg @ref LL_DMAMUX_REQ_GEN_7
  1304. * @retval Between Min_Data = 1 and Max_Data = 32
  1305. */
  1306. __STATIC_INLINE uint32_t LL_DMAMUX_GetGenRequestNb(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
  1307. {
  1308. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1309. return (uint32_t)((READ_BIT(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * RequestGenChannel)))->RGCR, DMAMUX_RGxCR_GNBREQ) >> DMAMUX_RGxCR_GNBREQ_Pos) + 1U);
  1310. }
  1311. /**
  1312. * @brief Set DMAMUX external Request Signal ID on DMAMUX Request Generation Trigger Event Channel x.
  1313. * @rmtoll RGxCR SIG_ID LL_DMAMUX_SetRequestSignalID
  1314. * @param DMAMUXx DMAMUXx Instance
  1315. * @param RequestGenChannel This parameter can be one of the following values:
  1316. * @arg @ref LL_DMAMUX_REQ_GEN_0
  1317. * @arg @ref LL_DMAMUX_REQ_GEN_1
  1318. * @arg @ref LL_DMAMUX_REQ_GEN_2
  1319. * @arg @ref LL_DMAMUX_REQ_GEN_3
  1320. * @arg @ref LL_DMAMUX_REQ_GEN_4
  1321. * @arg @ref LL_DMAMUX_REQ_GEN_5
  1322. * @arg @ref LL_DMAMUX_REQ_GEN_6
  1323. * @arg @ref LL_DMAMUX_REQ_GEN_7
  1324. * @param RequestSignalID This parameter can be one of the following values:
  1325. * @arg @ref LL_DMAMUX1_REQ_GEN_DMAMUX1_CH0_EVT
  1326. * @arg @ref LL_DMAMUX1_REQ_GEN_DMAMUX1_CH1_EVT
  1327. * @arg @ref LL_DMAMUX1_REQ_GEN_DMAMUX1_CH2_EVT
  1328. * @arg @ref LL_DMAMUX1_REQ_GEN_LPTIM1_OUT
  1329. * @arg @ref LL_DMAMUX1_REQ_GEN_LPTIM2_OUT
  1330. * @arg @ref LL_DMAMUX1_REQ_GEN_LPTIM3_OUT
  1331. * @arg @ref LL_DMAMUX1_REQ_GEN_EXTI0
  1332. * @arg @ref LL_DMAMUX1_REQ_GEN_TIM12_TRGO
  1333. * @arg @ref LL_DMAMUX2_REQ_GEN_DMAMUX2_CH0_EVT
  1334. * @arg @ref LL_DMAMUX2_REQ_GEN_DMAMUX2_CH1_EVT
  1335. * @arg @ref LL_DMAMUX2_REQ_GEN_DMAMUX2_CH2_EVT
  1336. * @arg @ref LL_DMAMUX2_REQ_GEN_DMAMUX2_CH3_EVT
  1337. * @arg @ref LL_DMAMUX2_REQ_GEN_DMAMUX2_CH4_EVT
  1338. * @arg @ref LL_DMAMUX2_REQ_GEN_DMAMUX2_CH5_EVT
  1339. * @arg @ref LL_DMAMUX2_REQ_GEN_DMAMUX2_CH6_EVT
  1340. * @arg @ref LL_DMAMUX2_REQ_GEN_LPUART1_RX_WKUP
  1341. * @arg @ref LL_DMAMUX2_REQ_GEN_LPUART1_TX_WKUP
  1342. * @arg @ref LL_DMAMUX2_REQ_GEN_LPTIM2_WKUP
  1343. * @arg @ref LL_DMAMUX2_REQ_GEN_LPTIM2_OUT
  1344. * @arg @ref LL_DMAMUX2_REQ_GEN_LPTIM3_WKUP
  1345. * @arg @ref LL_DMAMUX2_REQ_GEN_LPTIM3_OUT
  1346. * @arg @ref LL_DMAMUX2_REQ_GEN_LPTIM4_WKUP
  1347. * @arg @ref LL_DMAMUX2_REQ_GEN_LPTIM5_WKUP
  1348. * @arg @ref LL_DMAMUX2_REQ_GEN_I2C4_WKUP
  1349. * @arg @ref LL_DMAMUX2_REQ_GEN_SPI6_WKUP
  1350. * @arg @ref LL_DMAMUX2_REQ_GEN_COMP1_OUT
  1351. * @arg @ref LL_DMAMUX2_REQ_GEN_COMP2_OUT
  1352. * @arg @ref LL_DMAMUX2_REQ_GEN_RTC_WKUP
  1353. * @arg @ref LL_DMAMUX2_REQ_GEN_EXTI0
  1354. * @arg @ref LL_DMAMUX2_REQ_GEN_EXTI2
  1355. * @arg @ref LL_DMAMUX2_REQ_GEN_I2C4_IT_EVT
  1356. * @arg @ref LL_DMAMUX2_REQ_GEN_SPI6_IT
  1357. * @arg @ref LL_DMAMUX2_REQ_GEN_LPUART1_TX_IT
  1358. * @arg @ref LL_DMAMUX2_REQ_GEN_LPUART1_RX_IT
  1359. * @arg @ref LL_DMAMUX2_REQ_GEN_ADC3_IT
  1360. * @arg @ref LL_DMAMUX2_REQ_GEN_ADC3_AWD1_OUT
  1361. * @arg @ref LL_DMAMUX2_REQ_GEN_BDMA_CH0_IT
  1362. * @arg @ref LL_DMAMUX2_REQ_GEN_BDMA_CH1_IT
  1363. * @retval None
  1364. */
  1365. __STATIC_INLINE void LL_DMAMUX_SetRequestSignalID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel, uint32_t RequestSignalID)
  1366. {
  1367. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1368. MODIFY_REG(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * RequestGenChannel)))->RGCR, DMAMUX_RGxCR_SIG_ID, RequestSignalID);
  1369. }
  1370. /**
  1371. * @brief Get DMAMUX external Request Signal ID set on DMAMUX Channel x.
  1372. * @rmtoll RGxCR SIG_ID LL_DMAMUX_GetRequestSignalID
  1373. * @param DMAMUXx DMAMUXx Instance
  1374. * @param RequestGenChannel This parameter can be one of the following values:
  1375. * @arg @ref LL_DMAMUX_REQ_GEN_0
  1376. * @arg @ref LL_DMAMUX_REQ_GEN_1
  1377. * @arg @ref LL_DMAMUX_REQ_GEN_2
  1378. * @arg @ref LL_DMAMUX_REQ_GEN_3
  1379. * @arg @ref LL_DMAMUX_REQ_GEN_4
  1380. * @arg @ref LL_DMAMUX_REQ_GEN_5
  1381. * @arg @ref LL_DMAMUX_REQ_GEN_6
  1382. * @arg @ref LL_DMAMUX_REQ_GEN_7
  1383. * @retval Returned value can be one of the following values:
  1384. * @arg @ref LL_DMAMUX1_SYNC_DMAMUX1_CH0_EVT
  1385. * @arg @ref LL_DMAMUX1_SYNC_DMAMUX1_CH1_EVT
  1386. * @arg @ref LL_DMAMUX1_SYNC_DMAMUX1_CH2_EVT
  1387. * @arg @ref LL_DMAMUX1_SYNC_LPTIM1_OUT
  1388. * @arg @ref LL_DMAMUX1_SYNC_LPTIM2_OUT
  1389. * @arg @ref LL_DMAMUX1_SYNC_LPTIM3_OUT
  1390. * @arg @ref LL_DMAMUX1_SYNC_EXTI0
  1391. * @arg @ref LL_DMAMUX1_SYNC_TIM12_TRGO
  1392. * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH0_EVT
  1393. * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH1_EVT
  1394. * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH2_EVT
  1395. * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH3_EVT
  1396. * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH4_EVT
  1397. * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH5_EVT
  1398. * @arg @ref LL_DMAMUX2_SYNC_LPUART1_RX_WKUP
  1399. * @arg @ref LL_DMAMUX2_SYNC_LPUART1_TX_WKUP
  1400. * @arg @ref LL_DMAMUX2_SYNC_LPTIM2_OUT
  1401. * @arg @ref LL_DMAMUX2_SYNC_LPTIM3_OUT
  1402. * @arg @ref LL_DMAMUX2_SYNC_I2C4_WKUP
  1403. * @arg @ref LL_DMAMUX2_SYNC_SPI6_WKUP
  1404. * @arg @ref LL_DMAMUX2_SYNC_COMP1_OUT
  1405. * @arg @ref LL_DMAMUX2_SYNC_RTC_WKUP
  1406. * @arg @ref LL_DMAMUX2_SYNC_EXTI0
  1407. * @arg @ref LL_DMAMUX2_SYNC_EXTI2
  1408. */
  1409. __STATIC_INLINE uint32_t LL_DMAMUX_GetRequestSignalID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
  1410. {
  1411. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1412. return (uint32_t)(READ_BIT(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * RequestGenChannel)))->RGCR, DMAMUX_RGxCR_SIG_ID));
  1413. }
  1414. /**
  1415. * @}
  1416. */
  1417. /** @defgroup DMAMUX_LL_EF_FLAG_Management FLAG_Management
  1418. * @{
  1419. */
  1420. /**
  1421. * @brief Get Synchronization Event Overrun Flag Channel 0.
  1422. * @rmtoll CSR SOF0 LL_DMAMUX_IsActiveFlag_SO0
  1423. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1424. * @retval State of bit (1 or 0).
  1425. */
  1426. __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO0(DMAMUX_Channel_TypeDef *DMAMUXx)
  1427. {
  1428. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1429. return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF0) == (DMAMUX_CSR_SOF0)) ? 1UL : 0UL);
  1430. }
  1431. /**
  1432. * @brief Get Synchronization Event Overrun Flag Channel 1.
  1433. * @rmtoll CSR SOF1 LL_DMAMUX_IsActiveFlag_SO1
  1434. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1435. * @retval State of bit (1 or 0).
  1436. */
  1437. __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO1(DMAMUX_Channel_TypeDef *DMAMUXx)
  1438. {
  1439. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1440. return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF1) == (DMAMUX_CSR_SOF1)) ? 1UL : 0UL);
  1441. }
  1442. /**
  1443. * @brief Get Synchronization Event Overrun Flag Channel 2.
  1444. * @rmtoll CSR SOF2 LL_DMAMUX_IsActiveFlag_SO2
  1445. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1446. * @retval State of bit (1 or 0).
  1447. */
  1448. __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO2(DMAMUX_Channel_TypeDef *DMAMUXx)
  1449. {
  1450. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1451. return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF2) == (DMAMUX_CSR_SOF2)) ? 1UL : 0UL);
  1452. }
  1453. /**
  1454. * @brief Get Synchronization Event Overrun Flag Channel 3.
  1455. * @rmtoll CSR SOF3 LL_DMAMUX_IsActiveFlag_SO3
  1456. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1457. * @retval State of bit (1 or 0).
  1458. */
  1459. __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO3(DMAMUX_Channel_TypeDef *DMAMUXx)
  1460. {
  1461. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1462. return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF3) == (DMAMUX_CSR_SOF3)) ? 1UL : 0UL);
  1463. }
  1464. /**
  1465. * @brief Get Synchronization Event Overrun Flag Channel 4.
  1466. * @rmtoll CSR SOF4 LL_DMAMUX_IsActiveFlag_SO4
  1467. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1468. * @retval State of bit (1 or 0).
  1469. */
  1470. __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO4(DMAMUX_Channel_TypeDef *DMAMUXx)
  1471. {
  1472. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1473. return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF4) == (DMAMUX_CSR_SOF4)) ? 1UL : 0UL);
  1474. }
  1475. /**
  1476. * @brief Get Synchronization Event Overrun Flag Channel 5.
  1477. * @rmtoll CSR SOF5 LL_DMAMUX_IsActiveFlag_SO5
  1478. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1479. * @retval State of bit (1 or 0).
  1480. */
  1481. __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO5(DMAMUX_Channel_TypeDef *DMAMUXx)
  1482. {
  1483. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1484. return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF5) == (DMAMUX_CSR_SOF5)) ? 1UL : 0UL);
  1485. }
  1486. /**
  1487. * @brief Get Synchronization Event Overrun Flag Channel 6.
  1488. * @rmtoll CSR SOF6 LL_DMAMUX_IsActiveFlag_SO6
  1489. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1490. * @retval State of bit (1 or 0).
  1491. */
  1492. __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO6(DMAMUX_Channel_TypeDef *DMAMUXx)
  1493. {
  1494. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1495. return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF6) == (DMAMUX_CSR_SOF6)) ? 1UL : 0UL);
  1496. }
  1497. /**
  1498. * @brief Get Synchronization Event Overrun Flag Channel 7.
  1499. * @rmtoll CSR SOF7 LL_DMAMUX_IsActiveFlag_SO7
  1500. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1501. * @retval State of bit (1 or 0).
  1502. */
  1503. __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO7(DMAMUX_Channel_TypeDef *DMAMUXx)
  1504. {
  1505. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1506. return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF7) == (DMAMUX_CSR_SOF7)) ? 1UL : 0UL);
  1507. }
  1508. /**
  1509. * @brief Get Synchronization Event Overrun Flag Channel 8.
  1510. * @rmtoll CSR SOF8 LL_DMAMUX_IsActiveFlag_SO8
  1511. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1512. * @retval State of bit (1 or 0).
  1513. */
  1514. __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO8(DMAMUX_Channel_TypeDef *DMAMUXx)
  1515. {
  1516. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1517. return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF8) == (DMAMUX_CSR_SOF8)) ? 1UL : 0UL);
  1518. }
  1519. /**
  1520. * @brief Get Synchronization Event Overrun Flag Channel 9.
  1521. * @rmtoll CSR SOF9 LL_DMAMUX_IsActiveFlag_SO9
  1522. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1523. * @retval State of bit (1 or 0).
  1524. */
  1525. __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO9(DMAMUX_Channel_TypeDef *DMAMUXx)
  1526. {
  1527. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1528. return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF9) == (DMAMUX_CSR_SOF9)) ? 1UL : 0UL);
  1529. }
  1530. /**
  1531. * @brief Get Synchronization Event Overrun Flag Channel 10.
  1532. * @rmtoll CSR SOF10 LL_DMAMUX_IsActiveFlag_SO10
  1533. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1534. * @retval State of bit (1 or 0).
  1535. */
  1536. __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO10(DMAMUX_Channel_TypeDef *DMAMUXx)
  1537. {
  1538. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1539. return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF10) == (DMAMUX_CSR_SOF10)) ? 1UL : 0UL);
  1540. }
  1541. /**
  1542. * @brief Get Synchronization Event Overrun Flag Channel 11.
  1543. * @rmtoll CSR SOF11 LL_DMAMUX_IsActiveFlag_SO11
  1544. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1545. * @retval State of bit (1 or 0).
  1546. */
  1547. __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO11(DMAMUX_Channel_TypeDef *DMAMUXx)
  1548. {
  1549. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1550. return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF11) == (DMAMUX_CSR_SOF11)) ? 1UL : 0UL);
  1551. }
  1552. /**
  1553. * @brief Get Synchronization Event Overrun Flag Channel 12.
  1554. * @rmtoll CSR SOF12 LL_DMAMUX_IsActiveFlag_SO12
  1555. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1556. * @retval State of bit (1 or 0).
  1557. */
  1558. __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO12(DMAMUX_Channel_TypeDef *DMAMUXx)
  1559. {
  1560. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1561. return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF12) == (DMAMUX_CSR_SOF12)) ? 1UL : 0UL);
  1562. }
  1563. /**
  1564. * @brief Get Synchronization Event Overrun Flag Channel 13.
  1565. * @rmtoll CSR SOF13 LL_DMAMUX_IsActiveFlag_SO13
  1566. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1567. * @retval State of bit (1 or 0).
  1568. */
  1569. __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO13(DMAMUX_Channel_TypeDef *DMAMUXx)
  1570. {
  1571. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1572. return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF13) == (DMAMUX_CSR_SOF13)) ? 1UL : 0UL);
  1573. }
  1574. /**
  1575. * @brief Get Synchronization Event Overrun Flag Channel 14.
  1576. * @rmtoll CSR SOF14 LL_DMAMUX_IsActiveFlag_SO14
  1577. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1578. * @retval State of bit (1 or 0).
  1579. */
  1580. __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO14(DMAMUX_Channel_TypeDef *DMAMUXx)
  1581. {
  1582. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1583. return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF14) == (DMAMUX_CSR_SOF14)) ? 1UL : 0UL);
  1584. }
  1585. /**
  1586. * @brief Get Synchronization Event Overrun Flag Channel 15.
  1587. * @rmtoll CSR SOF15 LL_DMAMUX_IsActiveFlag_SO15
  1588. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1589. * @retval State of bit (1 or 0).
  1590. */
  1591. __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO15(DMAMUX_Channel_TypeDef *DMAMUXx)
  1592. {
  1593. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1594. return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF15) == (DMAMUX_CSR_SOF15)) ? 1UL : 0UL);
  1595. }
  1596. /**
  1597. * @brief Get Request Generator 0 Trigger Event Overrun Flag.
  1598. * @rmtoll RGSR OF0 LL_DMAMUX_IsActiveFlag_RGO0
  1599. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1600. * @retval State of bit (1 or 0).
  1601. */
  1602. __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO0(DMAMUX_Channel_TypeDef *DMAMUXx)
  1603. {
  1604. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1605. return ((READ_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGSR, DMAMUX_RGSR_OF0) == (DMAMUX_RGSR_OF0)) ? 1UL : 0UL);
  1606. }
  1607. /**
  1608. * @brief Get Request Generator 1 Trigger Event Overrun Flag.
  1609. * @rmtoll RGSR OF1 LL_DMAMUX_IsActiveFlag_RGO1
  1610. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1611. * @retval State of bit (1 or 0).
  1612. */
  1613. __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO1(DMAMUX_Channel_TypeDef *DMAMUXx)
  1614. {
  1615. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1616. return ((READ_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGSR, DMAMUX_RGSR_OF1) == (DMAMUX_RGSR_OF1)) ? 1UL : 0UL);
  1617. }
  1618. /**
  1619. * @brief Get Request Generator 2 Trigger Event Overrun Flag.
  1620. * @rmtoll RGSR OF2 LL_DMAMUX_IsActiveFlag_RGO2
  1621. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1622. * @retval State of bit (1 or 0).
  1623. */
  1624. __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO2(DMAMUX_Channel_TypeDef *DMAMUXx)
  1625. {
  1626. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1627. return ((READ_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGSR, DMAMUX_RGSR_OF2) == (DMAMUX_RGSR_OF2)) ? 1UL : 0UL);
  1628. }
  1629. /**
  1630. * @brief Get Request Generator 3 Trigger Event Overrun Flag.
  1631. * @rmtoll RGSR OF3 LL_DMAMUX_IsActiveFlag_RGO3
  1632. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1633. * @retval State of bit (1 or 0).
  1634. */
  1635. __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO3(DMAMUX_Channel_TypeDef *DMAMUXx)
  1636. {
  1637. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1638. return ((READ_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGSR, DMAMUX_RGSR_OF3) == (DMAMUX_RGSR_OF3)) ? 1UL : 0UL);
  1639. }
  1640. /**
  1641. * @brief Get Request Generator 4 Trigger Event Overrun Flag.
  1642. * @rmtoll RGSR OF4 LL_DMAMUX_IsActiveFlag_RGO4
  1643. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1644. * @retval State of bit (1 or 0).
  1645. */
  1646. __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO4(DMAMUX_Channel_TypeDef *DMAMUXx)
  1647. {
  1648. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1649. return ((READ_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGSR, DMAMUX_RGSR_OF4) == (DMAMUX_RGSR_OF4)) ? 1UL : 0UL);
  1650. }
  1651. /**
  1652. * @brief Get Request Generator 5 Trigger Event Overrun Flag.
  1653. * @rmtoll RGSR OF5 LL_DMAMUX_IsActiveFlag_RGO5
  1654. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1655. * @retval State of bit (1 or 0).
  1656. */
  1657. __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO5(DMAMUX_Channel_TypeDef *DMAMUXx)
  1658. {
  1659. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1660. return ((READ_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGSR, DMAMUX_RGSR_OF5) == (DMAMUX_RGSR_OF5)) ? 1UL : 0UL);
  1661. }
  1662. /**
  1663. * @brief Get Request Generator 6 Trigger Event Overrun Flag.
  1664. * @rmtoll RGSR OF6 LL_DMAMUX_IsActiveFlag_RGO6
  1665. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1666. * @retval State of bit (1 or 0).
  1667. */
  1668. __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO6(DMAMUX_Channel_TypeDef *DMAMUXx)
  1669. {
  1670. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1671. return ((READ_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGSR, DMAMUX_RGSR_OF6) == (DMAMUX_RGSR_OF6)) ? 1UL : 0UL);
  1672. }
  1673. /**
  1674. * @brief Get Request Generator 7 Trigger Event Overrun Flag.
  1675. * @rmtoll RGSR OF7 LL_DMAMUX_IsActiveFlag_RGO7
  1676. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1677. * @retval State of bit (1 or 0).
  1678. */
  1679. __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO7(DMAMUX_Channel_TypeDef *DMAMUXx)
  1680. {
  1681. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1682. return ((READ_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGSR, DMAMUX_RGSR_OF7) == (DMAMUX_RGSR_OF7)) ? 1UL : 0UL);
  1683. }
  1684. /**
  1685. * @brief Clear Synchronization Event Overrun Flag Channel 0.
  1686. * @rmtoll CFR CSOF0 LL_DMAMUX_ClearFlag_SO0
  1687. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1688. * @retval None
  1689. */
  1690. __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO0(DMAMUX_Channel_TypeDef *DMAMUXx)
  1691. {
  1692. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1693. SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF0);
  1694. }
  1695. /**
  1696. * @brief Clear Synchronization Event Overrun Flag Channel 1.
  1697. * @rmtoll CFR CSOF1 LL_DMAMUX_ClearFlag_SO1
  1698. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1699. * @retval None
  1700. */
  1701. __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO1(DMAMUX_Channel_TypeDef *DMAMUXx)
  1702. {
  1703. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1704. SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF1);
  1705. }
  1706. /**
  1707. * @brief Clear Synchronization Event Overrun Flag Channel 2.
  1708. * @rmtoll CFR CSOF2 LL_DMAMUX_ClearFlag_SO2
  1709. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1710. * @retval None
  1711. */
  1712. __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO2(DMAMUX_Channel_TypeDef *DMAMUXx)
  1713. {
  1714. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1715. SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF2);
  1716. }
  1717. /**
  1718. * @brief Clear Synchronization Event Overrun Flag Channel 3.
  1719. * @rmtoll CFR CSOF3 LL_DMAMUX_ClearFlag_SO3
  1720. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1721. * @retval None
  1722. */
  1723. __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO3(DMAMUX_Channel_TypeDef *DMAMUXx)
  1724. {
  1725. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1726. SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF3);
  1727. }
  1728. /**
  1729. * @brief Clear Synchronization Event Overrun Flag Channel 4.
  1730. * @rmtoll CFR CSOF4 LL_DMAMUX_ClearFlag_SO4
  1731. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1732. * @retval None
  1733. */
  1734. __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO4(DMAMUX_Channel_TypeDef *DMAMUXx)
  1735. {
  1736. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1737. SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF4);
  1738. }
  1739. /**
  1740. * @brief Clear Synchronization Event Overrun Flag Channel 5.
  1741. * @rmtoll CFR CSOF5 LL_DMAMUX_ClearFlag_SO5
  1742. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1743. * @retval None
  1744. */
  1745. __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO5(DMAMUX_Channel_TypeDef *DMAMUXx)
  1746. {
  1747. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1748. SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF5);
  1749. }
  1750. /**
  1751. * @brief Clear Synchronization Event Overrun Flag Channel 6.
  1752. * @rmtoll CFR CSOF6 LL_DMAMUX_ClearFlag_SO6
  1753. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1754. * @retval None
  1755. */
  1756. __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO6(DMAMUX_Channel_TypeDef *DMAMUXx)
  1757. {
  1758. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1759. SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF6);
  1760. }
  1761. /**
  1762. * @brief Clear Synchronization Event Overrun Flag Channel 7.
  1763. * @rmtoll CFR CSOF7 LL_DMAMUX_ClearFlag_SO7
  1764. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1765. * @retval None
  1766. */
  1767. __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO7(DMAMUX_Channel_TypeDef *DMAMUXx)
  1768. {
  1769. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1770. SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF7);
  1771. }
  1772. /**
  1773. * @brief Clear Synchronization Event Overrun Flag Channel 8.
  1774. * @rmtoll CFR CSOF8 LL_DMAMUX_ClearFlag_SO8
  1775. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1776. * @retval None
  1777. */
  1778. __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO8(DMAMUX_Channel_TypeDef *DMAMUXx)
  1779. {
  1780. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1781. SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF8);
  1782. }
  1783. /**
  1784. * @brief Clear Synchronization Event Overrun Flag Channel 9.
  1785. * @rmtoll CFR CSOF9 LL_DMAMUX_ClearFlag_SO9
  1786. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1787. * @retval None
  1788. */
  1789. __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO9(DMAMUX_Channel_TypeDef *DMAMUXx)
  1790. {
  1791. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1792. SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF9);
  1793. }
  1794. /**
  1795. * @brief Clear Synchronization Event Overrun Flag Channel 10.
  1796. * @rmtoll CFR CSOF10 LL_DMAMUX_ClearFlag_SO10
  1797. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1798. * @retval None
  1799. */
  1800. __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO10(DMAMUX_Channel_TypeDef *DMAMUXx)
  1801. {
  1802. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1803. SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF10);
  1804. }
  1805. /**
  1806. * @brief Clear Synchronization Event Overrun Flag Channel 11.
  1807. * @rmtoll CFR CSOF11 LL_DMAMUX_ClearFlag_SO11
  1808. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1809. * @retval None
  1810. */
  1811. __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO11(DMAMUX_Channel_TypeDef *DMAMUXx)
  1812. {
  1813. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1814. SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF11);
  1815. }
  1816. /**
  1817. * @brief Clear Synchronization Event Overrun Flag Channel 12.
  1818. * @rmtoll CFR CSOF12 LL_DMAMUX_ClearFlag_SO12
  1819. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1820. * @retval None
  1821. */
  1822. __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO12(DMAMUX_Channel_TypeDef *DMAMUXx)
  1823. {
  1824. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1825. SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF12);
  1826. }
  1827. /**
  1828. * @brief Clear Synchronization Event Overrun Flag Channel 13.
  1829. * @rmtoll CFR CSOF13 LL_DMAMUX_ClearFlag_SO13
  1830. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1831. * @retval None
  1832. */
  1833. __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO13(DMAMUX_Channel_TypeDef *DMAMUXx)
  1834. {
  1835. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1836. SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF13);
  1837. }
  1838. /**
  1839. * @brief Clear Synchronization Event Overrun Flag Channel 14.
  1840. * @rmtoll CFR CSOF14 LL_DMAMUX_ClearFlag_SO14
  1841. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1842. * @retval None
  1843. */
  1844. __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO14(DMAMUX_Channel_TypeDef *DMAMUXx)
  1845. {
  1846. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1847. SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF14);
  1848. }
  1849. /**
  1850. * @brief Clear Synchronization Event Overrun Flag Channel 15.
  1851. * @rmtoll CFR CSOF15 LL_DMAMUX_ClearFlag_SO15
  1852. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1853. * @retval None
  1854. */
  1855. __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO15(DMAMUX_Channel_TypeDef *DMAMUXx)
  1856. {
  1857. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1858. SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF15);
  1859. }
  1860. /**
  1861. * @brief Clear Request Generator 0 Trigger Event Overrun Flag.
  1862. * @rmtoll RGCFR COF0 LL_DMAMUX_ClearFlag_RGO0
  1863. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1864. * @retval None
  1865. */
  1866. __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO0(DMAMUX_Channel_TypeDef *DMAMUXx)
  1867. {
  1868. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1869. SET_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGCFR, DMAMUX_RGCFR_COF0);
  1870. }
  1871. /**
  1872. * @brief Clear Request Generator 1 Trigger Event Overrun Flag.
  1873. * @rmtoll RGCFR COF1 LL_DMAMUX_ClearFlag_RGO1
  1874. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1875. * @retval None
  1876. */
  1877. __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO1(DMAMUX_Channel_TypeDef *DMAMUXx)
  1878. {
  1879. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1880. SET_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGCFR, DMAMUX_RGCFR_COF1);
  1881. }
  1882. /**
  1883. * @brief Clear Request Generator 2 Trigger Event Overrun Flag.
  1884. * @rmtoll RGCFR COF2 LL_DMAMUX_ClearFlag_RGO2
  1885. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1886. * @retval None
  1887. */
  1888. __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO2(DMAMUX_Channel_TypeDef *DMAMUXx)
  1889. {
  1890. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1891. SET_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGCFR, DMAMUX_RGCFR_COF2);
  1892. }
  1893. /**
  1894. * @brief Clear Request Generator 3 Trigger Event Overrun Flag.
  1895. * @rmtoll RGCFR COF3 LL_DMAMUX_ClearFlag_RGO3
  1896. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1897. * @retval None
  1898. */
  1899. __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO3(DMAMUX_Channel_TypeDef *DMAMUXx)
  1900. {
  1901. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1902. SET_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGCFR, DMAMUX_RGCFR_COF3);
  1903. }
  1904. /**
  1905. * @brief Clear Request Generator 4 Trigger Event Overrun Flag.
  1906. * @rmtoll RGCFR COF4 LL_DMAMUX_ClearFlag_RGO4
  1907. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1908. * @retval None
  1909. */
  1910. __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO4(DMAMUX_Channel_TypeDef *DMAMUXx)
  1911. {
  1912. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1913. SET_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGCFR, DMAMUX_RGCFR_COF4);
  1914. }
  1915. /**
  1916. * @brief Clear Request Generator 5 Trigger Event Overrun Flag.
  1917. * @rmtoll RGCFR COF5 LL_DMAMUX_ClearFlag_RGO5
  1918. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1919. * @retval None
  1920. */
  1921. __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO5(DMAMUX_Channel_TypeDef *DMAMUXx)
  1922. {
  1923. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1924. SET_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGCFR, DMAMUX_RGCFR_COF5);
  1925. }
  1926. /**
  1927. * @brief Clear Request Generator 6 Trigger Event Overrun Flag.
  1928. * @rmtoll RGCFR COF6 LL_DMAMUX_ClearFlag_RGO6
  1929. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1930. * @retval None
  1931. */
  1932. __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO6(DMAMUX_Channel_TypeDef *DMAMUXx)
  1933. {
  1934. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1935. SET_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGCFR, DMAMUX_RGCFR_COF6);
  1936. }
  1937. /**
  1938. * @brief Clear Request Generator 7 Trigger Event Overrun Flag.
  1939. * @rmtoll RGCFR COF7 LL_DMAMUX_ClearFlag_RGO7
  1940. * @param DMAMUXx DMAMUXx DMAMUXx Instance
  1941. * @retval None
  1942. */
  1943. __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO7(DMAMUX_Channel_TypeDef *DMAMUXx)
  1944. {
  1945. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1946. SET_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGCFR, DMAMUX_RGCFR_COF7);
  1947. }
  1948. /**
  1949. * @}
  1950. */
  1951. /** @defgroup DMAMUX_LL_EF_IT_Management IT_Management
  1952. * @{
  1953. */
  1954. /**
  1955. * @brief Enable the Synchronization Event Overrun Interrupt on DMAMUX channel x.
  1956. * @rmtoll CxCR SOIE LL_DMAMUX_EnableIT_SO
  1957. * @param DMAMUXx DMAMUXx Instance
  1958. * @param Channel This parameter can be one of the following values:
  1959. * @arg @ref LL_DMAMUX_CHANNEL_0
  1960. * @arg @ref LL_DMAMUX_CHANNEL_1
  1961. * @arg @ref LL_DMAMUX_CHANNEL_2
  1962. * @arg @ref LL_DMAMUX_CHANNEL_3
  1963. * @arg @ref LL_DMAMUX_CHANNEL_4
  1964. * @arg @ref LL_DMAMUX_CHANNEL_5
  1965. * @arg @ref LL_DMAMUX_CHANNEL_6
  1966. * @arg @ref LL_DMAMUX_CHANNEL_7
  1967. * @arg @ref LL_DMAMUX_CHANNEL_8
  1968. * @arg @ref LL_DMAMUX_CHANNEL_9
  1969. * @arg @ref LL_DMAMUX_CHANNEL_10
  1970. * @arg @ref LL_DMAMUX_CHANNEL_11
  1971. * @arg @ref LL_DMAMUX_CHANNEL_12
  1972. * @arg @ref LL_DMAMUX_CHANNEL_13
  1973. * @arg @ref LL_DMAMUX_CHANNEL_14
  1974. * @arg @ref LL_DMAMUX_CHANNEL_15
  1975. * @retval None
  1976. */
  1977. __STATIC_INLINE void LL_DMAMUX_EnableIT_SO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
  1978. {
  1979. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  1980. SET_BIT(((DMAMUX_Channel_TypeDef *)((uint32_t)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel)))))->CCR, DMAMUX_CxCR_SOIE);
  1981. }
  1982. /**
  1983. * @brief Disable the Synchronization Event Overrun Interrupt on DMAMUX channel x.
  1984. * @rmtoll CxCR SOIE LL_DMAMUX_DisableIT_SO
  1985. * @param DMAMUXx DMAMUXx Instance
  1986. * @param Channel This parameter can be one of the following values:
  1987. * @arg @ref LL_DMAMUX_CHANNEL_0
  1988. * @arg @ref LL_DMAMUX_CHANNEL_1
  1989. * @arg @ref LL_DMAMUX_CHANNEL_2
  1990. * @arg @ref LL_DMAMUX_CHANNEL_3
  1991. * @arg @ref LL_DMAMUX_CHANNEL_4
  1992. * @arg @ref LL_DMAMUX_CHANNEL_5
  1993. * @arg @ref LL_DMAMUX_CHANNEL_6
  1994. * @arg @ref LL_DMAMUX_CHANNEL_7
  1995. * @arg @ref LL_DMAMUX_CHANNEL_8
  1996. * @arg @ref LL_DMAMUX_CHANNEL_9
  1997. * @arg @ref LL_DMAMUX_CHANNEL_10
  1998. * @arg @ref LL_DMAMUX_CHANNEL_11
  1999. * @arg @ref LL_DMAMUX_CHANNEL_12
  2000. * @arg @ref LL_DMAMUX_CHANNEL_13
  2001. * @arg @ref LL_DMAMUX_CHANNEL_14
  2002. * @arg @ref LL_DMAMUX_CHANNEL_15
  2003. * @retval None
  2004. */
  2005. __STATIC_INLINE void LL_DMAMUX_DisableIT_SO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
  2006. {
  2007. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  2008. CLEAR_BIT(((DMAMUX_Channel_TypeDef *)((uint32_t)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel)))))->CCR, DMAMUX_CxCR_SOIE);
  2009. }
  2010. /**
  2011. * @brief Check if the Synchronization Event Overrun Interrupt on DMAMUX channel x is enabled or disabled.
  2012. * @rmtoll CxCR SOIE LL_DMAMUX_IsEnabledIT_SO
  2013. * @param DMAMUXx DMAMUXx Instance
  2014. * @param Channel This parameter can be one of the following values:
  2015. * @arg @ref LL_DMAMUX_CHANNEL_0
  2016. * @arg @ref LL_DMAMUX_CHANNEL_1
  2017. * @arg @ref LL_DMAMUX_CHANNEL_2
  2018. * @arg @ref LL_DMAMUX_CHANNEL_3
  2019. * @arg @ref LL_DMAMUX_CHANNEL_4
  2020. * @arg @ref LL_DMAMUX_CHANNEL_5
  2021. * @arg @ref LL_DMAMUX_CHANNEL_6
  2022. * @arg @ref LL_DMAMUX_CHANNEL_7
  2023. * @arg @ref LL_DMAMUX_CHANNEL_8
  2024. * @arg @ref LL_DMAMUX_CHANNEL_9
  2025. * @arg @ref LL_DMAMUX_CHANNEL_10
  2026. * @arg @ref LL_DMAMUX_CHANNEL_11
  2027. * @arg @ref LL_DMAMUX_CHANNEL_12
  2028. * @arg @ref LL_DMAMUX_CHANNEL_13
  2029. * @arg @ref LL_DMAMUX_CHANNEL_14
  2030. * @arg @ref LL_DMAMUX_CHANNEL_15
  2031. * @retval State of bit (1 or 0).
  2032. */
  2033. __STATIC_INLINE uint32_t LL_DMAMUX_IsEnabledIT_SO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
  2034. {
  2035. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  2036. return (READ_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_SOIE));
  2037. }
  2038. /**
  2039. * @brief Enable the Request Generation Trigger Event Overrun Interrupt on DMAMUX channel x.
  2040. * @rmtoll RGxCR OIE LL_DMAMUX_EnableIT_RGO
  2041. * @param DMAMUXx DMAMUXx Instance
  2042. * @param RequestGenChannel This parameter can be one of the following values:
  2043. * @arg @ref LL_DMAMUX_REQ_GEN_0
  2044. * @arg @ref LL_DMAMUX_REQ_GEN_1
  2045. * @arg @ref LL_DMAMUX_REQ_GEN_2
  2046. * @arg @ref LL_DMAMUX_REQ_GEN_3
  2047. * @arg @ref LL_DMAMUX_REQ_GEN_4
  2048. * @arg @ref LL_DMAMUX_REQ_GEN_5
  2049. * @arg @ref LL_DMAMUX_REQ_GEN_6
  2050. * @arg @ref LL_DMAMUX_REQ_GEN_7
  2051. * @retval None
  2052. */
  2053. __STATIC_INLINE void LL_DMAMUX_EnableIT_RGO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
  2054. {
  2055. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  2056. SET_BIT(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * RequestGenChannel)))->RGCR, DMAMUX_RGxCR_OIE);
  2057. }
  2058. /**
  2059. * @brief Disable the Request Generation Trigger Event Overrun Interrupt on DMAMUX channel x.
  2060. * @rmtoll RGxCR OIE LL_DMAMUX_DisableIT_RGO
  2061. * @param DMAMUXx DMAMUXx Instance
  2062. * @param RequestGenChannel This parameter can be one of the following values:
  2063. * @arg @ref LL_DMAMUX_REQ_GEN_0
  2064. * @arg @ref LL_DMAMUX_REQ_GEN_1
  2065. * @arg @ref LL_DMAMUX_REQ_GEN_2
  2066. * @arg @ref LL_DMAMUX_REQ_GEN_3
  2067. * @arg @ref LL_DMAMUX_REQ_GEN_4
  2068. * @arg @ref LL_DMAMUX_REQ_GEN_5
  2069. * @arg @ref LL_DMAMUX_REQ_GEN_6
  2070. * @arg @ref LL_DMAMUX_REQ_GEN_7
  2071. * @retval None
  2072. */
  2073. __STATIC_INLINE void LL_DMAMUX_DisableIT_RGO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
  2074. {
  2075. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  2076. CLEAR_BIT(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * RequestGenChannel)))->RGCR, DMAMUX_RGxCR_OIE);
  2077. }
  2078. /**
  2079. * @brief Check if the Request Generation Trigger Event Overrun Interrupt on DMAMUX channel x is enabled or disabled.
  2080. * @rmtoll RGxCR OIE LL_DMAMUX_IsEnabledIT_RGO
  2081. * @param DMAMUXx DMAMUXx Instance
  2082. * @param RequestGenChannel This parameter can be one of the following values:
  2083. * @arg @ref LL_DMAMUX_REQ_GEN_0
  2084. * @arg @ref LL_DMAMUX_REQ_GEN_1
  2085. * @arg @ref LL_DMAMUX_REQ_GEN_2
  2086. * @arg @ref LL_DMAMUX_REQ_GEN_3
  2087. * @arg @ref LL_DMAMUX_REQ_GEN_4
  2088. * @arg @ref LL_DMAMUX_REQ_GEN_5
  2089. * @arg @ref LL_DMAMUX_REQ_GEN_6
  2090. * @arg @ref LL_DMAMUX_REQ_GEN_7
  2091. * @retval State of bit (1 or 0).
  2092. */
  2093. __STATIC_INLINE uint32_t LL_DMAMUX_IsEnabledIT_RGO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
  2094. {
  2095. register uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
  2096. return ((READ_BIT(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * RequestGenChannel)))->RGCR, DMAMUX_RGxCR_OIE) == (DMAMUX_RGxCR_OIE)) ? 1UL : 0UL);
  2097. }
  2098. /**
  2099. * @}
  2100. */
  2101. /**
  2102. * @}
  2103. */
  2104. /**
  2105. * @}
  2106. */
  2107. #endif /* DMAMUX1 || DMAMUX2 */
  2108. /**
  2109. * @}
  2110. */
  2111. #ifdef __cplusplus
  2112. }
  2113. #endif
  2114. #endif /* __STM32H7xx_LL_DMAMUX_H */
  2115. /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/