STM32L486xx HAL User Manual
stm32l4xx_ll_dmamux.h
Go to the documentation of this file.
00001 /**
00002   ******************************************************************************
00003   * @file    stm32l4xx_ll_dmamux.h
00004   * @author  MCD Application Team
00005   * @brief   Header file of DMAMUX LL module.
00006   ******************************************************************************
00007   * @attention
00008   *
00009   * <h2><center>&copy; COPYRIGHT(c) 2017 STMicroelectronics</center></h2>
00010   *
00011   * Redistribution and use in source and binary forms, with or without modification,
00012   * are permitted provided that the following conditions are met:
00013   *   1. Redistributions of source code must retain the above copyright notice,
00014   *      this list of conditions and the following disclaimer.
00015   *   2. Redistributions in binary form must reproduce the above copyright notice,
00016   *      this list of conditions and the following disclaimer in the documentation
00017   *      and/or other materials provided with the distribution.
00018   *   3. Neither the name of STMicroelectronics nor the names of its contributors
00019   *      may be used to endorse or promote products derived from this software
00020   *      without specific prior written permission.
00021   *
00022   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00023   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00024   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00025   * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
00026   * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
00027   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
00028   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
00029   * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
00030   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00031   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00032   *
00033   ******************************************************************************
00034   */
00035 
00036 /* Define to prevent recursive inclusion -------------------------------------*/
00037 #ifndef __STM32L4xx_LL_DMAMUX_H
00038 #define __STM32L4xx_LL_DMAMUX_H
00039 
00040 #ifdef __cplusplus
00041 extern "C" {
00042 #endif
00043 
00044 /* Includes ------------------------------------------------------------------*/
00045 #include "stm32l4xx.h"
00046 
00047 /** @addtogroup STM32L4xx_LL_Driver
00048   * @{
00049   */
00050 
00051 #if defined (DMAMUX1)
00052 
00053 /** @defgroup DMAMUX_LL DMAMUX
00054   * @{
00055   */
00056 
00057 /* Private types -------------------------------------------------------------*/
00058 /* Private variables ---------------------------------------------------------*/
00059 /* Private constants ---------------------------------------------------------*/
00060 /** @defgroup DMAMUX_LL_Private_Constants DMAMUX Private Constants
00061   * @{
00062   */
00063 /* Define used to get DMAMUX CCR register size */
00064 #define DMAMUX_CCR_SIZE                   0x00000004U
00065 
00066 /* Define used to get DMAMUX RGCR register size */
00067 #define DMAMUX_RGCR_SIZE                  0x00000004U
00068 /**
00069   * @}
00070   */
00071 
00072 /* Private macros ------------------------------------------------------------*/
00073 /* Exported types ------------------------------------------------------------*/
00074 /* Exported constants --------------------------------------------------------*/
00075 /** @defgroup DMAMUX_LL_Exported_Constants DMAMUX Exported Constants
00076   * @{
00077   */
00078 /** @defgroup DMAMUX_LL_EC_CLEAR_FLAG Clear Flags Defines
00079   * @brief    Flags defines which can be used with LL_DMAMUX_WriteReg function
00080   * @{
00081   */
00082 #define LL_DMAMUX_CFR_CSOF0               DMAMUX_CFR_CSOF0       /*!< Synchronization Event Overrun Flag Channel 0  */
00083 #define LL_DMAMUX_CFR_CSOF1               DMAMUX_CFR_CSOF1       /*!< Synchronization Event Overrun Flag Channel 1  */
00084 #define LL_DMAMUX_CFR_CSOF2               DMAMUX_CFR_CSOF2       /*!< Synchronization Event Overrun Flag Channel 2  */
00085 #define LL_DMAMUX_CFR_CSOF3               DMAMUX_CFR_CSOF3       /*!< Synchronization Event Overrun Flag Channel 3  */
00086 #define LL_DMAMUX_CFR_CSOF4               DMAMUX_CFR_CSOF4       /*!< Synchronization Event Overrun Flag Channel 4  */
00087 #define LL_DMAMUX_CFR_CSOF5               DMAMUX_CFR_CSOF5       /*!< Synchronization Event Overrun Flag Channel 5  */
00088 #define LL_DMAMUX_CFR_CSOF6               DMAMUX_CFR_CSOF6       /*!< Synchronization Event Overrun Flag Channel 6  */
00089 #define LL_DMAMUX_CFR_CSOF7               DMAMUX_CFR_CSOF7       /*!< Synchronization Event Overrun Flag Channel 7  */
00090 #define LL_DMAMUX_CFR_CSOF8               DMAMUX_CFR_CSOF8       /*!< Synchronization Event Overrun Flag Channel 8  */
00091 #define LL_DMAMUX_CFR_CSOF9               DMAMUX_CFR_CSOF9       /*!< Synchronization Event Overrun Flag Channel 9  */
00092 #define LL_DMAMUX_CFR_CSOF10              DMAMUX_CFR_CSOF10      /*!< Synchronization Event Overrun Flag Channel 10 */
00093 #define LL_DMAMUX_CFR_CSOF11              DMAMUX_CFR_CSOF11      /*!< Synchronization Event Overrun Flag Channel 11 */
00094 #define LL_DMAMUX_CFR_CSOF12              DMAMUX_CFR_CSOF12      /*!< Synchronization Event Overrun Flag Channel 12 */
00095 #define LL_DMAMUX_CFR_CSOF13              DMAMUX_CFR_CSOF13      /*!< Synchronization Event Overrun Flag Channel 13 */
00096 #define LL_DMAMUX_RGCFR_RGCOF0            DMAMUX_RGCFR_COF0      /*!< Request Generator 0 Trigger Event Overrun Flag */
00097 #define LL_DMAMUX_RGCFR_RGCOF1            DMAMUX_RGCFR_COF1      /*!< Request Generator 1 Trigger Event Overrun Flag */
00098 #define LL_DMAMUX_RGCFR_RGCOF2            DMAMUX_RGCFR_COF2      /*!< Request Generator 2 Trigger Event Overrun Flag */
00099 #define LL_DMAMUX_RGCFR_RGCOF3            DMAMUX_RGCFR_COF3      /*!< Request Generator 3 Trigger Event Overrun Flag */
00100 /**
00101   * @}
00102   */
00103 
00104 /** @defgroup DMAMUX_LL_EC_GET_FLAG Get Flags Defines
00105   * @brief    Flags defines which can be used with LL_DMAMUX_ReadReg function
00106   * @{
00107   */
00108 #define LL_DMAMUX_CSR_SOF0                DMAMUX_CSR_SOF0       /*!< Synchronization Event Overrun Flag Channel 0  */
00109 #define LL_DMAMUX_CSR_SOF1                DMAMUX_CSR_SOF1       /*!< Synchronization Event Overrun Flag Channel 1  */
00110 #define LL_DMAMUX_CSR_SOF2                DMAMUX_CSR_SOF2       /*!< Synchronization Event Overrun Flag Channel 2  */
00111 #define LL_DMAMUX_CSR_SOF3                DMAMUX_CSR_SOF3       /*!< Synchronization Event Overrun Flag Channel 3  */
00112 #define LL_DMAMUX_CSR_SOF4                DMAMUX_CSR_SOF4       /*!< Synchronization Event Overrun Flag Channel 4  */
00113 #define LL_DMAMUX_CSR_SOF5                DMAMUX_CSR_SOF5       /*!< Synchronization Event Overrun Flag Channel 5  */
00114 #define LL_DMAMUX_CSR_SOF6                DMAMUX_CSR_SOF6       /*!< Synchronization Event Overrun Flag Channel 6  */
00115 #define LL_DMAMUX_CSR_SOF7                DMAMUX_CSR_SOF7       /*!< Synchronization Event Overrun Flag Channel 7  */
00116 #define LL_DMAMUX_CSR_SOF8                DMAMUX_CSR_SOF8       /*!< Synchronization Event Overrun Flag Channel 8  */
00117 #define LL_DMAMUX_CSR_SOF9                DMAMUX_CSR_SOF9       /*!< Synchronization Event Overrun Flag Channel 9  */
00118 #define LL_DMAMUX_CSR_SOF10               DMAMUX_CSR_SOF10      /*!< Synchronization Event Overrun Flag Channel 10 */
00119 #define LL_DMAMUX_CSR_SOF11               DMAMUX_CSR_SOF11      /*!< Synchronization Event Overrun Flag Channel 11 */
00120 #define LL_DMAMUX_CSR_SOF12               DMAMUX_CSR_SOF12      /*!< Synchronization Event Overrun Flag Channel 12 */
00121 #define LL_DMAMUX_CSR_SOF13               DMAMUX_CSR_SOF13      /*!< Synchronization Event Overrun Flag Channel 13 */
00122 #define LL_DMAMUX_RGSR_RGOF0              DMAMUX_RGSR_OF0       /*!< Request Generator 0 Trigger Event Overrun Flag */
00123 #define LL_DMAMUX_RGSR_RGOF1              DMAMUX_RGSR_OF1       /*!< Request Generator 1 Trigger Event Overrun Flag */
00124 #define LL_DMAMUX_RGSR_RGOF2              DMAMUX_RGSR_OF2       /*!< Request Generator 2 Trigger Event Overrun Flag */
00125 #define LL_DMAMUX_RGSR_RGOF3              DMAMUX_RGSR_OF3       /*!< Request Generator 3 Trigger Event Overrun Flag */
00126 /**
00127   * @}
00128   */
00129 
00130 /** @defgroup DMAMUX_LL_EC_IT IT Defines
00131   * @brief    IT defines which can be used with LL_DMA_ReadReg and  LL_DMAMUX_WriteReg functions
00132   * @{
00133   */
00134 #define LL_DMAMUX_CCR_SOIE                DMAMUX_CxCR_SOIE          /*!< Synchronization Event Overrun Interrupt */
00135 #define LL_DMAMUX_RGCR_RGOIE              DMAMUX_RGxCR_OIE          /*!< Request Generation Trigger Event Overrun Interrupt    */
00136 /**
00137   * @}
00138   */
00139 
00140 /** @defgroup DMAMUX_LL_EC_REQUEST Transfer request
00141   * @{
00142   */
00143 #define LL_DMAMUX_REQ_MEM2MEM          0U   /*!< Memory to memory transfer  */
00144 #define LL_DMAMUX_REQ_GENERATOR0       1U   /*!< DMAMUX request generator 0 */
00145 #define LL_DMAMUX_REQ_GENERATOR1       2U   /*!< DMAMUX request generator 1 */
00146 #define LL_DMAMUX_REQ_GENERATOR2       3U   /*!< DMAMUX request generator 2 */
00147 #define LL_DMAMUX_REQ_GENERATOR3       4U   /*!< DMAMUX request generator 3 */
00148 #define LL_DMAMUX_REQ_ADC1             5U   /*!< DMAMUX ADC1 request        */
00149 #define LL_DMAMUX_REQ_DAC1_CH1         6U   /*!< DMAMUX DAC1 CH1 request    */
00150 #define LL_DMAMUX_REQ_DAC1_CH2         7U   /*!< DMAMUX DAC1 CH2 request    */
00151 #define LL_DMAMUX_REQ_TIM6_UP          8U   /*!< DMAMUX TIM6 UP request     */
00152 #define LL_DMAMUX_REQ_TIM7_UP          9U   /*!< DMAMUX TIM7 UP request     */
00153 #define LL_DMAMUX_REQ_SPI1_RX         10U   /*!< DMAMUX SPI1 RX request     */
00154 #define LL_DMAMUX_REQ_SPI1_TX         11U   /*!< DMAMUX SPI1 TX request     */
00155 #define LL_DMAMUX_REQ_SPI2_RX         12U   /*!< DMAMUX SPI2 RX request     */
00156 #define LL_DMAMUX_REQ_SPI2_TX         13U   /*!< DMAMUX SPI2 TX request     */
00157 #define LL_DMAMUX_REQ_SPI3_RX         14U   /*!< DMAMUX SPI3 RX request     */
00158 #define LL_DMAMUX_REQ_SPI3_TX         15U   /*!< DMAMUX SPI3 TX request     */
00159 #define LL_DMAMUX_REQ_I2C1_RX         16U   /*!< DMAMUX I2C1 RX request     */
00160 #define LL_DMAMUX_REQ_I2C1_TX         17U   /*!< DMAMUX I2C1 TX request     */
00161 #define LL_DMAMUX_REQ_I2C2_RX         18U   /*!< DMAMUX I2C2 RX request     */
00162 #define LL_DMAMUX_REQ_I2C2_TX         19U   /*!< DMAMUX I2C2 TX request     */
00163 #define LL_DMAMUX_REQ_I2C3_RX         20U   /*!< DMAMUX I2C3 RX request     */
00164 #define LL_DMAMUX_REQ_I2C3_TX         21U   /*!< DMAMUX I2C3 TX request     */
00165 #define LL_DMAMUX_REQ_I2C4_RX         22U   /*!< DMAMUX I2C4 RX request     */
00166 #define LL_DMAMUX_REQ_I2C4_TX         23U   /*!< DMAMUX I2C4 TX request     */
00167 #define LL_DMAMUX_REQ_USART1_RX       24U   /*!< DMAMUX USART1 RX request   */
00168 #define LL_DMAMUX_REQ_USART1_TX       25U   /*!< DMAMUX USART1 TX request   */
00169 #define LL_DMAMUX_REQ_USART2_RX       26U   /*!< DMAMUX USART2 RX request   */
00170 #define LL_DMAMUX_REQ_USART2_TX       27U   /*!< DMAMUX USART2 TX request   */
00171 #define LL_DMAMUX_REQ_USART3_RX       28U   /*!< DMAMUX USART3 RX request   */
00172 #define LL_DMAMUX_REQ_USART3_TX       29U   /*!< DMAMUX USART3 TX request   */
00173 #define LL_DMAMUX_REQ_UART4_RX        30U   /*!< DMAMUX UART4 RX request    */
00174 #define LL_DMAMUX_REQ_UART4_TX        31U   /*!< DMAMUX UART4 TX request    */
00175 #define LL_DMAMUX_REQ_UART5_RX        32U   /*!< DMAMUX UART5 RX request    */
00176 #define LL_DMAMUX_REQ_UART5_TX        33U   /*!< DMAMUX UART5 TX request    */
00177 #define LL_DMAMUX_REQ_LPUART1_RX      34U   /*!< DMAMUX LPUART1 RX request  */
00178 #define LL_DMAMUX_REQ_LPUART1_TX      35U   /*!< DMAMUX LPUART1 TX request  */
00179 #define LL_DMAMUX_REQ_SAI1_A          36U   /*!< DMAMUX SAI1 A request      */
00180 #define LL_DMAMUX_REQ_SAI1_B          37U   /*!< DMAMUX SAI1 B request      */
00181 #define LL_DMAMUX_REQ_SAI2_A          38U   /*!< DMAMUX SAI2 A request      */
00182 #define LL_DMAMUX_REQ_SAI2_B          39U   /*!< DMAMUX SAI2 B request      */
00183 #define LL_DMAMUX_REQ_OSPI1           40U   /*!< DMAMUX OCTOSPI1 request    */
00184 #define LL_DMAMUX_REQ_OSPI2           41U   /*!< DMAMUX OCTOSPI2 request    */
00185 #define LL_DMAMUX_REQ_TIM1_CH1        42U   /*!< DMAMUX TIM1 CH1 request    */
00186 #define LL_DMAMUX_REQ_TIM1_CH2        43U   /*!< DMAMUX TIM1 CH2 request    */
00187 #define LL_DMAMUX_REQ_TIM1_CH3        44U   /*!< DMAMUX TIM1 CH3 request    */
00188 #define LL_DMAMUX_REQ_TIM1_CH4        45U   /*!< DMAMUX TIM1 CH4 request    */
00189 #define LL_DMAMUX_REQ_TIM1_UP         46U   /*!< DMAMUX TIM1 UP request     */
00190 #define LL_DMAMUX_REQ_TIM1_TRIG       47U   /*!< DMAMUX TIM1 TRIG request   */
00191 #define LL_DMAMUX_REQ_TIM1_COM        48U   /*!< DMAMUX TIM1 COM request    */
00192 #define LL_DMAMUX_REQ_TIM8_CH1        49U   /*!< DMAMUX TIM8 CH1 request    */
00193 #define LL_DMAMUX_REQ_TIM8_CH2        50U   /*!< DMAMUX TIM8 CH2 request    */
00194 #define LL_DMAMUX_REQ_TIM8_CH3        51U   /*!< DMAMUX TIM8 CH3 request    */
00195 #define LL_DMAMUX_REQ_TIM8_CH4        52U   /*!< DMAMUX TIM8 CH4 request    */
00196 #define LL_DMAMUX_REQ_TIM8_UP         53U   /*!< DMAMUX TIM8 UP request     */
00197 #define LL_DMAMUX_REQ_TIM8_TRIG       54U   /*!< DMAMUX TIM8 TRIG request   */
00198 #define LL_DMAMUX_REQ_TIM8_COM        55U   /*!< DMAMUX TIM8 COM request    */
00199 #define LL_DMAMUX_REQ_TIM2_CH1        56U   /*!< DMAMUX TIM2 CH1 request    */
00200 #define LL_DMAMUX_REQ_TIM2_CH2        57U   /*!< DMAMUX TIM2 CH2 request    */
00201 #define LL_DMAMUX_REQ_TIM2_CH3        58U   /*!< DMAMUX TIM2 CH3 request    */
00202 #define LL_DMAMUX_REQ_TIM2_CH4        59U   /*!< DMAMUX TIM2 CH4 request    */
00203 #define LL_DMAMUX_REQ_TIM2_UP         60U   /*!< DMAMUX TIM2 UP request     */
00204 #define LL_DMAMUX_REQ_TIM3_CH1        61U   /*!< DMAMUX TIM3 CH1 request    */
00205 #define LL_DMAMUX_REQ_TIM3_CH2        62U   /*!< DMAMUX TIM3 CH2 request    */
00206 #define LL_DMAMUX_REQ_TIM3_CH3        63U   /*!< DMAMUX TIM3 CH3 request    */
00207 #define LL_DMAMUX_REQ_TIM3_CH4        64U   /*!< DMAMUX TIM3 CH4 request    */
00208 #define LL_DMAMUX_REQ_TIM3_UP         65U   /*!< DMAMUX TIM3 UP request     */
00209 #define LL_DMAMUX_REQ_TIM3_TRIG       66U   /*!< DMAMUX TIM3 TRIG request   */
00210 #define LL_DMAMUX_REQ_TIM4_CH1        67U   /*!< DMAMUX TIM4 CH1 request    */
00211 #define LL_DMAMUX_REQ_TIM4_CH2        68U   /*!< DMAMUX TIM4 CH2 request    */
00212 #define LL_DMAMUX_REQ_TIM4_CH3        69U   /*!< DMAMUX TIM4 CH3 request    */
00213 #define LL_DMAMUX_REQ_TIM4_CH4        70U   /*!< DMAMUX TIM4 CH4 request    */
00214 #define LL_DMAMUX_REQ_TIM4_UP         71U   /*!< DMAMUX TIM4 UP request     */
00215 #define LL_DMAMUX_REQ_TIM5_CH1        72U   /*!< DMAMUX TIM5 CH1 request    */
00216 #define LL_DMAMUX_REQ_TIM5_CH2        73U   /*!< DMAMUX TIM5 CH2 request    */
00217 #define LL_DMAMUX_REQ_TIM5_CH3        74U   /*!< DMAMUX TIM5 CH3 request    */
00218 #define LL_DMAMUX_REQ_TIM5_CH4        75U   /*!< DMAMUX TIM5 CH4 request    */
00219 #define LL_DMAMUX_REQ_TIM5_UP         76U   /*!< DMAMUX TIM5 UP request     */
00220 #define LL_DMAMUX_REQ_TIM5_TRIG       77U   /*!< DMAMUX TIM5 TRIG request   */
00221 #define LL_DMAMUX_REQ_TIM15_CH1       78U   /*!< DMAMUX TIM15 CH1 request   */
00222 #define LL_DMAMUX_REQ_TIM15_UP        79U   /*!< DMAMUX TIM15 UP request    */
00223 #define LL_DMAMUX_REQ_TIM15_TRIG      80U   /*!< DMAMUX TIM15 TRIG request  */
00224 #define LL_DMAMUX_REQ_TIM15_COM       81U   /*!< DMAMUX TIM15 COM request   */
00225 #define LL_DMAMUX_REQ_TIM16_CH1       82U   /*!< DMAMUX TIM16 CH1 request   */
00226 #define LL_DMAMUX_REQ_TIM16_UP        83U   /*!< DMAMUX TIM16 UP request    */
00227 #define LL_DMAMUX_REQ_TIM17_CH1       84U   /*!< DMAMUX TIM17 CH1 request   */
00228 #define LL_DMAMUX_REQ_TIM17_UP        85U   /*!< DMAMUX TIM17 UP request    */
00229 #define LL_DMAMUX_REQ_DFSDM1_FLT0     86U   /*!< DMAMUX DFSDM1_FLT0 request */
00230 #define LL_DMAMUX_REQ_DFSDM1_FLT1     87U   /*!< DMAMUX DFSDM1_FLT1 request */
00231 #define LL_DMAMUX_REQ_DFSDM1_FLT2     88U   /*!< DMAMUX DFSDM1_FLT2 request */
00232 #define LL_DMAMUX_REQ_DFSDM1_FLT3     89U   /*!< DMAMUX DFSDM1_FLT3 request */
00233 #define LL_DMAMUX_REQ_DCMI            90U   /*!< DMAMUX DCMI request        */
00234 #define LL_DMAMUX_REQ_AES_IN          91U   /*!< DMAMUX AES_IN request      */
00235 #define LL_DMAMUX_REQ_AES_OUT         92U   /*!< DMAMUX AES_OUT request     */
00236 #define LL_DMAMUX_REQ_HASH_IN         93U   /*!< DMAMUX HASH_IN request     */
00237 /**
00238   * @}
00239   */
00240 
00241 /** @defgroup DMAMUX_LL_EC_CHANNEL DMAMUX Channel
00242   * @{
00243   */
00244 #define LL_DMAMUX_CHANNEL_0               0x00000000U               /*!< DMAMUX Channel 0 connected to DMA1 Channel 1  */
00245 #define LL_DMAMUX_CHANNEL_1               0x00000001U               /*!< DMAMUX Channel 1 connected to DMA1 Channel 2  */
00246 #define LL_DMAMUX_CHANNEL_2               0x00000002U               /*!< DMAMUX Channel 2 connected to DMA1 Channel 3  */
00247 #define LL_DMAMUX_CHANNEL_3               0x00000003U               /*!< DMAMUX Channel 3 connected to DMA1 Channel 4  */
00248 #define LL_DMAMUX_CHANNEL_4               0x00000004U               /*!< DMAMUX Channel 4 connected to DMA1 Channel 5  */
00249 #define LL_DMAMUX_CHANNEL_5               0x00000005U               /*!< DMAMUX Channel 5 connected to DMA1 Channel 6  */
00250 #define LL_DMAMUX_CHANNEL_6               0x00000006U               /*!< DMAMUX Channel 6 connected to DMA1 Channel 7  */
00251 #define LL_DMAMUX_CHANNEL_7               0x00000007U               /*!< DMAMUX Channel 7 connected to DMA2 Channel 1  */
00252 #define LL_DMAMUX_CHANNEL_8               0x00000008U               /*!< DMAMUX Channel 8 connected to DMA2 Channel 2  */
00253 #define LL_DMAMUX_CHANNEL_9               0x00000009U               /*!< DMAMUX Channel 9 connected to DMA2 Channel 3  */
00254 #define LL_DMAMUX_CHANNEL_10              0x0000000AU               /*!< DMAMUX Channel 10 connected to DMA2 Channel 4 */
00255 #define LL_DMAMUX_CHANNEL_11              0x0000000BU               /*!< DMAMUX Channel 11 connected to DMA2 Channel 5 */
00256 #define LL_DMAMUX_CHANNEL_12              0x0000000CU               /*!< DMAMUX Channel 12 connected to DMA2 Channel 6 */
00257 #define LL_DMAMUX_CHANNEL_13              0x0000000DU               /*!< DMAMUX Channel 13 connected to DMA2 Channel 7 */
00258 /**
00259   * @}
00260   */
00261 
00262 /** @defgroup DMAMUX_LL_EC_SYNC_NO Synchronization Signal Polarity
00263   * @{
00264   */
00265 #define LL_DMAMUX_SYNC_NO_EVENT            0x00000000U                               /*!< All requests are blocked   */
00266 #define LL_DMAMUX_SYNC_POL_RISING          DMAMUX_CxCR_SPOL_0                        /*!< Synchronization on event on rising edge */
00267 #define LL_DMAMUX_SYNC_POL_FALLING         DMAMUX_CxCR_SPOL_1                        /*!< Synchronization on event on falling edge */
00268 #define LL_DMAMUX_SYNC_POL_RISING_FALLING  (DMAMUX_CxCR_SPOL_0 | DMAMUX_CxCR_SPOL_1) /*!< Synchronization on event on rising and falling edge */
00269 /**
00270   * @}
00271   */
00272 
00273 /** @defgroup DMAMUX_LL_EC_SYNC_EVT Synchronization Signal Event
00274   * @{
00275   */
00276 #define LL_DMAMUX_SYNC_EXTI_LINE0          0U   /*!< Synchronization signal from EXTI Line0  */
00277 #define LL_DMAMUX_SYNC_EXTI_LINE1          1U   /*!< Synchronization signal from EXTI Line1  */
00278 #define LL_DMAMUX_SYNC_EXTI_LINE2          2U   /*!< Synchronization signal from EXTI Line2  */
00279 #define LL_DMAMUX_SYNC_EXTI_LINE3          3U   /*!< Synchronization signal from EXTI Line3  */
00280 #define LL_DMAMUX_SYNC_EXTI_LINE4          4U   /*!< Synchronization signal from EXTI Line4  */
00281 #define LL_DMAMUX_SYNC_EXTI_LINE5          5U   /*!< Synchronization signal from EXTI Line5  */
00282 #define LL_DMAMUX_SYNC_EXTI_LINE6          6U   /*!< Synchronization signal from EXTI Line6  */
00283 #define LL_DMAMUX_SYNC_EXTI_LINE7          7U   /*!< Synchronization signal from EXTI Line7  */
00284 #define LL_DMAMUX_SYNC_EXTI_LINE8          8U   /*!< Synchronization signal from EXTI Line8  */
00285 #define LL_DMAMUX_SYNC_EXTI_LINE9          9U   /*!< Synchronization signal from EXTI Line9  */
00286 #define LL_DMAMUX_SYNC_EXTI_LINE10        10U   /*!< Synchronization signal from EXTI Line10 */
00287 #define LL_DMAMUX_SYNC_EXTI_LINE11        11U   /*!< Synchronization signal from EXTI Line11 */
00288 #define LL_DMAMUX_SYNC_EXTI_LINE12        12U   /*!< Synchronization signal from EXTI Line12 */
00289 #define LL_DMAMUX_SYNC_EXTI_LINE13        13U   /*!< Synchronization signal from EXTI Line13 */
00290 #define LL_DMAMUX_SYNC_EXTI_LINE14        14U   /*!< Synchronization signal from EXTI Line14 */
00291 #define LL_DMAMUX_SYNC_EXTI_LINE15        15U   /*!< Synchronization signal from EXTI Line15 */
00292 #define LL_DMAMUX_SYNC_DMAMUX_CH0         16U   /*!< Synchronization signal from DMAMUX channel0 Event */
00293 #define LL_DMAMUX_SYNC_DMAMUX_CH1         17U   /*!< Synchronization signal from DMAMUX channel1 Event */
00294 #define LL_DMAMUX_SYNC_DMAMUX_CH2         18U   /*!< Synchronization signal from DMAMUX channel2 Event */
00295 #define LL_DMAMUX_SYNC_DMAMUX_CH3         19U   /*!< Synchronization signal from DMAMUX channel3 Event */
00296 #define LL_DMAMUX_SYNC_LPTIM1_OUT         20U   /*!< Synchronization signal from LPTIM1 Ouput */
00297 #define LL_DMAMUX_SYNC_LPTIM2_OUT         21U   /*!< Synchronization signal from LPTIM2 Ouput */
00298 #define LL_DMAMUX_SYNC_DSI_TE             22U   /*!< Synchronization signal from DSI Tearing Effect */
00299 #define LL_DMAMUX_SYNC_DSI_REFRESH_END    23U   /*!< Synchronization signal from DSI End of Refresh */
00300 #define LL_DMAMUX_SYNC_DMA2D_TX_END       24U   /*!< Synchronization signal from DMA2D End of Transfer */
00301 #define LL_DMAMUX_SYNC_LTDC_LINE_IT       25U   /*!< Synchronization signal from LTDC Line Interrupt   */
00302 /**
00303   * @}
00304   */
00305 
00306 /** @defgroup DMAMUX_LL_EC_REQUEST_GENERATOR Request Generator Channel
00307   * @{
00308   */
00309 #define LL_DMAMUX_REQ_GEN_0           0x00000000U
00310 #define LL_DMAMUX_REQ_GEN_1           0x00000001U
00311 #define LL_DMAMUX_REQ_GEN_2           0x00000002U
00312 #define LL_DMAMUX_REQ_GEN_3           0x00000003U
00313 /**
00314   * @}
00315   */
00316 
00317 /** @defgroup DMAMUX_LL_EC_REQUEST_GEN_POLARITY External Request Signal Generation Polarity
00318   * @{
00319   */
00320 #define LL_DMAMUX_REQ_GEN_NO_EVENT             0x00000000U                                  /*!< No external DMA request  generation */
00321 #define LL_DMAMUX_REQ_GEN_POL_RISING           DMAMUX_RGxCR_GPOL_0                          /*!< External DMA request generation on event on rising edge */
00322 #define LL_DMAMUX_REQ_GEN_POL_FALLING          DMAMUX_RGxCR_GPOL_1                          /*!< External DMA request generation on event on falling edge */
00323 #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 */
00324 /**
00325   * @}
00326   */
00327 
00328 /** @defgroup DMAMUX_LL_EC_REQUEST_GEN External Request Signal Generation
00329   * @{
00330   */
00331 #define LL_DMAMUX_REQ_GEN_EXTI_LINE0       0U   /*!< Request signal generation from EXTI Line0  */
00332 #define LL_DMAMUX_REQ_GEN_EXTI_LINE1       1U   /*!< Request signal generation from EXTI Line1  */
00333 #define LL_DMAMUX_REQ_GEN_EXTI_LINE2       2U   /*!< Request signal generation from EXTI Line2  */
00334 #define LL_DMAMUX_REQ_GEN_EXTI_LINE3       3U   /*!< Request signal generation from EXTI Line3  */
00335 #define LL_DMAMUX_REQ_GEN_EXTI_LINE4       4U   /*!< Request signal generation from EXTI Line4  */
00336 #define LL_DMAMUX_REQ_GEN_EXTI_LINE5       5U   /*!< Request signal generation from EXTI Line5  */
00337 #define LL_DMAMUX_REQ_GEN_EXTI_LINE6       6U   /*!< Request signal generation from EXTI Line6  */
00338 #define LL_DMAMUX_REQ_GEN_EXTI_LINE7       7U   /*!< Request signal generation from EXTI Line7  */
00339 #define LL_DMAMUX_REQ_GEN_EXTI_LINE8       8U   /*!< Request signal generation from EXTI Line8  */
00340 #define LL_DMAMUX_REQ_GEN_EXTI_LINE9       9U   /*!< Request signal generation from EXTI Line9  */
00341 #define LL_DMAMUX_REQ_GEN_EXTI_LINE10     10U   /*!< Request signal generation from EXTI Line10 */
00342 #define LL_DMAMUX_REQ_GEN_EXTI_LINE11     11U   /*!< Request signal generation from EXTI Line11 */
00343 #define LL_DMAMUX_REQ_GEN_EXTI_LINE12     12U   /*!< Request signal generation from EXTI Line12 */
00344 #define LL_DMAMUX_REQ_GEN_EXTI_LINE13     13U   /*!< Request signal generation from EXTI Line13 */
00345 #define LL_DMAMUX_REQ_GEN_EXTI_LINE14     14U   /*!< Request signal generation from EXTI Line14 */
00346 #define LL_DMAMUX_REQ_GEN_EXTI_LINE15     15U   /*!< Request signal generation from EXTI Line15 */
00347 #define LL_DMAMUX_REQ_GEN_DMAMUX_CH0      16U   /*!< Request signal generation from DMAMUX channel0 Event */
00348 #define LL_DMAMUX_REQ_GEN_DMAMUX_CH1      17U   /*!< Request signal generation from DMAMUX channel1 Event */
00349 #define LL_DMAMUX_REQ_GEN_DMAMUX_CH2      18U   /*!< Request signal generation from DMAMUX channel2 Event */
00350 #define LL_DMAMUX_REQ_GEN_DMAMUX_CH3      19U   /*!< Request signal generation from DMAMUX channel3 Event */
00351 #define LL_DMAMUX_REQ_GEN_LPTIM1_OUT      20U   /*!< Request signal generation from LPTIM1 Ouput */
00352 #define LL_DMAMUX_REQ_GEN_LPTIM2_OUT      21U   /*!< Request signal generation from LPTIM2 Ouput */
00353 #define LL_DMAMUX_REQ_GEN_DSI_TE          22U   /*!< Request signal generation from DSI Tearing Effect */
00354 #define LL_DMAMUX_REQ_GEN_DSI_REFRESH_END 23U   /*!< Request signal generation from DSI End of Refresh */
00355 #define LL_DMAMUX_REQ_GEN_DMA2D_TX_END    24U   /*!< Request signal generation from DMA2D End of Transfer */
00356 #define LL_DMAMUX_REQ_GEN_LTDC_LINE_IT    25U   /*!< Request signal generation from LTDC Line Interrupt   */
00357 /**
00358   * @}
00359   */
00360 
00361 /**
00362   * @}
00363   */
00364 
00365 /* Exported macro ------------------------------------------------------------*/
00366 /** @defgroup DMAMUX_LL_Exported_Macros DMAMUX Exported Macros
00367   * @{
00368   */
00369 
00370 /** @defgroup DMAMUX_LL_EM_WRITE_READ Common Write and read registers macros
00371   * @{
00372   */
00373 /**
00374   * @brief  Write a value in DMAMUX register
00375   * @param  __INSTANCE__ DMAMUX Instance
00376   * @param  __REG__ Register to be written
00377   * @param  __VALUE__ Value to be written in the register
00378   * @retval None
00379   */
00380 #define LL_DMAMUX_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VALUE__))
00381 
00382 /**
00383   * @brief  Read a value in DMAMUX register
00384   * @param  __INSTANCE__ DMAMUX Instance
00385   * @param  __REG__ Register to be read
00386   * @retval Register value
00387   */
00388 #define LL_DMAMUX_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__)
00389 /**
00390   * @}
00391   */
00392 
00393 /**
00394   * @}
00395   */
00396 
00397 /* Exported functions --------------------------------------------------------*/
00398 /** @defgroup DMAMUX_LL_Exported_Functions DMAMUX Exported Functions
00399  * @{
00400  */
00401 
00402 /** @defgroup DMAMUX_LL_EF_Configuration Configuration
00403   * @{
00404   */
00405 /**
00406   * @brief  Set DMAMUX request ID for DMAMUX Channel x.
00407   * @note   DMAMUX channel 0 to 6 are mapped to DMA1 channel 1 to 7.
00408   *         DMAMUX channel 7 to 13 are mapped to DMA2 channel 1 to 7.
00409   * @rmtoll CxCR         DMAREQ_ID     LL_DMAMUX_SetRequestID
00410   * @param  DMAMUXx DMAMUXx Instance
00411   * @param  Channel This parameter can be one of the following values:
00412   *         @arg @ref LL_DMAMUX_CHANNEL_0
00413   *         @arg @ref LL_DMAMUX_CHANNEL_1
00414   *         @arg @ref LL_DMAMUX_CHANNEL_2
00415   *         @arg @ref LL_DMAMUX_CHANNEL_3
00416   *         @arg @ref LL_DMAMUX_CHANNEL_4
00417   *         @arg @ref LL_DMAMUX_CHANNEL_5
00418   *         @arg @ref LL_DMAMUX_CHANNEL_6
00419   *         @arg @ref LL_DMAMUX_CHANNEL_7
00420   *         @arg @ref LL_DMAMUX_CHANNEL_8
00421   *         @arg @ref LL_DMAMUX_CHANNEL_9
00422   *         @arg @ref LL_DMAMUX_CHANNEL_10
00423   *         @arg @ref LL_DMAMUX_CHANNEL_11
00424   *         @arg @ref LL_DMAMUX_CHANNEL_12
00425   *         @arg @ref LL_DMAMUX_CHANNEL_13
00426   * @param  Request This parameter can be one of the following values:
00427   *         @arg @ref LL_DMAMUX_REQ_MEM2MEM
00428   *         @arg @ref LL_DMAMUX_REQ_GENERATOR0
00429   *         @arg @ref LL_DMAMUX_REQ_GENERATOR1
00430   *         @arg @ref LL_DMAMUX_REQ_GENERATOR2
00431   *         @arg @ref LL_DMAMUX_REQ_GENERATOR3
00432   *         @arg @ref LL_DMAMUX_REQ_ADC1
00433   *         @arg @ref LL_DMAMUX_REQ_DAC1_CH1
00434   *         @arg @ref LL_DMAMUX_REQ_DAC1_CH2
00435   *         @arg @ref LL_DMAMUX_REQ_TIM6_UP
00436   *         @arg @ref LL_DMAMUX_REQ_TIM7_UP
00437   *         @arg @ref LL_DMAMUX_REQ_SPI1_RX
00438   *         @arg @ref LL_DMAMUX_REQ_SPI1_TX
00439   *         @arg @ref LL_DMAMUX_REQ_SPI2_RX
00440   *         @arg @ref LL_DMAMUX_REQ_SPI2_TX
00441   *         @arg @ref LL_DMAMUX_REQ_SPI3_RX
00442   *         @arg @ref LL_DMAMUX_REQ_SPI3_TX
00443   *         @arg @ref LL_DMAMUX_REQ_I2C1_RX
00444   *         @arg @ref LL_DMAMUX_REQ_I2C1_TX
00445   *         @arg @ref LL_DMAMUX_REQ_I2C2_RX
00446   *         @arg @ref LL_DMAMUX_REQ_I2C2_TX
00447   *         @arg @ref LL_DMAMUX_REQ_I2C3_RX
00448   *         @arg @ref LL_DMAMUX_REQ_I2C3_TX
00449   *         @arg @ref LL_DMAMUX_REQ_I2C4_RX
00450   *         @arg @ref LL_DMAMUX_REQ_I2C4_TX
00451   *         @arg @ref LL_DMAMUX_REQ_USART1_RX
00452   *         @arg @ref LL_DMAMUX_REQ_USART1_TX
00453   *         @arg @ref LL_DMAMUX_REQ_USART2_RX
00454   *         @arg @ref LL_DMAMUX_REQ_USART2_TX
00455   *         @arg @ref LL_DMAMUX_REQ_USART3_RX
00456   *         @arg @ref LL_DMAMUX_REQ_USART3_TX
00457   *         @arg @ref LL_DMAMUX_REQ_UART4_RX
00458   *         @arg @ref LL_DMAMUX_REQ_UART4_TX
00459   *         @arg @ref LL_DMAMUX_REQ_UART5_RX
00460   *         @arg @ref LL_DMAMUX_REQ_UART5_TX
00461   *         @arg @ref LL_DMAMUX_REQ_LPUART1_RX
00462   *         @arg @ref LL_DMAMUX_REQ_LPUART1_TX
00463   *         @arg @ref LL_DMAMUX_REQ_SAI1_A
00464   *         @arg @ref LL_DMAMUX_REQ_SAI1_B
00465   *         @arg @ref LL_DMAMUX_REQ_SAI2_A
00466   *         @arg @ref LL_DMAMUX_REQ_SAI2_B
00467   *         @arg @ref LL_DMAMUX_REQ_OSPI1
00468   *         @arg @ref LL_DMAMUX_REQ_OSPI2
00469   *         @arg @ref LL_DMAMUX_REQ_TIM1_CH1
00470   *         @arg @ref LL_DMAMUX_REQ_TIM1_CH2
00471   *         @arg @ref LL_DMAMUX_REQ_TIM1_CH3
00472   *         @arg @ref LL_DMAMUX_REQ_TIM1_CH4
00473   *         @arg @ref LL_DMAMUX_REQ_TIM1_UP
00474   *         @arg @ref LL_DMAMUX_REQ_TIM1_TRIG
00475   *         @arg @ref LL_DMAMUX_REQ_TIM1_COM
00476   *         @arg @ref LL_DMAMUX_REQ_TIM8_CH1
00477   *         @arg @ref LL_DMAMUX_REQ_TIM8_CH2
00478   *         @arg @ref LL_DMAMUX_REQ_TIM8_CH3
00479   *         @arg @ref LL_DMAMUX_REQ_TIM8_CH4
00480   *         @arg @ref LL_DMAMUX_REQ_TIM8_UP
00481   *         @arg @ref LL_DMAMUX_REQ_TIM8_TRIG
00482   *         @arg @ref LL_DMAMUX_REQ_TIM8_COM
00483   *         @arg @ref LL_DMAMUX_REQ_TIM2_CH1
00484   *         @arg @ref LL_DMAMUX_REQ_TIM2_CH2
00485   *         @arg @ref LL_DMAMUX_REQ_TIM2_CH3
00486   *         @arg @ref LL_DMAMUX_REQ_TIM2_CH4
00487   *         @arg @ref LL_DMAMUX_REQ_TIM2_UP
00488   *         @arg @ref LL_DMAMUX_REQ_TIM3_CH1
00489   *         @arg @ref LL_DMAMUX_REQ_TIM3_CH2
00490   *         @arg @ref LL_DMAMUX_REQ_TIM3_CH3
00491   *         @arg @ref LL_DMAMUX_REQ_TIM3_CH4
00492   *         @arg @ref LL_DMAMUX_REQ_TIM3_UP
00493   *         @arg @ref LL_DMAMUX_REQ_TIM3_TRIG
00494   *         @arg @ref LL_DMAMUX_REQ_TIM4_CH1
00495   *         @arg @ref LL_DMAMUX_REQ_TIM4_CH2
00496   *         @arg @ref LL_DMAMUX_REQ_TIM4_CH3
00497   *         @arg @ref LL_DMAMUX_REQ_TIM4_CH4
00498   *         @arg @ref LL_DMAMUX_REQ_TIM4_UP
00499   *         @arg @ref LL_DMAMUX_REQ_TIM5_CH1
00500   *         @arg @ref LL_DMAMUX_REQ_TIM5_CH2
00501   *         @arg @ref LL_DMAMUX_REQ_TIM5_CH3
00502   *         @arg @ref LL_DMAMUX_REQ_TIM5_CH4
00503   *         @arg @ref LL_DMAMUX_REQ_TIM5_UP
00504   *         @arg @ref LL_DMAMUX_REQ_TIM5_TRIG
00505   *         @arg @ref LL_DMAMUX_REQ_TIM15_CH1
00506   *         @arg @ref LL_DMAMUX_REQ_TIM15_UP
00507   *         @arg @ref LL_DMAMUX_REQ_TIM15_TRIG
00508   *         @arg @ref LL_DMAMUX_REQ_TIM15_COM
00509   *         @arg @ref LL_DMAMUX_REQ_TIM16_CH1
00510   *         @arg @ref LL_DMAMUX_REQ_TIM16_UP
00511   *         @arg @ref LL_DMAMUX_REQ_TIM17_CH1
00512   *         @arg @ref LL_DMAMUX_REQ_TIM17_UP
00513   *         @arg @ref LL_DMAMUX_REQ_DFSDM1_FLT0
00514   *         @arg @ref LL_DMAMUX_REQ_DFSDM1_FLT1
00515   *         @arg @ref LL_DMAMUX_REQ_DFSDM1_FLT2
00516   *         @arg @ref LL_DMAMUX_REQ_DFSDM1_FLT3
00517   *         @arg @ref LL_DMAMUX_REQ_DCMI
00518   *         @arg @ref LL_DMAMUX_REQ_AES_IN
00519   *         @arg @ref LL_DMAMUX_REQ_AES_OUT
00520   *         @arg @ref LL_DMAMUX_REQ_HASH_IN
00521   * @retval None
00522   */
00523 __STATIC_INLINE void LL_DMAMUX_SetRequestID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel, uint32_t Request)
00524 {
00525   MODIFY_REG(((DMAMUX_Channel_TypeDef*)((uint32_t)((uint32_t)DMAMUXx + (DMAMUX_CCR_SIZE*(Channel)))))->CCR, DMAMUX_CxCR_DMAREQ_ID, Request);
00526 }
00527 
00528 /**
00529   * @brief  Get DMAMUX request ID for DMAMUX Channel x.
00530   * @note   DMAMUX channel 0 to 6 are mapped to DMA1 channel 1 to 7.
00531   *         DMAMUX channel 7 to 13 are mapped to DMA2 channel 1 to 7.
00532   * @rmtoll CxCR         DMAREQ_ID     LL_DMAMUX_GetRequestID
00533   * @param  DMAMUXx DMAMUXx Instance
00534   * @param  Channel This parameter can be one of the following values:
00535   *         @arg @ref LL_DMAMUX_CHANNEL_0
00536   *         @arg @ref LL_DMAMUX_CHANNEL_1
00537   *         @arg @ref LL_DMAMUX_CHANNEL_2
00538   *         @arg @ref LL_DMAMUX_CHANNEL_3
00539   *         @arg @ref LL_DMAMUX_CHANNEL_4
00540   *         @arg @ref LL_DMAMUX_CHANNEL_5
00541   *         @arg @ref LL_DMAMUX_CHANNEL_6
00542   *         @arg @ref LL_DMAMUX_CHANNEL_7
00543   *         @arg @ref LL_DMAMUX_CHANNEL_8
00544   *         @arg @ref LL_DMAMUX_CHANNEL_9
00545   *         @arg @ref LL_DMAMUX_CHANNEL_10
00546   *         @arg @ref LL_DMAMUX_CHANNEL_11
00547   *         @arg @ref LL_DMAMUX_CHANNEL_12
00548   *         @arg @ref LL_DMAMUX_CHANNEL_13
00549   * @retval Returned value can be one of the following values:
00550   *         @arg @ref LL_DMAMUX_REQ_MEM2MEM
00551   *         @arg @ref LL_DMAMUX_REQ_GENERATOR0
00552   *         @arg @ref LL_DMAMUX_REQ_GENERATOR1
00553   *         @arg @ref LL_DMAMUX_REQ_GENERATOR2
00554   *         @arg @ref LL_DMAMUX_REQ_GENERATOR3
00555   *         @arg @ref LL_DMAMUX_REQ_ADC1
00556   *         @arg @ref LL_DMAMUX_REQ_DAC1_CH1
00557   *         @arg @ref LL_DMAMUX_REQ_DAC1_CH2
00558   *         @arg @ref LL_DMAMUX_REQ_TIM6_UP
00559   *         @arg @ref LL_DMAMUX_REQ_TIM7_UP
00560   *         @arg @ref LL_DMAMUX_REQ_SPI1_RX
00561   *         @arg @ref LL_DMAMUX_REQ_SPI1_TX
00562   *         @arg @ref LL_DMAMUX_REQ_SPI2_RX
00563   *         @arg @ref LL_DMAMUX_REQ_SPI2_TX
00564   *         @arg @ref LL_DMAMUX_REQ_SPI3_RX
00565   *         @arg @ref LL_DMAMUX_REQ_SPI3_TX
00566   *         @arg @ref LL_DMAMUX_REQ_I2C1_RX
00567   *         @arg @ref LL_DMAMUX_REQ_I2C1_TX
00568   *         @arg @ref LL_DMAMUX_REQ_I2C2_RX
00569   *         @arg @ref LL_DMAMUX_REQ_I2C2_TX
00570   *         @arg @ref LL_DMAMUX_REQ_I2C3_RX
00571   *         @arg @ref LL_DMAMUX_REQ_I2C3_TX
00572   *         @arg @ref LL_DMAMUX_REQ_I2C4_RX
00573   *         @arg @ref LL_DMAMUX_REQ_I2C4_TX
00574   *         @arg @ref LL_DMAMUX_REQ_USART1_RX
00575   *         @arg @ref LL_DMAMUX_REQ_USART1_TX
00576   *         @arg @ref LL_DMAMUX_REQ_USART2_RX
00577   *         @arg @ref LL_DMAMUX_REQ_USART2_TX
00578   *         @arg @ref LL_DMAMUX_REQ_USART3_RX
00579   *         @arg @ref LL_DMAMUX_REQ_USART3_TX
00580   *         @arg @ref LL_DMAMUX_REQ_UART4_RX
00581   *         @arg @ref LL_DMAMUX_REQ_UART4_TX
00582   *         @arg @ref LL_DMAMUX_REQ_UART5_RX
00583   *         @arg @ref LL_DMAMUX_REQ_UART5_TX
00584   *         @arg @ref LL_DMAMUX_REQ_LPUART1_RX
00585   *         @arg @ref LL_DMAMUX_REQ_LPUART1_TX
00586   *         @arg @ref LL_DMAMUX_REQ_SAI1_A
00587   *         @arg @ref LL_DMAMUX_REQ_SAI1_B
00588   *         @arg @ref LL_DMAMUX_REQ_SAI2_A
00589   *         @arg @ref LL_DMAMUX_REQ_SAI2_B
00590   *         @arg @ref LL_DMAMUX_REQ_OSPI1
00591   *         @arg @ref LL_DMAMUX_REQ_OSPI2
00592   *         @arg @ref LL_DMAMUX_REQ_TIM1_CH1
00593   *         @arg @ref LL_DMAMUX_REQ_TIM1_CH2
00594   *         @arg @ref LL_DMAMUX_REQ_TIM1_CH3
00595   *         @arg @ref LL_DMAMUX_REQ_TIM1_CH4
00596   *         @arg @ref LL_DMAMUX_REQ_TIM1_UP
00597   *         @arg @ref LL_DMAMUX_REQ_TIM1_TRIG
00598   *         @arg @ref LL_DMAMUX_REQ_TIM1_COM
00599   *         @arg @ref LL_DMAMUX_REQ_TIM8_CH1
00600   *         @arg @ref LL_DMAMUX_REQ_TIM8_CH2
00601   *         @arg @ref LL_DMAMUX_REQ_TIM8_CH3
00602   *         @arg @ref LL_DMAMUX_REQ_TIM8_CH4
00603   *         @arg @ref LL_DMAMUX_REQ_TIM8_UP
00604   *         @arg @ref LL_DMAMUX_REQ_TIM8_TRIG
00605   *         @arg @ref LL_DMAMUX_REQ_TIM8_COM
00606   *         @arg @ref LL_DMAMUX_REQ_TIM2_CH1
00607   *         @arg @ref LL_DMAMUX_REQ_TIM2_CH2
00608   *         @arg @ref LL_DMAMUX_REQ_TIM2_CH3
00609   *         @arg @ref LL_DMAMUX_REQ_TIM2_CH4
00610   *         @arg @ref LL_DMAMUX_REQ_TIM2_UP
00611   *         @arg @ref LL_DMAMUX_REQ_TIM3_CH1
00612   *         @arg @ref LL_DMAMUX_REQ_TIM3_CH2
00613   *         @arg @ref LL_DMAMUX_REQ_TIM3_CH3
00614   *         @arg @ref LL_DMAMUX_REQ_TIM3_CH4
00615   *         @arg @ref LL_DMAMUX_REQ_TIM3_UP
00616   *         @arg @ref LL_DMAMUX_REQ_TIM3_TRIG
00617   *         @arg @ref LL_DMAMUX_REQ_TIM4_CH1
00618   *         @arg @ref LL_DMAMUX_REQ_TIM4_CH2
00619   *         @arg @ref LL_DMAMUX_REQ_TIM4_CH3
00620   *         @arg @ref LL_DMAMUX_REQ_TIM4_CH4
00621   *         @arg @ref LL_DMAMUX_REQ_TIM4_UP
00622   *         @arg @ref LL_DMAMUX_REQ_TIM5_CH1
00623   *         @arg @ref LL_DMAMUX_REQ_TIM5_CH2
00624   *         @arg @ref LL_DMAMUX_REQ_TIM5_CH3
00625   *         @arg @ref LL_DMAMUX_REQ_TIM5_CH4
00626   *         @arg @ref LL_DMAMUX_REQ_TIM5_UP
00627   *         @arg @ref LL_DMAMUX_REQ_TIM5_TRIG
00628   *         @arg @ref LL_DMAMUX_REQ_TIM15_CH1
00629   *         @arg @ref LL_DMAMUX_REQ_TIM15_UP
00630   *         @arg @ref LL_DMAMUX_REQ_TIM15_TRIG
00631   *         @arg @ref LL_DMAMUX_REQ_TIM15_COM
00632   *         @arg @ref LL_DMAMUX_REQ_TIM16_CH1
00633   *         @arg @ref LL_DMAMUX_REQ_TIM16_UP
00634   *         @arg @ref LL_DMAMUX_REQ_TIM17_CH1
00635   *         @arg @ref LL_DMAMUX_REQ_TIM17_UP
00636   *         @arg @ref LL_DMAMUX_REQ_DFSDM1_FLT0
00637   *         @arg @ref LL_DMAMUX_REQ_DFSDM1_FLT1
00638   *         @arg @ref LL_DMAMUX_REQ_DFSDM1_FLT2
00639   *         @arg @ref LL_DMAMUX_REQ_DFSDM1_FLT3
00640   *         @arg @ref LL_DMAMUX_REQ_DCMI
00641   *         @arg @ref LL_DMAMUX_REQ_AES_IN
00642   *         @arg @ref LL_DMAMUX_REQ_AES_OUT
00643   *         @arg @ref LL_DMAMUX_REQ_HASH_IN
00644   */
00645 __STATIC_INLINE uint32_t LL_DMAMUX_GetRequestID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
00646 {
00647   return (uint32_t)(READ_BIT(((DMAMUX_Channel_TypeDef*)((uint32_t)((uint32_t)DMAMUXx + (DMAMUX_CCR_SIZE*(Channel-1)))))->CCR, DMAMUX_CxCR_DMAREQ_ID));
00648 }
00649 
00650 /**
00651   * @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.
00652   * @rmtoll CxCR         NBREQ         LL_DMAMUX_SetSyncRequestNb
00653   * @param  DMAMUXx DMAMUXx Instance
00654   * @param  Channel This parameter can be one of the following values:
00655   *         @arg @ref LL_DMAMUX_CHANNEL_0
00656   *         @arg @ref LL_DMAMUX_CHANNEL_1
00657   *         @arg @ref LL_DMAMUX_CHANNEL_2
00658   *         @arg @ref LL_DMAMUX_CHANNEL_3
00659   *         @arg @ref LL_DMAMUX_CHANNEL_4
00660   *         @arg @ref LL_DMAMUX_CHANNEL_5
00661   *         @arg @ref LL_DMAMUX_CHANNEL_6
00662   *         @arg @ref LL_DMAMUX_CHANNEL_7
00663   *         @arg @ref LL_DMAMUX_CHANNEL_8
00664   *         @arg @ref LL_DMAMUX_CHANNEL_9
00665   *         @arg @ref LL_DMAMUX_CHANNEL_10
00666   *         @arg @ref LL_DMAMUX_CHANNEL_11
00667   *         @arg @ref LL_DMAMUX_CHANNEL_12
00668   *         @arg @ref LL_DMAMUX_CHANNEL_13
00669   * @param  RequestNb This parameter must be a value between Min_Data = 1 and Max_Data = 32.
00670   * @retval None
00671   */
00672 __STATIC_INLINE void LL_DMAMUX_SetSyncRequestNb(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel, uint32_t RequestNb)
00673 {
00674   MODIFY_REG(((DMAMUX_Channel_TypeDef*)((uint32_t)((uint32_t)DMAMUXx + (DMAMUX_CCR_SIZE*(Channel)))))->CCR, DMAMUX_CxCR_NBREQ, RequestNb - 1);
00675 }
00676 
00677 /**
00678   * @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.
00679   * @rmtoll CxCR         NBREQ         LL_DMAMUX_GetSyncRequestNb
00680   * @param  DMAMUXx DMAMUXx Instance
00681   * @param  Channel This parameter can be one of the following values:
00682   *         @arg @ref LL_DMAMUX_CHANNEL_0
00683   *         @arg @ref LL_DMAMUX_CHANNEL_1
00684   *         @arg @ref LL_DMAMUX_CHANNEL_2
00685   *         @arg @ref LL_DMAMUX_CHANNEL_3
00686   *         @arg @ref LL_DMAMUX_CHANNEL_4
00687   *         @arg @ref LL_DMAMUX_CHANNEL_5
00688   *         @arg @ref LL_DMAMUX_CHANNEL_6
00689   *         @arg @ref LL_DMAMUX_CHANNEL_7
00690   *         @arg @ref LL_DMAMUX_CHANNEL_8
00691   *         @arg @ref LL_DMAMUX_CHANNEL_9
00692   *         @arg @ref LL_DMAMUX_CHANNEL_10
00693   *         @arg @ref LL_DMAMUX_CHANNEL_11
00694   *         @arg @ref LL_DMAMUX_CHANNEL_12
00695   *         @arg @ref LL_DMAMUX_CHANNEL_13
00696   * @retval Between Min_Data = 1 and Max_Data = 32
00697   */
00698 __STATIC_INLINE uint32_t LL_DMAMUX_GetSyncRequestNb(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
00699 {
00700   return (uint32_t)(READ_BIT(((DMAMUX_Channel_TypeDef*)((uint32_t)((uint32_t)DMAMUXx + (DMAMUX_CCR_SIZE*(Channel)))))->CCR, DMAMUX_CxCR_NBREQ) + 1);
00701 }
00702 
00703 /**
00704   * @brief  Set the polarity of the signal on which the DMA request is synchronized.
00705   * @rmtoll CxCR         SPOL          LL_DMAMUX_SetSyncPolarity
00706   * @param  DMAMUXx DMAMUXx Instance
00707   * @param  Channel This parameter can be one of the following values:
00708   *         @arg @ref LL_DMAMUX_CHANNEL_0
00709   *         @arg @ref LL_DMAMUX_CHANNEL_1
00710   *         @arg @ref LL_DMAMUX_CHANNEL_2
00711   *         @arg @ref LL_DMAMUX_CHANNEL_3
00712   *         @arg @ref LL_DMAMUX_CHANNEL_4
00713   *         @arg @ref LL_DMAMUX_CHANNEL_5
00714   *         @arg @ref LL_DMAMUX_CHANNEL_6
00715   *         @arg @ref LL_DMAMUX_CHANNEL_7
00716   *         @arg @ref LL_DMAMUX_CHANNEL_8
00717   *         @arg @ref LL_DMAMUX_CHANNEL_9
00718   *         @arg @ref LL_DMAMUX_CHANNEL_10
00719   *         @arg @ref LL_DMAMUX_CHANNEL_11
00720   *         @arg @ref LL_DMAMUX_CHANNEL_12
00721   *         @arg @ref LL_DMAMUX_CHANNEL_13
00722   * @param  Polarity This parameter can be one of the following values:
00723   *         @arg @ref LL_DMAMUX_SYNC_NO_EVENT
00724   *         @arg @ref LL_DMAMUX_SYNC_POL_RISING
00725   *         @arg @ref LL_DMAMUX_SYNC_POL_FALLING
00726   *         @arg @ref LL_DMAMUX_SYNC_POL_RISING_FALLING
00727   * @retval None
00728   */
00729 __STATIC_INLINE void LL_DMAMUX_SetSyncPolarity(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel, uint32_t Polarity)
00730 {
00731   MODIFY_REG(((DMAMUX_Channel_TypeDef*)((uint32_t)((uint32_t)DMAMUXx + (DMAMUX_CCR_SIZE*(Channel)))))->CCR, DMAMUX_CxCR_SPOL, Polarity);
00732 }
00733 
00734 /**
00735   * @brief  Get the polarity of the signal on which the DMA request is synchronized.
00736   * @rmtoll CxCR         SPOL          LL_DMAMUX_GetSyncPolarity
00737   * @param  DMAMUXx DMAMUXx Instance
00738   * @param  Channel This parameter can be one of the following values:
00739   *         @arg @ref LL_DMAMUX_CHANNEL_0
00740   *         @arg @ref LL_DMAMUX_CHANNEL_1
00741   *         @arg @ref LL_DMAMUX_CHANNEL_2
00742   *         @arg @ref LL_DMAMUX_CHANNEL_3
00743   *         @arg @ref LL_DMAMUX_CHANNEL_4
00744   *         @arg @ref LL_DMAMUX_CHANNEL_5
00745   *         @arg @ref LL_DMAMUX_CHANNEL_6
00746   *         @arg @ref LL_DMAMUX_CHANNEL_7
00747   *         @arg @ref LL_DMAMUX_CHANNEL_8
00748   *         @arg @ref LL_DMAMUX_CHANNEL_9
00749   *         @arg @ref LL_DMAMUX_CHANNEL_10
00750   *         @arg @ref LL_DMAMUX_CHANNEL_11
00751   *         @arg @ref LL_DMAMUX_CHANNEL_12
00752   *         @arg @ref LL_DMAMUX_CHANNEL_13
00753   * @retval Returned value can be one of the following values:
00754   *         @arg @ref LL_DMAMUX_SYNC_NO_EVENT
00755   *         @arg @ref LL_DMAMUX_SYNC_POL_RISING
00756   *         @arg @ref LL_DMAMUX_SYNC_POL_FALLING
00757   *         @arg @ref LL_DMAMUX_SYNC_POL_RISING_FALLING
00758   */
00759 __STATIC_INLINE uint32_t LL_DMAMUX_GetSyncPolarity(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
00760 {
00761   return (uint32_t)(READ_BIT(((DMAMUX_Channel_TypeDef*)((uint32_t)((uint32_t)DMAMUXx + (DMAMUX_CCR_SIZE*(Channel)))))->CCR, DMAMUX_CxCR_SPOL));
00762 }
00763 
00764 /**
00765   * @brief  Enable the Event Generation on DMAMUX channel x.
00766   * @rmtoll CxCR         EGE           LL_DMAMUX_EnableEventGeneration
00767   * @param  DMAMUXx DMAMUXx Instance
00768   * @param  Channel This parameter can be one of the following values:
00769   *         @arg @ref LL_DMAMUX_CHANNEL_0
00770   *         @arg @ref LL_DMAMUX_CHANNEL_1
00771   *         @arg @ref LL_DMAMUX_CHANNEL_2
00772   *         @arg @ref LL_DMAMUX_CHANNEL_3
00773   *         @arg @ref LL_DMAMUX_CHANNEL_4
00774   *         @arg @ref LL_DMAMUX_CHANNEL_5
00775   *         @arg @ref LL_DMAMUX_CHANNEL_6
00776   *         @arg @ref LL_DMAMUX_CHANNEL_7
00777   *         @arg @ref LL_DMAMUX_CHANNEL_8
00778   *         @arg @ref LL_DMAMUX_CHANNEL_9
00779   *         @arg @ref LL_DMAMUX_CHANNEL_10
00780   *         @arg @ref LL_DMAMUX_CHANNEL_11
00781   *         @arg @ref LL_DMAMUX_CHANNEL_12
00782   *         @arg @ref LL_DMAMUX_CHANNEL_13
00783   * @retval None
00784   */
00785 __STATIC_INLINE void LL_DMAMUX_EnableEventGeneration(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
00786 {
00787   SET_BIT(((DMAMUX_Channel_TypeDef*)((uint32_t)((uint32_t)DMAMUXx + (DMAMUX_CCR_SIZE*(Channel)))))->CCR, DMAMUX_CxCR_EGE);
00788 }
00789 
00790 /**
00791   * @brief  Disable the Event Generation on DMAMUX channel x.
00792   * @rmtoll CxCR         EGE           LL_DMAMUX_DisableEventGeneration
00793   * @param  DMAMUXx DMAMUXx Instance
00794   * @param  Channel This parameter can be one of the following values:
00795   *         @arg @ref LL_DMAMUX_CHANNEL_0
00796   *         @arg @ref LL_DMAMUX_CHANNEL_1
00797   *         @arg @ref LL_DMAMUX_CHANNEL_2
00798   *         @arg @ref LL_DMAMUX_CHANNEL_3
00799   *         @arg @ref LL_DMAMUX_CHANNEL_4
00800   *         @arg @ref LL_DMAMUX_CHANNEL_5
00801   *         @arg @ref LL_DMAMUX_CHANNEL_6
00802   *         @arg @ref LL_DMAMUX_CHANNEL_7
00803   *         @arg @ref LL_DMAMUX_CHANNEL_8
00804   *         @arg @ref LL_DMAMUX_CHANNEL_9
00805   *         @arg @ref LL_DMAMUX_CHANNEL_10
00806   *         @arg @ref LL_DMAMUX_CHANNEL_11
00807   *         @arg @ref LL_DMAMUX_CHANNEL_12
00808   *         @arg @ref LL_DMAMUX_CHANNEL_13
00809   * @retval None
00810   */
00811 __STATIC_INLINE void LL_DMAMUX_DisableEventGeneration(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
00812 {
00813   CLEAR_BIT(((DMAMUX_Channel_TypeDef*)((uint32_t)((uint32_t)DMAMUXx + (DMAMUX_CCR_SIZE*(Channel)))))->CCR, DMAMUX_CxCR_EGE);
00814 }
00815 
00816 /**
00817   * @brief  Check if the Event Generation on DMAMUX channel x is enabled or disabled.
00818   * @rmtoll CxCR         EGE           LL_DMAMUX_IsEnabledEventGeneration
00819   * @param  DMAMUXx DMAMUXx Instance
00820   * @param  Channel This parameter can be one of the following values:
00821   *         @arg @ref LL_DMAMUX_CHANNEL_0
00822   *         @arg @ref LL_DMAMUX_CHANNEL_1
00823   *         @arg @ref LL_DMAMUX_CHANNEL_2
00824   *         @arg @ref LL_DMAMUX_CHANNEL_3
00825   *         @arg @ref LL_DMAMUX_CHANNEL_4
00826   *         @arg @ref LL_DMAMUX_CHANNEL_5
00827   *         @arg @ref LL_DMAMUX_CHANNEL_6
00828   *         @arg @ref LL_DMAMUX_CHANNEL_7
00829   *         @arg @ref LL_DMAMUX_CHANNEL_8
00830   *         @arg @ref LL_DMAMUX_CHANNEL_9
00831   *         @arg @ref LL_DMAMUX_CHANNEL_10
00832   *         @arg @ref LL_DMAMUX_CHANNEL_11
00833   *         @arg @ref LL_DMAMUX_CHANNEL_12
00834   *         @arg @ref LL_DMAMUX_CHANNEL_13
00835   * @retval State of bit (1 or 0).
00836   */
00837 __STATIC_INLINE uint32_t LL_DMAMUX_IsEnabledEventGeneration(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
00838 {
00839   return (READ_BIT(((DMAMUX_Channel_TypeDef*)((uint32_t)((uint32_t)DMAMUXx + (DMAMUX_CCR_SIZE*(Channel)))))->CCR, DMAMUX_CxCR_EGE) == (DMAMUX_CxCR_EGE));
00840 }
00841 
00842 /**
00843   * @brief  Enable the synchronization mode.
00844   * @rmtoll CxCR         SE            LL_DMAMUX_EnableSync
00845   * @param  DMAMUXx DMAMUXx Instance
00846   * @param  Channel This parameter can be one of the following values:
00847   *         @arg @ref LL_DMAMUX_CHANNEL_0
00848   *         @arg @ref LL_DMAMUX_CHANNEL_1
00849   *         @arg @ref LL_DMAMUX_CHANNEL_2
00850   *         @arg @ref LL_DMAMUX_CHANNEL_3
00851   *         @arg @ref LL_DMAMUX_CHANNEL_4
00852   *         @arg @ref LL_DMAMUX_CHANNEL_5
00853   *         @arg @ref LL_DMAMUX_CHANNEL_6
00854   *         @arg @ref LL_DMAMUX_CHANNEL_7
00855   *         @arg @ref LL_DMAMUX_CHANNEL_8
00856   *         @arg @ref LL_DMAMUX_CHANNEL_9
00857   *         @arg @ref LL_DMAMUX_CHANNEL_10
00858   *         @arg @ref LL_DMAMUX_CHANNEL_11
00859   *         @arg @ref LL_DMAMUX_CHANNEL_12
00860   *         @arg @ref LL_DMAMUX_CHANNEL_13
00861   * @retval None
00862   */
00863 __STATIC_INLINE void LL_DMAMUX_EnableSync(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
00864 {
00865   SET_BIT(((DMAMUX_Channel_TypeDef*)((uint32_t)((uint32_t)DMAMUXx + (DMAMUX_CCR_SIZE*(Channel)))))->CCR, DMAMUX_CxCR_SE);
00866 }
00867 
00868 /**
00869   * @brief  Disable the synchronization mode.
00870   * @rmtoll CxCR         SE            LL_DMAMUX_DisableSync
00871   * @param  DMAMUXx DMAMUXx Instance
00872   * @param  Channel This parameter can be one of the following values:
00873   *         @arg @ref LL_DMAMUX_CHANNEL_0
00874   *         @arg @ref LL_DMAMUX_CHANNEL_1
00875   *         @arg @ref LL_DMAMUX_CHANNEL_2
00876   *         @arg @ref LL_DMAMUX_CHANNEL_3
00877   *         @arg @ref LL_DMAMUX_CHANNEL_4
00878   *         @arg @ref LL_DMAMUX_CHANNEL_5
00879   *         @arg @ref LL_DMAMUX_CHANNEL_6
00880   *         @arg @ref LL_DMAMUX_CHANNEL_7
00881   *         @arg @ref LL_DMAMUX_CHANNEL_8
00882   *         @arg @ref LL_DMAMUX_CHANNEL_9
00883   *         @arg @ref LL_DMAMUX_CHANNEL_10
00884   *         @arg @ref LL_DMAMUX_CHANNEL_11
00885   *         @arg @ref LL_DMAMUX_CHANNEL_12
00886   *         @arg @ref LL_DMAMUX_CHANNEL_13
00887   * @retval None
00888   */
00889 __STATIC_INLINE void LL_DMAMUX_DisableSync(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
00890 {
00891   CLEAR_BIT(((DMAMUX_Channel_TypeDef*)((uint32_t)((uint32_t)DMAMUXx + (DMAMUX_CCR_SIZE*(Channel)))))->CCR, DMAMUX_CxCR_SE);
00892 }
00893 
00894 /**
00895   * @brief  Check if the synchronization mode is enabled or disabled.
00896   * @rmtoll CxCR         SE            LL_DMAMUX_IsEnabledSync
00897   * @param  DMAMUXx DMAMUXx Instance
00898   * @param  Channel This parameter can be one of the following values:
00899   *         @arg @ref LL_DMAMUX_CHANNEL_0
00900   *         @arg @ref LL_DMAMUX_CHANNEL_1
00901   *         @arg @ref LL_DMAMUX_CHANNEL_2
00902   *         @arg @ref LL_DMAMUX_CHANNEL_3
00903   *         @arg @ref LL_DMAMUX_CHANNEL_4
00904   *         @arg @ref LL_DMAMUX_CHANNEL_5
00905   *         @arg @ref LL_DMAMUX_CHANNEL_6
00906   *         @arg @ref LL_DMAMUX_CHANNEL_7
00907   *         @arg @ref LL_DMAMUX_CHANNEL_8
00908   *         @arg @ref LL_DMAMUX_CHANNEL_9
00909   *         @arg @ref LL_DMAMUX_CHANNEL_10
00910   *         @arg @ref LL_DMAMUX_CHANNEL_11
00911   *         @arg @ref LL_DMAMUX_CHANNEL_12
00912   *         @arg @ref LL_DMAMUX_CHANNEL_13
00913   * @retval State of bit (1 or 0).
00914   */
00915 __STATIC_INLINE uint32_t LL_DMAMUX_IsEnabledSync(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
00916 {
00917   return (READ_BIT(((DMAMUX_Channel_TypeDef*)((uint32_t)((uint32_t)DMAMUXx + (DMAMUX_CCR_SIZE*(Channel)))))->CCR, DMAMUX_CxCR_SE) == (DMAMUX_CxCR_SE));
00918 }
00919 
00920 /**
00921   * @brief  Set DMAMUX synchronization ID  on DMAMUX Channel x.
00922   * @rmtoll CxCR         SYNC_ID       LL_DMAMUX_SetSyncID
00923   * @param  DMAMUXx DMAMUXx Instance
00924   * @param  Channel This parameter can be one of the following values:
00925   *         @arg @ref LL_DMAMUX_CHANNEL_0
00926   *         @arg @ref LL_DMAMUX_CHANNEL_1
00927   *         @arg @ref LL_DMAMUX_CHANNEL_2
00928   *         @arg @ref LL_DMAMUX_CHANNEL_3
00929   *         @arg @ref LL_DMAMUX_CHANNEL_4
00930   *         @arg @ref LL_DMAMUX_CHANNEL_5
00931   *         @arg @ref LL_DMAMUX_CHANNEL_6
00932   *         @arg @ref LL_DMAMUX_CHANNEL_7
00933   *         @arg @ref LL_DMAMUX_CHANNEL_8
00934   *         @arg @ref LL_DMAMUX_CHANNEL_9
00935   *         @arg @ref LL_DMAMUX_CHANNEL_10
00936   *         @arg @ref LL_DMAMUX_CHANNEL_11
00937   *         @arg @ref LL_DMAMUX_CHANNEL_12
00938   *         @arg @ref LL_DMAMUX_CHANNEL_13
00939   * @param  SyncID This parameter can be one of the following values:
00940   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE0
00941   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE1
00942   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE2
00943   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE3
00944   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE4
00945   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE5
00946   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE6
00947   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE7
00948   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE8
00949   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE9
00950   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE10
00951   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE11
00952   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE12
00953   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE13
00954   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE14
00955   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE15
00956   *         @arg @ref LL_DMAMUX_SYNC_DMAMUX_CH0
00957   *         @arg @ref LL_DMAMUX_SYNC_DMAMUX_CH1
00958   *         @arg @ref LL_DMAMUX_SYNC_DMAMUX_CH2
00959   *         @arg @ref LL_DMAMUX_SYNC_DMAMUX_CH3
00960   *         @arg @ref LL_DMAMUX_SYNC_LPTIM1_OUT
00961   *         @arg @ref LL_DMAMUX_SYNC_LPTIM2_OUT
00962   *         @arg @ref LL_DMAMUX_SYNC_DSI_TE
00963   *         @arg @ref LL_DMAMUX_SYNC_DSI_REFRESH_END
00964   *         @arg @ref LL_DMAMUX_SYNC_DMA2D_TX_END
00965   *         @arg @ref LL_DMAMUX_SYNC_LTDC_LINE_IT
00966   * @retval None
00967   */
00968 __STATIC_INLINE void LL_DMAMUX_SetSyncID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel, uint32_t SyncID)
00969 {
00970   MODIFY_REG(((DMAMUX_Channel_TypeDef*)((uint32_t)((uint32_t)DMAMUXx + (DMAMUX_CCR_SIZE*(Channel)))))->CCR, DMAMUX_CxCR_SYNC_ID, SyncID);
00971 }
00972 
00973 /**
00974   * @brief  Get DMAMUX synchronization ID  on DMAMUX Channel x.
00975   * @rmtoll CxCR         SYNC_ID       LL_DMAMUX_GetSyncID
00976   * @param  DMAMUXx DMAMUXx Instance
00977   * @param  Channel This parameter can be one of the following values:
00978   *         @arg @ref LL_DMAMUX_CHANNEL_0
00979   *         @arg @ref LL_DMAMUX_CHANNEL_1
00980   *         @arg @ref LL_DMAMUX_CHANNEL_2
00981   *         @arg @ref LL_DMAMUX_CHANNEL_3
00982   *         @arg @ref LL_DMAMUX_CHANNEL_4
00983   *         @arg @ref LL_DMAMUX_CHANNEL_5
00984   *         @arg @ref LL_DMAMUX_CHANNEL_6
00985   *         @arg @ref LL_DMAMUX_CHANNEL_7
00986   *         @arg @ref LL_DMAMUX_CHANNEL_8
00987   *         @arg @ref LL_DMAMUX_CHANNEL_9
00988   *         @arg @ref LL_DMAMUX_CHANNEL_10
00989   *         @arg @ref LL_DMAMUX_CHANNEL_11
00990   *         @arg @ref LL_DMAMUX_CHANNEL_12
00991   *         @arg @ref LL_DMAMUX_CHANNEL_13
00992   * @retval Returned value can be one of the following values:
00993   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE0
00994   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE1
00995   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE2
00996   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE3
00997   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE4
00998   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE5
00999   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE6
01000   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE7
01001   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE8
01002   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE9
01003   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE10
01004   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE11
01005   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE12
01006   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE13
01007   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE14
01008   *         @arg @ref LL_DMAMUX_SYNC_EXTI_LINE15
01009   *         @arg @ref LL_DMAMUX_SYNC_DMAMUX_CH0
01010   *         @arg @ref LL_DMAMUX_SYNC_DMAMUX_CH1
01011   *         @arg @ref LL_DMAMUX_SYNC_DMAMUX_CH2
01012   *         @arg @ref LL_DMAMUX_SYNC_DMAMUX_CH3
01013   *         @arg @ref LL_DMAMUX_SYNC_LPTIM1_OUT
01014   *         @arg @ref LL_DMAMUX_SYNC_LPTIM2_OUT
01015   *         @arg @ref LL_DMAMUX_SYNC_DSI_TE
01016   *         @arg @ref LL_DMAMUX_SYNC_DSI_REFRESH_END
01017   *         @arg @ref LL_DMAMUX_SYNC_DMA2D_TX_END
01018   *         @arg @ref LL_DMAMUX_SYNC_LTDC_LINE_IT
01019   */
01020 __STATIC_INLINE uint32_t LL_DMAMUX_GetSyncID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
01021 {
01022   return (uint32_t)(READ_BIT(((DMAMUX_Channel_TypeDef*)((uint32_t)((uint32_t)DMAMUXx + (DMAMUX_CCR_SIZE*(Channel)))))->CCR, DMAMUX_CxCR_SYNC_ID));
01023 }
01024 
01025 /**
01026   * @brief  Enable the Request Generator.
01027   * @rmtoll RGxCR        GE            LL_DMAMUX_EnableRequestGen
01028   * @param  DMAMUXx DMAMUXx Instance
01029   * @param  RequestGenChannel This parameter can be one of the following values:
01030   *         @arg @ref LL_DMAMUX_REQ_GEN_0
01031   *         @arg @ref LL_DMAMUX_REQ_GEN_1
01032   *         @arg @ref LL_DMAMUX_REQ_GEN_2
01033   *         @arg @ref LL_DMAMUX_REQ_GEN_3
01034   * @retval None
01035   */
01036 __STATIC_INLINE void LL_DMAMUX_EnableRequestGen(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
01037 {
01038   SET_BIT(((DMAMUX_RequestGen_TypeDef*)((uint32_t)((uint32_t)DMAMUX1_RequestGenerator0 + (DMAMUX_RGCR_SIZE*(RequestGenChannel)))))->RGCR, DMAMUX_RGxCR_GE);
01039 }
01040 
01041 /**
01042   * @brief  Disable the Request Generator.
01043   * @rmtoll RGxCR        GE            LL_DMAMUX_DisableRequestGen
01044   * @param  DMAMUXx DMAMUXx Instance
01045   * @param  RequestGenChannel This parameter can be one of the following values:
01046   *         @arg @ref LL_DMAMUX_REQ_GEN_0
01047   *         @arg @ref LL_DMAMUX_REQ_GEN_1
01048   *         @arg @ref LL_DMAMUX_REQ_GEN_2
01049   *         @arg @ref LL_DMAMUX_REQ_GEN_3
01050   * @retval None
01051   */
01052 __STATIC_INLINE void LL_DMAMUX_DisableRequestGen(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
01053 {
01054   CLEAR_BIT(((DMAMUX_RequestGen_TypeDef*)((uint32_t)((uint32_t)DMAMUX1_RequestGenerator0 + (DMAMUX_RGCR_SIZE*(RequestGenChannel)))))->RGCR, DMAMUX_RGxCR_GE);
01055 }
01056 
01057 /**
01058   * @brief  Check if the Request Generator is enabled or disabled.
01059   * @rmtoll RGxCR        GE            LL_DMAMUX_IsEnabledRequestGen
01060   * @param  DMAMUXx DMAMUXx Instance
01061   * @param  RequestGenChannel This parameter can be one of the following values:
01062   *         @arg @ref LL_DMAMUX_REQ_GEN_0
01063   *         @arg @ref LL_DMAMUX_REQ_GEN_1
01064   *         @arg @ref LL_DMAMUX_REQ_GEN_2
01065   *         @arg @ref LL_DMAMUX_REQ_GEN_3
01066   * @retval State of bit (1 or 0).
01067   */
01068 __STATIC_INLINE uint32_t LL_DMAMUX_IsEnabledRequestGen(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
01069 {
01070   return (READ_BIT(((DMAMUX_RequestGen_TypeDef*)((uint32_t)((uint32_t)DMAMUX1_RequestGenerator0 + (DMAMUX_RGCR_SIZE*(RequestGenChannel)))))->RGCR, DMAMUX_RGxCR_GE) == (DMAMUX_RGxCR_GE));
01071 }
01072 
01073 /**
01074   * @brief  Set the polarity of the signal on which the DMA request is generated.
01075   * @rmtoll RGxCR        GPOL          LL_DMAMUX_SetRequestGenPolarity
01076   * @param  DMAMUXx DMAMUXx Instance
01077   * @param  RequestGenChannel This parameter can be one of the following values:
01078   *         @arg @ref LL_DMAMUX_REQ_GEN_0
01079   *         @arg @ref LL_DMAMUX_REQ_GEN_1
01080   *         @arg @ref LL_DMAMUX_REQ_GEN_2
01081   *         @arg @ref LL_DMAMUX_REQ_GEN_3
01082   * @param  Polarity This parameter can be one of the following values:
01083   *         @arg @ref LL_DMAMUX_REQ_GEN_NO_EVENT
01084   *         @arg @ref LL_DMAMUX_REQ_GEN_POL_RISING
01085   *         @arg @ref LL_DMAMUX_REQ_GEN_POL_FALLING
01086   *         @arg @ref LL_DMAMUX_REQ_GEN_POL_RISING_FALLING
01087   * @retval None
01088   */
01089 __STATIC_INLINE void LL_DMAMUX_SetRequestGenPolarity(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel, uint32_t Polarity)
01090 {
01091   MODIFY_REG(((DMAMUX_RequestGen_TypeDef*)((uint32_t)((uint32_t)DMAMUX1_RequestGenerator0 + (DMAMUX_RGCR_SIZE*(RequestGenChannel)))))->RGCR, DMAMUX_RGxCR_GPOL, Polarity);
01092 }
01093 
01094 /**
01095   * @brief  Get the polarity of the signal on which the DMA request is generated.
01096   * @rmtoll RGxCR        GPOL          LL_DMAMUX_GetRequestGenPolarity
01097   * @param  DMAMUXx DMAMUXx Instance
01098   * @param  RequestGenChannel This parameter can be one of the following values:
01099   *         @arg @ref LL_DMAMUX_REQ_GEN_0
01100   *         @arg @ref LL_DMAMUX_REQ_GEN_1
01101   *         @arg @ref LL_DMAMUX_REQ_GEN_2
01102   *         @arg @ref LL_DMAMUX_REQ_GEN_3
01103   * @retval Returned value can be one of the following values:
01104   *         @arg @ref LL_DMAMUX_REQ_GEN_NO_EVENT
01105   *         @arg @ref LL_DMAMUX_REQ_GEN_POL_RISING
01106   *         @arg @ref LL_DMAMUX_REQ_GEN_POL_FALLING
01107   *         @arg @ref LL_DMAMUX_REQ_GEN_POL_RISING_FALLING
01108   */
01109 __STATIC_INLINE uint32_t LL_DMAMUX_GetRequestGenPolarity(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
01110 {
01111   return (uint32_t)(READ_BIT(((DMAMUX_RequestGen_TypeDef*)((uint32_t)((uint32_t)DMAMUX1_RequestGenerator0 + (DMAMUX_RGCR_SIZE*(RequestGenChannel)))))->RGCR, DMAMUX_RGxCR_GPOL));
01112 }
01113 
01114 /**
01115   * @brief  Set the number of DMA request that will be autorized after a generation event.
01116   * @note   This field can only be written when Generator is disabled.
01117   * @rmtoll RGxCR        GNBREQ        LL_DMAMUX_SetGenRequestNb
01118   * @param  DMAMUXx DMAMUXx Instance
01119   * @param  RequestGenChannel This parameter can be one of the following values:
01120   *         @arg @ref LL_DMAMUX_REQ_GEN_0
01121   *         @arg @ref LL_DMAMUX_REQ_GEN_1
01122   *         @arg @ref LL_DMAMUX_REQ_GEN_2
01123   *         @arg @ref LL_DMAMUX_REQ_GEN_3
01124   * @param  RequestNb This parameter must be a value between Min_Data = 1 and Max_Data = 32.
01125   * @retval None
01126   */
01127 __STATIC_INLINE void LL_DMAMUX_SetGenRequestNb(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel, uint32_t RequestNb)
01128 {
01129   MODIFY_REG(((DMAMUX_RequestGen_TypeDef*)((uint32_t)((uint32_t)DMAMUX1_RequestGenerator0 + (DMAMUX_RGCR_SIZE*(RequestGenChannel)))))->RGCR, DMAMUX_RGxCR_GNBREQ, (RequestNb - 1) << DMAMUX_RGxCR_GNBREQ_Pos);
01130 }
01131 
01132 /**
01133   * @brief  Get the number of DMA request that will be autorized after a generation event.
01134   * @rmtoll RGxCR        GNBREQ        LL_DMAMUX_GetGenRequestNb
01135   * @param  DMAMUXx DMAMUXx Instance
01136   * @param  RequestGenChannel This parameter can be one of the following values:
01137   *         @arg @ref LL_DMAMUX_REQ_GEN_0
01138   *         @arg @ref LL_DMAMUX_REQ_GEN_1
01139   *         @arg @ref LL_DMAMUX_REQ_GEN_2
01140   *         @arg @ref LL_DMAMUX_REQ_GEN_3
01141   * @retval Between Min_Data = 1 and Max_Data = 32
01142   */
01143 __STATIC_INLINE uint32_t LL_DMAMUX_GetGenRequestNb(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
01144 {
01145   return (uint32_t)((READ_BIT(((DMAMUX_RequestGen_TypeDef*)((uint32_t)((uint32_t)DMAMUX1_RequestGenerator0 + (DMAMUX_RGCR_SIZE*(RequestGenChannel)))))->RGCR, DMAMUX_RGxCR_GNBREQ) >> DMAMUX_RGxCR_GNBREQ_Pos) + 1);
01146 }
01147 
01148 /**
01149   * @brief  Set DMAMUX external Request Signal ID on DMAMUX Request Generation Trigger Event Channel x.
01150   * @rmtoll RGxCR        SIG_ID        LL_DMAMUX_SetRequestSignalID
01151   * @param  DMAMUXx DMAMUXx Instance
01152   * @param  RequestGenChannel This parameter can be one of the following values:
01153   *         @arg @ref LL_DMAMUX_REQ_GEN_0
01154   *         @arg @ref LL_DMAMUX_REQ_GEN_1
01155   *         @arg @ref LL_DMAMUX_REQ_GEN_2
01156   *         @arg @ref LL_DMAMUX_REQ_GEN_3
01157   * @param  RequestSignalID This parameter can be one of the following values:
01158   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE0
01159   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE1
01160   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE2
01161   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE3
01162   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE4
01163   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE5
01164   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE6
01165   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE7
01166   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE8
01167   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE9
01168   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE10
01169   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE11
01170   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE12
01171   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE13
01172   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE14
01173   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE15
01174   *         @arg @ref LL_DMAMUX_REQ_GEN_DMAMUX_CH0
01175   *         @arg @ref LL_DMAMUX_REQ_GEN_DMAMUX_CH1
01176   *         @arg @ref LL_DMAMUX_REQ_GEN_DMAMUX_CH2
01177   *         @arg @ref LL_DMAMUX_REQ_GEN_DMAMUX_CH3
01178   *         @arg @ref LL_DMAMUX_REQ_GEN_LPTIM1_OUT
01179   *         @arg @ref LL_DMAMUX_REQ_GEN_LPTIM2_OUT
01180   *         @arg @ref LL_DMAMUX_REQ_GEN_DSI_TE
01181   *         @arg @ref LL_DMAMUX_REQ_GEN_DSI_REFRESH_END
01182   *         @arg @ref LL_DMAMUX_REQ_GEN_DMA2D_TX_END
01183   *         @arg @ref LL_DMAMUX_REQ_GEN_LTDC_LINE_IT
01184   * @retval None
01185   */
01186 __STATIC_INLINE void LL_DMAMUX_SetRequestSignalID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel, uint32_t RequestSignalID)
01187 {
01188   MODIFY_REG(((DMAMUX_RequestGen_TypeDef*)((uint32_t)((uint32_t)DMAMUX1_RequestGenerator0 + (DMAMUX_RGCR_SIZE*(RequestGenChannel)))))->RGCR, DMAMUX_RGxCR_SIG_ID, RequestSignalID);
01189 }
01190 
01191 /**
01192   * @brief  Get DMAMUX external Request Signal ID set on DMAMUX Channel x.
01193   * @rmtoll RGxCR        SIG_ID        LL_DMAMUX_GetRequestSignalID
01194   * @param  DMAMUXx DMAMUXx Instance
01195   * @param  RequestGenChannel This parameter can be one of the following values:
01196   *         @arg @ref LL_DMAMUX_REQ_GEN_0
01197   *         @arg @ref LL_DMAMUX_REQ_GEN_1
01198   *         @arg @ref LL_DMAMUX_REQ_GEN_2
01199   *         @arg @ref LL_DMAMUX_REQ_GEN_3
01200   * @retval Returned value can be one of the following values:
01201   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE0
01202   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE1
01203   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE2
01204   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE3
01205   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE4
01206   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE5
01207   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE6
01208   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE7
01209   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE8
01210   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE9
01211   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE10
01212   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE11
01213   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE12
01214   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE13
01215   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE14
01216   *         @arg @ref LL_DMAMUX_REQ_GEN_EXTI_LINE15
01217   *         @arg @ref LL_DMAMUX_REQ_GEN_DMAMUX_CH0
01218   *         @arg @ref LL_DMAMUX_REQ_GEN_DMAMUX_CH1
01219   *         @arg @ref LL_DMAMUX_REQ_GEN_DMAMUX_CH2
01220   *         @arg @ref LL_DMAMUX_REQ_GEN_DMAMUX_CH3
01221   *         @arg @ref LL_DMAMUX_REQ_GEN_LPTIM1_OUT
01222   *         @arg @ref LL_DMAMUX_REQ_GEN_LPTIM2_OUT
01223   *         @arg @ref LL_DMAMUX_REQ_GEN_DSI_TE
01224   *         @arg @ref LL_DMAMUX_REQ_GEN_DSI_REFRESH_END
01225   *         @arg @ref LL_DMAMUX_REQ_GEN_DMA2D_TX_END
01226   *         @arg @ref LL_DMAMUX_REQ_GEN_LTDC_LINE_IT
01227   */
01228 __STATIC_INLINE uint32_t LL_DMAMUX_GetRequestSignalID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
01229 {
01230   return (uint32_t)(READ_BIT(((DMAMUX_RequestGen_TypeDef*)((uint32_t)((uint32_t)DMAMUX1_RequestGenerator0 + (DMAMUX_RGCR_SIZE*(RequestGenChannel)))))->RGCR, DMAMUX_RGxCR_SIG_ID));
01231 }
01232 
01233 /**
01234   * @}
01235   */
01236 
01237 /** @defgroup DMAMUX_LL_EF_FLAG_Management FLAG_Management
01238   * @{
01239   */
01240 
01241 /**
01242   * @brief  Get Synchronization Event Overrun Flag Channel 0.
01243   * @rmtoll CSR          SOF0          LL_DMAMUX_IsActiveFlag_SO0
01244   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01245   * @retval State of bit (1 or 0).
01246   */
01247 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO0(DMAMUX_Channel_TypeDef *DMAMUXx)
01248 {
01249   return (READ_BIT(DMAMUX1_ChannelStatus->CSR, DMAMUX_CSR_SOF0) == (DMAMUX_CSR_SOF0));
01250 }
01251 
01252 /**
01253   * @brief  Get Synchronization Event Overrun Flag Channel 1.
01254   * @rmtoll CSR          SOF1          LL_DMAMUX_IsActiveFlag_SO1
01255   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01256   * @retval State of bit (1 or 0).
01257   */
01258 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO1(DMAMUX_Channel_TypeDef *DMAMUXx)
01259 {
01260   return (READ_BIT(DMAMUX1_ChannelStatus->CSR, DMAMUX_CSR_SOF1) == (DMAMUX_CSR_SOF1));
01261 }
01262 
01263 /**
01264   * @brief  Get Synchronization Event Overrun Flag Channel 2.
01265   * @rmtoll CSR          SOF2          LL_DMAMUX_IsActiveFlag_SO2
01266   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01267   * @retval State of bit (1 or 0).
01268   */
01269 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO2(DMAMUX_Channel_TypeDef *DMAMUXx)
01270 {
01271   return (READ_BIT(DMAMUX1_ChannelStatus->CSR, DMAMUX_CSR_SOF2) == (DMAMUX_CSR_SOF2));
01272 }
01273 
01274 /**
01275   * @brief  Get Synchronization Event Overrun Flag Channel 3.
01276   * @rmtoll CSR          SOF3          LL_DMAMUX_IsActiveFlag_SO3
01277   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01278   * @retval State of bit (1 or 0).
01279   */
01280 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO3(DMAMUX_Channel_TypeDef *DMAMUXx)
01281 {
01282   return (READ_BIT(DMAMUX1_ChannelStatus->CSR, DMAMUX_CSR_SOF3) == (DMAMUX_CSR_SOF3));
01283 }
01284 
01285 /**
01286   * @brief  Get Synchronization Event Overrun Flag Channel 4.
01287   * @rmtoll CSR          SOF4          LL_DMAMUX_IsActiveFlag_SO4
01288   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01289   * @retval State of bit (1 or 0).
01290   */
01291 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO4(DMAMUX_Channel_TypeDef *DMAMUXx)
01292 {
01293   return (READ_BIT(DMAMUX1_ChannelStatus->CSR, DMAMUX_CSR_SOF4) == (DMAMUX_CSR_SOF4));
01294 }
01295 
01296 /**
01297   * @brief  Get Synchronization Event Overrun Flag Channel 5.
01298   * @rmtoll CSR          SOF5          LL_DMAMUX_IsActiveFlag_SO5
01299   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01300   * @retval State of bit (1 or 0).
01301   */
01302 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO5(DMAMUX_Channel_TypeDef *DMAMUXx)
01303 {
01304   return (READ_BIT(DMAMUX1_ChannelStatus->CSR, DMAMUX_CSR_SOF5) == (DMAMUX_CSR_SOF5));
01305 }
01306 
01307 /**
01308   * @brief  Get Synchronization Event Overrun Flag Channel 6.
01309   * @rmtoll CSR          SOF6          LL_DMAMUX_IsActiveFlag_SO6
01310   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01311   * @retval State of bit (1 or 0).
01312   */
01313 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO6(DMAMUX_Channel_TypeDef *DMAMUXx)
01314 {
01315   return (READ_BIT(DMAMUX1_ChannelStatus->CSR, DMAMUX_CSR_SOF6) == (DMAMUX_CSR_SOF6));
01316 }
01317 
01318 /**
01319   * @brief  Get Synchronization Event Overrun Flag Channel 7.
01320   * @rmtoll CSR          SOF7          LL_DMAMUX_IsActiveFlag_SO7
01321   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01322   * @retval State of bit (1 or 0).
01323   */
01324 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO7(DMAMUX_Channel_TypeDef *DMAMUXx)
01325 {
01326   return (READ_BIT(DMAMUX1_ChannelStatus->CSR, DMAMUX_CSR_SOF7) == (DMAMUX_CSR_SOF7));
01327 }
01328 
01329 /**
01330   * @brief  Get Synchronization Event Overrun Flag Channel 8.
01331   * @rmtoll CSR          SOF8          LL_DMAMUX_IsActiveFlag_SO8
01332   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01333   * @retval State of bit (1 or 0).
01334   */
01335 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO8(DMAMUX_Channel_TypeDef *DMAMUXx)
01336 {
01337   return (READ_BIT(DMAMUX1_ChannelStatus->CSR, DMAMUX_CSR_SOF8) == (DMAMUX_CSR_SOF8));
01338 }
01339 
01340 /**
01341   * @brief  Get Synchronization Event Overrun Flag Channel 9.
01342   * @rmtoll CSR          SOF9          LL_DMAMUX_IsActiveFlag_SO9
01343   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01344   * @retval State of bit (1 or 0).
01345   */
01346 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO9(DMAMUX_Channel_TypeDef *DMAMUXx)
01347 {
01348   return (READ_BIT(DMAMUX1_ChannelStatus->CSR, DMAMUX_CSR_SOF9) == (DMAMUX_CSR_SOF9));
01349 }
01350 
01351 /**
01352   * @brief  Get Synchronization Event Overrun Flag Channel 10.
01353   * @rmtoll CSR          SOF10         LL_DMAMUX_IsActiveFlag_SO10
01354   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01355   * @retval State of bit (1 or 0).
01356   */
01357 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO10(DMAMUX_Channel_TypeDef *DMAMUXx)
01358 {
01359   return (READ_BIT(DMAMUX1_ChannelStatus->CSR, DMAMUX_CSR_SOF10) == (DMAMUX_CSR_SOF10));
01360 }
01361 
01362 /**
01363   * @brief  Get Synchronization Event Overrun Flag Channel 11.
01364   * @rmtoll CSR          SOF11         LL_DMAMUX_IsActiveFlag_SO11
01365   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01366   * @retval State of bit (1 or 0).
01367   */
01368 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO11(DMAMUX_Channel_TypeDef *DMAMUXx)
01369 {
01370   return (READ_BIT(DMAMUX1_ChannelStatus->CSR, DMAMUX_CSR_SOF11) == (DMAMUX_CSR_SOF11));
01371 }
01372 
01373 /**
01374   * @brief  Get Synchronization Event Overrun Flag Channel 12.
01375   * @rmtoll CSR          SOF12         LL_DMAMUX_IsActiveFlag_SO12
01376   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01377   * @retval State of bit (1 or 0).
01378   */
01379 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO12(DMAMUX_Channel_TypeDef *DMAMUXx)
01380 {
01381   return (READ_BIT(DMAMUX1_ChannelStatus->CSR, DMAMUX_CSR_SOF12) == (DMAMUX_CSR_SOF12));
01382 }
01383 
01384 /**
01385   * @brief  Get Synchronization Event Overrun Flag Channel 13.
01386   * @rmtoll CSR          SOF13         LL_DMAMUX_IsActiveFlag_SO13
01387   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01388   * @retval State of bit (1 or 0).
01389   */
01390 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO13(DMAMUX_Channel_TypeDef *DMAMUXx)
01391 {
01392   return (READ_BIT(DMAMUX1_ChannelStatus->CSR, DMAMUX_CSR_SOF13) == (DMAMUX_CSR_SOF13));
01393 }
01394 
01395 /**
01396   * @brief  Get Request Generator 0 Trigger Event Overrun Flag.
01397   * @rmtoll RGSR         OF0           LL_DMAMUX_IsActiveFlag_RGO0
01398   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01399   * @retval State of bit (1 or 0).
01400   */
01401 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO0(DMAMUX_Channel_TypeDef *DMAMUXx)
01402 {
01403   return (READ_BIT(DMAMUX1_RequestGenStatus->RGSR, DMAMUX_RGSR_OF0) == (DMAMUX_RGSR_OF0));
01404 }
01405 
01406 /**
01407   * @brief  Get Request Generator 1 Trigger Event Overrun Flag.
01408   * @rmtoll RGSR         OF1           LL_DMAMUX_IsActiveFlag_RGO1
01409   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01410   * @retval State of bit (1 or 0).
01411   */
01412 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO1(DMAMUX_Channel_TypeDef *DMAMUXx)
01413 {
01414   return (READ_BIT(DMAMUX1_RequestGenStatus->RGSR, DMAMUX_RGSR_OF1) == (DMAMUX_RGSR_OF1));
01415 }
01416 
01417 /**
01418   * @brief  Get Request Generator 2 Trigger Event Overrun Flag.
01419   * @rmtoll RGSR         OF2           LL_DMAMUX_IsActiveFlag_RGO2
01420   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01421   * @retval State of bit (1 or 0).
01422   */
01423 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO2(DMAMUX_Channel_TypeDef *DMAMUXx)
01424 {
01425   return (READ_BIT(DMAMUX1_RequestGenStatus->RGSR, DMAMUX_RGSR_OF2) == (DMAMUX_RGSR_OF2));
01426 }
01427 
01428 /**
01429   * @brief  Get Request Generator 3 Trigger Event Overrun Flag.
01430   * @rmtoll RGSR         OF3           LL_DMAMUX_IsActiveFlag_RGO3
01431   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01432   * @retval State of bit (1 or 0).
01433   */
01434 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO3(DMAMUX_Channel_TypeDef *DMAMUXx)
01435 {
01436   return (READ_BIT(DMAMUX1_RequestGenStatus->RGSR, DMAMUX_RGSR_OF3) == (DMAMUX_RGSR_OF3));
01437 }
01438 
01439 /**
01440   * @brief  Clear Synchronization Event Overrun Flag Channel 0.
01441   * @rmtoll CFR          CSOF0         LL_DMAMUX_ClearFlag_SO0
01442   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01443   * @retval None
01444   */
01445 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO0(DMAMUX_Channel_TypeDef * DMAMUXx)
01446 {
01447   SET_BIT(DMAMUX1_ChannelStatus->CFR, DMAMUX_CFR_CSOF0);
01448 }
01449 
01450 /**
01451   * @brief  Clear Synchronization Event Overrun Flag Channel 1.
01452   * @rmtoll CFR          CSOF1         LL_DMAMUX_ClearFlag_SO1
01453   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01454   * @retval None
01455   */
01456 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO1(DMAMUX_Channel_TypeDef *DMAMUXx)
01457 {
01458   SET_BIT(DMAMUX1_ChannelStatus->CFR, DMAMUX_CFR_CSOF1);
01459 }
01460 
01461 /**
01462   * @brief  Clear Synchronization Event Overrun Flag Channel 2.
01463   * @rmtoll CFR          CSOF2         LL_DMAMUX_ClearFlag_SO2
01464   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01465   * @retval None
01466   */
01467 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO2(DMAMUX_Channel_TypeDef *DMAMUXx)
01468 {
01469   SET_BIT(DMAMUX1_ChannelStatus->CFR, DMAMUX_CFR_CSOF2);
01470 }
01471 
01472 /**
01473   * @brief  Clear Synchronization Event Overrun Flag Channel 3.
01474   * @rmtoll CFR          CSOF3         LL_DMAMUX_ClearFlag_SO3
01475   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01476   * @retval None
01477   */
01478 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO3(DMAMUX_Channel_TypeDef *DMAMUXx)
01479 {
01480   SET_BIT(DMAMUX1_ChannelStatus->CFR, DMAMUX_CFR_CSOF3);
01481 }
01482 
01483 /**
01484   * @brief  Clear Synchronization Event Overrun Flag Channel 4.
01485   * @rmtoll CFR          CSOF4         LL_DMAMUX_ClearFlag_SO4
01486   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01487   * @retval None
01488   */
01489 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO4(DMAMUX_Channel_TypeDef *DMAMUXx)
01490 {
01491   SET_BIT(DMAMUX1_ChannelStatus->CFR, DMAMUX_CFR_CSOF4);
01492 }
01493 
01494 /**
01495   * @brief  Clear Synchronization Event Overrun Flag Channel 5.
01496   * @rmtoll CFR          CSOF5         LL_DMAMUX_ClearFlag_SO5
01497   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01498   * @retval None
01499   */
01500 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO5(DMAMUX_Channel_TypeDef *DMAMUXx)
01501 {
01502   SET_BIT(DMAMUX1_ChannelStatus->CFR, DMAMUX_CFR_CSOF5);
01503 }
01504 
01505 /**
01506   * @brief  Clear Synchronization Event Overrun Flag Channel 6.
01507   * @rmtoll CFR          CSOF6         LL_DMAMUX_ClearFlag_SO6
01508   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01509   * @retval None
01510   */
01511 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO6(DMAMUX_Channel_TypeDef *DMAMUXx)
01512 {
01513   SET_BIT(DMAMUX1_ChannelStatus->CFR, DMAMUX_CFR_CSOF6);
01514 }
01515 
01516 /**
01517   * @brief  Clear Synchronization Event Overrun Flag Channel 7.
01518   * @rmtoll CFR          CSOF7         LL_DMAMUX_ClearFlag_SO7
01519   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01520   * @retval None
01521   */
01522 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO7(DMAMUX_Channel_TypeDef *DMAMUXx)
01523 {
01524   SET_BIT(DMAMUX1_ChannelStatus->CFR, DMAMUX_CFR_CSOF7);
01525 }
01526 
01527 /**
01528   * @brief  Clear Synchronization Event Overrun Flag Channel 8.
01529   * @rmtoll CFR          CSOF8         LL_DMAMUX_ClearFlag_SO8
01530   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01531   * @retval None
01532   */
01533 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO8(DMAMUX_Channel_TypeDef *DMAMUXx)
01534 {
01535   SET_BIT(DMAMUX1_ChannelStatus->CFR, DMAMUX_CFR_CSOF8);
01536 }
01537 
01538 /**
01539   * @brief  Clear Synchronization Event Overrun Flag Channel 9.
01540   * @rmtoll CFR          CSOF9         LL_DMAMUX_ClearFlag_SO9
01541   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01542   * @retval None
01543   */
01544 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO9(DMAMUX_Channel_TypeDef *DMAMUXx)
01545 {
01546   SET_BIT(DMAMUX1_ChannelStatus->CFR, DMAMUX_CFR_CSOF9);
01547 }
01548 
01549 /**
01550   * @brief  Clear Synchronization Event Overrun Flag Channel 10.
01551   * @rmtoll CFR          CSOF10        LL_DMAMUX_ClearFlag_SO10
01552   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01553   * @retval None
01554   */
01555 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO10(DMAMUX_Channel_TypeDef *DMAMUXx)
01556 {
01557   SET_BIT(DMAMUX1_ChannelStatus->CFR, DMAMUX_CFR_CSOF10);
01558 }
01559 
01560 /**
01561   * @brief  Clear Synchronization Event Overrun Flag Channel 11.
01562   * @rmtoll CFR          CSOF11        LL_DMAMUX_ClearFlag_SO11
01563   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01564   * @retval None
01565   */
01566 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO11(DMAMUX_Channel_TypeDef *DMAMUXx)
01567 {
01568   SET_BIT(DMAMUX1_ChannelStatus->CFR, DMAMUX_CFR_CSOF11);
01569 }
01570 
01571 /**
01572   * @brief  Clear Synchronization Event Overrun Flag Channel 12.
01573   * @rmtoll CFR          CSOF12        LL_DMAMUX_ClearFlag_SO12
01574   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01575   * @retval None
01576   */
01577 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO12(DMAMUX_Channel_TypeDef *DMAMUXx)
01578 {
01579   SET_BIT(DMAMUX1_ChannelStatus->CFR, DMAMUX_CFR_CSOF12);
01580 }
01581 
01582 /**
01583   * @brief  Clear Synchronization Event Overrun Flag Channel 13.
01584   * @rmtoll CFR          CSOF13        LL_DMAMUX_ClearFlag_SO13
01585   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01586   * @retval None
01587   */
01588 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO13(DMAMUX_Channel_TypeDef *DMAMUXx)
01589 {
01590   SET_BIT(DMAMUX1_ChannelStatus->CFR, DMAMUX_CFR_CSOF13);
01591 }
01592 
01593 /**
01594   * @brief  Clear Request Generator 0 Trigger Event Overrun Flag.
01595   * @rmtoll RGCFR        COF0          LL_DMAMUX_ClearFlag_RGO0
01596   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01597   * @retval None
01598   */
01599 __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO0(DMAMUX_Channel_TypeDef *DMAMUXx)
01600 {
01601   SET_BIT(DMAMUX1_RequestGenStatus->RGCFR, DMAMUX_RGCFR_COF0);
01602 }
01603 
01604 /**
01605   * @brief  Clear Request Generator 1 Trigger Event Overrun Flag.
01606   * @rmtoll RGCFR        COF1          LL_DMAMUX_ClearFlag_RGO1
01607   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01608   * @retval None
01609   */
01610 __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO1(DMAMUX_Channel_TypeDef *DMAMUXx)
01611 {
01612   SET_BIT(DMAMUX1_RequestGenStatus->RGCFR, DMAMUX_RGCFR_COF1);
01613 }
01614 
01615 /**
01616   * @brief  Clear Request Generator 2 Trigger Event Overrun Flag.
01617   * @rmtoll RGCFR        COF2          LL_DMAMUX_ClearFlag_RGO2
01618   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01619   * @retval None
01620   */
01621 __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO2(DMAMUX_Channel_TypeDef *DMAMUXx)
01622 {
01623   SET_BIT(DMAMUX1_RequestGenStatus->RGCFR, DMAMUX_RGCFR_COF2);
01624 }
01625 
01626 /**
01627   * @brief  Clear Request Generator 3 Trigger Event Overrun Flag.
01628   * @rmtoll RGCFR        COF3          LL_DMAMUX_ClearFlag_RGO3
01629   * @param  DMAMUXx DMAMUXx DMAMUXx Instance
01630   * @retval None
01631   */
01632 __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO3(DMAMUX_Channel_TypeDef *DMAMUXx)
01633 {
01634   SET_BIT(DMAMUX1_RequestGenStatus->RGCFR, DMAMUX_RGCFR_COF3);
01635 }
01636 
01637 /**
01638   * @}
01639   */
01640 
01641 /** @defgroup DMAMUX_LL_EF_IT_Management IT_Management
01642   * @{
01643   */
01644 
01645 /**
01646   * @brief  Enable the Synchronization Event Overrun Interrupt on DMAMUX channel x.
01647   * @rmtoll CxCR         SOIE          LL_DMAMUX_EnableIT_SO
01648   * @param  DMAMUXx DMAMUXx Instance
01649   * @param  Channel This parameter can be one of the following values:
01650   *         @arg @ref LL_DMAMUX_CHANNEL_0
01651   *         @arg @ref LL_DMAMUX_CHANNEL_1
01652   *         @arg @ref LL_DMAMUX_CHANNEL_2
01653   *         @arg @ref LL_DMAMUX_CHANNEL_3
01654   *         @arg @ref LL_DMAMUX_CHANNEL_4
01655   *         @arg @ref LL_DMAMUX_CHANNEL_5
01656   *         @arg @ref LL_DMAMUX_CHANNEL_6
01657   *         @arg @ref LL_DMAMUX_CHANNEL_7
01658   *         @arg @ref LL_DMAMUX_CHANNEL_8
01659   *         @arg @ref LL_DMAMUX_CHANNEL_9
01660   *         @arg @ref LL_DMAMUX_CHANNEL_10
01661   *         @arg @ref LL_DMAMUX_CHANNEL_11
01662   *         @arg @ref LL_DMAMUX_CHANNEL_12
01663   *         @arg @ref LL_DMAMUX_CHANNEL_13
01664   * @retval None
01665   */
01666 __STATIC_INLINE void LL_DMAMUX_EnableIT_SO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
01667 {
01668   SET_BIT(((DMAMUX_Channel_TypeDef*)((uint32_t)((uint32_t)DMAMUXx + (DMAMUX_CCR_SIZE*(Channel)))))->CCR, DMAMUX_CxCR_SOIE);
01669 }
01670 
01671 /**
01672   * @brief  Disable the Synchronization Event Overrun Interrupt on DMAMUX channel x.
01673   * @rmtoll CxCR         SOIE          LL_DMAMUX_DisableIT_SO
01674   * @param  DMAMUXx DMAMUXx Instance
01675   * @param  Channel This parameter can be one of the following values:
01676   *         @arg @ref LL_DMAMUX_CHANNEL_0
01677   *         @arg @ref LL_DMAMUX_CHANNEL_1
01678   *         @arg @ref LL_DMAMUX_CHANNEL_2
01679   *         @arg @ref LL_DMAMUX_CHANNEL_3
01680   *         @arg @ref LL_DMAMUX_CHANNEL_4
01681   *         @arg @ref LL_DMAMUX_CHANNEL_5
01682   *         @arg @ref LL_DMAMUX_CHANNEL_6
01683   *         @arg @ref LL_DMAMUX_CHANNEL_7
01684   *         @arg @ref LL_DMAMUX_CHANNEL_8
01685   *         @arg @ref LL_DMAMUX_CHANNEL_9
01686   *         @arg @ref LL_DMAMUX_CHANNEL_10
01687   *         @arg @ref LL_DMAMUX_CHANNEL_11
01688   *         @arg @ref LL_DMAMUX_CHANNEL_12
01689   *         @arg @ref LL_DMAMUX_CHANNEL_13
01690   * @retval None
01691   */
01692 __STATIC_INLINE void LL_DMAMUX_DisableIT_SO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
01693 {
01694   CLEAR_BIT(((DMAMUX_Channel_TypeDef*)((uint32_t)((uint32_t)DMAMUXx + (DMAMUX_CCR_SIZE*(Channel)))))->CCR, DMAMUX_CxCR_SOIE);
01695 }
01696 
01697 /**
01698   * @brief  Check if the Synchronization Event Overrun Interrupt on DMAMUX channel x is enabled or disabled.
01699   * @rmtoll CxCR         SOIE          LL_DMAMUX_IsEnabledIT_SO
01700   * @param  DMAMUXx DMAMUXx Instance
01701   * @param  Channel This parameter can be one of the following values:
01702   *         @arg @ref LL_DMAMUX_CHANNEL_0
01703   *         @arg @ref LL_DMAMUX_CHANNEL_1
01704   *         @arg @ref LL_DMAMUX_CHANNEL_2
01705   *         @arg @ref LL_DMAMUX_CHANNEL_3
01706   *         @arg @ref LL_DMAMUX_CHANNEL_4
01707   *         @arg @ref LL_DMAMUX_CHANNEL_5
01708   *         @arg @ref LL_DMAMUX_CHANNEL_6
01709   *         @arg @ref LL_DMAMUX_CHANNEL_7
01710   *         @arg @ref LL_DMAMUX_CHANNEL_8
01711   *         @arg @ref LL_DMAMUX_CHANNEL_9
01712   *         @arg @ref LL_DMAMUX_CHANNEL_10
01713   *         @arg @ref LL_DMAMUX_CHANNEL_11
01714   *         @arg @ref LL_DMAMUX_CHANNEL_12
01715   *         @arg @ref LL_DMAMUX_CHANNEL_13
01716   * @retval State of bit (1 or 0).
01717   */
01718 __STATIC_INLINE uint32_t LL_DMAMUX_IsEnabledIT_SO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel)
01719 {
01720   return (READ_BIT(((DMAMUX_Channel_TypeDef*)((uint32_t)((uint32_t)DMAMUXx + (DMAMUX_CCR_SIZE*(Channel)))))->CCR, DMAMUX_CxCR_SOIE));
01721 }
01722 
01723 /**
01724   * @brief  Enable the Request Generation Trigger Event Overrun Interrupt on DMAMUX channel x.
01725   * @rmtoll RGxCR        OIE           LL_DMAMUX_EnableIT_RGO
01726   * @param  DMAMUXx DMAMUXx Instance
01727   * @param  RequestGenChannel This parameter can be one of the following values:
01728   *         @arg @ref LL_DMAMUX_REQ_GEN_0
01729   *         @arg @ref LL_DMAMUX_REQ_GEN_1
01730   *         @arg @ref LL_DMAMUX_REQ_GEN_2
01731   *         @arg @ref LL_DMAMUX_REQ_GEN_3
01732   * @retval None
01733   */
01734 __STATIC_INLINE void LL_DMAMUX_EnableIT_RGO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
01735 {
01736   SET_BIT(((DMAMUX_RequestGen_TypeDef*)((uint32_t)((uint32_t)DMAMUX1_RequestGenerator0 + (DMAMUX_RGCR_SIZE*(RequestGenChannel)))))->RGCR, DMAMUX_RGxCR_OIE);
01737 }
01738 
01739 /**
01740   * @brief  Disable the Request Generation Trigger Event Overrun Interrupt on DMAMUX channel x.
01741   * @rmtoll RGxCR        OIE           LL_DMAMUX_DisableIT_RGO
01742   * @param  DMAMUXx DMAMUXx Instance
01743   * @param  RequestGenChannel This parameter can be one of the following values:
01744   *         @arg @ref LL_DMAMUX_REQ_GEN_0
01745   *         @arg @ref LL_DMAMUX_REQ_GEN_1
01746   *         @arg @ref LL_DMAMUX_REQ_GEN_2
01747   *         @arg @ref LL_DMAMUX_REQ_GEN_3
01748   * @retval None
01749   */
01750 __STATIC_INLINE void LL_DMAMUX_DisableIT_RGO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
01751 {
01752   CLEAR_BIT(((DMAMUX_RequestGen_TypeDef*)((uint32_t)((uint32_t)DMAMUX1_RequestGenerator0 + (DMAMUX_RGCR_SIZE*(RequestGenChannel)))))->RGCR, DMAMUX_RGxCR_OIE);
01753 }
01754 
01755 /**
01756   * @brief  Check if the Request Generation Trigger Event Overrun Interrupt on DMAMUX channel x is enabled or disabled.
01757   * @rmtoll RGxCR        OIE           LL_DMAMUX_IsEnabledIT_RGO
01758   * @param  DMAMUXx DMAMUXx Instance
01759   * @param  RequestGenChannel This parameter can be one of the following values:
01760   *         @arg @ref LL_DMAMUX_REQ_GEN_0
01761   *         @arg @ref LL_DMAMUX_REQ_GEN_1
01762   *         @arg @ref LL_DMAMUX_REQ_GEN_2
01763   *         @arg @ref LL_DMAMUX_REQ_GEN_3
01764   * @retval State of bit (1 or 0).
01765   */
01766 __STATIC_INLINE uint32_t LL_DMAMUX_IsEnabledIT_RGO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel)
01767 {
01768   return (READ_BIT(((DMAMUX_RequestGen_TypeDef*)((uint32_t)((uint32_t)DMAMUX1_RequestGenerator0 + (DMAMUX_RGCR_SIZE*(RequestGenChannel)))))->RGCR, DMAMUX_RGxCR_OIE) == (DMAMUX_RGxCR_OIE));
01769 }
01770 
01771 /**
01772   * @}
01773   */
01774 
01775 /**
01776   * @}
01777   */
01778 
01779 /**
01780   * @}
01781   */
01782 
01783 #endif /* DMAMUX1 */
01784 
01785 /**
01786   * @}
01787   */
01788 
01789 #ifdef __cplusplus
01790 }
01791 #endif
01792 
01793 #endif /* __STM32L4xx_LL_DMAMUX_H */
01794 
01795 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/