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.
 
 
 

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