Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:23:37

0001 /**
0002   ******************************************************************************
0003   * @file    stm32h7xx_ll_dmamux.h
0004   * @author  MCD Application Team
0005   * @brief   Header file of DMAMUX LL module.
0006   ******************************************************************************
0007   * @attention
0008   *
0009   * Copyright (c) 2017 STMicroelectronics.
0010   * All rights reserved.
0011   *
0012   * This software is licensed under terms that can be found in the LICENSE file
0013   * in the root directory of this software component.
0014   * If no LICENSE file comes with this software, it is provided AS-IS.
0015   *
0016   ******************************************************************************
0017   */
0018 
0019 /* Define to prevent recursive inclusion -------------------------------------*/
0020 #ifndef STM32H7xx_LL_DMAMUX_H
0021 #define STM32H7xx_LL_DMAMUX_H
0022 
0023 #ifdef __cplusplus
0024 extern "C" {
0025 #endif
0026 
0027 /* Includes ------------------------------------------------------------------*/
0028 #include "stm32h7xx.h"
0029 
0030 /** @addtogroup STM32H7xx_LL_Driver
0031   * @{
0032   */
0033 
0034 #if defined (DMAMUX1) || defined (DMAMUX2)
0035 
0036 /** @defgroup DMAMUX_LL DMAMUX
0037   * @ingroup RTEMSBSPsARMSTM32H7
0038   * @{
0039   */
0040 
0041 /* Private types -------------------------------------------------------------*/
0042 /* Private variables ---------------------------------------------------------*/
0043 /* Private constants ---------------------------------------------------------*/
0044 /** @defgroup DMAMUX_LL_Private_Constants DMAMUX Private Constants
0045   * @ingroup RTEMSBSPsARMSTM32H7
0046   * @{
0047   */
0048 /* Define used to get DMAMUX CCR register size */
0049 #define DMAMUX_CCR_SIZE                   0x00000004U
0050 
0051 /* Define used to get DMAMUX RGCR register size */
0052 #define DMAMUX_RGCR_SIZE                  0x00000004U
0053 
0054 /* Define used to get DMAMUX RequestGenerator offset */
0055 #define DMAMUX_REQ_GEN_OFFSET             (DMAMUX1_RequestGenerator0_BASE - DMAMUX1_BASE)
0056 /* Define used to get DMAMUX Channel Status offset */
0057 #define DMAMUX_CH_STATUS_OFFSET           (DMAMUX1_ChannelStatus_BASE - DMAMUX1_BASE)
0058 /* Define used to get DMAMUX RequestGenerator status offset */
0059 #define DMAMUX_REQ_GEN_STATUS_OFFSET      (DMAMUX1_RequestGenStatus_BASE - DMAMUX1_BASE)
0060 
0061 /**
0062   * @}
0063   */
0064 
0065 /* Private macros ------------------------------------------------------------*/
0066 /* Exported types ------------------------------------------------------------*/
0067 /* Exported constants --------------------------------------------------------*/
0068 /** @defgroup DMAMUX_LL_Exported_Constants DMAMUX Exported Constants
0069   * @ingroup RTEMSBSPsARMSTM32H7
0070   * @{
0071   */
0072 /** @defgroup DMAMUX_LL_EC_CLEAR_FLAG Clear Flags Defines
0073   * @ingroup RTEMSBSPsARMSTM32H7
0074   * @brief    Flags defines which can be used with LL_DMAMUX_WriteReg function
0075   * @{
0076   */
0077 #define LL_DMAMUX_CFR_CSOF0               DMAMUX_CFR_CSOF0       /*!< Synchronization Event Overrun Flag Channel 0   */
0078 #define LL_DMAMUX_CFR_CSOF1               DMAMUX_CFR_CSOF1       /*!< Synchronization Event Overrun Flag Channel 1   */
0079 #define LL_DMAMUX_CFR_CSOF2               DMAMUX_CFR_CSOF2       /*!< Synchronization Event Overrun Flag Channel 2   */
0080 #define LL_DMAMUX_CFR_CSOF3               DMAMUX_CFR_CSOF3       /*!< Synchronization Event Overrun Flag Channel 3   */
0081 #define LL_DMAMUX_CFR_CSOF4               DMAMUX_CFR_CSOF4       /*!< Synchronization Event Overrun Flag Channel 4   */
0082 #define LL_DMAMUX_CFR_CSOF5               DMAMUX_CFR_CSOF5       /*!< Synchronization Event Overrun Flag Channel 5   */
0083 #define LL_DMAMUX_CFR_CSOF6               DMAMUX_CFR_CSOF6       /*!< Synchronization Event Overrun Flag Channel 6   */
0084 #define LL_DMAMUX_CFR_CSOF7               DMAMUX_CFR_CSOF7       /*!< Synchronization Event Overrun Flag Channel 7   */
0085 #define LL_DMAMUX_CFR_CSOF8               DMAMUX_CFR_CSOF8       /*!< Synchronization Event Overrun Flag Channel 8   */
0086 #define LL_DMAMUX_CFR_CSOF9               DMAMUX_CFR_CSOF9       /*!< Synchronization Event Overrun Flag Channel 9   */
0087 #define LL_DMAMUX_CFR_CSOF10              DMAMUX_CFR_CSOF10      /*!< Synchronization Event Overrun Flag Channel 10  */
0088 #define LL_DMAMUX_CFR_CSOF11              DMAMUX_CFR_CSOF11      /*!< Synchronization Event Overrun Flag Channel 11  */
0089 #define LL_DMAMUX_CFR_CSOF12              DMAMUX_CFR_CSOF12      /*!< Synchronization Event Overrun Flag Channel 12  */
0090 #define LL_DMAMUX_CFR_CSOF13              DMAMUX_CFR_CSOF13      /*!< Synchronization Event Overrun Flag Channel 13  */
0091 #define LL_DMAMUX_CFR_CSOF14              DMAMUX_CFR_CSOF14      /*!< Synchronization Event Overrun Flag Channel 14  */
0092 #define LL_DMAMUX_CFR_CSOF15              DMAMUX_CFR_CSOF15      /*!< Synchronization Event Overrun Flag Channel 15  */
0093 #define LL_DMAMUX_RGCFR_RGCOF0            DMAMUX_RGCFR_COF0      /*!< Request Generator 0 Trigger Event Overrun Flag */
0094 #define LL_DMAMUX_RGCFR_RGCOF1            DMAMUX_RGCFR_COF1      /*!< Request Generator 1 Trigger Event Overrun Flag */
0095 #define LL_DMAMUX_RGCFR_RGCOF2            DMAMUX_RGCFR_COF2      /*!< Request Generator 2 Trigger Event Overrun Flag */
0096 #define LL_DMAMUX_RGCFR_RGCOF3            DMAMUX_RGCFR_COF3      /*!< Request Generator 3 Trigger Event Overrun Flag */
0097 #define LL_DMAMUX_RGCFR_RGCOF4            DMAMUX_RGCFR_COF4      /*!< Request Generator 4 Trigger Event Overrun Flag */
0098 #define LL_DMAMUX_RGCFR_RGCOF5            DMAMUX_RGCFR_COF5      /*!< Request Generator 5 Trigger Event Overrun Flag */
0099 #define LL_DMAMUX_RGCFR_RGCOF6            DMAMUX_RGCFR_COF6      /*!< Request Generator 6 Trigger Event Overrun Flag */
0100 #define LL_DMAMUX_RGCFR_RGCOF7            DMAMUX_RGCFR_COF7      /*!< Request Generator 7 Trigger Event Overrun Flag */
0101 /**
0102   * @}
0103   */
0104 
0105 /** @defgroup DMAMUX_LL_EC_GET_FLAG Get Flags Defines
0106   * @ingroup RTEMSBSPsARMSTM32H7
0107   * @brief    Flags defines which can be used with LL_DMAMUX_ReadReg function
0108   * @{
0109   */
0110 #define LL_DMAMUX_CSR_SOF0                DMAMUX_CSR_SOF0       /*!< Synchronization Event Overrun Flag Channel 0   */
0111 #define LL_DMAMUX_CSR_SOF1                DMAMUX_CSR_SOF1       /*!< Synchronization Event Overrun Flag Channel 1   */
0112 #define LL_DMAMUX_CSR_SOF2                DMAMUX_CSR_SOF2       /*!< Synchronization Event Overrun Flag Channel 2   */
0113 #define LL_DMAMUX_CSR_SOF3                DMAMUX_CSR_SOF3       /*!< Synchronization Event Overrun Flag Channel 3   */
0114 #define LL_DMAMUX_CSR_SOF4                DMAMUX_CSR_SOF4       /*!< Synchronization Event Overrun Flag Channel 4   */
0115 #define LL_DMAMUX_CSR_SOF5                DMAMUX_CSR_SOF5       /*!< Synchronization Event Overrun Flag Channel 5   */
0116 #define LL_DMAMUX_CSR_SOF6                DMAMUX_CSR_SOF6       /*!< Synchronization Event Overrun Flag Channel 6   */
0117 #define LL_DMAMUX_CSR_SOF7                DMAMUX_CSR_SOF7       /*!< Synchronization Event Overrun Flag Channel 7   */
0118 #define LL_DMAMUX_CSR_SOF8                DMAMUX_CSR_SOF8       /*!< Synchronization Event Overrun Flag Channel 8   */
0119 #define LL_DMAMUX_CSR_SOF9                DMAMUX_CSR_SOF9       /*!< Synchronization Event Overrun Flag Channel 9   */
0120 #define LL_DMAMUX_CSR_SOF10               DMAMUX_CSR_SOF10      /*!< Synchronization Event Overrun Flag Channel 10  */
0121 #define LL_DMAMUX_CSR_SOF11               DMAMUX_CSR_SOF11      /*!< Synchronization Event Overrun Flag Channel 11  */
0122 #define LL_DMAMUX_CSR_SOF12               DMAMUX_CSR_SOF12      /*!< Synchronization Event Overrun Flag Channel 12  */
0123 #define LL_DMAMUX_CSR_SOF13               DMAMUX_CSR_SOF13      /*!< Synchronization Event Overrun Flag Channel 13  */
0124 #define LL_DMAMUX_CSR_SOF14               DMAMUX_CSR_SOF14      /*!< Synchronization Event Overrun Flag Channel 14  */
0125 #define LL_DMAMUX_CSR_SOF15               DMAMUX_CSR_SOF15      /*!< Synchronization Event Overrun Flag Channel 15  */
0126 #define LL_DMAMUX_RGSR_RGOF0              DMAMUX_RGSR_OF0       /*!< Request Generator 0 Trigger Event Overrun Flag */
0127 #define LL_DMAMUX_RGSR_RGOF1              DMAMUX_RGSR_OF1       /*!< Request Generator 1 Trigger Event Overrun Flag */
0128 #define LL_DMAMUX_RGSR_RGOF2              DMAMUX_RGSR_OF2       /*!< Request Generator 2 Trigger Event Overrun Flag */
0129 #define LL_DMAMUX_RGSR_RGOF3              DMAMUX_RGSR_OF3       /*!< Request Generator 3 Trigger Event Overrun Flag */
0130 #define LL_DMAMUX_RGSR_RGOF4              DMAMUX_RGSR_OF4       /*!< Request Generator 4 Trigger Event Overrun Flag */
0131 #define LL_DMAMUX_RGSR_RGOF5              DMAMUX_RGSR_OF5       /*!< Request Generator 5 Trigger Event Overrun Flag */
0132 #define LL_DMAMUX_RGSR_RGOF6              DMAMUX_RGSR_OF6       /*!< Request Generator 6 Trigger Event Overrun Flag */
0133 #define LL_DMAMUX_RGSR_RGOF7              DMAMUX_RGSR_OF7       /*!< Request Generator 7 Trigger Event Overrun Flag */
0134 /**
0135   * @}
0136   */
0137 
0138 /** @defgroup DMAMUX_LL_EC_IT IT Defines
0139   * @ingroup RTEMSBSPsARMSTM32H7
0140   * @brief    IT defines which can be used with LL_DMA_ReadReg and  LL_DMAMUX_WriteReg functions
0141   * @{
0142   */
0143 #define LL_DMAMUX_CCR_SOIE                DMAMUX_CxCR_SOIE          /*!< Synchronization Event Overrun Interrupt               */
0144 #define LL_DMAMUX_RGCR_RGOIE              DMAMUX_RGxCR_OIE          /*!< Request Generation Trigger Event Overrun Interrupt    */
0145 /**
0146   * @}
0147   */
0148 
0149 /** @defgroup DMAMUX1_Request_selection DMAMUX1 Request selection
0150   * @ingroup RTEMSBSPsARMSTM32H7
0151   * @brief    DMAMUX1 Request selection
0152   * @{
0153   */
0154 /* DMAMUX1 requests */
0155 #define LL_DMAMUX1_REQ_MEM2MEM          0U   /*!< memory to memory transfer       */
0156 #define LL_DMAMUX1_REQ_GENERATOR0       1U   /*!< DMAMUX1 request generator 0     */
0157 #define LL_DMAMUX1_REQ_GENERATOR1       2U   /*!< DMAMUX1 request generator 1     */
0158 #define LL_DMAMUX1_REQ_GENERATOR2       3U   /*!< DMAMUX1 request generator 2     */
0159 #define LL_DMAMUX1_REQ_GENERATOR3       4U   /*!< DMAMUX1 request generator 3     */
0160 #define LL_DMAMUX1_REQ_GENERATOR4       5U   /*!< DMAMUX1 request generator 4     */
0161 #define LL_DMAMUX1_REQ_GENERATOR5       6U   /*!< DMAMUX1 request generator 5     */
0162 #define LL_DMAMUX1_REQ_GENERATOR6       7U   /*!< DMAMUX1 request generator 6     */
0163 #define LL_DMAMUX1_REQ_GENERATOR7       8U   /*!< DMAMUX1 request generator 7     */
0164 #define LL_DMAMUX1_REQ_ADC1             9U   /*!< DMAMUX1 ADC1 request            */
0165 #define LL_DMAMUX1_REQ_ADC2             10U  /*!< DMAMUX1 ADC2 request            */
0166 #define LL_DMAMUX1_REQ_TIM1_CH1         11U  /*!< DMAMUX1 TIM1 CH1 request        */
0167 #define LL_DMAMUX1_REQ_TIM1_CH2         12U  /*!< DMAMUX1 TIM1 CH2 request        */
0168 #define LL_DMAMUX1_REQ_TIM1_CH3         13U  /*!< DMAMUX1 TIM1 CH3 request        */
0169 #define LL_DMAMUX1_REQ_TIM1_CH4         14U  /*!< DMAMUX1 TIM1 CH4 request        */
0170 #define LL_DMAMUX1_REQ_TIM1_UP          15U  /*!< DMAMUX1 TIM1 UP request         */
0171 #define LL_DMAMUX1_REQ_TIM1_TRIG        16U  /*!< DMAMUX1 TIM1 TRIG request       */
0172 #define LL_DMAMUX1_REQ_TIM1_COM         17U  /*!< DMAMUX1 TIM1 COM request        */
0173 #define LL_DMAMUX1_REQ_TIM2_CH1         18U  /*!< DMAMUX1 TIM2 CH1 request        */
0174 #define LL_DMAMUX1_REQ_TIM2_CH2         19U  /*!< DMAMUX1 TIM2 CH2 request        */
0175 #define LL_DMAMUX1_REQ_TIM2_CH3         20U  /*!< DMAMUX1 TIM2 CH3 request        */
0176 #define LL_DMAMUX1_REQ_TIM2_CH4         21U  /*!< DMAMUX1 TIM2 CH4 request        */
0177 #define LL_DMAMUX1_REQ_TIM2_UP          22U  /*!< DMAMUX1 TIM2 UP request         */
0178 #define LL_DMAMUX1_REQ_TIM3_CH1         23U  /*!< DMAMUX1 TIM3 CH1 request        */
0179 #define LL_DMAMUX1_REQ_TIM3_CH2         24U  /*!< DMAMUX1 TIM3 CH2 request        */
0180 #define LL_DMAMUX1_REQ_TIM3_CH3         25U  /*!< DMAMUX1 TIM3 CH3 request        */
0181 #define LL_DMAMUX1_REQ_TIM3_CH4         26U  /*!< DMAMUX1 TIM3 CH4 request        */
0182 #define LL_DMAMUX1_REQ_TIM3_UP          27U  /*!< DMAMUX1 TIM3 UP request         */
0183 #define LL_DMAMUX1_REQ_TIM3_TRIG        28U  /*!< DMAMUX1 TIM3 TRIG request       */
0184 #define LL_DMAMUX1_REQ_TIM4_CH1         29U  /*!< DMAMUX1 TIM4 CH1 request        */
0185 #define LL_DMAMUX1_REQ_TIM4_CH2         30U  /*!< DMAMUX1 TIM4 CH2 request        */
0186 #define LL_DMAMUX1_REQ_TIM4_CH3         31U  /*!< DMAMUX1 TIM4 CH3 request        */
0187 #define LL_DMAMUX1_REQ_TIM4_UP          32U  /*!< DMAMUX1 TIM4 UP request         */
0188 #define LL_DMAMUX1_REQ_I2C1_RX          33U  /*!< DMAMUX1 I2C1 RX request         */
0189 #define LL_DMAMUX1_REQ_I2C1_TX          34U  /*!< DMAMUX1 I2C1 TX request         */
0190 #define LL_DMAMUX1_REQ_I2C2_RX          35U  /*!< DMAMUX1 I2C2 RX request         */
0191 #define LL_DMAMUX1_REQ_I2C2_TX          36U  /*!< DMAMUX1 I2C2 TX request         */
0192 #define LL_DMAMUX1_REQ_SPI1_RX          37U  /*!< DMAMUX1 SPI1 RX request         */
0193 #define LL_DMAMUX1_REQ_SPI1_TX          38U  /*!< DMAMUX1 SPI1 TX request         */
0194 #define LL_DMAMUX1_REQ_SPI2_RX          39U  /*!< DMAMUX1 SPI2 RX request         */
0195 #define LL_DMAMUX1_REQ_SPI2_TX          40U  /*!< DMAMUX1 SPI2 TX request         */
0196 #define LL_DMAMUX1_REQ_USART1_RX        41U  /*!< DMAMUX1 USART1 RX request       */
0197 #define LL_DMAMUX1_REQ_USART1_TX        42U  /*!< DMAMUX1 USART1 TX request       */
0198 #define LL_DMAMUX1_REQ_USART2_RX        43U  /*!< DMAMUX1 USART2 RX request       */
0199 #define LL_DMAMUX1_REQ_USART2_TX        44U  /*!< DMAMUX1 USART2 TX request       */
0200 #define LL_DMAMUX1_REQ_USART3_RX        45U  /*!< DMAMUX1 USART3 RX request       */
0201 #define LL_DMAMUX1_REQ_USART3_TX        46U  /*!< DMAMUX1 USART3 TX request       */
0202 #define LL_DMAMUX1_REQ_TIM8_CH1         47U  /*!< DMAMUX1 TIM8 CH1 request        */
0203 #define LL_DMAMUX1_REQ_TIM8_CH2         48U  /*!< DMAMUX1 TIM8 CH2 request        */
0204 #define LL_DMAMUX1_REQ_TIM8_CH3         49U  /*!< DMAMUX1 TIM8 CH3 request        */
0205 #define LL_DMAMUX1_REQ_TIM8_CH4         50U  /*!< DMAMUX1 TIM8 CH4 request        */
0206 #define LL_DMAMUX1_REQ_TIM8_UP          51U  /*!< DMAMUX1 TIM8 UP request         */
0207 #define LL_DMAMUX1_REQ_TIM8_TRIG        52U  /*!< DMAMUX1 TIM8 TRIG request       */
0208 #define LL_DMAMUX1_REQ_TIM8_COM         53U  /*!< DMAMUX1 TIM8 COM request        */
0209 #define LL_DMAMUX1_REQ_TIM5_CH1         55U  /*!< DMAMUX1 TIM5 CH1 request        */
0210 #define LL_DMAMUX1_REQ_TIM5_CH2         56U  /*!< DMAMUX1 TIM5 CH2 request        */
0211 #define LL_DMAMUX1_REQ_TIM5_CH3         57U  /*!< DMAMUX1 TIM5 CH3 request        */
0212 #define LL_DMAMUX1_REQ_TIM5_CH4         58U  /*!< DMAMUX1 TIM5 CH4 request        */
0213 #define LL_DMAMUX1_REQ_TIM5_UP          59U  /*!< DMAMUX1 TIM5 UP request         */
0214 #define LL_DMAMUX1_REQ_TIM5_TRIG        60U  /*!< DMAMUX1 TIM5 TRIG request       */
0215 #define LL_DMAMUX1_REQ_SPI3_RX          61U  /*!< DMAMUX1 SPI3 RX request         */
0216 #define LL_DMAMUX1_REQ_SPI3_TX          62U  /*!< DMAMUX1 SPI3 TX request         */
0217 #define LL_DMAMUX1_REQ_UART4_RX         63U  /*!< DMAMUX1 UART4 RX request        */
0218 #define LL_DMAMUX1_REQ_UART4_TX         64U  /*!< DMAMUX1 UART4 TX request        */
0219 #define LL_DMAMUX1_REQ_UART5_RX         65U  /*!< DMAMUX1 UART5 RX request        */
0220 #define LL_DMAMUX1_REQ_UART5_TX         66U  /*!< DMAMUX1 UART5 TX request        */
0221 #define LL_DMAMUX1_REQ_DAC1_CH1         67U  /*!< DMAMUX1 DAC1 Channel 1 request  */
0222 #define LL_DMAMUX1_REQ_DAC1_CH2         68U  /*!< DMAMUX1 DAC1 Channel 2 request  */
0223 #define LL_DMAMUX1_REQ_TIM6_UP          69U  /*!< DMAMUX1 TIM6 UP request         */
0224 #define LL_DMAMUX1_REQ_TIM7_UP          70U  /*!< DMAMUX1 TIM7 UP request         */
0225 #define LL_DMAMUX1_REQ_USART6_RX        71U  /*!< DMAMUX1 USART6 RX request       */
0226 #define LL_DMAMUX1_REQ_USART6_TX        72U  /*!< DMAMUX1 USART6 TX request       */
0227 #define LL_DMAMUX1_REQ_I2C3_RX          73U  /*!< DMAMUX1 I2C3 RX request         */
0228 #define LL_DMAMUX1_REQ_I2C3_TX          74U  /*!< DMAMUX1 I2C3 TX request         */
0229 #if defined (PSSI)
0230 #define LL_DMAMUX1_REQ_DCMI_PSSI        75U  /*!< DMAMUX1 DCMI/PSSI request       */
0231 #define LL_DMAMUX1_REQ_DCMI             LL_DMAMUX1_REQ_DCMI_PSSI /* Legacy define */
0232 #else
0233 #define LL_DMAMUX1_REQ_DCMI             75U  /*!< DMAMUX1 DCMI request            */
0234 #endif /* PSSI */
0235 #define LL_DMAMUX1_REQ_CRYP_IN          76U  /*!< DMAMUX1 CRYP IN request         */
0236 #define LL_DMAMUX1_REQ_CRYP_OUT         77U  /*!< DMAMUX1 CRYP OUT request        */
0237 #define LL_DMAMUX1_REQ_HASH_IN          78U  /*!< DMAMUX1 HASH IN request         */
0238 #define LL_DMAMUX1_REQ_UART7_RX         79U  /*!< DMAMUX1 UART7 RX request        */
0239 #define LL_DMAMUX1_REQ_UART7_TX         80U  /*!< DMAMUX1 UART7 TX request        */
0240 #define LL_DMAMUX1_REQ_UART8_RX         81U  /*!< DMAMUX1 UART8 RX request        */
0241 #define LL_DMAMUX1_REQ_UART8_TX         82U  /*!< DMAMUX1 UART8 TX request        */
0242 #define LL_DMAMUX1_REQ_SPI4_RX          83U  /*!< DMAMUX1 SPI4 RX request         */
0243 #define LL_DMAMUX1_REQ_SPI4_TX          84U  /*!< DMAMUX1 SPI4 TX request         */
0244 #define LL_DMAMUX1_REQ_SPI5_RX          85U  /*!< DMAMUX1 SPI5 RX request         */
0245 #define LL_DMAMUX1_REQ_SPI5_TX          86U  /*!< DMAMUX1 SPI5 TX request         */
0246 #define LL_DMAMUX1_REQ_SAI1_A           87U  /*!< DMAMUX1 SAI1 A request          */
0247 #define LL_DMAMUX1_REQ_SAI1_B           88U  /*!< DMAMUX1 SAI1 B request          */
0248 #if defined(SAI2)
0249 #define LL_DMAMUX1_REQ_SAI2_A           89U  /*!< DMAMUX1 SAI2 A request          */
0250 #define LL_DMAMUX1_REQ_SAI2_B           90U  /*!< DMAMUX1 SAI2 B request          */
0251 #endif /* SAI2 */
0252 #define LL_DMAMUX1_REQ_SWPMI_RX         91U  /*!< DMAMUX1 SWPMI RX request        */
0253 #define LL_DMAMUX1_REQ_SWPMI_TX         92U  /*!< DMAMUX1 SWPMI TX request        */
0254 #define LL_DMAMUX1_REQ_SPDIF_RX_DT      93U  /*!< DMAMUX1 SPDIF RXDT request      */
0255 #define LL_DMAMUX1_REQ_SPDIF_RX_CS      94U  /*!< DMAMUX1 SPDIF RXCS request      */
0256 #if defined (HRTIM1)
0257 #define LL_DMAMUX1_REQ_HRTIM_MASTER     95U  /*!< DMAMUX1 HRTIM1 Master request 1 */
0258 #define LL_DMAMUX1_REQ_HRTIM_TIMER_A    96U  /*!< DMAMUX1 HRTIM1 Timer A request 2 */
0259 #define LL_DMAMUX1_REQ_HRTIM_TIMER_B    97U  /*!< DMAMUX1 HRTIM1 Timer B request 3 */
0260 #define LL_DMAMUX1_REQ_HRTIM_TIMER_C    98U  /*!< DMAMUX1 HRTIM1 Timer C request 4 */
0261 #define LL_DMAMUX1_REQ_HRTIM_TIMER_D    99U  /*!< DMAMUX1 HRTIM1 Timer D request 5 */
0262 #define LL_DMAMUX1_REQ_HRTIM_TIMER_E   100U  /*!< DMAMUX1 HRTIM1 Timer E request 6 */
0263 #endif /* HRTIM1 */
0264 #define LL_DMAMUX1_REQ_DFSDM1_FLT0     101U  /*!< DMAMUX1 DFSDM1 Filter0 request  */
0265 #define LL_DMAMUX1_REQ_DFSDM1_FLT1     102U  /*!< DMAMUX1 DFSDM1 Filter1 request  */
0266 #define LL_DMAMUX1_REQ_DFSDM1_FLT2     103U  /*!< DMAMUX1 DFSDM1 Filter2 request  */
0267 #define LL_DMAMUX1_REQ_DFSDM1_FLT3     104U  /*!< DMAMUX1 DFSDM1 Filter3 request  */
0268 #define LL_DMAMUX1_REQ_TIM15_CH1       105U  /*!< DMAMUX1 TIM15 CH1 request       */
0269 #define LL_DMAMUX1_REQ_TIM15_UP        106U  /*!< DMAMUX1 TIM15 UP request        */
0270 #define LL_DMAMUX1_REQ_TIM15_TRIG      107U  /*!< DMAMUX1 TIM15 TRIG request      */
0271 #define LL_DMAMUX1_REQ_TIM15_COM       108U  /*!< DMAMUX1 TIM15 COM request       */
0272 #define LL_DMAMUX1_REQ_TIM16_CH1       109U  /*!< DMAMUX1 TIM16 CH1 request       */
0273 #define LL_DMAMUX1_REQ_TIM16_UP        110U  /*!< DMAMUX1 TIM16 UP request        */
0274 #define LL_DMAMUX1_REQ_TIM17_CH1       111U  /*!< DMAMUX1 TIM17 CH1 request       */
0275 #define LL_DMAMUX1_REQ_TIM17_UP        112U  /*!< DMAMUX1 TIM17 UP request        */
0276 #if defined (SAI3)
0277 #define LL_DMAMUX1_REQ_SAI3_A          113U  /*!< DMAMUX1 SAI3 A request          */
0278 #define LL_DMAMUX1_REQ_SAI3_B          114U  /*!< DMAMUX1 SAI3 B request          */
0279 #endif /* SAI3 */
0280 #if defined (ADC3)
0281 #define LL_DMAMUX1_REQ_ADC3            115U  /*!< DMAMUX1 ADC3  request           */
0282 #endif /* ADC3 */
0283 #if defined (UART9)
0284 #define LL_DMAMUX1_REQ_UART9_RX        116U  /*!< DMAMUX1 UART9 RX request        */
0285 #define LL_DMAMUX1_REQ_UART9_TX        117U  /*!< DMAMUX1 UART9 TX request        */
0286 #endif /* UART9 */
0287 #if defined (USART10)
0288 #define LL_DMAMUX1_REQ_USART10_RX      118U  /*!< DMAMUX1 USART10 RX request      */
0289 #define LL_DMAMUX1_REQ_USART10_TX      119U  /*!< DMAMUX1 USART10 TX request      */
0290 #endif /* USART10 */
0291 #if defined(FMAC)
0292 #define LL_DMAMUX1_REQ_FMAC_READ       120U  /*!< DMAMUX1 FMAC Read request       */
0293 #define LL_DMAMUX1_REQ_FMAC_WRITE      121U  /*!< DMAMUX1 FMAC Write request      */
0294 #endif /* FMAC */
0295 #if defined(CORDIC)
0296 #define LL_DMAMUX1_REQ_CORDIC_READ     122U  /*!< DMAMUX1 CORDIC Read request     */
0297 #define LL_DMAMUX1_REQ_CORDIC_WRITE    123U  /*!< DMAMUX1 CORDIC Write request    */
0298 #endif /* CORDIC */
0299 #if defined(I2C5)
0300 #define LL_DMAMUX1_REQ_I2C5_RX         124U  /*!< DMAMUX1 I2C5 RX request         */
0301 #define LL_DMAMUX1_REQ_I2C5_TX         125U  /*!< DMAMUX1 I2C5 TX request         */
0302 #endif /* I2C5 */
0303 #if defined(TIM23)
0304 #define LL_DMAMUX1_REQ_TIM23_CH1       126U  /*!< DMAMUX1 TIM23 CH1 request  */
0305 #define LL_DMAMUX1_REQ_TIM23_CH2       127U  /*!< DMAMUX1 TIM23 CH2 request  */
0306 #define LL_DMAMUX1_REQ_TIM23_CH3       128U  /*!< DMAMUX1 TIM23 CH3 request  */
0307 #define LL_DMAMUX1_REQ_TIM23_CH4       129U  /*!< DMAMUX1 TIM23 CH4 request  */
0308 #define LL_DMAMUX1_REQ_TIM23_UP        130U  /*!< DMAMUX1 TIM23 UP request   */
0309 #define LL_DMAMUX1_REQ_TIM23_TRIG      131U  /*!< DMAMUX1 TIM23 TRIG request */
0310 #endif /* TIM23 */
0311 #if defined(TIM24)
0312 #define LL_DMAMUX1_REQ_TIM24_CH1       132U  /*!< DMAMUX1 TIM24 CH1 request  */
0313 #define LL_DMAMUX1_REQ_TIM24_CH2       133U  /*!< DMAMUX1 TIM24 CH2 request  */
0314 #define LL_DMAMUX1_REQ_TIM24_CH3       134U  /*!< DMAMUX1 TIM24 CH3 request  */
0315 #define LL_DMAMUX1_REQ_TIM24_CH4       135U  /*!< DMAMUX1 TIM24 CH4 request  */
0316 #define LL_DMAMUX1_REQ_TIM24_UP        136U  /*!< DMAMUX1 TIM24 UP request   */
0317 #define LL_DMAMUX1_REQ_TIM24_TRIG      137U  /*!< DMAMUX1 TIM24 TRIG request */
0318 #endif /* TIM24 */
0319 /**
0320   * @}
0321   */
0322 
0323 /** @defgroup DMAMUX2_Request_selection DMAMUX2 Request selection
0324   * @ingroup RTEMSBSPsARMSTM32H7
0325   * @brief    DMAMUX2 Request selection
0326   * @{
0327   */
0328 /* DMAMUX2 requests */
0329 #define LL_DMAMUX2_REQ_MEM2MEM          0U  /*!< memory to memory transfer        */
0330 #define LL_DMAMUX2_REQ_GENERATOR0       1U  /*!< DMAMUX2 request generator 0      */
0331 #define LL_DMAMUX2_REQ_GENERATOR1       2U  /*!< DMAMUX2 request generator 1      */
0332 #define LL_DMAMUX2_REQ_GENERATOR2       3U  /*!< DMAMUX2 request generator 2      */
0333 #define LL_DMAMUX2_REQ_GENERATOR3       4U  /*!< DMAMUX2 request generator 3      */
0334 #define LL_DMAMUX2_REQ_GENERATOR4       5U  /*!< DMAMUX2 request generator 4      */
0335 #define LL_DMAMUX2_REQ_GENERATOR5       6U  /*!< DMAMUX2 request generator 5      */
0336 #define LL_DMAMUX2_REQ_GENERATOR6       7U  /*!< DMAMUX2 request generator 6      */
0337 #define LL_DMAMUX2_REQ_GENERATOR7       8U  /*!< DMAMUX2 request generator 7      */
0338 #define LL_DMAMUX2_REQ_LPUART1_RX       9U  /*!< DMAMUX2 LP_UART1_RX request      */
0339 #define LL_DMAMUX2_REQ_LPUART1_TX      10U  /*!< DMAMUX2 LP_UART1_TX request      */
0340 #define LL_DMAMUX2_REQ_SPI6_RX         11U  /*!< DMAMUX2 SPI6 RX request          */
0341 #define LL_DMAMUX2_REQ_SPI6_TX         12U  /*!< DMAMUX2 SPI6 TX request          */
0342 #define LL_DMAMUX2_REQ_I2C4_RX         13U  /*!< DMAMUX2 I2C4 RX request          */
0343 #define LL_DMAMUX2_REQ_I2C4_TX         14U  /*!< DMAMUX2 I2C4 TX request          */
0344 #if defined (SAI4)
0345 #define LL_DMAMUX2_REQ_SAI4_A          15U  /*!< DMAMUX2 SAI4 A request           */
0346 #define LL_DMAMUX2_REQ_SAI4_B          16U  /*!< DMAMUX2 SAI4 B request           */
0347 #endif /* SAI4 */
0348 #if defined (ADC3)
0349 #define LL_DMAMUX2_REQ_ADC3            17U  /*!< DMAMUX2 ADC3 request             */
0350 #endif /* ADC3 */
0351 #if defined (DAC2)
0352 #define LL_DMAMUX2_REQ_DAC2_CH1        17U  /*!< DMAMUX2 DAC2 CH1 request         */
0353 #endif /* DAC2 */
0354 #if defined (DFSDM2_Channel0)
0355 #define LL_DMAMUX2_REQ_DFSDM2_FLT0     18U  /*!< DMAMUX2 DFSDM2 Filter0 request   */
0356 #endif /* DFSDM2_Channel0 */
0357 /**
0358   * @}
0359   */
0360 
0361 
0362 /** @defgroup DMAMUX_LL_EC_CHANNEL DMAMUX Channel
0363   * @ingroup RTEMSBSPsARMSTM32H7
0364   * @{
0365   */
0366 #define LL_DMAMUX_CHANNEL_0     0x00000000U  /*!< DMAMUX1 Channel 0  connected to DMA1 Channel 0 , DMAMUX2 Channel 0 connected to BDMA Channel 0 */
0367 #define LL_DMAMUX_CHANNEL_1     0x00000001U  /*!< DMAMUX1 Channel 1  connected to DMA1 Channel 1 , DMAMUX2 Channel 1 connected to BDMA Channel 1 */
0368 #define LL_DMAMUX_CHANNEL_2     0x00000002U  /*!< DMAMUX1 Channel 2  connected to DMA1 Channel 2 , DMAMUX2 Channel 2 connected to BDMA Channel 2 */
0369 #define LL_DMAMUX_CHANNEL_3     0x00000003U  /*!< DMAMUX1 Channel 3  connected to DMA1 Channel 3 , DMAMUX2 Channel 3 connected to BDMA Channel 3 */
0370 #define LL_DMAMUX_CHANNEL_4     0x00000004U  /*!< DMAMUX1 Channel 4  connected to DMA1 Channel 4 , DMAMUX2 Channel 4 connected to BDMA Channel 4 */
0371 #define LL_DMAMUX_CHANNEL_5     0x00000005U  /*!< DMAMUX1 Channel 5  connected to DMA1 Channel 5 , DMAMUX2 Channel 5 connected to BDMA Channel 5 */
0372 #define LL_DMAMUX_CHANNEL_6     0x00000006U  /*!< DMAMUX1 Channel 6  connected to DMA1 Channel 6 , DMAMUX2 Channel 6 connected to BDMA Channel 6 */
0373 #define LL_DMAMUX_CHANNEL_7     0x00000007U  /*!< DMAMUX1 Channel 7  connected to DMA1 Channel 7 , DMAMUX2 Channel 7 connected to BDMA Channel 7 */
0374 #define LL_DMAMUX_CHANNEL_8     0x00000008U  /*!< DMAMUX1 Channel 8  connected to DMA2 Channel 0 */
0375 #define LL_DMAMUX_CHANNEL_9     0x00000009U  /*!< DMAMUX1 Channel 9  connected to DMA2 Channel 1 */
0376 #define LL_DMAMUX_CHANNEL_10    0x0000000AU  /*!< DMAMUX1 Channel 10 connected to DMA2 Channel 2 */
0377 #define LL_DMAMUX_CHANNEL_11    0x0000000BU  /*!< DMAMUX1 Channel 11 connected to DMA2 Channel 3 */
0378 #define LL_DMAMUX_CHANNEL_12    0x0000000CU  /*!< DMAMUX1 Channel 12 connected to DMA2 Channel 4 */
0379 #define LL_DMAMUX_CHANNEL_13    0x0000000DU  /*!< DMAMUX1 Channel 13 connected to DMA2 Channel 5 */
0380 #define LL_DMAMUX_CHANNEL_14    0x0000000EU  /*!< DMAMUX1 Channel 14 connected to DMA2 Channel 6 */
0381 #define LL_DMAMUX_CHANNEL_15    0x0000000FU  /*!< DMAMUX1 Channel 15 connected to DMA2 Channel 7 */
0382 /**
0383   * @}
0384   */
0385 
0386 /** @defgroup DMAMUX_LL_EC_SYNC_NO Synchronization Signal Polarity
0387   * @ingroup RTEMSBSPsARMSTM32H7
0388   * @{
0389   */
0390 #define LL_DMAMUX_SYNC_NO_EVENT            0x00000000U                               /*!< All requests are blocked                            */
0391 #define LL_DMAMUX_SYNC_POL_RISING          DMAMUX_CxCR_SPOL_0                        /*!< Synchronization on event on rising edge             */
0392 #define LL_DMAMUX_SYNC_POL_FALLING         DMAMUX_CxCR_SPOL_1                        /*!< Synchronization on event on falling edge            */
0393 #define LL_DMAMUX_SYNC_POL_RISING_FALLING  (DMAMUX_CxCR_SPOL_0 | DMAMUX_CxCR_SPOL_1) /*!< Synchronization on event on rising and falling edge */
0394 /**
0395   * @}
0396   */
0397 
0398 /** @defgroup DMAMUX_LL_EC_SYNC_EVT Synchronization Signal Event
0399   * @ingroup RTEMSBSPsARMSTM32H7
0400   * @{
0401   */
0402 #define LL_DMAMUX1_SYNC_DMAMUX1_CH0_EVT   0x00000000U   /*!< DMAMUX1 synchronization Signal is DMAMUX1 Channel0 Event */
0403 #define LL_DMAMUX1_SYNC_DMAMUX1_CH1_EVT   0x01000000U   /*!< DMAMUX1 synchronization Signal is DMAMUX1 Channel1 Event */
0404 #define LL_DMAMUX1_SYNC_DMAMUX1_CH2_EVT   0x02000000U   /*!< DMAMUX1 synchronization Signal is DMAMUX1 Channel2 Event */
0405 #define LL_DMAMUX1_SYNC_LPTIM1_OUT        0x03000000U   /*!< DMAMUX1 synchronization Signal is LPTIM1 OUT             */
0406 #define LL_DMAMUX1_SYNC_LPTIM2_OUT        0x04000000U   /*!< DMAMUX1 synchronization Signal is LPTIM2 OUT             */
0407 #define LL_DMAMUX1_SYNC_LPTIM3_OUT        0x05000000U   /*!< DMAMUX1 synchronization Signal is LPTIM3 OUT             */
0408 #define LL_DMAMUX1_SYNC_EXTI0             0x06000000U   /*!< DMAMUX1 synchronization Signal is EXTI0 IT               */
0409 #define LL_DMAMUX1_SYNC_TIM12_TRGO        0x07000000U   /*!< DMAMUX1 synchronization Signal is TIM12 TRGO             */
0410 
0411 #define LL_DMAMUX2_SYNC_DMAMUX2_CH0_EVT   0x00000000U   /*!< DMAMUX2 synchronization Signal is DMAMUX2 Channel0 Event */
0412 #define LL_DMAMUX2_SYNC_DMAMUX2_CH1_EVT   0x01000000U   /*!< DMAMUX2 synchronization Signal is DMAMUX2 Channel1 Event */
0413 #define LL_DMAMUX2_SYNC_DMAMUX2_CH2_EVT   0x02000000U   /*!< DMAMUX2 synchronization Signal is DMAMUX2 Channel2 Event */
0414 #define LL_DMAMUX2_SYNC_DMAMUX2_CH3_EVT   0x03000000U   /*!< DMAMUX2 synchronization Signal is DMAMUX2 Channel3 Event */
0415 #define LL_DMAMUX2_SYNC_DMAMUX2_CH4_EVT   0x04000000U   /*!< DMAMUX2 synchronization Signal is DMAMUX2 Channel4 Event */
0416 #define LL_DMAMUX2_SYNC_DMAMUX2_CH5_EVT   0x05000000U   /*!< DMAMUX2 synchronization Signal is DMAMUX2 Channel5 Event */
0417 #define LL_DMAMUX2_SYNC_LPUART1_RX_WKUP   0x06000000U   /*!< DMAMUX2 synchronization Signal is LPUART1 RX Wakeup      */
0418 #define LL_DMAMUX2_SYNC_LPUART1_TX_WKUP   0x07000000U   /*!< DMAMUX2 synchronization Signal is LPUART1 TX Wakeup      */
0419 #define LL_DMAMUX2_SYNC_LPTIM2_OUT        0x08000000U   /*!< DMAMUX2 synchronization Signal is LPTIM2 output          */
0420 #define LL_DMAMUX2_SYNC_LPTIM3_OUT        0x09000000U   /*!< DMAMUX2 synchronization Signal is LPTIM3 output          */
0421 #define LL_DMAMUX2_SYNC_I2C4_WKUP         0x0A000000U   /*!< DMAMUX2 synchronization Signal is I2C4 Wakeup            */
0422 #define LL_DMAMUX2_SYNC_SPI6_WKUP         0x0B000000U   /*!< DMAMUX2 synchronization Signal is SPI6 Wakeup            */
0423 #define LL_DMAMUX2_SYNC_COMP1_OUT         0x0C000000U   /*!< DMAMUX2 synchronization Signal is Comparator 1 output    */
0424 #define LL_DMAMUX2_SYNC_RTC_WKUP          0x0D000000U   /*!< DMAMUX2 synchronization Signal is RTC Wakeup             */
0425 #define LL_DMAMUX2_SYNC_EXTI0             0x0E000000U   /*!< DMAMUX2 synchronization Signal is EXTI0 IT               */
0426 #define LL_DMAMUX2_SYNC_EXTI2             0x0F000000U   /*!< DMAMUX2 synchronization Signal is EXTI2 IT               */
0427 
0428 /**
0429   * @}
0430   */
0431 
0432 /** @defgroup DMAMUX_LL_EC_REQUEST_GENERATOR Request Generator Channel
0433   * @ingroup RTEMSBSPsARMSTM32H7
0434   * @{
0435   */
0436 #define LL_DMAMUX_REQ_GEN_0           0x00000000U
0437 #define LL_DMAMUX_REQ_GEN_1           0x00000001U
0438 #define LL_DMAMUX_REQ_GEN_2           0x00000002U
0439 #define LL_DMAMUX_REQ_GEN_3           0x00000003U
0440 #define LL_DMAMUX_REQ_GEN_4           0x00000004U
0441 #define LL_DMAMUX_REQ_GEN_5           0x00000005U
0442 #define LL_DMAMUX_REQ_GEN_6           0x00000006U
0443 #define LL_DMAMUX_REQ_GEN_7           0x00000007U
0444 /**
0445   * @}
0446   */
0447 
0448 /** @defgroup DMAMUX_LL_EC_REQUEST_GEN_POLARITY External Request Signal Generation Polarity
0449   * @ingroup RTEMSBSPsARMSTM32H7
0450   * @{
0451   */
0452 #define LL_DMAMUX_REQ_GEN_NO_EVENT             0x00000000U                                  /*!< No external DMA request  generation                        */
0453 #define LL_DMAMUX_REQ_GEN_POL_RISING           DMAMUX_RGxCR_GPOL_0                          /*!< External DMA request generation on event on rising edge    */
0454 #define LL_DMAMUX_REQ_GEN_POL_FALLING          DMAMUX_RGxCR_GPOL_1                          /*!< External DMA request generation on event on falling edge   */
0455 #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 */
0456 /**
0457   * @}
0458   */
0459 
0460 /** @defgroup DMAMUX_LL_EC_REQUEST_GEN External Request Signal Generation
0461   * @ingroup RTEMSBSPsARMSTM32H7
0462   * @{
0463   */
0464 #define LL_DMAMUX1_REQ_GEN_DMAMUX1_CH0_EVT   0U   /*!< DMAMUX1 Request generator Signal is DMAMUX1 Channel0 Event        */
0465 #define LL_DMAMUX1_REQ_GEN_DMAMUX1_CH1_EVT   1U   /*!< DMAMUX1 Request generator Signal is DMAMUX1 Channel1 Event        */
0466 #define LL_DMAMUX1_REQ_GEN_DMAMUX1_CH2_EVT   2U   /*!< DMAMUX1 Request generator Signal is DMAMUX1 Channel2 Event        */
0467 #define LL_DMAMUX1_REQ_GEN_LPTIM1_OUT        3U   /*!< DMAMUX1 Request generator Signal is LPTIM1 OUT                    */
0468 #define LL_DMAMUX1_REQ_GEN_LPTIM2_OUT        4U   /*!< DMAMUX1 Request generator Signal is LPTIM2 OUT                    */
0469 #define LL_DMAMUX1_REQ_GEN_LPTIM3_OUT        5U   /*!< DMAMUX1 Request generator Signal is LPTIM3 OUT                    */
0470 #define LL_DMAMUX1_REQ_GEN_EXTI0             6U   /*!< DMAMUX1 Request generator Signal is EXTI0 IT                      */
0471 #define LL_DMAMUX1_REQ_GEN_TIM12_TRGO        7U   /*!< DMAMUX1 Request generator Signal is TIM12 TRGO                    */
0472 
0473 #define LL_DMAMUX2_REQ_GEN_DMAMUX2_CH0_EVT   0U   /*!< DMAMUX2 Request generator Signal is DMAMUX2 Channel0 Event        */
0474 #define LL_DMAMUX2_REQ_GEN_DMAMUX2_CH1_EVT   1U   /*!< DMAMUX2 Request generator Signal is DMAMUX2 Channel1 Event        */
0475 #define LL_DMAMUX2_REQ_GEN_DMAMUX2_CH2_EVT   2U   /*!< DMAMUX2 Request generator Signal is DMAMUX2 Channel2 Event        */
0476 #define LL_DMAMUX2_REQ_GEN_DMAMUX2_CH3_EVT   3U   /*!< DMAMUX2 Request generator Signal is DMAMUX2 Channel3 Event        */
0477 #define LL_DMAMUX2_REQ_GEN_DMAMUX2_CH4_EVT   4U   /*!< DMAMUX2 Request generator Signal is DMAMUX2 Channel4 Event        */
0478 #define LL_DMAMUX2_REQ_GEN_DMAMUX2_CH5_EVT   5U   /*!< DMAMUX2 Request generator Signal is DMAMUX2 Channel5 Event        */
0479 #define LL_DMAMUX2_REQ_GEN_DMAMUX2_CH6_EVT   6U   /*!< DMAMUX2 Request generator Signal is DMAMUX2 Channel6 Event        */
0480 #define LL_DMAMUX2_REQ_GEN_LPUART1_RX_WKUP   7U   /*!< DMAMUX2 Request generator Signal is LPUART1 RX Wakeup             */
0481 #define LL_DMAMUX2_REQ_GEN_LPUART1_TX_WKUP   8U   /*!< DMAMUX2 Request generator Signal is LPUART1 TX Wakeup             */
0482 #define LL_DMAMUX2_REQ_GEN_LPTIM2_WKUP       9U   /*!< DMAMUX2 Request generator Signal is LPTIM2 Wakeup                 */
0483 #define LL_DMAMUX2_REQ_GEN_LPTIM2_OUT       10U   /*!< DMAMUX2 Request generator Signal is LPTIM2 OUT                    */
0484 #define LL_DMAMUX2_REQ_GEN_LPTIM3_WKUP      11U   /*!< DMAMUX2 Request generator Signal is LPTIM3 Wakeup                 */
0485 #define LL_DMAMUX2_REQ_GEN_LPTIM3_OUT       12U   /*!< DMAMUX2 Request generator Signal is LPTIM3 OUT                    */
0486 #if defined (LPTIM4)
0487 #define LL_DMAMUX2_REQ_GEN_LPTIM4_WKUP      13U   /*!< DMAMUX2 Request generator Signal is LPTIM4 Wakeup                 */
0488 #endif /* LPTIM4 */
0489 #if defined (LPTIM5)
0490 #define LL_DMAMUX2_REQ_GEN_LPTIM5_WKUP      14U   /*!< DMAMUX2 Request generator Signal is LPTIM5 Wakeup                 */
0491 #endif /* LPTIM5 */
0492 #define LL_DMAMUX2_REQ_GEN_I2C4_WKUP        15U   /*!< DMAMUX2 Request generator Signal is I2C4 Wakeup                   */
0493 #define LL_DMAMUX2_REQ_GEN_SPI6_WKUP        16U   /*!< DMAMUX2 Request generator Signal is SPI6 Wakeup                   */
0494 #define LL_DMAMUX2_REQ_GEN_COMP1_OUT        17U   /*!< DMAMUX2 Request generator Signal is Comparator 1 output           */
0495 #define LL_DMAMUX2_REQ_GEN_COMP2_OUT        18U   /*!< DMAMUX2 Request generator Signal is Comparator 2 output           */
0496 #define LL_DMAMUX2_REQ_GEN_RTC_WKUP         19U   /*!< DMAMUX2 Request generator Signal is RTC Wakeup                    */
0497 #define LL_DMAMUX2_REQ_GEN_EXTI0            20U   /*!< DMAMUX2 Request generator Signal is EXTI0                         */
0498 #define LL_DMAMUX2_REQ_GEN_EXTI2            21U   /*!< DMAMUX2 Request generator Signal is EXTI2                         */
0499 #define LL_DMAMUX2_REQ_GEN_I2C4_IT_EVT      22U   /*!< DMAMUX2 Request generator Signal is I2C4 IT Event                 */
0500 #define LL_DMAMUX2_REQ_GEN_SPI6_IT          23U   /*!< DMAMUX2 Request generator Signal is SPI6 IT                       */
0501 #define LL_DMAMUX2_REQ_GEN_LPUART1_TX_IT    24U   /*!< DMAMUX2 Request generator Signal is LPUART1 Tx IT                 */
0502 #define LL_DMAMUX2_REQ_GEN_LPUART1_RX_IT    25U   /*!< DMAMUX2 Request generator Signal is LPUART1 Rx IT                 */
0503 #if defined (ADC3)
0504 #define LL_DMAMUX2_REQ_GEN_ADC3_IT          26U   /*!< DMAMUX2 Request generator Signal is ADC3 IT                       */
0505 #define LL_DMAMUX2_REQ_GEN_ADC3_AWD1_OUT    27U   /*!< DMAMUX2 Request generator Signal is ADC3 Analog Watchdog 1 output */
0506 #endif /* ADC3 */
0507 #define LL_DMAMUX2_REQ_GEN_BDMA_CH0_IT      28U   /*!< DMAMUX2 Request generator Signal is BDMA Channel 0 IT             */
0508 #define LL_DMAMUX2_REQ_GEN_BDMA_CH1_IT      29U   /*!< DMAMUX2 Request generator Signal is BDMA Channel 1 IT             */
0509 /**
0510   * @}
0511   */
0512 
0513 /**
0514   * @}
0515   */
0516 
0517 /* Exported macro ------------------------------------------------------------*/
0518 /** @defgroup DMAMUX_LL_Exported_Macros DMAMUX Exported Macros
0519   * @ingroup RTEMSBSPsARMSTM32H7
0520   * @{
0521   */
0522 
0523 /** @defgroup DMAMUX_LL_EM_WRITE_READ Common Write and read registers macros
0524   * @ingroup RTEMSBSPsARMSTM32H7
0525   * @{
0526   */
0527 /**
0528   * @brief  Write a value in DMAMUX register
0529   * @param  __INSTANCE__ DMAMUX Instance
0530   * @param  __REG__ Register to be written
0531   * @param  __VALUE__ Value to be written in the register
0532   * @retval None
0533   */
0534 #define LL_DMAMUX_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VALUE__))
0535 
0536 /**
0537   * @brief  Read a value in DMAMUX register
0538   * @param  __INSTANCE__ DMAMUX Instance
0539   * @param  __REG__ Register to be read
0540   * @retval Register value
0541   */
0542 #define LL_DMAMUX_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__)
0543 /**
0544   * @}
0545   */
0546 
0547 /**
0548   * @}
0549   */
0550 
0551 /* Exported functions --------------------------------------------------------*/
0552 /** @defgroup DMAMUX_LL_Exported_Functions DMAMUX Exported Functions
0553   * @ingroup RTEMSBSPsARMSTM32H7
0554  * @{
0555  */
0556 
0557 /** @defgroup DMAMUX_LL_EF_Configuration Configuration
0558   * @ingroup RTEMSBSPsARMSTM32H7
0559   * @{
0560   */
0561 /**
0562   * @brief  Set DMAMUX request ID for DMAMUX Channel x.
0563   * @note   DMAMUX1 channel 0 to 7 are mapped to DMA1 channel 0 to 7.
0564   *         DMAMUX1 channel 8 to 15 are mapped to DMA2 channel 0 to 7.
0565   *         DMAMUX2 channel 0 to 7 are mapped to  BDMA channel 0 to 7.
0566   * @rmtoll CxCR         DMAREQ_ID     LL_DMAMUX_SetRequestID
0567   * @param  DMAMUXx DMAMUXx Instance
0568   * @param  Channel This parameter can be one of the following values:
0569   *         @arg @ref LL_DMAMUX_CHANNEL_0
0570   *         @arg @ref LL_DMAMUX_CHANNEL_1
0571   *         @arg @ref LL_DMAMUX_CHANNEL_2
0572   *         @arg @ref LL_DMAMUX_CHANNEL_3
0573   *         @arg @ref LL_DMAMUX_CHANNEL_4
0574   *         @arg @ref LL_DMAMUX_CHANNEL_5
0575   *         @arg @ref LL_DMAMUX_CHANNEL_6
0576   *         @arg @ref LL_DMAMUX_CHANNEL_7
0577   *         @arg @ref LL_DMAMUX_CHANNEL_8
0578   *         @arg @ref LL_DMAMUX_CHANNEL_9
0579   *         @arg @ref LL_DMAMUX_CHANNEL_10
0580   *         @arg @ref LL_DMAMUX_CHANNEL_11
0581   *         @arg @ref LL_DMAMUX_CHANNEL_12
0582   *         @arg @ref LL_DMAMUX_CHANNEL_13
0583   *         @arg @ref LL_DMAMUX_CHANNEL_14
0584   *         @arg @ref LL_DMAMUX_CHANNEL_15
0585   * @param  Request This parameter can be one of the following values:
0586   *         @arg @ref LL_DMAMUX1_REQ_MEM2MEM
0587   *         @arg @ref LL_DMAMUX1_REQ_GENERATOR0
0588   *         @arg @ref LL_DMAMUX1_REQ_GENERATOR1
0589   *         @arg @ref LL_DMAMUX1_REQ_GENERATOR2
0590   *         @arg @ref LL_DMAMUX1_REQ_GENERATOR3
0591   *         @arg @ref LL_DMAMUX1_REQ_GENERATOR4
0592   *         @arg @ref LL_DMAMUX1_REQ_GENERATOR5
0593   *         @arg @ref LL_DMAMUX1_REQ_GENERATOR6
0594   *         @arg @ref LL_DMAMUX1_REQ_GENERATOR7
0595   *         @arg @ref LL_DMAMUX1_REQ_ADC1
0596   *         @arg @ref LL_DMAMUX1_REQ_ADC2
0597   *         @arg @ref LL_DMAMUX1_REQ_TIM1_CH1
0598   *         @arg @ref LL_DMAMUX1_REQ_TIM1_CH2
0599   *         @arg @ref LL_DMAMUX1_REQ_TIM1_CH3
0600   *         @arg @ref LL_DMAMUX1_REQ_TIM1_CH4
0601   *         @arg @ref LL_DMAMUX1_REQ_TIM1_UP
0602   *         @arg @ref LL_DMAMUX1_REQ_TIM1_TRIG
0603   *         @arg @ref LL_DMAMUX1_REQ_TIM1_COM
0604   *         @arg @ref LL_DMAMUX1_REQ_TIM2_CH1
0605   *         @arg @ref LL_DMAMUX1_REQ_TIM2_CH2
0606   *         @arg @ref LL_DMAMUX1_REQ_TIM2_CH3
0607   *         @arg @ref LL_DMAMUX1_REQ_TIM2_CH4
0608   *         @arg @ref LL_DMAMUX1_REQ_TIM2_UP
0609   *         @arg @ref LL_DMAMUX1_REQ_TIM3_CH1
0610   *         @arg @ref LL_DMAMUX1_REQ_TIM3_CH2
0611   *         @arg @ref LL_DMAMUX1_REQ_TIM3_CH3
0612   *         @arg @ref LL_DMAMUX1_REQ_TIM3_CH4
0613   *         @arg @ref LL_DMAMUX1_REQ_TIM3_UP
0614   *         @arg @ref LL_DMAMUX1_REQ_TIM3_TRIG
0615   *         @arg @ref LL_DMAMUX1_REQ_TIM4_CH1
0616   *         @arg @ref LL_DMAMUX1_REQ_TIM4_CH2
0617   *         @arg @ref LL_DMAMUX1_REQ_TIM4_CH3
0618   *         @arg @ref LL_DMAMUX1_REQ_TIM4_UP
0619   *         @arg @ref LL_DMAMUX1_REQ_I2C1_RX
0620   *         @arg @ref LL_DMAMUX1_REQ_I2C1_TX
0621   *         @arg @ref LL_DMAMUX1_REQ_I2C2_RX
0622   *         @arg @ref LL_DMAMUX1_REQ_I2C2_TX
0623   *         @arg @ref LL_DMAMUX1_REQ_SPI1_RX
0624   *         @arg @ref LL_DMAMUX1_REQ_SPI1_TX
0625   *         @arg @ref LL_DMAMUX1_REQ_SPI2_RX
0626   *         @arg @ref LL_DMAMUX1_REQ_SPI2_TX
0627   *         @arg @ref LL_DMAMUX1_REQ_USART1_RX
0628   *         @arg @ref LL_DMAMUX1_REQ_USART1_TX
0629   *         @arg @ref LL_DMAMUX1_REQ_USART2_RX
0630   *         @arg @ref LL_DMAMUX1_REQ_USART2_TX
0631   *         @arg @ref LL_DMAMUX1_REQ_USART3_RX
0632   *         @arg @ref LL_DMAMUX1_REQ_USART3_TX
0633   *         @arg @ref LL_DMAMUX1_REQ_TIM8_CH1
0634   *         @arg @ref LL_DMAMUX1_REQ_TIM8_CH2
0635   *         @arg @ref LL_DMAMUX1_REQ_TIM8_CH3
0636   *         @arg @ref LL_DMAMUX1_REQ_TIM8_CH4
0637   *         @arg @ref LL_DMAMUX1_REQ_TIM8_UP
0638   *         @arg @ref LL_DMAMUX1_REQ_TIM8_TRIG
0639   *         @arg @ref LL_DMAMUX1_REQ_TIM8_COM
0640   *         @arg @ref LL_DMAMUX1_REQ_TIM5_CH1
0641   *         @arg @ref LL_DMAMUX1_REQ_TIM5_CH2
0642   *         @arg @ref LL_DMAMUX1_REQ_TIM5_CH3
0643   *         @arg @ref LL_DMAMUX1_REQ_TIM5_CH4
0644   *         @arg @ref LL_DMAMUX1_REQ_TIM5_UP
0645   *         @arg @ref LL_DMAMUX1_REQ_TIM5_TRIG
0646   *         @arg @ref LL_DMAMUX1_REQ_SPI3_RX
0647   *         @arg @ref LL_DMAMUX1_REQ_SPI3_TX
0648   *         @arg @ref LL_DMAMUX1_REQ_UART4_RX
0649   *         @arg @ref LL_DMAMUX1_REQ_UART4_TX
0650   *         @arg @ref LL_DMAMUX1_REQ_UART5_RX
0651   *         @arg @ref LL_DMAMUX1_REQ_UART5_TX
0652   *         @arg @ref LL_DMAMUX1_REQ_DAC1_CH1
0653   *         @arg @ref LL_DMAMUX1_REQ_DAC1_CH2
0654   *         @arg @ref LL_DMAMUX1_REQ_TIM6_UP
0655   *         @arg @ref LL_DMAMUX1_REQ_TIM7_UP
0656   *         @arg @ref LL_DMAMUX1_REQ_USART6_RX
0657   *         @arg @ref LL_DMAMUX1_REQ_USART6_TX
0658   *         @arg @ref LL_DMAMUX1_REQ_I2C3_RX
0659   *         @arg @ref LL_DMAMUX1_REQ_I2C3_TX
0660   *         @arg @ref LL_DMAMUX1_REQ_DCMI_PSSI (*)
0661   *         @arg @ref LL_DMAMUX1_REQ_CRYP_IN
0662   *         @arg @ref LL_DMAMUX1_REQ_CRYP_OUT
0663   *         @arg @ref LL_DMAMUX1_REQ_HASH_IN
0664   *         @arg @ref LL_DMAMUX1_REQ_UART7_RX
0665   *         @arg @ref LL_DMAMUX1_REQ_UART7_TX
0666   *         @arg @ref LL_DMAMUX1_REQ_UART8_RX
0667   *         @arg @ref LL_DMAMUX1_REQ_UART8_TX
0668   *         @arg @ref LL_DMAMUX1_REQ_SPI4_RX
0669   *         @arg @ref LL_DMAMUX1_REQ_SPI4_TX
0670   *         @arg @ref LL_DMAMUX1_REQ_SPI5_RX
0671   *         @arg @ref LL_DMAMUX1_REQ_SPI5_TX
0672   *         @arg @ref LL_DMAMUX1_REQ_SAI1_A
0673   *         @arg @ref LL_DMAMUX1_REQ_SAI1_B
0674   *         @arg @ref LL_DMAMUX1_REQ_SAI2_A (*)
0675   *         @arg @ref LL_DMAMUX1_REQ_SAI2_B (*)
0676   *         @arg @ref LL_DMAMUX1_REQ_SWPMI_RX
0677   *         @arg @ref LL_DMAMUX1_REQ_SWPMI_TX
0678   *         @arg @ref LL_DMAMUX1_REQ_SPDIF_RX_DT
0679   *         @arg @ref LL_DMAMUX1_REQ_SPDIF_RX_CS
0680   *         @arg @ref LL_DMAMUX1_REQ_HRTIM_MASTER (*)
0681   *         @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_A (*)
0682   *         @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_B (*)
0683   *         @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_C (*)
0684   *         @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_D (*)
0685   *         @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_E (*)
0686   *         @arg @ref LL_DMAMUX1_REQ_DFSDM1_FLT0
0687   *         @arg @ref LL_DMAMUX1_REQ_DFSDM1_FLT1
0688   *         @arg @ref LL_DMAMUX1_REQ_DFSDM1_FLT2
0689   *         @arg @ref LL_DMAMUX1_REQ_DFSDM1_FLT3
0690   *         @arg @ref LL_DMAMUX1_REQ_TIM15_CH1
0691   *         @arg @ref LL_DMAMUX1_REQ_TIM15_UP
0692   *         @arg @ref LL_DMAMUX1_REQ_TIM15_TRIG
0693   *         @arg @ref LL_DMAMUX1_REQ_TIM15_COM
0694   *         @arg @ref LL_DMAMUX1_REQ_TIM16_CH1
0695   *         @arg @ref LL_DMAMUX1_REQ_TIM16_UP
0696   *         @arg @ref LL_DMAMUX1_REQ_TIM17_CH1
0697   *         @arg @ref LL_DMAMUX1_REQ_TIM17_UP
0698   *         @arg @ref LL_DMAMUX1_REQ_SAI3_A (*)
0699   *         @arg @ref LL_DMAMUX1_REQ_SAI3_B (*)
0700   *         @arg @ref LL_DMAMUX1_REQ_ADC3 (*)
0701   *         @arg @ref LL_DMAMUX1_REQ_UART9_RX (*)
0702   *         @arg @ref LL_DMAMUX1_REQ_UART9_TX (*)
0703   *         @arg @ref LL_DMAMUX1_REQ_USART10_RX (*)
0704   *         @arg @ref LL_DMAMUX1_REQ_USART10_TX (*)
0705   *         @arg @ref LL_DMAMUX1_REQ_FMAC_READ  (*)
0706   *         @arg @ref LL_DMAMUX1_REQ_FMAC_WRITE (*)
0707   *         @arg @ref LL_DMAMUX1_REQ_CORDIC_READ (*)
0708   *         @arg @ref LL_DMAMUX1_REQ_CORDIC_WRITE(*)
0709   *         @arg @ref LL_DMAMUX1_REQ_I2C5_RX     (*)
0710   *         @arg @ref LL_DMAMUX1_REQ_I2C5_TX     (*)
0711   *         @arg @ref LL_DMAMUX1_REQ_TIM23_CH1   (*)
0712   *         @arg @ref LL_DMAMUX1_REQ_TIM23_CH2   (*)
0713   *         @arg @ref LL_DMAMUX1_REQ_TIM23_CH3   (*)
0714   *         @arg @ref LL_DMAMUX1_REQ_TIM23_CH4   (*)
0715   *         @arg @ref LL_DMAMUX1_REQ_TIM23_UP    (*)
0716   *         @arg @ref LL_DMAMUX1_REQ_TIM23_TRIG  (*)
0717   *         @arg @ref LL_DMAMUX1_REQ_TIM24_CH1   (*)
0718   *         @arg @ref LL_DMAMUX1_REQ_TIM24_CH2   (*)
0719   *         @arg @ref LL_DMAMUX1_REQ_TIM24_CH3   (*)
0720   *         @arg @ref LL_DMAMUX1_REQ_TIM24_CH4   (*)
0721   *         @arg @ref LL_DMAMUX1_REQ_TIM24_UP    (*)
0722   *         @arg @ref LL_DMAMUX1_REQ_TIM24_TRIG  (*)
0723   *         @arg @ref LL_DMAMUX2_REQ_MEM2MEM
0724   *         @arg @ref LL_DMAMUX2_REQ_GENERATOR0
0725   *         @arg @ref LL_DMAMUX2_REQ_GENERATOR1
0726   *         @arg @ref LL_DMAMUX2_REQ_GENERATOR2
0727   *         @arg @ref LL_DMAMUX2_REQ_GENERATOR3
0728   *         @arg @ref LL_DMAMUX2_REQ_GENERATOR4
0729   *         @arg @ref LL_DMAMUX2_REQ_GENERATOR5
0730   *         @arg @ref LL_DMAMUX2_REQ_GENERATOR6
0731   *         @arg @ref LL_DMAMUX2_REQ_GENERATOR7
0732   *         @arg @ref LL_DMAMUX2_REQ_LPUART1_RX
0733   *         @arg @ref LL_DMAMUX2_REQ_LPUART1_TX
0734   *         @arg @ref LL_DMAMUX2_REQ_SPI6_RX
0735   *         @arg @ref LL_DMAMUX2_REQ_SPI6_TX
0736   *         @arg @ref LL_DMAMUX2_REQ_I2C4_RX
0737   *         @arg @ref LL_DMAMUX2_REQ_I2C4_TX
0738   *         @arg @ref LL_DMAMUX2_REQ_SAI4_A (*)
0739   *         @arg @ref LL_DMAMUX2_REQ_SAI4_B (*)
0740   *         @arg @ref LL_DMAMUX2_REQ_ADC3 (*)
0741   *         @arg @ref LL_DMAMUX2_REQ_DAC2_CH1 (*)
0742   *         @arg @ref LL_DMAMUX2_REQ_DFSDM2_FLT0 (*)
0743   *
0744   * @note   (*) Availability depends on devices.
0745   * @retval None
0746   */
0747 __STATIC_INLINE void LL_DMAMUX_SetRequestID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel, uint32_t Request)
0748 {
0749   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
0750 
0751   MODIFY_REG(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_DMAREQ_ID, Request);
0752 }
0753 
0754 /**
0755   * @brief  Get DMAMUX request ID for DMAMUX Channel x.
0756   * @note   DMAMUX1 channel 0 to 7  are mapped to DMA1 channel 0 to 7.
0757   *         DMAMUX1 channel 8 to 15 are mapped to DMA2 channel 0 to 7.
0758   *         DMAMUX2 channel 0 to 7  are mapped to BDMA channel 0 to 7.
0759   * @rmtoll CxCR         DMAREQ_ID     LL_DMAMUX_GetRequestID
0760   * @param  DMAMUXx DMAMUXx Instance
0761   * @param  Channel This parameter can be one of the following values:
0762   *         @arg @ref LL_DMAMUX_CHANNEL_0
0763   *         @arg @ref LL_DMAMUX_CHANNEL_1
0764   *         @arg @ref LL_DMAMUX_CHANNEL_2
0765   *         @arg @ref LL_DMAMUX_CHANNEL_3
0766   *         @arg @ref LL_DMAMUX_CHANNEL_4
0767   *         @arg @ref LL_DMAMUX_CHANNEL_5
0768   *         @arg @ref LL_DMAMUX_CHANNEL_6
0769   *         @arg @ref LL_DMAMUX_CHANNEL_7
0770   *         @arg @ref LL_DMAMUX_CHANNEL_8
0771   *         @arg @ref LL_DMAMUX_CHANNEL_9
0772   *         @arg @ref LL_DMAMUX_CHANNEL_10
0773   *         @arg @ref LL_DMAMUX_CHANNEL_11
0774   *         @arg @ref LL_DMAMUX_CHANNEL_12
0775   *         @arg @ref LL_DMAMUX_CHANNEL_13
0776   *         @arg @ref LL_DMAMUX_CHANNEL_14
0777   *         @arg @ref LL_DMAMUX_CHANNEL_15
0778   * @retval Returned value can be one of the following values:
0779   *         @arg @ref LL_DMAMUX1_REQ_MEM2MEM
0780   *         @arg @ref LL_DMAMUX1_REQ_GENERATOR0
0781   *         @arg @ref LL_DMAMUX1_REQ_GENERATOR1
0782   *         @arg @ref LL_DMAMUX1_REQ_GENERATOR2
0783   *         @arg @ref LL_DMAMUX1_REQ_GENERATOR3
0784   *         @arg @ref LL_DMAMUX1_REQ_GENERATOR4
0785   *         @arg @ref LL_DMAMUX1_REQ_GENERATOR5
0786   *         @arg @ref LL_DMAMUX1_REQ_GENERATOR6
0787   *         @arg @ref LL_DMAMUX1_REQ_GENERATOR7
0788   *         @arg @ref LL_DMAMUX1_REQ_ADC1
0789   *         @arg @ref LL_DMAMUX1_REQ_ADC2
0790   *         @arg @ref LL_DMAMUX1_REQ_TIM1_CH1
0791   *         @arg @ref LL_DMAMUX1_REQ_TIM1_CH2
0792   *         @arg @ref LL_DMAMUX1_REQ_TIM1_CH3
0793   *         @arg @ref LL_DMAMUX1_REQ_TIM1_CH4
0794   *         @arg @ref LL_DMAMUX1_REQ_TIM1_UP
0795   *         @arg @ref LL_DMAMUX1_REQ_TIM1_TRIG
0796   *         @arg @ref LL_DMAMUX1_REQ_TIM1_COM
0797   *         @arg @ref LL_DMAMUX1_REQ_TIM2_CH1
0798   *         @arg @ref LL_DMAMUX1_REQ_TIM2_CH2
0799   *         @arg @ref LL_DMAMUX1_REQ_TIM2_CH3
0800   *         @arg @ref LL_DMAMUX1_REQ_TIM2_CH4
0801   *         @arg @ref LL_DMAMUX1_REQ_TIM2_UP
0802   *         @arg @ref LL_DMAMUX1_REQ_TIM3_CH1
0803   *         @arg @ref LL_DMAMUX1_REQ_TIM3_CH2
0804   *         @arg @ref LL_DMAMUX1_REQ_TIM3_CH3
0805   *         @arg @ref LL_DMAMUX1_REQ_TIM3_CH4
0806   *         @arg @ref LL_DMAMUX1_REQ_TIM3_UP
0807   *         @arg @ref LL_DMAMUX1_REQ_TIM3_TRIG
0808   *         @arg @ref LL_DMAMUX1_REQ_TIM4_CH1
0809   *         @arg @ref LL_DMAMUX1_REQ_TIM4_CH2
0810   *         @arg @ref LL_DMAMUX1_REQ_TIM4_CH3
0811   *         @arg @ref LL_DMAMUX1_REQ_TIM4_UP
0812   *         @arg @ref LL_DMAMUX1_REQ_I2C1_RX
0813   *         @arg @ref LL_DMAMUX1_REQ_I2C1_TX
0814   *         @arg @ref LL_DMAMUX1_REQ_I2C2_RX
0815   *         @arg @ref LL_DMAMUX1_REQ_I2C2_TX
0816   *         @arg @ref LL_DMAMUX1_REQ_SPI1_RX
0817   *         @arg @ref LL_DMAMUX1_REQ_SPI1_TX
0818   *         @arg @ref LL_DMAMUX1_REQ_SPI2_RX
0819   *         @arg @ref LL_DMAMUX1_REQ_SPI2_TX
0820   *         @arg @ref LL_DMAMUX1_REQ_USART1_RX
0821   *         @arg @ref LL_DMAMUX1_REQ_USART1_TX
0822   *         @arg @ref LL_DMAMUX1_REQ_USART2_RX
0823   *         @arg @ref LL_DMAMUX1_REQ_USART2_TX
0824   *         @arg @ref LL_DMAMUX1_REQ_USART3_RX
0825   *         @arg @ref LL_DMAMUX1_REQ_USART3_TX
0826   *         @arg @ref LL_DMAMUX1_REQ_TIM8_CH1
0827   *         @arg @ref LL_DMAMUX1_REQ_TIM8_CH2
0828   *         @arg @ref LL_DMAMUX1_REQ_TIM8_CH3
0829   *         @arg @ref LL_DMAMUX1_REQ_TIM8_CH4
0830   *         @arg @ref LL_DMAMUX1_REQ_TIM8_UP
0831   *         @arg @ref LL_DMAMUX1_REQ_TIM8_TRIG
0832   *         @arg @ref LL_DMAMUX1_REQ_TIM8_COM
0833   *         @arg @ref LL_DMAMUX1_REQ_TIM5_CH1
0834   *         @arg @ref LL_DMAMUX1_REQ_TIM5_CH2
0835   *         @arg @ref LL_DMAMUX1_REQ_TIM5_CH3
0836   *         @arg @ref LL_DMAMUX1_REQ_TIM5_CH4
0837   *         @arg @ref LL_DMAMUX1_REQ_TIM5_UP
0838   *         @arg @ref LL_DMAMUX1_REQ_TIM5_TRIG
0839   *         @arg @ref LL_DMAMUX1_REQ_SPI3_RX
0840   *         @arg @ref LL_DMAMUX1_REQ_SPI3_TX
0841   *         @arg @ref LL_DMAMUX1_REQ_UART4_RX
0842   *         @arg @ref LL_DMAMUX1_REQ_UART4_TX
0843   *         @arg @ref LL_DMAMUX1_REQ_UART5_RX
0844   *         @arg @ref LL_DMAMUX1_REQ_UART5_TX
0845   *         @arg @ref LL_DMAMUX1_REQ_DAC1_CH1
0846   *         @arg @ref LL_DMAMUX1_REQ_DAC1_CH2
0847   *         @arg @ref LL_DMAMUX1_REQ_TIM6_UP
0848   *         @arg @ref LL_DMAMUX1_REQ_TIM7_UP
0849   *         @arg @ref LL_DMAMUX1_REQ_USART6_RX
0850   *         @arg @ref LL_DMAMUX1_REQ_USART6_TX
0851   *         @arg @ref LL_DMAMUX1_REQ_I2C3_RX
0852   *         @arg @ref LL_DMAMUX1_REQ_I2C3_TX
0853   *         @arg @ref LL_DMAMUX1_REQ_DCMI_PSSI (*)
0854   *         @arg @ref LL_DMAMUX1_REQ_CRYP_IN
0855   *         @arg @ref LL_DMAMUX1_REQ_CRYP_OUT
0856   *         @arg @ref LL_DMAMUX1_REQ_HASH_IN
0857   *         @arg @ref LL_DMAMUX1_REQ_UART7_RX
0858   *         @arg @ref LL_DMAMUX1_REQ_UART7_TX
0859   *         @arg @ref LL_DMAMUX1_REQ_UART8_RX
0860   *         @arg @ref LL_DMAMUX1_REQ_UART8_TX
0861   *         @arg @ref LL_DMAMUX1_REQ_SPI4_RX
0862   *         @arg @ref LL_DMAMUX1_REQ_SPI4_TX
0863   *         @arg @ref LL_DMAMUX1_REQ_SPI5_RX
0864   *         @arg @ref LL_DMAMUX1_REQ_SPI5_TX
0865   *         @arg @ref LL_DMAMUX1_REQ_SAI1_A
0866   *         @arg @ref LL_DMAMUX1_REQ_SAI1_B
0867   *         @arg @ref LL_DMAMUX1_REQ_SAI2_A (*)
0868   *         @arg @ref LL_DMAMUX1_REQ_SAI2_B (*)
0869   *         @arg @ref LL_DMAMUX1_REQ_SWPMI_RX
0870   *         @arg @ref LL_DMAMUX1_REQ_SWPMI_TX
0871   *         @arg @ref LL_DMAMUX1_REQ_SPDIF_RX_DT
0872   *         @arg @ref LL_DMAMUX1_REQ_SPDIF_RX_CS
0873   *         @arg @ref LL_DMAMUX1_REQ_HRTIM_MASTER (*)
0874   *         @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_A (*)
0875   *         @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_B (*)
0876   *         @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_C (*)
0877   *         @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_D (*)
0878   *         @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_E (*)
0879   *         @arg @ref LL_DMAMUX1_REQ_DFSDM1_FLT0
0880   *         @arg @ref LL_DMAMUX1_REQ_DFSDM1_FLT1
0881   *         @arg @ref LL_DMAMUX1_REQ_DFSDM1_FLT2
0882   *         @arg @ref LL_DMAMUX1_REQ_DFSDM1_FLT3
0883   *         @arg @ref LL_DMAMUX1_REQ_TIM15_CH1
0884   *         @arg @ref LL_DMAMUX1_REQ_TIM15_UP
0885   *         @arg @ref LL_DMAMUX1_REQ_TIM15_TRIG
0886   *         @arg @ref LL_DMAMUX1_REQ_TIM15_COM
0887   *         @arg @ref LL_DMAMUX1_REQ_TIM16_CH1
0888   *         @arg @ref LL_DMAMUX1_REQ_TIM16_UP
0889   *         @arg @ref LL_DMAMUX1_REQ_TIM17_CH1
0890   *         @arg @ref LL_DMAMUX1_REQ_TIM17_UP
0891   *         @arg @ref LL_DMAMUX1_REQ_SAI3_A (*)
0892   *         @arg @ref LL_DMAMUX1_REQ_SAI3_B (*)
0893   *         @arg @ref LL_DMAMUX1_REQ_ADC3 (*)
0894   *         @arg @ref LL_DMAMUX1_REQ_UART9_RX (*)
0895   *         @arg @ref LL_DMAMUX1_REQ_UART9_TX (*)
0896   *         @arg @ref LL_DMAMUX1_REQ_USART10_RX (*)
0897   *         @arg @ref LL_DMAMUX1_REQ_USART10_TX (*)
0898   *         @arg @ref LL_DMAMUX1_REQ_FMAC_READ  (*)
0899   *         @arg @ref LL_DMAMUX1_REQ_FMAC_WRITE (*)
0900   *         @arg @ref LL_DMAMUX1_REQ_CORDIC_READ (*)
0901   *         @arg @ref LL_DMAMUX1_REQ_CORDIC_WRITE(*)
0902   *         @arg @ref LL_DMAMUX1_REQ_I2C5_RX     (*)
0903   *         @arg @ref LL_DMAMUX1_REQ_I2C5_TX     (*)
0904   *         @arg @ref LL_DMAMUX1_REQ_TIM23_CH1   (*)
0905   *         @arg @ref LL_DMAMUX1_REQ_TIM23_CH2   (*)
0906   *         @arg @ref LL_DMAMUX1_REQ_TIM23_CH3   (*)
0907   *         @arg @ref LL_DMAMUX1_REQ_TIM23_CH4   (*)
0908   *         @arg @ref LL_DMAMUX1_REQ_TIM23_UP    (*)
0909   *         @arg @ref LL_DMAMUX1_REQ_TIM23_TRIG  (*)
0910   *         @arg @ref LL_DMAMUX1_REQ_TIM24_CH1   (*)
0911   *         @arg @ref LL_DMAMUX1_REQ_TIM24_CH2   (*)
0912   *         @arg @ref LL_DMAMUX1_REQ_TIM24_CH3   (*)
0913   *         @arg @ref LL_DMAMUX1_REQ_TIM24_CH4   (*)
0914   *         @arg @ref LL_DMAMUX1_REQ_TIM24_UP    (*)
0915   *         @arg @ref LL_DMAMUX1_REQ_TIM24_TRIG  (*)
0916   *         @arg @ref LL_DMAMUX2_REQ_MEM2MEM
0917   *         @arg @ref LL_DMAMUX2_REQ_GENERATOR0
0918   *         @arg @ref LL_DMAMUX2_REQ_GENERATOR1
0919   *         @arg @ref LL_DMAMUX2_REQ_GENERATOR2
0920   *         @arg @ref LL_DMAMUX2_REQ_GENERATOR3
0921   *         @arg @ref LL_DMAMUX2_REQ_GENERATOR4
0922   *         @arg @ref LL_DMAMUX2_REQ_GENERATOR5
0923   *         @arg @ref LL_DMAMUX2_REQ_GENERATOR6
0924   *         @arg @ref LL_DMAMUX2_REQ_GENERATOR7
0925   *         @arg @ref LL_DMAMUX2_REQ_LPUART1_RX
0926   *         @arg @ref LL_DMAMUX2_REQ_LPUART1_TX
0927   *         @arg @ref LL_DMAMUX2_REQ_SPI6_RX
0928   *         @arg @ref LL_DMAMUX2_REQ_SPI6_TX
0929   *         @arg @ref LL_DMAMUX2_REQ_I2C4_RX
0930   *         @arg @ref LL_DMAMUX2_REQ_I2C4_TX
0931   *         @arg @ref LL_DMAMUX2_REQ_SAI4_A (*)
0932   *         @arg @ref LL_DMAMUX2_REQ_SAI4_B (*)
0933   *         @arg @ref LL_DMAMUX2_REQ_ADC3 (*)
0934   *         @arg @ref LL_DMAMUX2_REQ_DAC2_CH1 (*)
0935   *         @arg @ref LL_DMAMUX2_REQ_DFSDM2_FLT0 (*)
0936   *
0937   * @note   (*) Availability depends on devices.
0938   * @retval None
0939   */
0940 __STATIC_INLINE uint32_t LL_DMAMUX_GetRequestID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
0941 {
0942   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
0943 
0944   return (uint32_t)(READ_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_DMAREQ_ID));
0945 }
0946 
0947 /**
0948   * @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.
0949   * @rmtoll CxCR         NBREQ         LL_DMAMUX_SetSyncRequestNb
0950   * @param  DMAMUXx DMAMUXx Instance
0951   * @param  Channel This parameter can be one of the following values:
0952   *         @arg @ref LL_DMAMUX_CHANNEL_0
0953   *         @arg @ref LL_DMAMUX_CHANNEL_1
0954   *         @arg @ref LL_DMAMUX_CHANNEL_2
0955   *         @arg @ref LL_DMAMUX_CHANNEL_3
0956   *         @arg @ref LL_DMAMUX_CHANNEL_4
0957   *         @arg @ref LL_DMAMUX_CHANNEL_5
0958   *         @arg @ref LL_DMAMUX_CHANNEL_6
0959   *         @arg @ref LL_DMAMUX_CHANNEL_7
0960   *         @arg @ref LL_DMAMUX_CHANNEL_8
0961   *         @arg @ref LL_DMAMUX_CHANNEL_9
0962   *         @arg @ref LL_DMAMUX_CHANNEL_10
0963   *         @arg @ref LL_DMAMUX_CHANNEL_11
0964   *         @arg @ref LL_DMAMUX_CHANNEL_12
0965   *         @arg @ref LL_DMAMUX_CHANNEL_13
0966   *         @arg @ref LL_DMAMUX_CHANNEL_14
0967   *         @arg @ref LL_DMAMUX_CHANNEL_15
0968   * @param  RequestNb This parameter must be a value between Min_Data = 1 and Max_Data = 32.
0969   * @retval None
0970   */
0971 __STATIC_INLINE void LL_DMAMUX_SetSyncRequestNb(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel, uint32_t RequestNb)
0972 {
0973   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
0974 
0975   MODIFY_REG(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_NBREQ, (RequestNb - 1U) << DMAMUX_CxCR_NBREQ_Pos);
0976 }
0977 
0978 /**
0979   * @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.
0980   * @rmtoll CxCR         NBREQ         LL_DMAMUX_GetSyncRequestNb
0981   * @param  DMAMUXx DMAMUXx Instance
0982   * @param  Channel This parameter can be one of the following values:
0983   *         @arg @ref LL_DMAMUX_CHANNEL_0
0984   *         @arg @ref LL_DMAMUX_CHANNEL_1
0985   *         @arg @ref LL_DMAMUX_CHANNEL_2
0986   *         @arg @ref LL_DMAMUX_CHANNEL_3
0987   *         @arg @ref LL_DMAMUX_CHANNEL_4
0988   *         @arg @ref LL_DMAMUX_CHANNEL_5
0989   *         @arg @ref LL_DMAMUX_CHANNEL_6
0990   *         @arg @ref LL_DMAMUX_CHANNEL_7
0991   *         @arg @ref LL_DMAMUX_CHANNEL_8
0992   *         @arg @ref LL_DMAMUX_CHANNEL_9
0993   *         @arg @ref LL_DMAMUX_CHANNEL_10
0994   *         @arg @ref LL_DMAMUX_CHANNEL_11
0995   *         @arg @ref LL_DMAMUX_CHANNEL_12
0996   *         @arg @ref LL_DMAMUX_CHANNEL_13
0997   *         @arg @ref LL_DMAMUX_CHANNEL_14
0998   *         @arg @ref LL_DMAMUX_CHANNEL_15
0999   * @retval Between Min_Data = 1 and Max_Data = 32
1000   */
1001 __STATIC_INLINE uint32_t LL_DMAMUX_GetSyncRequestNb(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
1002 {
1003   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1004 
1005   return (uint32_t)((READ_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_NBREQ) >> DMAMUX_CxCR_NBREQ_Pos) + 1U);
1006 }
1007 
1008 /**
1009   * @brief  Set the polarity of the signal on which the DMA request is synchronized.
1010   * @rmtoll CxCR         SPOL          LL_DMAMUX_SetSyncPolarity
1011   * @param  DMAMUXx DMAMUXx Instance
1012   * @param  Channel This parameter can be one of the following values:
1013   *         @arg @ref LL_DMAMUX_CHANNEL_0
1014   *         @arg @ref LL_DMAMUX_CHANNEL_1
1015   *         @arg @ref LL_DMAMUX_CHANNEL_2
1016   *         @arg @ref LL_DMAMUX_CHANNEL_3
1017   *         @arg @ref LL_DMAMUX_CHANNEL_4
1018   *         @arg @ref LL_DMAMUX_CHANNEL_5
1019   *         @arg @ref LL_DMAMUX_CHANNEL_6
1020   *         @arg @ref LL_DMAMUX_CHANNEL_7
1021   *         @arg @ref LL_DMAMUX_CHANNEL_8
1022   *         @arg @ref LL_DMAMUX_CHANNEL_9
1023   *         @arg @ref LL_DMAMUX_CHANNEL_10
1024   *         @arg @ref LL_DMAMUX_CHANNEL_11
1025   *         @arg @ref LL_DMAMUX_CHANNEL_12
1026   *         @arg @ref LL_DMAMUX_CHANNEL_13
1027   *         @arg @ref LL_DMAMUX_CHANNEL_14
1028   *         @arg @ref LL_DMAMUX_CHANNEL_15
1029   * @param  Polarity This parameter can be one of the following values:
1030   *         @arg @ref LL_DMAMUX_SYNC_NO_EVENT
1031   *         @arg @ref LL_DMAMUX_SYNC_POL_RISING
1032   *         @arg @ref LL_DMAMUX_SYNC_POL_FALLING
1033   *         @arg @ref LL_DMAMUX_SYNC_POL_RISING_FALLING
1034   * @retval None
1035   */
1036 __STATIC_INLINE void LL_DMAMUX_SetSyncPolarity(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel, uint32_t Polarity)
1037 {
1038   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1039 
1040   MODIFY_REG(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_SPOL, Polarity);
1041 }
1042 
1043 /**
1044   * @brief  Get the polarity of the signal on which the DMA request is synchronized.
1045   * @rmtoll CxCR         SPOL          LL_DMAMUX_GetSyncPolarity
1046   * @param  DMAMUXx DMAMUXx Instance
1047   * @param  Channel This parameter can be one of the following values:
1048   *         @arg @ref LL_DMAMUX_CHANNEL_0
1049   *         @arg @ref LL_DMAMUX_CHANNEL_1
1050   *         @arg @ref LL_DMAMUX_CHANNEL_2
1051   *         @arg @ref LL_DMAMUX_CHANNEL_3
1052   *         @arg @ref LL_DMAMUX_CHANNEL_4
1053   *         @arg @ref LL_DMAMUX_CHANNEL_5
1054   *         @arg @ref LL_DMAMUX_CHANNEL_6
1055   *         @arg @ref LL_DMAMUX_CHANNEL_7
1056   *         @arg @ref LL_DMAMUX_CHANNEL_8
1057   *         @arg @ref LL_DMAMUX_CHANNEL_9
1058   *         @arg @ref LL_DMAMUX_CHANNEL_10
1059   *         @arg @ref LL_DMAMUX_CHANNEL_11
1060   *         @arg @ref LL_DMAMUX_CHANNEL_12
1061   *         @arg @ref LL_DMAMUX_CHANNEL_13
1062   *         @arg @ref LL_DMAMUX_CHANNEL_14
1063   *         @arg @ref LL_DMAMUX_CHANNEL_15
1064   * @retval Returned value can be one of the following values:
1065   *         @arg @ref LL_DMAMUX_SYNC_NO_EVENT
1066   *         @arg @ref LL_DMAMUX_SYNC_POL_RISING
1067   *         @arg @ref LL_DMAMUX_SYNC_POL_FALLING
1068   *         @arg @ref LL_DMAMUX_SYNC_POL_RISING_FALLING
1069   */
1070 __STATIC_INLINE uint32_t LL_DMAMUX_GetSyncPolarity(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
1071 {
1072   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1073 
1074   return (uint32_t)(READ_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_SPOL));
1075 }
1076 
1077 /**
1078   * @brief  Enable the Event Generation on DMAMUX channel x.
1079   * @rmtoll CxCR         EGE           LL_DMAMUX_EnableEventGeneration
1080   * @param  DMAMUXx DMAMUXx Instance
1081   * @param  Channel This parameter can be one of the following values:
1082   *         @arg @ref LL_DMAMUX_CHANNEL_0
1083   *         @arg @ref LL_DMAMUX_CHANNEL_1
1084   *         @arg @ref LL_DMAMUX_CHANNEL_2
1085   *         @arg @ref LL_DMAMUX_CHANNEL_3
1086   *         @arg @ref LL_DMAMUX_CHANNEL_4
1087   *         @arg @ref LL_DMAMUX_CHANNEL_5
1088   *         @arg @ref LL_DMAMUX_CHANNEL_6
1089   *         @arg @ref LL_DMAMUX_CHANNEL_7
1090   *         @arg @ref LL_DMAMUX_CHANNEL_8
1091   *         @arg @ref LL_DMAMUX_CHANNEL_9
1092   *         @arg @ref LL_DMAMUX_CHANNEL_10
1093   *         @arg @ref LL_DMAMUX_CHANNEL_11
1094   *         @arg @ref LL_DMAMUX_CHANNEL_12
1095   *         @arg @ref LL_DMAMUX_CHANNEL_13
1096   *         @arg @ref LL_DMAMUX_CHANNEL_14
1097   *         @arg @ref LL_DMAMUX_CHANNEL_15
1098   * @retval None
1099   */
1100 __STATIC_INLINE void LL_DMAMUX_EnableEventGeneration(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
1101 {
1102   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1103 
1104   SET_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_EGE);
1105 }
1106 
1107 /**
1108   * @brief  Disable the Event Generation on DMAMUX channel x.
1109   * @rmtoll CxCR         EGE           LL_DMAMUX_DisableEventGeneration
1110   * @param  DMAMUXx DMAMUXx Instance
1111   * @param  Channel This parameter can be one of the following values:
1112   *         @arg @ref LL_DMAMUX_CHANNEL_0
1113   *         @arg @ref LL_DMAMUX_CHANNEL_1
1114   *         @arg @ref LL_DMAMUX_CHANNEL_2
1115   *         @arg @ref LL_DMAMUX_CHANNEL_3
1116   *         @arg @ref LL_DMAMUX_CHANNEL_4
1117   *         @arg @ref LL_DMAMUX_CHANNEL_5
1118   *         @arg @ref LL_DMAMUX_CHANNEL_6
1119   *         @arg @ref LL_DMAMUX_CHANNEL_7
1120   *         @arg @ref LL_DMAMUX_CHANNEL_8
1121   *         @arg @ref LL_DMAMUX_CHANNEL_9
1122   *         @arg @ref LL_DMAMUX_CHANNEL_10
1123   *         @arg @ref LL_DMAMUX_CHANNEL_11
1124   *         @arg @ref LL_DMAMUX_CHANNEL_12
1125   *         @arg @ref LL_DMAMUX_CHANNEL_13
1126   *         @arg @ref LL_DMAMUX_CHANNEL_14
1127   *         @arg @ref LL_DMAMUX_CHANNEL_15
1128   * @retval None
1129   */
1130 __STATIC_INLINE void LL_DMAMUX_DisableEventGeneration(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
1131 {
1132   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1133 
1134   CLEAR_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_EGE);
1135 }
1136 
1137 /**
1138   * @brief  Check if the Event Generation on DMAMUX channel x is enabled or disabled.
1139   * @rmtoll CxCR         EGE           LL_DMAMUX_IsEnabledEventGeneration
1140   * @param  DMAMUXx DMAMUXx Instance
1141   * @param  Channel This parameter can be one of the following values:
1142   *         @arg @ref LL_DMAMUX_CHANNEL_0
1143   *         @arg @ref LL_DMAMUX_CHANNEL_1
1144   *         @arg @ref LL_DMAMUX_CHANNEL_2
1145   *         @arg @ref LL_DMAMUX_CHANNEL_3
1146   *         @arg @ref LL_DMAMUX_CHANNEL_4
1147   *         @arg @ref LL_DMAMUX_CHANNEL_5
1148   *         @arg @ref LL_DMAMUX_CHANNEL_6
1149   *         @arg @ref LL_DMAMUX_CHANNEL_7
1150   *         @arg @ref LL_DMAMUX_CHANNEL_8
1151   *         @arg @ref LL_DMAMUX_CHANNEL_9
1152   *         @arg @ref LL_DMAMUX_CHANNEL_10
1153   *         @arg @ref LL_DMAMUX_CHANNEL_11
1154   *         @arg @ref LL_DMAMUX_CHANNEL_12
1155   *         @arg @ref LL_DMAMUX_CHANNEL_13
1156   *         @arg @ref LL_DMAMUX_CHANNEL_14
1157   *         @arg @ref LL_DMAMUX_CHANNEL_15
1158   * @retval State of bit (1 or 0).
1159   */
1160 __STATIC_INLINE uint32_t LL_DMAMUX_IsEnabledEventGeneration(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
1161 {
1162   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1163 
1164   return ((READ_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_EGE) == (DMAMUX_CxCR_EGE)) ? 1UL : 0UL);
1165 }
1166 
1167 /**
1168   * @brief  Enable the synchronization mode.
1169   * @rmtoll CxCR         SE            LL_DMAMUX_EnableSync
1170   * @param  DMAMUXx DMAMUXx Instance
1171   * @param  Channel This parameter can be one of the following values:
1172   *         @arg @ref LL_DMAMUX_CHANNEL_0
1173   *         @arg @ref LL_DMAMUX_CHANNEL_1
1174   *         @arg @ref LL_DMAMUX_CHANNEL_2
1175   *         @arg @ref LL_DMAMUX_CHANNEL_3
1176   *         @arg @ref LL_DMAMUX_CHANNEL_4
1177   *         @arg @ref LL_DMAMUX_CHANNEL_5
1178   *         @arg @ref LL_DMAMUX_CHANNEL_6
1179   *         @arg @ref LL_DMAMUX_CHANNEL_7
1180   *         @arg @ref LL_DMAMUX_CHANNEL_8
1181   *         @arg @ref LL_DMAMUX_CHANNEL_9
1182   *         @arg @ref LL_DMAMUX_CHANNEL_10
1183   *         @arg @ref LL_DMAMUX_CHANNEL_11
1184   *         @arg @ref LL_DMAMUX_CHANNEL_12
1185   *         @arg @ref LL_DMAMUX_CHANNEL_13
1186   *         @arg @ref LL_DMAMUX_CHANNEL_14
1187   *         @arg @ref LL_DMAMUX_CHANNEL_15
1188   * @retval None
1189   */
1190 __STATIC_INLINE void LL_DMAMUX_EnableSync(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
1191 {
1192   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1193 
1194   SET_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_SE);
1195 }
1196 
1197 /**
1198   * @brief  Disable the synchronization mode.
1199   * @rmtoll CxCR         SE            LL_DMAMUX_DisableSync
1200   * @param  DMAMUXx DMAMUXx Instance
1201   * @param  Channel This parameter can be one of the following values:
1202   *         @arg @ref LL_DMAMUX_CHANNEL_0
1203   *         @arg @ref LL_DMAMUX_CHANNEL_1
1204   *         @arg @ref LL_DMAMUX_CHANNEL_2
1205   *         @arg @ref LL_DMAMUX_CHANNEL_3
1206   *         @arg @ref LL_DMAMUX_CHANNEL_4
1207   *         @arg @ref LL_DMAMUX_CHANNEL_5
1208   *         @arg @ref LL_DMAMUX_CHANNEL_6
1209   *         @arg @ref LL_DMAMUX_CHANNEL_7
1210   *         @arg @ref LL_DMAMUX_CHANNEL_8
1211   *         @arg @ref LL_DMAMUX_CHANNEL_9
1212   *         @arg @ref LL_DMAMUX_CHANNEL_10
1213   *         @arg @ref LL_DMAMUX_CHANNEL_11
1214   *         @arg @ref LL_DMAMUX_CHANNEL_12
1215   *         @arg @ref LL_DMAMUX_CHANNEL_13
1216   *         @arg @ref LL_DMAMUX_CHANNEL_14
1217   *         @arg @ref LL_DMAMUX_CHANNEL_15
1218   * @retval None
1219   */
1220 __STATIC_INLINE void LL_DMAMUX_DisableSync(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
1221 {
1222   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1223 
1224   CLEAR_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_SE);
1225 }
1226 
1227 /**
1228   * @brief  Check if the synchronization mode is enabled or disabled.
1229   * @rmtoll CxCR         SE            LL_DMAMUX_IsEnabledSync
1230   * @param  DMAMUXx DMAMUXx Instance
1231   * @param  Channel This parameter can be one of the following values:
1232   *         @arg @ref LL_DMAMUX_CHANNEL_0
1233   *         @arg @ref LL_DMAMUX_CHANNEL_1
1234   *         @arg @ref LL_DMAMUX_CHANNEL_2
1235   *         @arg @ref LL_DMAMUX_CHANNEL_3
1236   *         @arg @ref LL_DMAMUX_CHANNEL_4
1237   *         @arg @ref LL_DMAMUX_CHANNEL_5
1238   *         @arg @ref LL_DMAMUX_CHANNEL_6
1239   *         @arg @ref LL_DMAMUX_CHANNEL_7
1240   *         @arg @ref LL_DMAMUX_CHANNEL_8
1241   *         @arg @ref LL_DMAMUX_CHANNEL_9
1242   *         @arg @ref LL_DMAMUX_CHANNEL_10
1243   *         @arg @ref LL_DMAMUX_CHANNEL_11
1244   *         @arg @ref LL_DMAMUX_CHANNEL_12
1245   *         @arg @ref LL_DMAMUX_CHANNEL_13
1246   *         @arg @ref LL_DMAMUX_CHANNEL_14
1247   *         @arg @ref LL_DMAMUX_CHANNEL_15
1248   * @retval State of bit (1 or 0).
1249   */
1250 __STATIC_INLINE uint32_t LL_DMAMUX_IsEnabledSync(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
1251 {
1252   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1253 
1254   return ((READ_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_SE) == (DMAMUX_CxCR_SE)) ? 1UL : 0UL);
1255 }
1256 
1257 /**
1258   * @brief  Set DMAMUX synchronization ID  on DMAMUX Channel x.
1259   * @rmtoll CxCR         SYNC_ID       LL_DMAMUX_SetSyncID
1260   * @param  DMAMUXx DMAMUXx Instance
1261   * @param  Channel This parameter can be one of the following values:
1262   *         @arg @ref LL_DMAMUX_CHANNEL_0
1263   *         @arg @ref LL_DMAMUX_CHANNEL_1
1264   *         @arg @ref LL_DMAMUX_CHANNEL_2
1265   *         @arg @ref LL_DMAMUX_CHANNEL_3
1266   *         @arg @ref LL_DMAMUX_CHANNEL_4
1267   *         @arg @ref LL_DMAMUX_CHANNEL_5
1268   *         @arg @ref LL_DMAMUX_CHANNEL_6
1269   *         @arg @ref LL_DMAMUX_CHANNEL_7
1270   *         @arg @ref LL_DMAMUX_CHANNEL_8
1271   *         @arg @ref LL_DMAMUX_CHANNEL_9
1272   *         @arg @ref LL_DMAMUX_CHANNEL_10
1273   *         @arg @ref LL_DMAMUX_CHANNEL_11
1274   *         @arg @ref LL_DMAMUX_CHANNEL_12
1275   *         @arg @ref LL_DMAMUX_CHANNEL_13
1276   *         @arg @ref LL_DMAMUX_CHANNEL_14
1277   *         @arg @ref LL_DMAMUX_CHANNEL_15
1278   * @param  SyncID This parameter can be one of the following values:
1279   *         @arg @ref LL_DMAMUX1_SYNC_DMAMUX1_CH0_EVT
1280   *         @arg @ref LL_DMAMUX1_SYNC_DMAMUX1_CH1_EVT
1281   *         @arg @ref LL_DMAMUX1_SYNC_DMAMUX1_CH2_EVT
1282   *         @arg @ref LL_DMAMUX1_SYNC_LPTIM1_OUT
1283   *         @arg @ref LL_DMAMUX1_SYNC_LPTIM2_OUT
1284   *         @arg @ref LL_DMAMUX1_SYNC_LPTIM3_OUT
1285   *         @arg @ref LL_DMAMUX1_SYNC_EXTI0
1286   *         @arg @ref LL_DMAMUX1_SYNC_TIM12_TRGO
1287   *         @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH0_EVT
1288   *         @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH1_EVT
1289   *         @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH2_EVT
1290   *         @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH3_EVT
1291   *         @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH4_EVT
1292   *         @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH5_EVT
1293   *         @arg @ref LL_DMAMUX2_SYNC_LPUART1_RX_WKUP
1294   *         @arg @ref LL_DMAMUX2_SYNC_LPUART1_TX_WKUP
1295   *         @arg @ref LL_DMAMUX2_SYNC_LPTIM2_OUT
1296   *         @arg @ref LL_DMAMUX2_SYNC_LPTIM3_OUT
1297   *         @arg @ref LL_DMAMUX2_SYNC_I2C4_WKUP
1298   *         @arg @ref LL_DMAMUX2_SYNC_SPI6_WKUP
1299   *         @arg @ref LL_DMAMUX2_SYNC_COMP1_OUT
1300   *         @arg @ref LL_DMAMUX2_SYNC_RTC_WKUP
1301   *         @arg @ref LL_DMAMUX2_SYNC_EXTI0
1302   *         @arg @ref LL_DMAMUX2_SYNC_EXTI2
1303   * @retval None
1304   */
1305 __STATIC_INLINE void LL_DMAMUX_SetSyncID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel, uint32_t SyncID)
1306 {
1307   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1308 
1309   MODIFY_REG(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_SYNC_ID, SyncID);
1310 }
1311 
1312 /**
1313   * @brief  Get DMAMUX synchronization ID  on DMAMUX Channel x.
1314   * @rmtoll CxCR         SYNC_ID       LL_DMAMUX_GetSyncID
1315   * @param  DMAMUXx DMAMUXx Instance
1316   * @param  Channel This parameter can be one of the following values:
1317   *         @arg @ref LL_DMAMUX_CHANNEL_0
1318   *         @arg @ref LL_DMAMUX_CHANNEL_1
1319   *         @arg @ref LL_DMAMUX_CHANNEL_2
1320   *         @arg @ref LL_DMAMUX_CHANNEL_3
1321   *         @arg @ref LL_DMAMUX_CHANNEL_4
1322   *         @arg @ref LL_DMAMUX_CHANNEL_5
1323   *         @arg @ref LL_DMAMUX_CHANNEL_6
1324   *         @arg @ref LL_DMAMUX_CHANNEL_7
1325   *         @arg @ref LL_DMAMUX_CHANNEL_8
1326   *         @arg @ref LL_DMAMUX_CHANNEL_9
1327   *         @arg @ref LL_DMAMUX_CHANNEL_10
1328   *         @arg @ref LL_DMAMUX_CHANNEL_11
1329   *         @arg @ref LL_DMAMUX_CHANNEL_12
1330   *         @arg @ref LL_DMAMUX_CHANNEL_13
1331   *         @arg @ref LL_DMAMUX_CHANNEL_14
1332   *         @arg @ref LL_DMAMUX_CHANNEL_15
1333   * @retval Returned value can be one of the following values:
1334   *         @arg @ref LL_DMAMUX1_SYNC_DMAMUX1_CH0_EVT
1335   *         @arg @ref LL_DMAMUX1_SYNC_DMAMUX1_CH1_EVT
1336   *         @arg @ref LL_DMAMUX1_SYNC_DMAMUX1_CH2_EVT
1337   *         @arg @ref LL_DMAMUX1_SYNC_LPTIM1_OUT
1338   *         @arg @ref LL_DMAMUX1_SYNC_LPTIM2_OUT
1339   *         @arg @ref LL_DMAMUX1_SYNC_LPTIM3_OUT
1340   *         @arg @ref LL_DMAMUX1_SYNC_EXTI0
1341   *         @arg @ref LL_DMAMUX1_SYNC_TIM12_TRGO
1342   *         @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH0_EVT
1343   *         @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH1_EVT
1344   *         @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH2_EVT
1345   *         @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH3_EVT
1346   *         @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH4_EVT
1347   *         @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH5_EVT
1348   *         @arg @ref LL_DMAMUX2_SYNC_LPUART1_RX_WKUP
1349   *         @arg @ref LL_DMAMUX2_SYNC_LPUART1_TX_WKUP
1350   *         @arg @ref LL_DMAMUX2_SYNC_LPTIM2_OUT
1351   *         @arg @ref LL_DMAMUX2_SYNC_LPTIM3_OUT
1352   *         @arg @ref LL_DMAMUX2_SYNC_I2C4_WKUP
1353   *         @arg @ref LL_DMAMUX2_SYNC_SPI6_WKUP
1354   *         @arg @ref LL_DMAMUX2_SYNC_COMP1_OUT
1355   *         @arg @ref LL_DMAMUX2_SYNC_RTC_WKUP
1356   *         @arg @ref LL_DMAMUX2_SYNC_EXTI0
1357   *         @arg @ref LL_DMAMUX2_SYNC_EXTI2
1358   */
1359 __STATIC_INLINE uint32_t LL_DMAMUX_GetSyncID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
1360 {
1361   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1362 
1363   return (uint32_t)(READ_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_SYNC_ID));
1364 }
1365 
1366 /**
1367   * @brief  Enable the Request Generator.
1368   * @rmtoll RGxCR        GE            LL_DMAMUX_EnableRequestGen
1369   * @param  DMAMUXx DMAMUXx Instance
1370   * @param  RequestGenChannel This parameter can be one of the following values:
1371   *         @arg @ref LL_DMAMUX_REQ_GEN_0
1372   *         @arg @ref LL_DMAMUX_REQ_GEN_1
1373   *         @arg @ref LL_DMAMUX_REQ_GEN_2
1374   *         @arg @ref LL_DMAMUX_REQ_GEN_3
1375   *         @arg @ref LL_DMAMUX_REQ_GEN_4
1376   *         @arg @ref LL_DMAMUX_REQ_GEN_5
1377   *         @arg @ref LL_DMAMUX_REQ_GEN_6
1378   *         @arg @ref LL_DMAMUX_REQ_GEN_7
1379   * @retval None
1380   */
1381 __STATIC_INLINE void LL_DMAMUX_EnableRequestGen(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
1382 {
1383   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1384 
1385   SET_BIT(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * (RequestGenChannel))))->RGCR, DMAMUX_RGxCR_GE);
1386 }
1387 
1388 /**
1389   * @brief  Disable the Request Generator.
1390   * @rmtoll RGxCR        GE            LL_DMAMUX_DisableRequestGen
1391   * @param  DMAMUXx DMAMUXx Instance
1392   * @param  RequestGenChannel This parameter can be one of the following values:
1393   *         @arg @ref LL_DMAMUX_REQ_GEN_0
1394   *         @arg @ref LL_DMAMUX_REQ_GEN_1
1395   *         @arg @ref LL_DMAMUX_REQ_GEN_2
1396   *         @arg @ref LL_DMAMUX_REQ_GEN_3
1397   * @retval None
1398   */
1399 __STATIC_INLINE void LL_DMAMUX_DisableRequestGen(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
1400 {
1401   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1402 
1403   CLEAR_BIT(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * (RequestGenChannel))))->RGCR, DMAMUX_RGxCR_GE);
1404 }
1405 
1406 /**
1407   * @brief  Check if the Request Generator is enabled or disabled.
1408   * @rmtoll RGxCR        GE            LL_DMAMUX_IsEnabledRequestGen
1409   * @param  DMAMUXx DMAMUXx Instance
1410   * @param  RequestGenChannel This parameter can be one of the following values:
1411   *         @arg @ref LL_DMAMUX_REQ_GEN_0
1412   *         @arg @ref LL_DMAMUX_REQ_GEN_1
1413   *         @arg @ref LL_DMAMUX_REQ_GEN_2
1414   *         @arg @ref LL_DMAMUX_REQ_GEN_3
1415   *         @arg @ref LL_DMAMUX_REQ_GEN_4
1416   *         @arg @ref LL_DMAMUX_REQ_GEN_5
1417   *         @arg @ref LL_DMAMUX_REQ_GEN_6
1418   *         @arg @ref LL_DMAMUX_REQ_GEN_7
1419   * @retval State of bit (1 or 0).
1420   */
1421 __STATIC_INLINE uint32_t LL_DMAMUX_IsEnabledRequestGen(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
1422 {
1423   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1424 
1425   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);
1426 }
1427 
1428 /**
1429   * @brief  Set the polarity of the signal on which the DMA request is generated.
1430   * @rmtoll RGxCR        GPOL          LL_DMAMUX_SetRequestGenPolarity
1431   * @param  DMAMUXx DMAMUXx Instance
1432   * @param  RequestGenChannel This parameter can be one of the following values:
1433   *         @arg @ref LL_DMAMUX_REQ_GEN_0
1434   *         @arg @ref LL_DMAMUX_REQ_GEN_1
1435   *         @arg @ref LL_DMAMUX_REQ_GEN_2
1436   *         @arg @ref LL_DMAMUX_REQ_GEN_3
1437   *         @arg @ref LL_DMAMUX_REQ_GEN_4
1438   *         @arg @ref LL_DMAMUX_REQ_GEN_5
1439   *         @arg @ref LL_DMAMUX_REQ_GEN_6
1440   *         @arg @ref LL_DMAMUX_REQ_GEN_7
1441   * @param  Polarity This parameter can be one of the following values:
1442   *         @arg @ref LL_DMAMUX_REQ_GEN_NO_EVENT
1443   *         @arg @ref LL_DMAMUX_REQ_GEN_POL_RISING
1444   *         @arg @ref LL_DMAMUX_REQ_GEN_POL_FALLING
1445   *         @arg @ref LL_DMAMUX_REQ_GEN_POL_RISING_FALLING
1446   * @retval None
1447   */
1448 __STATIC_INLINE void LL_DMAMUX_SetRequestGenPolarity(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel, uint32_t Polarity)
1449 {
1450   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1451 
1452   MODIFY_REG(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * RequestGenChannel)))->RGCR, DMAMUX_RGxCR_GPOL, Polarity);
1453 }
1454 
1455 /**
1456   * @brief  Get the polarity of the signal on which the DMA request is generated.
1457   * @rmtoll RGxCR        GPOL          LL_DMAMUX_GetRequestGenPolarity
1458   * @param  DMAMUXx DMAMUXx Instance
1459   * @param  RequestGenChannel This parameter can be one of the following values:
1460   *         @arg @ref LL_DMAMUX_REQ_GEN_0
1461   *         @arg @ref LL_DMAMUX_REQ_GEN_1
1462   *         @arg @ref LL_DMAMUX_REQ_GEN_2
1463   *         @arg @ref LL_DMAMUX_REQ_GEN_3
1464   *         @arg @ref LL_DMAMUX_REQ_GEN_4
1465   *         @arg @ref LL_DMAMUX_REQ_GEN_5
1466   *         @arg @ref LL_DMAMUX_REQ_GEN_6
1467   *         @arg @ref LL_DMAMUX_REQ_GEN_7
1468   * @retval Returned value can be one of the following values:
1469   *         @arg @ref LL_DMAMUX_REQ_GEN_NO_EVENT
1470   *         @arg @ref LL_DMAMUX_REQ_GEN_POL_RISING
1471   *         @arg @ref LL_DMAMUX_REQ_GEN_POL_FALLING
1472   *         @arg @ref LL_DMAMUX_REQ_GEN_POL_RISING_FALLING
1473   */
1474 __STATIC_INLINE uint32_t LL_DMAMUX_GetRequestGenPolarity(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
1475 {
1476   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1477 
1478   return (uint32_t)(READ_BIT(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * RequestGenChannel)))->RGCR, DMAMUX_RGxCR_GPOL));
1479 }
1480 
1481 /**
1482   * @brief  Set the number of DMA request that will be autorized after a generation event.
1483   * @note   This field can only be written when Generator is disabled.
1484   * @rmtoll RGxCR        GNBREQ        LL_DMAMUX_SetGenRequestNb
1485   * @param  DMAMUXx DMAMUXx Instance
1486   * @param  RequestGenChannel This parameter can be one of the following values:
1487   *         @arg @ref LL_DMAMUX_REQ_GEN_0
1488   *         @arg @ref LL_DMAMUX_REQ_GEN_1
1489   *         @arg @ref LL_DMAMUX_REQ_GEN_2
1490   *         @arg @ref LL_DMAMUX_REQ_GEN_3
1491   *         @arg @ref LL_DMAMUX_REQ_GEN_4
1492   *         @arg @ref LL_DMAMUX_REQ_GEN_5
1493   *         @arg @ref LL_DMAMUX_REQ_GEN_6
1494   *         @arg @ref LL_DMAMUX_REQ_GEN_7
1495   * @param  RequestNb This parameter must be a value between Min_Data = 1 and Max_Data = 32.
1496   * @retval None
1497   */
1498 __STATIC_INLINE void LL_DMAMUX_SetGenRequestNb(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel, uint32_t RequestNb)
1499 {
1500   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1501 
1502   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);
1503 }
1504 
1505 /**
1506   * @brief  Get the number of DMA request that will be autorized after a generation event.
1507   * @rmtoll RGxCR        GNBREQ        LL_DMAMUX_GetGenRequestNb
1508   * @param  DMAMUXx DMAMUXx Instance
1509   * @param  RequestGenChannel This parameter can be one of the following values:
1510   *         @arg @ref LL_DMAMUX_REQ_GEN_0
1511   *         @arg @ref LL_DMAMUX_REQ_GEN_1
1512   *         @arg @ref LL_DMAMUX_REQ_GEN_2
1513   *         @arg @ref LL_DMAMUX_REQ_GEN_3
1514   *         @arg @ref LL_DMAMUX_REQ_GEN_4
1515   *         @arg @ref LL_DMAMUX_REQ_GEN_5
1516   *         @arg @ref LL_DMAMUX_REQ_GEN_6
1517   *         @arg @ref LL_DMAMUX_REQ_GEN_7
1518   * @retval Between Min_Data = 1 and Max_Data = 32
1519   */
1520 __STATIC_INLINE uint32_t LL_DMAMUX_GetGenRequestNb(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
1521 {
1522   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1523 
1524   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);
1525 }
1526 
1527 /**
1528   * @brief  Set DMAMUX external Request Signal ID on DMAMUX Request Generation Trigger Event Channel x.
1529   * @rmtoll RGxCR        SIG_ID        LL_DMAMUX_SetRequestSignalID
1530   * @param  DMAMUXx DMAMUXx Instance
1531   * @param  RequestGenChannel This parameter can be one of the following values:
1532   *         @arg @ref LL_DMAMUX_REQ_GEN_0
1533   *         @arg @ref LL_DMAMUX_REQ_GEN_1
1534   *         @arg @ref LL_DMAMUX_REQ_GEN_2
1535   *         @arg @ref LL_DMAMUX_REQ_GEN_3
1536   *         @arg @ref LL_DMAMUX_REQ_GEN_4
1537   *         @arg @ref LL_DMAMUX_REQ_GEN_5
1538   *         @arg @ref LL_DMAMUX_REQ_GEN_6
1539   *         @arg @ref LL_DMAMUX_REQ_GEN_7
1540   * @param  RequestSignalID This parameter can be one of the following values:
1541   *         @arg @ref LL_DMAMUX1_REQ_GEN_DMAMUX1_CH0_EVT
1542   *         @arg @ref LL_DMAMUX1_REQ_GEN_DMAMUX1_CH1_EVT
1543   *         @arg @ref LL_DMAMUX1_REQ_GEN_DMAMUX1_CH2_EVT
1544   *         @arg @ref LL_DMAMUX1_REQ_GEN_LPTIM1_OUT
1545   *         @arg @ref LL_DMAMUX1_REQ_GEN_LPTIM2_OUT
1546   *         @arg @ref LL_DMAMUX1_REQ_GEN_LPTIM3_OUT
1547   *         @arg @ref LL_DMAMUX1_REQ_GEN_EXTI0
1548   *         @arg @ref LL_DMAMUX1_REQ_GEN_TIM12_TRGO
1549   *         @arg @ref LL_DMAMUX2_REQ_GEN_DMAMUX2_CH0_EVT
1550   *         @arg @ref LL_DMAMUX2_REQ_GEN_DMAMUX2_CH1_EVT
1551   *         @arg @ref LL_DMAMUX2_REQ_GEN_DMAMUX2_CH2_EVT
1552   *         @arg @ref LL_DMAMUX2_REQ_GEN_DMAMUX2_CH3_EVT
1553   *         @arg @ref LL_DMAMUX2_REQ_GEN_DMAMUX2_CH4_EVT
1554   *         @arg @ref LL_DMAMUX2_REQ_GEN_DMAMUX2_CH5_EVT
1555   *         @arg @ref LL_DMAMUX2_REQ_GEN_DMAMUX2_CH6_EVT
1556   *         @arg @ref LL_DMAMUX2_REQ_GEN_LPUART1_RX_WKUP
1557   *         @arg @ref LL_DMAMUX2_REQ_GEN_LPUART1_TX_WKUP
1558   *         @arg @ref LL_DMAMUX2_REQ_GEN_LPTIM2_WKUP
1559   *         @arg @ref LL_DMAMUX2_REQ_GEN_LPTIM2_OUT
1560   *         @arg @ref LL_DMAMUX2_REQ_GEN_LPTIM3_WKUP
1561   *         @arg @ref LL_DMAMUX2_REQ_GEN_LPTIM3_OUT
1562   *         @arg @ref LL_DMAMUX2_REQ_GEN_LPTIM4_WKUP (*)
1563   *         @arg @ref LL_DMAMUX2_REQ_GEN_LPTIM5_WKUP (*)
1564   *         @arg @ref LL_DMAMUX2_REQ_GEN_I2C4_WKUP
1565   *         @arg @ref LL_DMAMUX2_REQ_GEN_SPI6_WKUP
1566   *         @arg @ref LL_DMAMUX2_REQ_GEN_COMP1_OUT
1567   *         @arg @ref LL_DMAMUX2_REQ_GEN_COMP2_OUT
1568   *         @arg @ref LL_DMAMUX2_REQ_GEN_RTC_WKUP
1569   *         @arg @ref LL_DMAMUX2_REQ_GEN_EXTI0
1570   *         @arg @ref LL_DMAMUX2_REQ_GEN_EXTI2
1571   *         @arg @ref LL_DMAMUX2_REQ_GEN_I2C4_IT_EVT
1572   *         @arg @ref LL_DMAMUX2_REQ_GEN_SPI6_IT
1573   *         @arg @ref LL_DMAMUX2_REQ_GEN_LPUART1_TX_IT
1574   *         @arg @ref LL_DMAMUX2_REQ_GEN_LPUART1_RX_IT
1575   *         @arg @ref LL_DMAMUX2_REQ_GEN_ADC3_IT (*)
1576   *         @arg @ref LL_DMAMUX2_REQ_GEN_ADC3_AWD1_OUT (*)
1577   *         @arg @ref LL_DMAMUX2_REQ_GEN_BDMA_CH0_IT
1578   *         @arg @ref LL_DMAMUX2_REQ_GEN_BDMA_CH1_IT
1579   * @note   (*) Availability depends on devices.
1580   * @retval None
1581   */
1582 __STATIC_INLINE void LL_DMAMUX_SetRequestSignalID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel, uint32_t RequestSignalID)
1583 {
1584   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1585 
1586   MODIFY_REG(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * RequestGenChannel)))->RGCR, DMAMUX_RGxCR_SIG_ID, RequestSignalID);
1587 }
1588 
1589 /**
1590   * @brief  Get DMAMUX external Request Signal ID set on DMAMUX Channel x.
1591   * @rmtoll RGxCR        SIG_ID        LL_DMAMUX_GetRequestSignalID
1592   * @param  DMAMUXx DMAMUXx Instance
1593   * @param  RequestGenChannel This parameter can be one of the following values:
1594   *         @arg @ref LL_DMAMUX_REQ_GEN_0
1595   *         @arg @ref LL_DMAMUX_REQ_GEN_1
1596   *         @arg @ref LL_DMAMUX_REQ_GEN_2
1597   *         @arg @ref LL_DMAMUX_REQ_GEN_3
1598   *         @arg @ref LL_DMAMUX_REQ_GEN_4
1599   *         @arg @ref LL_DMAMUX_REQ_GEN_5
1600   *         @arg @ref LL_DMAMUX_REQ_GEN_6
1601   *         @arg @ref LL_DMAMUX_REQ_GEN_7
1602   * @retval Returned value can be one of the following values:
1603   *         @arg @ref LL_DMAMUX1_SYNC_DMAMUX1_CH0_EVT
1604   *         @arg @ref LL_DMAMUX1_SYNC_DMAMUX1_CH1_EVT
1605   *         @arg @ref LL_DMAMUX1_SYNC_DMAMUX1_CH2_EVT
1606   *         @arg @ref LL_DMAMUX1_SYNC_LPTIM1_OUT
1607   *         @arg @ref LL_DMAMUX1_SYNC_LPTIM2_OUT
1608   *         @arg @ref LL_DMAMUX1_SYNC_LPTIM3_OUT
1609   *         @arg @ref LL_DMAMUX1_SYNC_EXTI0
1610   *         @arg @ref LL_DMAMUX1_SYNC_TIM12_TRGO
1611   *         @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH0_EVT
1612   *         @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH1_EVT
1613   *         @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH2_EVT
1614   *         @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH3_EVT
1615   *         @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH4_EVT
1616   *         @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH5_EVT
1617   *         @arg @ref LL_DMAMUX2_SYNC_LPUART1_RX_WKUP
1618   *         @arg @ref LL_DMAMUX2_SYNC_LPUART1_TX_WKUP
1619   *         @arg @ref LL_DMAMUX2_SYNC_LPTIM2_OUT
1620   *         @arg @ref LL_DMAMUX2_SYNC_LPTIM3_OUT
1621   *         @arg @ref LL_DMAMUX2_SYNC_I2C4_WKUP
1622   *         @arg @ref LL_DMAMUX2_SYNC_SPI6_WKUP
1623   *         @arg @ref LL_DMAMUX2_SYNC_COMP1_OUT
1624   *         @arg @ref LL_DMAMUX2_SYNC_RTC_WKUP
1625   *         @arg @ref LL_DMAMUX2_SYNC_EXTI0
1626   *         @arg @ref LL_DMAMUX2_SYNC_EXTI2
1627   */
1628 __STATIC_INLINE uint32_t LL_DMAMUX_GetRequestSignalID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
1629 {
1630   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1631 
1632   return (uint32_t)(READ_BIT(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * RequestGenChannel)))->RGCR, DMAMUX_RGxCR_SIG_ID));
1633 }
1634 
1635 /**
1636   * @}
1637   */
1638 
1639 /** @defgroup DMAMUX_LL_EF_FLAG_Management FLAG_Management
1640   * @ingroup RTEMSBSPsARMSTM32H7
1641   * @{
1642   */
1643 
1644 /**
1645   * @brief  Get Synchronization Event Overrun Flag Channel 0.
1646   * @rmtoll CSR          SOF0          LL_DMAMUX_IsActiveFlag_SO0
1647   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1648   * @retval State of bit (1 or 0).
1649   */
1650 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO0(DMAMUX_Channel_TypeDef *DMAMUXx)
1651 {
1652   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1653 
1654   return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF0) == (DMAMUX_CSR_SOF0)) ? 1UL : 0UL);
1655 }
1656 
1657 /**
1658   * @brief  Get Synchronization Event Overrun Flag Channel 1.
1659   * @rmtoll CSR          SOF1          LL_DMAMUX_IsActiveFlag_SO1
1660   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1661   * @retval State of bit (1 or 0).
1662   */
1663 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO1(DMAMUX_Channel_TypeDef *DMAMUXx)
1664 {
1665   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1666 
1667   return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF1) == (DMAMUX_CSR_SOF1)) ? 1UL : 0UL);
1668 }
1669 
1670 /**
1671   * @brief  Get Synchronization Event Overrun Flag Channel 2.
1672   * @rmtoll CSR          SOF2          LL_DMAMUX_IsActiveFlag_SO2
1673   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1674   * @retval State of bit (1 or 0).
1675   */
1676 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO2(DMAMUX_Channel_TypeDef *DMAMUXx)
1677 {
1678   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1679 
1680   return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF2) == (DMAMUX_CSR_SOF2)) ? 1UL : 0UL);
1681 }
1682 
1683 /**
1684   * @brief  Get Synchronization Event Overrun Flag Channel 3.
1685   * @rmtoll CSR          SOF3          LL_DMAMUX_IsActiveFlag_SO3
1686   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1687   * @retval State of bit (1 or 0).
1688   */
1689 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO3(DMAMUX_Channel_TypeDef *DMAMUXx)
1690 {
1691   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1692 
1693   return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF3) == (DMAMUX_CSR_SOF3)) ? 1UL : 0UL);
1694 }
1695 
1696 /**
1697   * @brief  Get Synchronization Event Overrun Flag Channel 4.
1698   * @rmtoll CSR          SOF4          LL_DMAMUX_IsActiveFlag_SO4
1699   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1700   * @retval State of bit (1 or 0).
1701   */
1702 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO4(DMAMUX_Channel_TypeDef *DMAMUXx)
1703 {
1704   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1705 
1706   return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF4) == (DMAMUX_CSR_SOF4)) ? 1UL : 0UL);
1707 }
1708 
1709 /**
1710   * @brief  Get Synchronization Event Overrun Flag Channel 5.
1711   * @rmtoll CSR          SOF5          LL_DMAMUX_IsActiveFlag_SO5
1712   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1713   * @retval State of bit (1 or 0).
1714   */
1715 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO5(DMAMUX_Channel_TypeDef *DMAMUXx)
1716 {
1717   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1718 
1719   return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF5) == (DMAMUX_CSR_SOF5)) ? 1UL : 0UL);
1720 }
1721 
1722 /**
1723   * @brief  Get Synchronization Event Overrun Flag Channel 6.
1724   * @rmtoll CSR          SOF6          LL_DMAMUX_IsActiveFlag_SO6
1725   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1726   * @retval State of bit (1 or 0).
1727   */
1728 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO6(DMAMUX_Channel_TypeDef *DMAMUXx)
1729 {
1730   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1731 
1732   return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF6) == (DMAMUX_CSR_SOF6)) ? 1UL : 0UL);
1733 }
1734 
1735 /**
1736   * @brief  Get Synchronization Event Overrun Flag Channel 7.
1737   * @rmtoll CSR          SOF7          LL_DMAMUX_IsActiveFlag_SO7
1738   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1739   * @retval State of bit (1 or 0).
1740   */
1741 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO7(DMAMUX_Channel_TypeDef *DMAMUXx)
1742 {
1743   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1744 
1745   return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF7) == (DMAMUX_CSR_SOF7)) ? 1UL : 0UL);
1746 }
1747 
1748 /**
1749   * @brief  Get Synchronization Event Overrun Flag Channel 8.
1750   * @rmtoll CSR          SOF8          LL_DMAMUX_IsActiveFlag_SO8
1751   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1752   * @retval State of bit (1 or 0).
1753   */
1754 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO8(DMAMUX_Channel_TypeDef *DMAMUXx)
1755 {
1756   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1757 
1758   return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF8) == (DMAMUX_CSR_SOF8)) ? 1UL : 0UL);
1759 }
1760 
1761 /**
1762   * @brief  Get Synchronization Event Overrun Flag Channel 9.
1763   * @rmtoll CSR          SOF9          LL_DMAMUX_IsActiveFlag_SO9
1764   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1765   * @retval State of bit (1 or 0).
1766   */
1767 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO9(DMAMUX_Channel_TypeDef *DMAMUXx)
1768 {
1769   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1770 
1771   return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF9) == (DMAMUX_CSR_SOF9)) ? 1UL : 0UL);
1772 }
1773 
1774 /**
1775   * @brief  Get Synchronization Event Overrun Flag Channel 10.
1776   * @rmtoll CSR          SOF10         LL_DMAMUX_IsActiveFlag_SO10
1777   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1778   * @retval State of bit (1 or 0).
1779   */
1780 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO10(DMAMUX_Channel_TypeDef *DMAMUXx)
1781 {
1782   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1783 
1784   return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF10) == (DMAMUX_CSR_SOF10)) ? 1UL : 0UL);
1785 }
1786 
1787 /**
1788   * @brief  Get Synchronization Event Overrun Flag Channel 11.
1789   * @rmtoll CSR          SOF11         LL_DMAMUX_IsActiveFlag_SO11
1790   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1791   * @retval State of bit (1 or 0).
1792   */
1793 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO11(DMAMUX_Channel_TypeDef *DMAMUXx)
1794 {
1795   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1796 
1797   return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF11) == (DMAMUX_CSR_SOF11)) ? 1UL : 0UL);
1798 }
1799 
1800 /**
1801   * @brief  Get Synchronization Event Overrun Flag Channel 12.
1802   * @rmtoll CSR          SOF12         LL_DMAMUX_IsActiveFlag_SO12
1803   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1804   * @retval State of bit (1 or 0).
1805   */
1806 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO12(DMAMUX_Channel_TypeDef *DMAMUXx)
1807 {
1808   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1809 
1810   return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF12) == (DMAMUX_CSR_SOF12)) ? 1UL : 0UL);
1811 }
1812 
1813 /**
1814   * @brief  Get Synchronization Event Overrun Flag Channel 13.
1815   * @rmtoll CSR          SOF13         LL_DMAMUX_IsActiveFlag_SO13
1816   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1817   * @retval State of bit (1 or 0).
1818   */
1819 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO13(DMAMUX_Channel_TypeDef *DMAMUXx)
1820 {
1821   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1822 
1823   return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF13) == (DMAMUX_CSR_SOF13)) ? 1UL : 0UL);
1824 }
1825 
1826 /**
1827   * @brief  Get Synchronization Event Overrun Flag Channel 14.
1828   * @rmtoll CSR          SOF14         LL_DMAMUX_IsActiveFlag_SO14
1829   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1830   * @retval State of bit (1 or 0).
1831   */
1832 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO14(DMAMUX_Channel_TypeDef *DMAMUXx)
1833 {
1834   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1835 
1836   return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF14) == (DMAMUX_CSR_SOF14)) ? 1UL : 0UL);
1837 }
1838 
1839 /**
1840   * @brief  Get Synchronization Event Overrun Flag Channel 15.
1841   * @rmtoll CSR          SOF15         LL_DMAMUX_IsActiveFlag_SO15
1842   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1843   * @retval State of bit (1 or 0).
1844   */
1845 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO15(DMAMUX_Channel_TypeDef *DMAMUXx)
1846 {
1847   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1848 
1849   return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF15) == (DMAMUX_CSR_SOF15)) ? 1UL : 0UL);
1850 }
1851 
1852 /**
1853   * @brief  Get Request Generator 0 Trigger Event Overrun Flag.
1854   * @rmtoll RGSR         OF0           LL_DMAMUX_IsActiveFlag_RGO0
1855   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1856   * @retval State of bit (1 or 0).
1857   */
1858 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO0(DMAMUX_Channel_TypeDef *DMAMUXx)
1859 {
1860   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1861 
1862   return ((READ_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGSR, DMAMUX_RGSR_OF0) == (DMAMUX_RGSR_OF0)) ? 1UL : 0UL);
1863 }
1864 
1865 /**
1866   * @brief  Get Request Generator 1 Trigger Event Overrun Flag.
1867   * @rmtoll RGSR         OF1           LL_DMAMUX_IsActiveFlag_RGO1
1868   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1869   * @retval State of bit (1 or 0).
1870   */
1871 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO1(DMAMUX_Channel_TypeDef *DMAMUXx)
1872 {
1873   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1874 
1875   return ((READ_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGSR, DMAMUX_RGSR_OF1) == (DMAMUX_RGSR_OF1)) ? 1UL : 0UL);
1876 }
1877 
1878 /**
1879   * @brief  Get Request Generator 2 Trigger Event Overrun Flag.
1880   * @rmtoll RGSR         OF2           LL_DMAMUX_IsActiveFlag_RGO2
1881   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1882   * @retval State of bit (1 or 0).
1883   */
1884 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO2(DMAMUX_Channel_TypeDef *DMAMUXx)
1885 {
1886   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1887 
1888   return ((READ_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGSR, DMAMUX_RGSR_OF2) == (DMAMUX_RGSR_OF2)) ? 1UL : 0UL);
1889 }
1890 
1891 /**
1892   * @brief  Get Request Generator 3 Trigger Event Overrun Flag.
1893   * @rmtoll RGSR         OF3           LL_DMAMUX_IsActiveFlag_RGO3
1894   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1895   * @retval State of bit (1 or 0).
1896   */
1897 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO3(DMAMUX_Channel_TypeDef *DMAMUXx)
1898 {
1899   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1900 
1901   return ((READ_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGSR, DMAMUX_RGSR_OF3) == (DMAMUX_RGSR_OF3)) ? 1UL : 0UL);
1902 }
1903 
1904 /**
1905   * @brief  Get Request Generator 4 Trigger Event Overrun Flag.
1906   * @rmtoll RGSR         OF4           LL_DMAMUX_IsActiveFlag_RGO4
1907   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1908   * @retval State of bit (1 or 0).
1909   */
1910 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO4(DMAMUX_Channel_TypeDef *DMAMUXx)
1911 {
1912   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1913 
1914   return ((READ_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGSR, DMAMUX_RGSR_OF4) == (DMAMUX_RGSR_OF4)) ? 1UL : 0UL);
1915 }
1916 
1917 /**
1918   * @brief  Get Request Generator 5 Trigger Event Overrun Flag.
1919   * @rmtoll RGSR         OF5           LL_DMAMUX_IsActiveFlag_RGO5
1920   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1921   * @retval State of bit (1 or 0).
1922   */
1923 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO5(DMAMUX_Channel_TypeDef *DMAMUXx)
1924 {
1925   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1926 
1927   return ((READ_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGSR, DMAMUX_RGSR_OF5) == (DMAMUX_RGSR_OF5)) ? 1UL : 0UL);
1928 }
1929 
1930 /**
1931   * @brief  Get Request Generator 6 Trigger Event Overrun Flag.
1932   * @rmtoll RGSR         OF6           LL_DMAMUX_IsActiveFlag_RGO6
1933   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1934   * @retval State of bit (1 or 0).
1935   */
1936 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO6(DMAMUX_Channel_TypeDef *DMAMUXx)
1937 {
1938   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1939 
1940   return ((READ_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGSR, DMAMUX_RGSR_OF6) == (DMAMUX_RGSR_OF6)) ? 1UL : 0UL);
1941 }
1942 
1943 /**
1944   * @brief  Get Request Generator 7 Trigger Event Overrun Flag.
1945   * @rmtoll RGSR         OF7           LL_DMAMUX_IsActiveFlag_RGO7
1946   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1947   * @retval State of bit (1 or 0).
1948   */
1949 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO7(DMAMUX_Channel_TypeDef *DMAMUXx)
1950 {
1951   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1952 
1953   return ((READ_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGSR, DMAMUX_RGSR_OF7) == (DMAMUX_RGSR_OF7)) ? 1UL : 0UL);
1954 }
1955 
1956 /**
1957   * @brief  Clear Synchronization Event Overrun Flag Channel 0.
1958   * @rmtoll CFR          CSOF0         LL_DMAMUX_ClearFlag_SO0
1959   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1960   * @retval None
1961   */
1962 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO0(DMAMUX_Channel_TypeDef *DMAMUXx)
1963 {
1964   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1965 
1966   SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF0);
1967 }
1968 
1969 /**
1970   * @brief  Clear Synchronization Event Overrun Flag Channel 1.
1971   * @rmtoll CFR          CSOF1         LL_DMAMUX_ClearFlag_SO1
1972   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1973   * @retval None
1974   */
1975 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO1(DMAMUX_Channel_TypeDef *DMAMUXx)
1976 {
1977   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1978 
1979   SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF1);
1980 }
1981 
1982 /**
1983   * @brief  Clear Synchronization Event Overrun Flag Channel 2.
1984   * @rmtoll CFR          CSOF2         LL_DMAMUX_ClearFlag_SO2
1985   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1986   * @retval None
1987   */
1988 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO2(DMAMUX_Channel_TypeDef *DMAMUXx)
1989 {
1990   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
1991 
1992   SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF2);
1993 }
1994 
1995 /**
1996   * @brief  Clear Synchronization Event Overrun Flag Channel 3.
1997   * @rmtoll CFR          CSOF3         LL_DMAMUX_ClearFlag_SO3
1998   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
1999   * @retval None
2000   */
2001 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO3(DMAMUX_Channel_TypeDef *DMAMUXx)
2002 {
2003   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
2004 
2005   SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF3);
2006 }
2007 
2008 /**
2009   * @brief  Clear Synchronization Event Overrun Flag Channel 4.
2010   * @rmtoll CFR          CSOF4         LL_DMAMUX_ClearFlag_SO4
2011   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
2012   * @retval None
2013   */
2014 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO4(DMAMUX_Channel_TypeDef *DMAMUXx)
2015 {
2016   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
2017 
2018   SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF4);
2019 }
2020 
2021 /**
2022   * @brief  Clear Synchronization Event Overrun Flag Channel 5.
2023   * @rmtoll CFR          CSOF5         LL_DMAMUX_ClearFlag_SO5
2024   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
2025   * @retval None
2026   */
2027 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO5(DMAMUX_Channel_TypeDef *DMAMUXx)
2028 {
2029   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
2030 
2031   SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF5);
2032 }
2033 
2034 /**
2035   * @brief  Clear Synchronization Event Overrun Flag Channel 6.
2036   * @rmtoll CFR          CSOF6         LL_DMAMUX_ClearFlag_SO6
2037   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
2038   * @retval None
2039   */
2040 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO6(DMAMUX_Channel_TypeDef *DMAMUXx)
2041 {
2042   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
2043 
2044   SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF6);
2045 }
2046 
2047 /**
2048   * @brief  Clear Synchronization Event Overrun Flag Channel 7.
2049   * @rmtoll CFR          CSOF7         LL_DMAMUX_ClearFlag_SO7
2050   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
2051   * @retval None
2052   */
2053 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO7(DMAMUX_Channel_TypeDef *DMAMUXx)
2054 {
2055   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
2056 
2057   SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF7);
2058 }
2059 
2060 /**
2061   * @brief  Clear Synchronization Event Overrun Flag Channel 8.
2062   * @rmtoll CFR          CSOF8         LL_DMAMUX_ClearFlag_SO8
2063   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
2064   * @retval None
2065   */
2066 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO8(DMAMUX_Channel_TypeDef *DMAMUXx)
2067 {
2068   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
2069 
2070   SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF8);
2071 }
2072 
2073 /**
2074   * @brief  Clear Synchronization Event Overrun Flag Channel 9.
2075   * @rmtoll CFR          CSOF9         LL_DMAMUX_ClearFlag_SO9
2076   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
2077   * @retval None
2078   */
2079 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO9(DMAMUX_Channel_TypeDef *DMAMUXx)
2080 {
2081   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
2082 
2083   SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF9);
2084 }
2085 
2086 /**
2087   * @brief  Clear Synchronization Event Overrun Flag Channel 10.
2088   * @rmtoll CFR          CSOF10        LL_DMAMUX_ClearFlag_SO10
2089   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
2090   * @retval None
2091   */
2092 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO10(DMAMUX_Channel_TypeDef *DMAMUXx)
2093 {
2094   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
2095 
2096   SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF10);
2097 }
2098 
2099 /**
2100   * @brief  Clear Synchronization Event Overrun Flag Channel 11.
2101   * @rmtoll CFR          CSOF11        LL_DMAMUX_ClearFlag_SO11
2102   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
2103   * @retval None
2104   */
2105 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO11(DMAMUX_Channel_TypeDef *DMAMUXx)
2106 {
2107   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
2108 
2109   SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF11);
2110 }
2111 
2112 /**
2113   * @brief  Clear Synchronization Event Overrun Flag Channel 12.
2114   * @rmtoll CFR          CSOF12        LL_DMAMUX_ClearFlag_SO12
2115   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
2116   * @retval None
2117   */
2118 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO12(DMAMUX_Channel_TypeDef *DMAMUXx)
2119 {
2120   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
2121 
2122   SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF12);
2123 }
2124 
2125 /**
2126   * @brief  Clear Synchronization Event Overrun Flag Channel 13.
2127   * @rmtoll CFR          CSOF13        LL_DMAMUX_ClearFlag_SO13
2128   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
2129   * @retval None
2130   */
2131 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO13(DMAMUX_Channel_TypeDef *DMAMUXx)
2132 {
2133   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
2134 
2135   SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF13);
2136 }
2137 
2138 /**
2139   * @brief  Clear Synchronization Event Overrun Flag Channel 14.
2140   * @rmtoll CFR          CSOF14        LL_DMAMUX_ClearFlag_SO14
2141   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
2142   * @retval None
2143   */
2144 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO14(DMAMUX_Channel_TypeDef *DMAMUXx)
2145 {
2146   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
2147 
2148   SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF14);
2149 }
2150 
2151 /**
2152   * @brief  Clear Synchronization Event Overrun Flag Channel 15.
2153   * @rmtoll CFR          CSOF15        LL_DMAMUX_ClearFlag_SO15
2154   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
2155   * @retval None
2156   */
2157 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO15(DMAMUX_Channel_TypeDef *DMAMUXx)
2158 {
2159   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
2160 
2161   SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF15);
2162 }
2163 
2164 /**
2165   * @brief  Clear Request Generator 0 Trigger Event Overrun Flag.
2166   * @rmtoll RGCFR        COF0          LL_DMAMUX_ClearFlag_RGO0
2167   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
2168   * @retval None
2169   */
2170 __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO0(DMAMUX_Channel_TypeDef *DMAMUXx)
2171 {
2172   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
2173 
2174   SET_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGCFR, DMAMUX_RGCFR_COF0);
2175 }
2176 
2177 /**
2178   * @brief  Clear Request Generator 1 Trigger Event Overrun Flag.
2179   * @rmtoll RGCFR        COF1          LL_DMAMUX_ClearFlag_RGO1
2180   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
2181   * @retval None
2182   */
2183 __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO1(DMAMUX_Channel_TypeDef *DMAMUXx)
2184 {
2185   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
2186 
2187   SET_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGCFR, DMAMUX_RGCFR_COF1);
2188 }
2189 
2190 /**
2191   * @brief  Clear Request Generator 2 Trigger Event Overrun Flag.
2192   * @rmtoll RGCFR        COF2          LL_DMAMUX_ClearFlag_RGO2
2193   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
2194   * @retval None
2195   */
2196 __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO2(DMAMUX_Channel_TypeDef *DMAMUXx)
2197 {
2198   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
2199 
2200   SET_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGCFR, DMAMUX_RGCFR_COF2);
2201 }
2202 
2203 /**
2204   * @brief  Clear Request Generator 3 Trigger Event Overrun Flag.
2205   * @rmtoll RGCFR        COF3          LL_DMAMUX_ClearFlag_RGO3
2206   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
2207   * @retval None
2208   */
2209 __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO3(DMAMUX_Channel_TypeDef *DMAMUXx)
2210 {
2211   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
2212 
2213   SET_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGCFR, DMAMUX_RGCFR_COF3);
2214 }
2215 
2216 /**
2217   * @brief  Clear Request Generator 4 Trigger Event Overrun Flag.
2218   * @rmtoll RGCFR        COF4          LL_DMAMUX_ClearFlag_RGO4
2219   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
2220   * @retval None
2221   */
2222 __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO4(DMAMUX_Channel_TypeDef *DMAMUXx)
2223 {
2224   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
2225 
2226   SET_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGCFR, DMAMUX_RGCFR_COF4);
2227 }
2228 
2229 /**
2230   * @brief  Clear Request Generator 5 Trigger Event Overrun Flag.
2231   * @rmtoll RGCFR        COF5          LL_DMAMUX_ClearFlag_RGO5
2232   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
2233   * @retval None
2234   */
2235 __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO5(DMAMUX_Channel_TypeDef *DMAMUXx)
2236 {
2237   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
2238 
2239   SET_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGCFR, DMAMUX_RGCFR_COF5);
2240 }
2241 
2242 /**
2243   * @brief  Clear Request Generator 6 Trigger Event Overrun Flag.
2244   * @rmtoll RGCFR        COF6          LL_DMAMUX_ClearFlag_RGO6
2245   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
2246   * @retval None
2247   */
2248 __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO6(DMAMUX_Channel_TypeDef *DMAMUXx)
2249 {
2250   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
2251 
2252   SET_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGCFR, DMAMUX_RGCFR_COF6);
2253 }
2254 
2255 /**
2256   * @brief  Clear Request Generator 7 Trigger Event Overrun Flag.
2257   * @rmtoll RGCFR        COF7          LL_DMAMUX_ClearFlag_RGO7
2258   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
2259   * @retval None
2260   */
2261 __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO7(DMAMUX_Channel_TypeDef *DMAMUXx)
2262 {
2263   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
2264 
2265   SET_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGCFR, DMAMUX_RGCFR_COF7);
2266 }
2267 
2268 /**
2269   * @}
2270   */
2271 
2272 /** @defgroup DMAMUX_LL_EF_IT_Management IT_Management
2273   * @ingroup RTEMSBSPsARMSTM32H7
2274   * @{
2275   */
2276 
2277 /**
2278   * @brief  Enable the Synchronization Event Overrun Interrupt on DMAMUX channel x.
2279   * @rmtoll CxCR         SOIE          LL_DMAMUX_EnableIT_SO
2280   * @param  DMAMUXx DMAMUXx Instance
2281   * @param  Channel This parameter can be one of the following values:
2282   *         @arg @ref LL_DMAMUX_CHANNEL_0
2283   *         @arg @ref LL_DMAMUX_CHANNEL_1
2284   *         @arg @ref LL_DMAMUX_CHANNEL_2
2285   *         @arg @ref LL_DMAMUX_CHANNEL_3
2286   *         @arg @ref LL_DMAMUX_CHANNEL_4
2287   *         @arg @ref LL_DMAMUX_CHANNEL_5
2288   *         @arg @ref LL_DMAMUX_CHANNEL_6
2289   *         @arg @ref LL_DMAMUX_CHANNEL_7
2290   *         @arg @ref LL_DMAMUX_CHANNEL_8
2291   *         @arg @ref LL_DMAMUX_CHANNEL_9
2292   *         @arg @ref LL_DMAMUX_CHANNEL_10
2293   *         @arg @ref LL_DMAMUX_CHANNEL_11
2294   *         @arg @ref LL_DMAMUX_CHANNEL_12
2295   *         @arg @ref LL_DMAMUX_CHANNEL_13
2296   *         @arg @ref LL_DMAMUX_CHANNEL_14
2297   *         @arg @ref LL_DMAMUX_CHANNEL_15
2298   * @retval None
2299   */
2300 __STATIC_INLINE void LL_DMAMUX_EnableIT_SO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
2301 {
2302   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
2303 
2304   SET_BIT(((DMAMUX_Channel_TypeDef *)((uint32_t)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel)))))->CCR, DMAMUX_CxCR_SOIE);
2305 }
2306 
2307 /**
2308   * @brief  Disable the Synchronization Event Overrun Interrupt on DMAMUX channel x.
2309   * @rmtoll CxCR         SOIE          LL_DMAMUX_DisableIT_SO
2310   * @param  DMAMUXx DMAMUXx Instance
2311   * @param  Channel This parameter can be one of the following values:
2312   *         @arg @ref LL_DMAMUX_CHANNEL_0
2313   *         @arg @ref LL_DMAMUX_CHANNEL_1
2314   *         @arg @ref LL_DMAMUX_CHANNEL_2
2315   *         @arg @ref LL_DMAMUX_CHANNEL_3
2316   *         @arg @ref LL_DMAMUX_CHANNEL_4
2317   *         @arg @ref LL_DMAMUX_CHANNEL_5
2318   *         @arg @ref LL_DMAMUX_CHANNEL_6
2319   *         @arg @ref LL_DMAMUX_CHANNEL_7
2320   *         @arg @ref LL_DMAMUX_CHANNEL_8
2321   *         @arg @ref LL_DMAMUX_CHANNEL_9
2322   *         @arg @ref LL_DMAMUX_CHANNEL_10
2323   *         @arg @ref LL_DMAMUX_CHANNEL_11
2324   *         @arg @ref LL_DMAMUX_CHANNEL_12
2325   *         @arg @ref LL_DMAMUX_CHANNEL_13
2326   *         @arg @ref LL_DMAMUX_CHANNEL_14
2327   *         @arg @ref LL_DMAMUX_CHANNEL_15
2328   * @retval None
2329   */
2330 __STATIC_INLINE void LL_DMAMUX_DisableIT_SO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
2331 {
2332   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
2333 
2334   CLEAR_BIT(((DMAMUX_Channel_TypeDef *)((uint32_t)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel)))))->CCR, DMAMUX_CxCR_SOIE);
2335 }
2336 
2337 /**
2338   * @brief  Check if the Synchronization Event Overrun Interrupt on DMAMUX channel x is enabled or disabled.
2339   * @rmtoll CxCR         SOIE          LL_DMAMUX_IsEnabledIT_SO
2340   * @param  DMAMUXx DMAMUXx Instance
2341   * @param  Channel This parameter can be one of the following values:
2342   *         @arg @ref LL_DMAMUX_CHANNEL_0
2343   *         @arg @ref LL_DMAMUX_CHANNEL_1
2344   *         @arg @ref LL_DMAMUX_CHANNEL_2
2345   *         @arg @ref LL_DMAMUX_CHANNEL_3
2346   *         @arg @ref LL_DMAMUX_CHANNEL_4
2347   *         @arg @ref LL_DMAMUX_CHANNEL_5
2348   *         @arg @ref LL_DMAMUX_CHANNEL_6
2349   *         @arg @ref LL_DMAMUX_CHANNEL_7
2350   *         @arg @ref LL_DMAMUX_CHANNEL_8
2351   *         @arg @ref LL_DMAMUX_CHANNEL_9
2352   *         @arg @ref LL_DMAMUX_CHANNEL_10
2353   *         @arg @ref LL_DMAMUX_CHANNEL_11
2354   *         @arg @ref LL_DMAMUX_CHANNEL_12
2355   *         @arg @ref LL_DMAMUX_CHANNEL_13
2356   *         @arg @ref LL_DMAMUX_CHANNEL_14
2357   *         @arg @ref LL_DMAMUX_CHANNEL_15
2358   * @retval State of bit (1 or 0).
2359   */
2360 __STATIC_INLINE uint32_t LL_DMAMUX_IsEnabledIT_SO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
2361 {
2362   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
2363 
2364   return (READ_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_SOIE));
2365 }
2366 
2367 /**
2368   * @brief  Enable the Request Generation Trigger Event Overrun Interrupt on DMAMUX channel x.
2369   * @rmtoll RGxCR        OIE           LL_DMAMUX_EnableIT_RGO
2370   * @param  DMAMUXx DMAMUXx Instance
2371   * @param  RequestGenChannel This parameter can be one of the following values:
2372   *         @arg @ref LL_DMAMUX_REQ_GEN_0
2373   *         @arg @ref LL_DMAMUX_REQ_GEN_1
2374   *         @arg @ref LL_DMAMUX_REQ_GEN_2
2375   *         @arg @ref LL_DMAMUX_REQ_GEN_3
2376   *         @arg @ref LL_DMAMUX_REQ_GEN_4
2377   *         @arg @ref LL_DMAMUX_REQ_GEN_5
2378   *         @arg @ref LL_DMAMUX_REQ_GEN_6
2379   *         @arg @ref LL_DMAMUX_REQ_GEN_7
2380   * @retval None
2381   */
2382 __STATIC_INLINE void LL_DMAMUX_EnableIT_RGO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
2383 {
2384   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
2385 
2386   SET_BIT(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * RequestGenChannel)))->RGCR, DMAMUX_RGxCR_OIE);
2387 }
2388 
2389 /**
2390   * @brief  Disable the Request Generation Trigger Event Overrun Interrupt on DMAMUX channel x.
2391   * @rmtoll RGxCR        OIE           LL_DMAMUX_DisableIT_RGO
2392   * @param  DMAMUXx DMAMUXx Instance
2393   * @param  RequestGenChannel This parameter can be one of the following values:
2394   *         @arg @ref LL_DMAMUX_REQ_GEN_0
2395   *         @arg @ref LL_DMAMUX_REQ_GEN_1
2396   *         @arg @ref LL_DMAMUX_REQ_GEN_2
2397   *         @arg @ref LL_DMAMUX_REQ_GEN_3
2398   *         @arg @ref LL_DMAMUX_REQ_GEN_4
2399   *         @arg @ref LL_DMAMUX_REQ_GEN_5
2400   *         @arg @ref LL_DMAMUX_REQ_GEN_6
2401   *         @arg @ref LL_DMAMUX_REQ_GEN_7
2402   * @retval None
2403   */
2404 __STATIC_INLINE void LL_DMAMUX_DisableIT_RGO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
2405 {
2406   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
2407 
2408   CLEAR_BIT(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * RequestGenChannel)))->RGCR, DMAMUX_RGxCR_OIE);
2409 }
2410 
2411 /**
2412   * @brief  Check if the Request Generation Trigger Event Overrun Interrupt on DMAMUX channel x is enabled or disabled.
2413   * @rmtoll RGxCR        OIE           LL_DMAMUX_IsEnabledIT_RGO
2414   * @param  DMAMUXx DMAMUXx Instance
2415   * @param  RequestGenChannel This parameter can be one of the following values:
2416   *         @arg @ref LL_DMAMUX_REQ_GEN_0
2417   *         @arg @ref LL_DMAMUX_REQ_GEN_1
2418   *         @arg @ref LL_DMAMUX_REQ_GEN_2
2419   *         @arg @ref LL_DMAMUX_REQ_GEN_3
2420   *         @arg @ref LL_DMAMUX_REQ_GEN_4
2421   *         @arg @ref LL_DMAMUX_REQ_GEN_5
2422   *         @arg @ref LL_DMAMUX_REQ_GEN_6
2423   *         @arg @ref LL_DMAMUX_REQ_GEN_7
2424   * @retval State of bit (1 or 0).
2425   */
2426 __STATIC_INLINE uint32_t LL_DMAMUX_IsEnabledIT_RGO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
2427 {
2428   uint32_t dmamux_base_addr = (uint32_t)DMAMUXx;
2429 
2430   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);
2431 }
2432 
2433 /**
2434   * @}
2435   */
2436 
2437 /**
2438   * @}
2439   */
2440 
2441 /**
2442   * @}
2443   */
2444 
2445 #endif /* DMAMUX1 || DMAMUX2 */
2446 
2447 /**
2448   * @}
2449   */
2450 
2451 #ifdef __cplusplus
2452 }
2453 #endif
2454 
2455 #endif /* __STM32H7xx_LL_DMAMUX_H */
2456