STM32H735xx HAL User Manual
|
00001 /** 00002 ****************************************************************************** 00003 * @file stm32h7xx_ll_dmamux.h 00004 * @author MCD Application Team 00005 * @brief Header file of DMAMUX LL module. 00006 ****************************************************************************** 00007 * @attention 00008 * 00009 * Copyright (c) 2017 STMicroelectronics. 00010 * All rights reserved. 00011 * 00012 * This software is licensed under terms that can be found in the LICENSE file 00013 * in the root directory of this software component. 00014 * If no LICENSE file comes with this software, it is provided AS-IS. 00015 * 00016 ****************************************************************************** 00017 */ 00018 00019 /* Define to prevent recursive inclusion -------------------------------------*/ 00020 #ifndef STM32H7xx_LL_DMAMUX_H 00021 #define STM32H7xx_LL_DMAMUX_H 00022 00023 #ifdef __cplusplus 00024 extern "C" { 00025 #endif 00026 00027 /* Includes ------------------------------------------------------------------*/ 00028 #include "stm32h7xx.h" 00029 00030 /** @addtogroup STM32H7xx_LL_Driver 00031 * @{ 00032 */ 00033 00034 #if defined (DMAMUX1) || defined (DMAMUX2) 00035 00036 /** @defgroup DMAMUX_LL DMAMUX 00037 * @{ 00038 */ 00039 00040 /* Private types -------------------------------------------------------------*/ 00041 /* Private variables ---------------------------------------------------------*/ 00042 /* Private constants ---------------------------------------------------------*/ 00043 /** @defgroup DMAMUX_LL_Private_Constants DMAMUX Private Constants 00044 * @{ 00045 */ 00046 /* Define used to get DMAMUX CCR register size */ 00047 #define DMAMUX_CCR_SIZE 0x00000004U 00048 00049 /* Define used to get DMAMUX RGCR register size */ 00050 #define DMAMUX_RGCR_SIZE 0x00000004U 00051 00052 /* Define used to get DMAMUX RequestGenerator offset */ 00053 #define DMAMUX_REQ_GEN_OFFSET (DMAMUX1_RequestGenerator0_BASE - DMAMUX1_BASE) 00054 /* Define used to get DMAMUX Channel Status offset */ 00055 #define DMAMUX_CH_STATUS_OFFSET (DMAMUX1_ChannelStatus_BASE - DMAMUX1_BASE) 00056 /* Define used to get DMAMUX RequestGenerator status offset */ 00057 #define DMAMUX_REQ_GEN_STATUS_OFFSET (DMAMUX1_RequestGenStatus_BASE - DMAMUX1_BASE) 00058 00059 /** 00060 * @} 00061 */ 00062 00063 /* Private macros ------------------------------------------------------------*/ 00064 /* Exported types ------------------------------------------------------------*/ 00065 /* Exported constants --------------------------------------------------------*/ 00066 /** @defgroup DMAMUX_LL_Exported_Constants DMAMUX Exported Constants 00067 * @{ 00068 */ 00069 /** @defgroup DMAMUX_LL_EC_CLEAR_FLAG Clear Flags Defines 00070 * @brief Flags defines which can be used with LL_DMAMUX_WriteReg function 00071 * @{ 00072 */ 00073 #define LL_DMAMUX_CFR_CSOF0 DMAMUX_CFR_CSOF0 /*!< Synchronization Event Overrun Flag Channel 0 */ 00074 #define LL_DMAMUX_CFR_CSOF1 DMAMUX_CFR_CSOF1 /*!< Synchronization Event Overrun Flag Channel 1 */ 00075 #define LL_DMAMUX_CFR_CSOF2 DMAMUX_CFR_CSOF2 /*!< Synchronization Event Overrun Flag Channel 2 */ 00076 #define LL_DMAMUX_CFR_CSOF3 DMAMUX_CFR_CSOF3 /*!< Synchronization Event Overrun Flag Channel 3 */ 00077 #define LL_DMAMUX_CFR_CSOF4 DMAMUX_CFR_CSOF4 /*!< Synchronization Event Overrun Flag Channel 4 */ 00078 #define LL_DMAMUX_CFR_CSOF5 DMAMUX_CFR_CSOF5 /*!< Synchronization Event Overrun Flag Channel 5 */ 00079 #define LL_DMAMUX_CFR_CSOF6 DMAMUX_CFR_CSOF6 /*!< Synchronization Event Overrun Flag Channel 6 */ 00080 #define LL_DMAMUX_CFR_CSOF7 DMAMUX_CFR_CSOF7 /*!< Synchronization Event Overrun Flag Channel 7 */ 00081 #define LL_DMAMUX_CFR_CSOF8 DMAMUX_CFR_CSOF8 /*!< Synchronization Event Overrun Flag Channel 8 */ 00082 #define LL_DMAMUX_CFR_CSOF9 DMAMUX_CFR_CSOF9 /*!< Synchronization Event Overrun Flag Channel 9 */ 00083 #define LL_DMAMUX_CFR_CSOF10 DMAMUX_CFR_CSOF10 /*!< Synchronization Event Overrun Flag Channel 10 */ 00084 #define LL_DMAMUX_CFR_CSOF11 DMAMUX_CFR_CSOF11 /*!< Synchronization Event Overrun Flag Channel 11 */ 00085 #define LL_DMAMUX_CFR_CSOF12 DMAMUX_CFR_CSOF12 /*!< Synchronization Event Overrun Flag Channel 12 */ 00086 #define LL_DMAMUX_CFR_CSOF13 DMAMUX_CFR_CSOF13 /*!< Synchronization Event Overrun Flag Channel 13 */ 00087 #define LL_DMAMUX_CFR_CSOF14 DMAMUX_CFR_CSOF14 /*!< Synchronization Event Overrun Flag Channel 14 */ 00088 #define LL_DMAMUX_CFR_CSOF15 DMAMUX_CFR_CSOF15 /*!< Synchronization Event Overrun Flag Channel 15 */ 00089 #define LL_DMAMUX_RGCFR_RGCOF0 DMAMUX_RGCFR_COF0 /*!< Request Generator 0 Trigger Event Overrun Flag */ 00090 #define LL_DMAMUX_RGCFR_RGCOF1 DMAMUX_RGCFR_COF1 /*!< Request Generator 1 Trigger Event Overrun Flag */ 00091 #define LL_DMAMUX_RGCFR_RGCOF2 DMAMUX_RGCFR_COF2 /*!< Request Generator 2 Trigger Event Overrun Flag */ 00092 #define LL_DMAMUX_RGCFR_RGCOF3 DMAMUX_RGCFR_COF3 /*!< Request Generator 3 Trigger Event Overrun Flag */ 00093 #define LL_DMAMUX_RGCFR_RGCOF4 DMAMUX_RGCFR_COF4 /*!< Request Generator 4 Trigger Event Overrun Flag */ 00094 #define LL_DMAMUX_RGCFR_RGCOF5 DMAMUX_RGCFR_COF5 /*!< Request Generator 5 Trigger Event Overrun Flag */ 00095 #define LL_DMAMUX_RGCFR_RGCOF6 DMAMUX_RGCFR_COF6 /*!< Request Generator 6 Trigger Event Overrun Flag */ 00096 #define LL_DMAMUX_RGCFR_RGCOF7 DMAMUX_RGCFR_COF7 /*!< Request Generator 7 Trigger Event Overrun Flag */ 00097 /** 00098 * @} 00099 */ 00100 00101 /** @defgroup DMAMUX_LL_EC_GET_FLAG Get Flags Defines 00102 * @brief Flags defines which can be used with LL_DMAMUX_ReadReg function 00103 * @{ 00104 */ 00105 #define LL_DMAMUX_CSR_SOF0 DMAMUX_CSR_SOF0 /*!< Synchronization Event Overrun Flag Channel 0 */ 00106 #define LL_DMAMUX_CSR_SOF1 DMAMUX_CSR_SOF1 /*!< Synchronization Event Overrun Flag Channel 1 */ 00107 #define LL_DMAMUX_CSR_SOF2 DMAMUX_CSR_SOF2 /*!< Synchronization Event Overrun Flag Channel 2 */ 00108 #define LL_DMAMUX_CSR_SOF3 DMAMUX_CSR_SOF3 /*!< Synchronization Event Overrun Flag Channel 3 */ 00109 #define LL_DMAMUX_CSR_SOF4 DMAMUX_CSR_SOF4 /*!< Synchronization Event Overrun Flag Channel 4 */ 00110 #define LL_DMAMUX_CSR_SOF5 DMAMUX_CSR_SOF5 /*!< Synchronization Event Overrun Flag Channel 5 */ 00111 #define LL_DMAMUX_CSR_SOF6 DMAMUX_CSR_SOF6 /*!< Synchronization Event Overrun Flag Channel 6 */ 00112 #define LL_DMAMUX_CSR_SOF7 DMAMUX_CSR_SOF7 /*!< Synchronization Event Overrun Flag Channel 7 */ 00113 #define LL_DMAMUX_CSR_SOF8 DMAMUX_CSR_SOF8 /*!< Synchronization Event Overrun Flag Channel 8 */ 00114 #define LL_DMAMUX_CSR_SOF9 DMAMUX_CSR_SOF9 /*!< Synchronization Event Overrun Flag Channel 9 */ 00115 #define LL_DMAMUX_CSR_SOF10 DMAMUX_CSR_SOF10 /*!< Synchronization Event Overrun Flag Channel 10 */ 00116 #define LL_DMAMUX_CSR_SOF11 DMAMUX_CSR_SOF11 /*!< Synchronization Event Overrun Flag Channel 11 */ 00117 #define LL_DMAMUX_CSR_SOF12 DMAMUX_CSR_SOF12 /*!< Synchronization Event Overrun Flag Channel 12 */ 00118 #define LL_DMAMUX_CSR_SOF13 DMAMUX_CSR_SOF13 /*!< Synchronization Event Overrun Flag Channel 13 */ 00119 #define LL_DMAMUX_CSR_SOF14 DMAMUX_CSR_SOF14 /*!< Synchronization Event Overrun Flag Channel 14 */ 00120 #define LL_DMAMUX_CSR_SOF15 DMAMUX_CSR_SOF15 /*!< Synchronization Event Overrun Flag Channel 15 */ 00121 #define LL_DMAMUX_RGSR_RGOF0 DMAMUX_RGSR_OF0 /*!< Request Generator 0 Trigger Event Overrun Flag */ 00122 #define LL_DMAMUX_RGSR_RGOF1 DMAMUX_RGSR_OF1 /*!< Request Generator 1 Trigger Event Overrun Flag */ 00123 #define LL_DMAMUX_RGSR_RGOF2 DMAMUX_RGSR_OF2 /*!< Request Generator 2 Trigger Event Overrun Flag */ 00124 #define LL_DMAMUX_RGSR_RGOF3 DMAMUX_RGSR_OF3 /*!< Request Generator 3 Trigger Event Overrun Flag */ 00125 #define LL_DMAMUX_RGSR_RGOF4 DMAMUX_RGSR_OF4 /*!< Request Generator 4 Trigger Event Overrun Flag */ 00126 #define LL_DMAMUX_RGSR_RGOF5 DMAMUX_RGSR_OF5 /*!< Request Generator 5 Trigger Event Overrun Flag */ 00127 #define LL_DMAMUX_RGSR_RGOF6 DMAMUX_RGSR_OF6 /*!< Request Generator 6 Trigger Event Overrun Flag */ 00128 #define LL_DMAMUX_RGSR_RGOF7 DMAMUX_RGSR_OF7 /*!< Request Generator 7 Trigger Event Overrun Flag */ 00129 /** 00130 * @} 00131 */ 00132 00133 /** @defgroup DMAMUX_LL_EC_IT IT Defines 00134 * @brief IT defines which can be used with LL_DMA_ReadReg and LL_DMAMUX_WriteReg functions 00135 * @{ 00136 */ 00137 #define LL_DMAMUX_CCR_SOIE DMAMUX_CxCR_SOIE /*!< Synchronization Event Overrun Interrupt */ 00138 #define LL_DMAMUX_RGCR_RGOIE DMAMUX_RGxCR_OIE /*!< Request Generation Trigger Event Overrun Interrupt */ 00139 /** 00140 * @} 00141 */ 00142 00143 /** @defgroup DMAMUX1_Request_selection DMAMUX1 Request selection 00144 * @brief DMAMUX1 Request selection 00145 * @{ 00146 */ 00147 /* DMAMUX1 requests */ 00148 #define LL_DMAMUX1_REQ_MEM2MEM 0U /*!< memory to memory transfer */ 00149 #define LL_DMAMUX1_REQ_GENERATOR0 1U /*!< DMAMUX1 request generator 0 */ 00150 #define LL_DMAMUX1_REQ_GENERATOR1 2U /*!< DMAMUX1 request generator 1 */ 00151 #define LL_DMAMUX1_REQ_GENERATOR2 3U /*!< DMAMUX1 request generator 2 */ 00152 #define LL_DMAMUX1_REQ_GENERATOR3 4U /*!< DMAMUX1 request generator 3 */ 00153 #define LL_DMAMUX1_REQ_GENERATOR4 5U /*!< DMAMUX1 request generator 4 */ 00154 #define LL_DMAMUX1_REQ_GENERATOR5 6U /*!< DMAMUX1 request generator 5 */ 00155 #define LL_DMAMUX1_REQ_GENERATOR6 7U /*!< DMAMUX1 request generator 6 */ 00156 #define LL_DMAMUX1_REQ_GENERATOR7 8U /*!< DMAMUX1 request generator 7 */ 00157 #define LL_DMAMUX1_REQ_ADC1 9U /*!< DMAMUX1 ADC1 request */ 00158 #define LL_DMAMUX1_REQ_ADC2 10U /*!< DMAMUX1 ADC2 request */ 00159 #define LL_DMAMUX1_REQ_TIM1_CH1 11U /*!< DMAMUX1 TIM1 CH1 request */ 00160 #define LL_DMAMUX1_REQ_TIM1_CH2 12U /*!< DMAMUX1 TIM1 CH2 request */ 00161 #define LL_DMAMUX1_REQ_TIM1_CH3 13U /*!< DMAMUX1 TIM1 CH3 request */ 00162 #define LL_DMAMUX1_REQ_TIM1_CH4 14U /*!< DMAMUX1 TIM1 CH4 request */ 00163 #define LL_DMAMUX1_REQ_TIM1_UP 15U /*!< DMAMUX1 TIM1 UP request */ 00164 #define LL_DMAMUX1_REQ_TIM1_TRIG 16U /*!< DMAMUX1 TIM1 TRIG request */ 00165 #define LL_DMAMUX1_REQ_TIM1_COM 17U /*!< DMAMUX1 TIM1 COM request */ 00166 #define LL_DMAMUX1_REQ_TIM2_CH1 18U /*!< DMAMUX1 TIM2 CH1 request */ 00167 #define LL_DMAMUX1_REQ_TIM2_CH2 19U /*!< DMAMUX1 TIM2 CH2 request */ 00168 #define LL_DMAMUX1_REQ_TIM2_CH3 20U /*!< DMAMUX1 TIM2 CH3 request */ 00169 #define LL_DMAMUX1_REQ_TIM2_CH4 21U /*!< DMAMUX1 TIM2 CH4 request */ 00170 #define LL_DMAMUX1_REQ_TIM2_UP 22U /*!< DMAMUX1 TIM2 UP request */ 00171 #define LL_DMAMUX1_REQ_TIM3_CH1 23U /*!< DMAMUX1 TIM3 CH1 request */ 00172 #define LL_DMAMUX1_REQ_TIM3_CH2 24U /*!< DMAMUX1 TIM3 CH2 request */ 00173 #define LL_DMAMUX1_REQ_TIM3_CH3 25U /*!< DMAMUX1 TIM3 CH3 request */ 00174 #define LL_DMAMUX1_REQ_TIM3_CH4 26U /*!< DMAMUX1 TIM3 CH4 request */ 00175 #define LL_DMAMUX1_REQ_TIM3_UP 27U /*!< DMAMUX1 TIM3 UP request */ 00176 #define LL_DMAMUX1_REQ_TIM3_TRIG 28U /*!< DMAMUX1 TIM3 TRIG request */ 00177 #define LL_DMAMUX1_REQ_TIM4_CH1 29U /*!< DMAMUX1 TIM4 CH1 request */ 00178 #define LL_DMAMUX1_REQ_TIM4_CH2 30U /*!< DMAMUX1 TIM4 CH2 request */ 00179 #define LL_DMAMUX1_REQ_TIM4_CH3 31U /*!< DMAMUX1 TIM4 CH3 request */ 00180 #define LL_DMAMUX1_REQ_TIM4_UP 32U /*!< DMAMUX1 TIM4 UP request */ 00181 #define LL_DMAMUX1_REQ_I2C1_RX 33U /*!< DMAMUX1 I2C1 RX request */ 00182 #define LL_DMAMUX1_REQ_I2C1_TX 34U /*!< DMAMUX1 I2C1 TX request */ 00183 #define LL_DMAMUX1_REQ_I2C2_RX 35U /*!< DMAMUX1 I2C2 RX request */ 00184 #define LL_DMAMUX1_REQ_I2C2_TX 36U /*!< DMAMUX1 I2C2 TX request */ 00185 #define LL_DMAMUX1_REQ_SPI1_RX 37U /*!< DMAMUX1 SPI1 RX request */ 00186 #define LL_DMAMUX1_REQ_SPI1_TX 38U /*!< DMAMUX1 SPI1 TX request */ 00187 #define LL_DMAMUX1_REQ_SPI2_RX 39U /*!< DMAMUX1 SPI2 RX request */ 00188 #define LL_DMAMUX1_REQ_SPI2_TX 40U /*!< DMAMUX1 SPI2 TX request */ 00189 #define LL_DMAMUX1_REQ_USART1_RX 41U /*!< DMAMUX1 USART1 RX request */ 00190 #define LL_DMAMUX1_REQ_USART1_TX 42U /*!< DMAMUX1 USART1 TX request */ 00191 #define LL_DMAMUX1_REQ_USART2_RX 43U /*!< DMAMUX1 USART2 RX request */ 00192 #define LL_DMAMUX1_REQ_USART2_TX 44U /*!< DMAMUX1 USART2 TX request */ 00193 #define LL_DMAMUX1_REQ_USART3_RX 45U /*!< DMAMUX1 USART3 RX request */ 00194 #define LL_DMAMUX1_REQ_USART3_TX 46U /*!< DMAMUX1 USART3 TX request */ 00195 #define LL_DMAMUX1_REQ_TIM8_CH1 47U /*!< DMAMUX1 TIM8 CH1 request */ 00196 #define LL_DMAMUX1_REQ_TIM8_CH2 48U /*!< DMAMUX1 TIM8 CH2 request */ 00197 #define LL_DMAMUX1_REQ_TIM8_CH3 49U /*!< DMAMUX1 TIM8 CH3 request */ 00198 #define LL_DMAMUX1_REQ_TIM8_CH4 50U /*!< DMAMUX1 TIM8 CH4 request */ 00199 #define LL_DMAMUX1_REQ_TIM8_UP 51U /*!< DMAMUX1 TIM8 UP request */ 00200 #define LL_DMAMUX1_REQ_TIM8_TRIG 52U /*!< DMAMUX1 TIM8 TRIG request */ 00201 #define LL_DMAMUX1_REQ_TIM8_COM 53U /*!< DMAMUX1 TIM8 COM request */ 00202 #define LL_DMAMUX1_REQ_TIM5_CH1 55U /*!< DMAMUX1 TIM5 CH1 request */ 00203 #define LL_DMAMUX1_REQ_TIM5_CH2 56U /*!< DMAMUX1 TIM5 CH2 request */ 00204 #define LL_DMAMUX1_REQ_TIM5_CH3 57U /*!< DMAMUX1 TIM5 CH3 request */ 00205 #define LL_DMAMUX1_REQ_TIM5_CH4 58U /*!< DMAMUX1 TIM5 CH4 request */ 00206 #define LL_DMAMUX1_REQ_TIM5_UP 59U /*!< DMAMUX1 TIM5 UP request */ 00207 #define LL_DMAMUX1_REQ_TIM5_TRIG 60U /*!< DMAMUX1 TIM5 TRIG request */ 00208 #define LL_DMAMUX1_REQ_SPI3_RX 61U /*!< DMAMUX1 SPI3 RX request */ 00209 #define LL_DMAMUX1_REQ_SPI3_TX 62U /*!< DMAMUX1 SPI3 TX request */ 00210 #define LL_DMAMUX1_REQ_UART4_RX 63U /*!< DMAMUX1 UART4 RX request */ 00211 #define LL_DMAMUX1_REQ_UART4_TX 64U /*!< DMAMUX1 UART4 TX request */ 00212 #define LL_DMAMUX1_REQ_UART5_RX 65U /*!< DMAMUX1 UART5 RX request */ 00213 #define LL_DMAMUX1_REQ_UART5_TX 66U /*!< DMAMUX1 UART5 TX request */ 00214 #define LL_DMAMUX1_REQ_DAC1_CH1 67U /*!< DMAMUX1 DAC1 Channel 1 request */ 00215 #define LL_DMAMUX1_REQ_DAC1_CH2 68U /*!< DMAMUX1 DAC1 Channel 2 request */ 00216 #define LL_DMAMUX1_REQ_TIM6_UP 69U /*!< DMAMUX1 TIM6 UP request */ 00217 #define LL_DMAMUX1_REQ_TIM7_UP 70U /*!< DMAMUX1 TIM7 UP request */ 00218 #define LL_DMAMUX1_REQ_USART6_RX 71U /*!< DMAMUX1 USART6 RX request */ 00219 #define LL_DMAMUX1_REQ_USART6_TX 72U /*!< DMAMUX1 USART6 TX request */ 00220 #define LL_DMAMUX1_REQ_I2C3_RX 73U /*!< DMAMUX1 I2C3 RX request */ 00221 #define LL_DMAMUX1_REQ_I2C3_TX 74U /*!< DMAMUX1 I2C3 TX request */ 00222 #if defined (PSSI) 00223 #define LL_DMAMUX1_REQ_DCMI_PSSI 75U /*!< DMAMUX1 DCMI/PSSI request */ 00224 #define LL_DMAMUX1_REQ_DCMI LL_DMAMUX1_REQ_DCMI_PSSI /* Legacy define */ 00225 #else 00226 #define LL_DMAMUX1_REQ_DCMI 75U /*!< DMAMUX1 DCMI request */ 00227 #endif /* PSSI */ 00228 #define LL_DMAMUX1_REQ_CRYP_IN 76U /*!< DMAMUX1 CRYP IN request */ 00229 #define LL_DMAMUX1_REQ_CRYP_OUT 77U /*!< DMAMUX1 CRYP OUT request */ 00230 #define LL_DMAMUX1_REQ_HASH_IN 78U /*!< DMAMUX1 HASH IN request */ 00231 #define LL_DMAMUX1_REQ_UART7_RX 79U /*!< DMAMUX1 UART7 RX request */ 00232 #define LL_DMAMUX1_REQ_UART7_TX 80U /*!< DMAMUX1 UART7 TX request */ 00233 #define LL_DMAMUX1_REQ_UART8_RX 81U /*!< DMAMUX1 UART8 RX request */ 00234 #define LL_DMAMUX1_REQ_UART8_TX 82U /*!< DMAMUX1 UART8 TX request */ 00235 #define LL_DMAMUX1_REQ_SPI4_RX 83U /*!< DMAMUX1 SPI4 RX request */ 00236 #define LL_DMAMUX1_REQ_SPI4_TX 84U /*!< DMAMUX1 SPI4 TX request */ 00237 #define LL_DMAMUX1_REQ_SPI5_RX 85U /*!< DMAMUX1 SPI5 RX request */ 00238 #define LL_DMAMUX1_REQ_SPI5_TX 86U /*!< DMAMUX1 SPI5 TX request */ 00239 #define LL_DMAMUX1_REQ_SAI1_A 87U /*!< DMAMUX1 SAI1 A request */ 00240 #define LL_DMAMUX1_REQ_SAI1_B 88U /*!< DMAMUX1 SAI1 B request */ 00241 #if defined(SAI2) 00242 #define LL_DMAMUX1_REQ_SAI2_A 89U /*!< DMAMUX1 SAI2 A request */ 00243 #define LL_DMAMUX1_REQ_SAI2_B 90U /*!< DMAMUX1 SAI2 B request */ 00244 #endif /* SAI2 */ 00245 #define LL_DMAMUX1_REQ_SWPMI_RX 91U /*!< DMAMUX1 SWPMI RX request */ 00246 #define LL_DMAMUX1_REQ_SWPMI_TX 92U /*!< DMAMUX1 SWPMI TX request */ 00247 #define LL_DMAMUX1_REQ_SPDIF_RX_DT 93U /*!< DMAMUX1 SPDIF RXDT request */ 00248 #define LL_DMAMUX1_REQ_SPDIF_RX_CS 94U /*!< DMAMUX1 SPDIF RXCS request */ 00249 #if defined (HRTIM1) 00250 #define LL_DMAMUX1_REQ_HRTIM_MASTER 95U /*!< DMAMUX1 HRTIM1 Master request 1 */ 00251 #define LL_DMAMUX1_REQ_HRTIM_TIMER_A 96U /*!< DMAMUX1 HRTIM1 Timer A request 2 */ 00252 #define LL_DMAMUX1_REQ_HRTIM_TIMER_B 97U /*!< DMAMUX1 HRTIM1 Timer B request 3 */ 00253 #define LL_DMAMUX1_REQ_HRTIM_TIMER_C 98U /*!< DMAMUX1 HRTIM1 Timer C request 4 */ 00254 #define LL_DMAMUX1_REQ_HRTIM_TIMER_D 99U /*!< DMAMUX1 HRTIM1 Timer D request 5 */ 00255 #define LL_DMAMUX1_REQ_HRTIM_TIMER_E 100U /*!< DMAMUX1 HRTIM1 Timer E request 6 */ 00256 #endif /* HRTIM1 */ 00257 #define LL_DMAMUX1_REQ_DFSDM1_FLT0 101U /*!< DMAMUX1 DFSDM1 Filter0 request */ 00258 #define LL_DMAMUX1_REQ_DFSDM1_FLT1 102U /*!< DMAMUX1 DFSDM1 Filter1 request */ 00259 #define LL_DMAMUX1_REQ_DFSDM1_FLT2 103U /*!< DMAMUX1 DFSDM1 Filter2 request */ 00260 #define LL_DMAMUX1_REQ_DFSDM1_FLT3 104U /*!< DMAMUX1 DFSDM1 Filter3 request */ 00261 #define LL_DMAMUX1_REQ_TIM15_CH1 105U /*!< DMAMUX1 TIM15 CH1 request */ 00262 #define LL_DMAMUX1_REQ_TIM15_UP 106U /*!< DMAMUX1 TIM15 UP request */ 00263 #define LL_DMAMUX1_REQ_TIM15_TRIG 107U /*!< DMAMUX1 TIM15 TRIG request */ 00264 #define LL_DMAMUX1_REQ_TIM15_COM 108U /*!< DMAMUX1 TIM15 COM request */ 00265 #define LL_DMAMUX1_REQ_TIM16_CH1 109U /*!< DMAMUX1 TIM16 CH1 request */ 00266 #define LL_DMAMUX1_REQ_TIM16_UP 110U /*!< DMAMUX1 TIM16 UP request */ 00267 #define LL_DMAMUX1_REQ_TIM17_CH1 111U /*!< DMAMUX1 TIM17 CH1 request */ 00268 #define LL_DMAMUX1_REQ_TIM17_UP 112U /*!< DMAMUX1 TIM17 UP request */ 00269 #if defined (SAI3) 00270 #define LL_DMAMUX1_REQ_SAI3_A 113U /*!< DMAMUX1 SAI3 A request */ 00271 #define LL_DMAMUX1_REQ_SAI3_B 114U /*!< DMAMUX1 SAI3 B request */ 00272 #endif /* SAI3 */ 00273 #if defined (ADC3) 00274 #define LL_DMAMUX1_REQ_ADC3 115U /*!< DMAMUX1 ADC3 request */ 00275 #endif /* ADC3 */ 00276 #if defined (UART9) 00277 #define LL_DMAMUX1_REQ_UART9_RX 116U /*!< DMAMUX1 UART9 RX request */ 00278 #define LL_DMAMUX1_REQ_UART9_TX 117U /*!< DMAMUX1 UART9 TX request */ 00279 #endif /* UART9 */ 00280 #if defined (USART10) 00281 #define LL_DMAMUX1_REQ_USART10_RX 118U /*!< DMAMUX1 USART10 RX request */ 00282 #define LL_DMAMUX1_REQ_USART10_TX 119U /*!< DMAMUX1 USART10 TX request */ 00283 #endif /* USART10 */ 00284 #if defined(FMAC) 00285 #define LL_DMAMUX1_REQ_FMAC_READ 120U /*!< DMAMUX1 FMAC Read request */ 00286 #define LL_DMAMUX1_REQ_FMAC_WRITE 121U /*!< DMAMUX1 FMAC Write request */ 00287 #endif /* FMAC */ 00288 #if defined(CORDIC) 00289 #define LL_DMAMUX1_REQ_CORDIC_READ 122U /*!< DMAMUX1 CORDIC Read request */ 00290 #define LL_DMAMUX1_REQ_CORDIC_WRITE 123U /*!< DMAMUX1 CORDIC Write request */ 00291 #endif /* CORDIC */ 00292 #if defined(I2C5) 00293 #define LL_DMAMUX1_REQ_I2C5_RX 124U /*!< DMAMUX1 I2C5 RX request */ 00294 #define LL_DMAMUX1_REQ_I2C5_TX 125U /*!< DMAMUX1 I2C5 TX request */ 00295 #endif /* I2C5 */ 00296 #if defined(TIM23) 00297 #define LL_DMAMUX1_REQ_TIM23_CH1 126U /*!< DMAMUX1 TIM23 CH1 request */ 00298 #define LL_DMAMUX1_REQ_TIM23_CH2 127U /*!< DMAMUX1 TIM23 CH2 request */ 00299 #define LL_DMAMUX1_REQ_TIM23_CH3 128U /*!< DMAMUX1 TIM23 CH3 request */ 00300 #define LL_DMAMUX1_REQ_TIM23_CH4 129U /*!< DMAMUX1 TIM23 CH4 request */ 00301 #define LL_DMAMUX1_REQ_TIM23_UP 130U /*!< DMAMUX1 TIM23 UP request */ 00302 #define LL_DMAMUX1_REQ_TIM23_TRIG 131U /*!< DMAMUX1 TIM23 TRIG request */ 00303 #endif /* TIM23 */ 00304 #if defined(TIM24) 00305 #define LL_DMAMUX1_REQ_TIM24_CH1 132U /*!< DMAMUX1 TIM24 CH1 request */ 00306 #define LL_DMAMUX1_REQ_TIM24_CH2 133U /*!< DMAMUX1 TIM24 CH2 request */ 00307 #define LL_DMAMUX1_REQ_TIM24_CH3 134U /*!< DMAMUX1 TIM24 CH3 request */ 00308 #define LL_DMAMUX1_REQ_TIM24_CH4 135U /*!< DMAMUX1 TIM24 CH4 request */ 00309 #define LL_DMAMUX1_REQ_TIM24_UP 136U /*!< DMAMUX1 TIM24 UP request */ 00310 #define LL_DMAMUX1_REQ_TIM24_TRIG 137U /*!< DMAMUX1 TIM24 TRIG request */ 00311 #endif /* TIM24 */ 00312 /** 00313 * @} 00314 */ 00315 00316 /** @defgroup DMAMUX2_Request_selection DMAMUX2 Request selection 00317 * @brief DMAMUX2 Request selection 00318 * @{ 00319 */ 00320 /* DMAMUX2 requests */ 00321 #define LL_DMAMUX2_REQ_MEM2MEM 0U /*!< memory to memory transfer */ 00322 #define LL_DMAMUX2_REQ_GENERATOR0 1U /*!< DMAMUX2 request generator 0 */ 00323 #define LL_DMAMUX2_REQ_GENERATOR1 2U /*!< DMAMUX2 request generator 1 */ 00324 #define LL_DMAMUX2_REQ_GENERATOR2 3U /*!< DMAMUX2 request generator 2 */ 00325 #define LL_DMAMUX2_REQ_GENERATOR3 4U /*!< DMAMUX2 request generator 3 */ 00326 #define LL_DMAMUX2_REQ_GENERATOR4 5U /*!< DMAMUX2 request generator 4 */ 00327 #define LL_DMAMUX2_REQ_GENERATOR5 6U /*!< DMAMUX2 request generator 5 */ 00328 #define LL_DMAMUX2_REQ_GENERATOR6 7U /*!< DMAMUX2 request generator 6 */ 00329 #define LL_DMAMUX2_REQ_GENERATOR7 8U /*!< DMAMUX2 request generator 7 */ 00330 #define LL_DMAMUX2_REQ_LPUART1_RX 9U /*!< DMAMUX2 LP_UART1_RX request */ 00331 #define LL_DMAMUX2_REQ_LPUART1_TX 10U /*!< DMAMUX2 LP_UART1_TX request */ 00332 #define LL_DMAMUX2_REQ_SPI6_RX 11U /*!< DMAMUX2 SPI6 RX request */ 00333 #define LL_DMAMUX2_REQ_SPI6_TX 12U /*!< DMAMUX2 SPI6 TX request */ 00334 #define LL_DMAMUX2_REQ_I2C4_RX 13U /*!< DMAMUX2 I2C4 RX request */ 00335 #define LL_DMAMUX2_REQ_I2C4_TX 14U /*!< DMAMUX2 I2C4 TX request */ 00336 #if defined (SAI4) 00337 #define LL_DMAMUX2_REQ_SAI4_A 15U /*!< DMAMUX2 SAI4 A request */ 00338 #define LL_DMAMUX2_REQ_SAI4_B 16U /*!< DMAMUX2 SAI4 B request */ 00339 #endif /* SAI4 */ 00340 #if defined (ADC3) 00341 #define LL_DMAMUX2_REQ_ADC3 17U /*!< DMAMUX2 ADC3 request */ 00342 #endif /* ADC3 */ 00343 #if defined (DAC2) 00344 #define LL_DMAMUX2_REQ_DAC2_CH1 17U /*!< DMAMUX2 DAC2 CH1 request */ 00345 #endif /* DAC2 */ 00346 #if defined (DFSDM2_Channel0) 00347 #define LL_DMAMUX2_REQ_DFSDM2_FLT0 18U /*!< DMAMUX2 DFSDM2 Filter0 request */ 00348 #endif /* DFSDM2_Channel0 */ 00349 /** 00350 * @} 00351 */ 00352 00353 00354 /** @defgroup DMAMUX_LL_EC_CHANNEL DMAMUX Channel 00355 * @{ 00356 */ 00357 #define LL_DMAMUX_CHANNEL_0 0x00000000U /*!< DMAMUX1 Channel 0 connected to DMA1 Channel 0 , DMAMUX2 Channel 0 connected to BDMA Channel 0 */ 00358 #define LL_DMAMUX_CHANNEL_1 0x00000001U /*!< DMAMUX1 Channel 1 connected to DMA1 Channel 1 , DMAMUX2 Channel 1 connected to BDMA Channel 1 */ 00359 #define LL_DMAMUX_CHANNEL_2 0x00000002U /*!< DMAMUX1 Channel 2 connected to DMA1 Channel 2 , DMAMUX2 Channel 2 connected to BDMA Channel 2 */ 00360 #define LL_DMAMUX_CHANNEL_3 0x00000003U /*!< DMAMUX1 Channel 3 connected to DMA1 Channel 3 , DMAMUX2 Channel 3 connected to BDMA Channel 3 */ 00361 #define LL_DMAMUX_CHANNEL_4 0x00000004U /*!< DMAMUX1 Channel 4 connected to DMA1 Channel 4 , DMAMUX2 Channel 4 connected to BDMA Channel 4 */ 00362 #define LL_DMAMUX_CHANNEL_5 0x00000005U /*!< DMAMUX1 Channel 5 connected to DMA1 Channel 5 , DMAMUX2 Channel 5 connected to BDMA Channel 5 */ 00363 #define LL_DMAMUX_CHANNEL_6 0x00000006U /*!< DMAMUX1 Channel 6 connected to DMA1 Channel 6 , DMAMUX2 Channel 6 connected to BDMA Channel 6 */ 00364 #define LL_DMAMUX_CHANNEL_7 0x00000007U /*!< DMAMUX1 Channel 7 connected to DMA1 Channel 7 , DMAMUX2 Channel 7 connected to BDMA Channel 7 */ 00365 #define LL_DMAMUX_CHANNEL_8 0x00000008U /*!< DMAMUX1 Channel 8 connected to DMA2 Channel 0 */ 00366 #define LL_DMAMUX_CHANNEL_9 0x00000009U /*!< DMAMUX1 Channel 9 connected to DMA2 Channel 1 */ 00367 #define LL_DMAMUX_CHANNEL_10 0x0000000AU /*!< DMAMUX1 Channel 10 connected to DMA2 Channel 2 */ 00368 #define LL_DMAMUX_CHANNEL_11 0x0000000BU /*!< DMAMUX1 Channel 11 connected to DMA2 Channel 3 */ 00369 #define LL_DMAMUX_CHANNEL_12 0x0000000CU /*!< DMAMUX1 Channel 12 connected to DMA2 Channel 4 */ 00370 #define LL_DMAMUX_CHANNEL_13 0x0000000DU /*!< DMAMUX1 Channel 13 connected to DMA2 Channel 5 */ 00371 #define LL_DMAMUX_CHANNEL_14 0x0000000EU /*!< DMAMUX1 Channel 14 connected to DMA2 Channel 6 */ 00372 #define LL_DMAMUX_CHANNEL_15 0x0000000FU /*!< DMAMUX1 Channel 15 connected to DMA2 Channel 7 */ 00373 /** 00374 * @} 00375 */ 00376 00377 /** @defgroup DMAMUX_LL_EC_SYNC_NO Synchronization Signal Polarity 00378 * @{ 00379 */ 00380 #define LL_DMAMUX_SYNC_NO_EVENT 0x00000000U /*!< All requests are blocked */ 00381 #define LL_DMAMUX_SYNC_POL_RISING DMAMUX_CxCR_SPOL_0 /*!< Synchronization on event on rising edge */ 00382 #define LL_DMAMUX_SYNC_POL_FALLING DMAMUX_CxCR_SPOL_1 /*!< Synchronization on event on falling edge */ 00383 #define LL_DMAMUX_SYNC_POL_RISING_FALLING (DMAMUX_CxCR_SPOL_0 | DMAMUX_CxCR_SPOL_1) /*!< Synchronization on event on rising and falling edge */ 00384 /** 00385 * @} 00386 */ 00387 00388 /** @defgroup DMAMUX_LL_EC_SYNC_EVT Synchronization Signal Event 00389 * @{ 00390 */ 00391 #define LL_DMAMUX1_SYNC_DMAMUX1_CH0_EVT 0x00000000U /*!< DMAMUX1 synchronization Signal is DMAMUX1 Channel0 Event */ 00392 #define LL_DMAMUX1_SYNC_DMAMUX1_CH1_EVT 0x01000000U /*!< DMAMUX1 synchronization Signal is DMAMUX1 Channel1 Event */ 00393 #define LL_DMAMUX1_SYNC_DMAMUX1_CH2_EVT 0x02000000U /*!< DMAMUX1 synchronization Signal is DMAMUX1 Channel2 Event */ 00394 #define LL_DMAMUX1_SYNC_LPTIM1_OUT 0x03000000U /*!< DMAMUX1 synchronization Signal is LPTIM1 OUT */ 00395 #define LL_DMAMUX1_SYNC_LPTIM2_OUT 0x04000000U /*!< DMAMUX1 synchronization Signal is LPTIM2 OUT */ 00396 #define LL_DMAMUX1_SYNC_LPTIM3_OUT 0x05000000U /*!< DMAMUX1 synchronization Signal is LPTIM3 OUT */ 00397 #define LL_DMAMUX1_SYNC_EXTI0 0x06000000U /*!< DMAMUX1 synchronization Signal is EXTI0 IT */ 00398 #define LL_DMAMUX1_SYNC_TIM12_TRGO 0x07000000U /*!< DMAMUX1 synchronization Signal is TIM12 TRGO */ 00399 00400 #define LL_DMAMUX2_SYNC_DMAMUX2_CH0_EVT 0x00000000U /*!< DMAMUX2 synchronization Signal is DMAMUX2 Channel0 Event */ 00401 #define LL_DMAMUX2_SYNC_DMAMUX2_CH1_EVT 0x01000000U /*!< DMAMUX2 synchronization Signal is DMAMUX2 Channel1 Event */ 00402 #define LL_DMAMUX2_SYNC_DMAMUX2_CH2_EVT 0x02000000U /*!< DMAMUX2 synchronization Signal is DMAMUX2 Channel2 Event */ 00403 #define LL_DMAMUX2_SYNC_DMAMUX2_CH3_EVT 0x03000000U /*!< DMAMUX2 synchronization Signal is DMAMUX2 Channel3 Event */ 00404 #define LL_DMAMUX2_SYNC_DMAMUX2_CH4_EVT 0x04000000U /*!< DMAMUX2 synchronization Signal is DMAMUX2 Channel4 Event */ 00405 #define LL_DMAMUX2_SYNC_DMAMUX2_CH5_EVT 0x05000000U /*!< DMAMUX2 synchronization Signal is DMAMUX2 Channel5 Event */ 00406 #define LL_DMAMUX2_SYNC_LPUART1_RX_WKUP 0x06000000U /*!< DMAMUX2 synchronization Signal is LPUART1 RX Wakeup */ 00407 #define LL_DMAMUX2_SYNC_LPUART1_TX_WKUP 0x07000000U /*!< DMAMUX2 synchronization Signal is LPUART1 TX Wakeup */ 00408 #define LL_DMAMUX2_SYNC_LPTIM2_OUT 0x08000000U /*!< DMAMUX2 synchronization Signal is LPTIM2 output */ 00409 #define LL_DMAMUX2_SYNC_LPTIM3_OUT 0x09000000U /*!< DMAMUX2 synchronization Signal is LPTIM3 output */ 00410 #define LL_DMAMUX2_SYNC_I2C4_WKUP 0x0A000000U /*!< DMAMUX2 synchronization Signal is I2C4 Wakeup */ 00411 #define LL_DMAMUX2_SYNC_SPI6_WKUP 0x0B000000U /*!< DMAMUX2 synchronization Signal is SPI6 Wakeup */ 00412 #define LL_DMAMUX2_SYNC_COMP1_OUT 0x0C000000U /*!< DMAMUX2 synchronization Signal is Comparator 1 output */ 00413 #define LL_DMAMUX2_SYNC_RTC_WKUP 0x0D000000U /*!< DMAMUX2 synchronization Signal is RTC Wakeup */ 00414 #define LL_DMAMUX2_SYNC_EXTI0 0x0E000000U /*!< DMAMUX2 synchronization Signal is EXTI0 IT */ 00415 #define LL_DMAMUX2_SYNC_EXTI2 0x0F000000U /*!< DMAMUX2 synchronization Signal is EXTI2 IT */ 00416 00417 /** 00418 * @} 00419 */ 00420 00421 /** @defgroup DMAMUX_LL_EC_REQUEST_GENERATOR Request Generator Channel 00422 * @{ 00423 */ 00424 #define LL_DMAMUX_REQ_GEN_0 0x00000000U 00425 #define LL_DMAMUX_REQ_GEN_1 0x00000001U 00426 #define LL_DMAMUX_REQ_GEN_2 0x00000002U 00427 #define LL_DMAMUX_REQ_GEN_3 0x00000003U 00428 #define LL_DMAMUX_REQ_GEN_4 0x00000004U 00429 #define LL_DMAMUX_REQ_GEN_5 0x00000005U 00430 #define LL_DMAMUX_REQ_GEN_6 0x00000006U 00431 #define LL_DMAMUX_REQ_GEN_7 0x00000007U 00432 /** 00433 * @} 00434 */ 00435 00436 /** @defgroup DMAMUX_LL_EC_REQUEST_GEN_POLARITY External Request Signal Generation Polarity 00437 * @{ 00438 */ 00439 #define LL_DMAMUX_REQ_GEN_NO_EVENT 0x00000000U /*!< No external DMA request generation */ 00440 #define LL_DMAMUX_REQ_GEN_POL_RISING DMAMUX_RGxCR_GPOL_0 /*!< External DMA request generation on event on rising edge */ 00441 #define LL_DMAMUX_REQ_GEN_POL_FALLING DMAMUX_RGxCR_GPOL_1 /*!< External DMA request generation on event on falling edge */ 00442 #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 */ 00443 /** 00444 * @} 00445 */ 00446 00447 /** @defgroup DMAMUX_LL_EC_REQUEST_GEN External Request Signal Generation 00448 * @{ 00449 */ 00450 #define LL_DMAMUX1_REQ_GEN_DMAMUX1_CH0_EVT 0U /*!< DMAMUX1 Request generator Signal is DMAMUX1 Channel0 Event */ 00451 #define LL_DMAMUX1_REQ_GEN_DMAMUX1_CH1_EVT 1U /*!< DMAMUX1 Request generator Signal is DMAMUX1 Channel1 Event */ 00452 #define LL_DMAMUX1_REQ_GEN_DMAMUX1_CH2_EVT 2U /*!< DMAMUX1 Request generator Signal is DMAMUX1 Channel2 Event */ 00453 #define LL_DMAMUX1_REQ_GEN_LPTIM1_OUT 3U /*!< DMAMUX1 Request generator Signal is LPTIM1 OUT */ 00454 #define LL_DMAMUX1_REQ_GEN_LPTIM2_OUT 4U /*!< DMAMUX1 Request generator Signal is LPTIM2 OUT */ 00455 #define LL_DMAMUX1_REQ_GEN_LPTIM3_OUT 5U /*!< DMAMUX1 Request generator Signal is LPTIM3 OUT */ 00456 #define LL_DMAMUX1_REQ_GEN_EXTI0 6U /*!< DMAMUX1 Request generator Signal is EXTI0 IT */ 00457 #define LL_DMAMUX1_REQ_GEN_TIM12_TRGO 7U /*!< DMAMUX1 Request generator Signal is TIM12 TRGO */ 00458 00459 #define LL_DMAMUX2_REQ_GEN_DMAMUX2_CH0_EVT 0U /*!< DMAMUX2 Request generator Signal is DMAMUX2 Channel0 Event */ 00460 #define LL_DMAMUX2_REQ_GEN_DMAMUX2_CH1_EVT 1U /*!< DMAMUX2 Request generator Signal is DMAMUX2 Channel1 Event */ 00461 #define LL_DMAMUX2_REQ_GEN_DMAMUX2_CH2_EVT 2U /*!< DMAMUX2 Request generator Signal is DMAMUX2 Channel2 Event */ 00462 #define LL_DMAMUX2_REQ_GEN_DMAMUX2_CH3_EVT 3U /*!< DMAMUX2 Request generator Signal is DMAMUX2 Channel3 Event */ 00463 #define LL_DMAMUX2_REQ_GEN_DMAMUX2_CH4_EVT 4U /*!< DMAMUX2 Request generator Signal is DMAMUX2 Channel4 Event */ 00464 #define LL_DMAMUX2_REQ_GEN_DMAMUX2_CH5_EVT 5U /*!< DMAMUX2 Request generator Signal is DMAMUX2 Channel5 Event */ 00465 #define LL_DMAMUX2_REQ_GEN_DMAMUX2_CH6_EVT 6U /*!< DMAMUX2 Request generator Signal is DMAMUX2 Channel6 Event */ 00466 #define LL_DMAMUX2_REQ_GEN_LPUART1_RX_WKUP 7U /*!< DMAMUX2 Request generator Signal is LPUART1 RX Wakeup */ 00467 #define LL_DMAMUX2_REQ_GEN_LPUART1_TX_WKUP 8U /*!< DMAMUX2 Request generator Signal is LPUART1 TX Wakeup */ 00468 #define LL_DMAMUX2_REQ_GEN_LPTIM2_WKUP 9U /*!< DMAMUX2 Request generator Signal is LPTIM2 Wakeup */ 00469 #define LL_DMAMUX2_REQ_GEN_LPTIM2_OUT 10U /*!< DMAMUX2 Request generator Signal is LPTIM2 OUT */ 00470 #define LL_DMAMUX2_REQ_GEN_LPTIM3_WKUP 11U /*!< DMAMUX2 Request generator Signal is LPTIM3 Wakeup */ 00471 #define LL_DMAMUX2_REQ_GEN_LPTIM3_OUT 12U /*!< DMAMUX2 Request generator Signal is LPTIM3 OUT */ 00472 #if defined (LPTIM4) 00473 #define LL_DMAMUX2_REQ_GEN_LPTIM4_WKUP 13U /*!< DMAMUX2 Request generator Signal is LPTIM4 Wakeup */ 00474 #endif /* LPTIM4 */ 00475 #if defined (LPTIM5) 00476 #define LL_DMAMUX2_REQ_GEN_LPTIM5_WKUP 14U /*!< DMAMUX2 Request generator Signal is LPTIM5 Wakeup */ 00477 #endif /* LPTIM5 */ 00478 #define LL_DMAMUX2_REQ_GEN_I2C4_WKUP 15U /*!< DMAMUX2 Request generator Signal is I2C4 Wakeup */ 00479 #define LL_DMAMUX2_REQ_GEN_SPI6_WKUP 16U /*!< DMAMUX2 Request generator Signal is SPI6 Wakeup */ 00480 #define LL_DMAMUX2_REQ_GEN_COMP1_OUT 17U /*!< DMAMUX2 Request generator Signal is Comparator 1 output */ 00481 #define LL_DMAMUX2_REQ_GEN_COMP2_OUT 18U /*!< DMAMUX2 Request generator Signal is Comparator 2 output */ 00482 #define LL_DMAMUX2_REQ_GEN_RTC_WKUP 19U /*!< DMAMUX2 Request generator Signal is RTC Wakeup */ 00483 #define LL_DMAMUX2_REQ_GEN_EXTI0 20U /*!< DMAMUX2 Request generator Signal is EXTI0 */ 00484 #define LL_DMAMUX2_REQ_GEN_EXTI2 21U /*!< DMAMUX2 Request generator Signal is EXTI2 */ 00485 #define LL_DMAMUX2_REQ_GEN_I2C4_IT_EVT 22U /*!< DMAMUX2 Request generator Signal is I2C4 IT Event */ 00486 #define LL_DMAMUX2_REQ_GEN_SPI6_IT 23U /*!< DMAMUX2 Request generator Signal is SPI6 IT */ 00487 #define LL_DMAMUX2_REQ_GEN_LPUART1_TX_IT 24U /*!< DMAMUX2 Request generator Signal is LPUART1 Tx IT */ 00488 #define LL_DMAMUX2_REQ_GEN_LPUART1_RX_IT 25U /*!< DMAMUX2 Request generator Signal is LPUART1 Rx IT */ 00489 #if defined (ADC3) 00490 #define LL_DMAMUX2_REQ_GEN_ADC3_IT 26U /*!< DMAMUX2 Request generator Signal is ADC3 IT */ 00491 #define LL_DMAMUX2_REQ_GEN_ADC3_AWD1_OUT 27U /*!< DMAMUX2 Request generator Signal is ADC3 Analog Watchdog 1 output */ 00492 #endif /* ADC3 */ 00493 #define LL_DMAMUX2_REQ_GEN_BDMA_CH0_IT 28U /*!< DMAMUX2 Request generator Signal is BDMA Channel 0 IT */ 00494 #define LL_DMAMUX2_REQ_GEN_BDMA_CH1_IT 29U /*!< DMAMUX2 Request generator Signal is BDMA Channel 1 IT */ 00495 /** 00496 * @} 00497 */ 00498 00499 /** 00500 * @} 00501 */ 00502 00503 /* Exported macro ------------------------------------------------------------*/ 00504 /** @defgroup DMAMUX_LL_Exported_Macros DMAMUX Exported Macros 00505 * @{ 00506 */ 00507 00508 /** @defgroup DMAMUX_LL_EM_WRITE_READ Common Write and read registers macros 00509 * @{ 00510 */ 00511 /** 00512 * @brief Write a value in DMAMUX register 00513 * @param __INSTANCE__ DMAMUX Instance 00514 * @param __REG__ Register to be written 00515 * @param __VALUE__ Value to be written in the register 00516 * @retval None 00517 */ 00518 #define LL_DMAMUX_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VALUE__)) 00519 00520 /** 00521 * @brief Read a value in DMAMUX register 00522 * @param __INSTANCE__ DMAMUX Instance 00523 * @param __REG__ Register to be read 00524 * @retval Register value 00525 */ 00526 #define LL_DMAMUX_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__) 00527 /** 00528 * @} 00529 */ 00530 00531 /** 00532 * @} 00533 */ 00534 00535 /* Exported functions --------------------------------------------------------*/ 00536 /** @defgroup DMAMUX_LL_Exported_Functions DMAMUX Exported Functions 00537 * @{ 00538 */ 00539 00540 /** @defgroup DMAMUX_LL_EF_Configuration Configuration 00541 * @{ 00542 */ 00543 /** 00544 * @brief Set DMAMUX request ID for DMAMUX Channel x. 00545 * @note DMAMUX1 channel 0 to 7 are mapped to DMA1 channel 0 to 7. 00546 * DMAMUX1 channel 8 to 15 are mapped to DMA2 channel 0 to 7. 00547 * DMAMUX2 channel 0 to 7 are mapped to BDMA channel 0 to 7. 00548 * @rmtoll CxCR DMAREQ_ID LL_DMAMUX_SetRequestID 00549 * @param DMAMUXx DMAMUXx Instance 00550 * @param Channel This parameter can be one of the following values: 00551 * @arg @ref LL_DMAMUX_CHANNEL_0 00552 * @arg @ref LL_DMAMUX_CHANNEL_1 00553 * @arg @ref LL_DMAMUX_CHANNEL_2 00554 * @arg @ref LL_DMAMUX_CHANNEL_3 00555 * @arg @ref LL_DMAMUX_CHANNEL_4 00556 * @arg @ref LL_DMAMUX_CHANNEL_5 00557 * @arg @ref LL_DMAMUX_CHANNEL_6 00558 * @arg @ref LL_DMAMUX_CHANNEL_7 00559 * @arg @ref LL_DMAMUX_CHANNEL_8 00560 * @arg @ref LL_DMAMUX_CHANNEL_9 00561 * @arg @ref LL_DMAMUX_CHANNEL_10 00562 * @arg @ref LL_DMAMUX_CHANNEL_11 00563 * @arg @ref LL_DMAMUX_CHANNEL_12 00564 * @arg @ref LL_DMAMUX_CHANNEL_13 00565 * @arg @ref LL_DMAMUX_CHANNEL_14 00566 * @arg @ref LL_DMAMUX_CHANNEL_15 00567 * @param Request This parameter can be one of the following values: 00568 * @arg @ref LL_DMAMUX1_REQ_MEM2MEM 00569 * @arg @ref LL_DMAMUX1_REQ_GENERATOR0 00570 * @arg @ref LL_DMAMUX1_REQ_GENERATOR1 00571 * @arg @ref LL_DMAMUX1_REQ_GENERATOR2 00572 * @arg @ref LL_DMAMUX1_REQ_GENERATOR3 00573 * @arg @ref LL_DMAMUX1_REQ_GENERATOR4 00574 * @arg @ref LL_DMAMUX1_REQ_GENERATOR5 00575 * @arg @ref LL_DMAMUX1_REQ_GENERATOR6 00576 * @arg @ref LL_DMAMUX1_REQ_GENERATOR7 00577 * @arg @ref LL_DMAMUX1_REQ_ADC1 00578 * @arg @ref LL_DMAMUX1_REQ_ADC2 00579 * @arg @ref LL_DMAMUX1_REQ_TIM1_CH1 00580 * @arg @ref LL_DMAMUX1_REQ_TIM1_CH2 00581 * @arg @ref LL_DMAMUX1_REQ_TIM1_CH3 00582 * @arg @ref LL_DMAMUX1_REQ_TIM1_CH4 00583 * @arg @ref LL_DMAMUX1_REQ_TIM1_UP 00584 * @arg @ref LL_DMAMUX1_REQ_TIM1_TRIG 00585 * @arg @ref LL_DMAMUX1_REQ_TIM1_COM 00586 * @arg @ref LL_DMAMUX1_REQ_TIM2_CH1 00587 * @arg @ref LL_DMAMUX1_REQ_TIM2_CH2 00588 * @arg @ref LL_DMAMUX1_REQ_TIM2_CH3 00589 * @arg @ref LL_DMAMUX1_REQ_TIM2_CH4 00590 * @arg @ref LL_DMAMUX1_REQ_TIM2_UP 00591 * @arg @ref LL_DMAMUX1_REQ_TIM3_CH1 00592 * @arg @ref LL_DMAMUX1_REQ_TIM3_CH2 00593 * @arg @ref LL_DMAMUX1_REQ_TIM3_CH3 00594 * @arg @ref LL_DMAMUX1_REQ_TIM3_CH4 00595 * @arg @ref LL_DMAMUX1_REQ_TIM3_UP 00596 * @arg @ref LL_DMAMUX1_REQ_TIM3_TRIG 00597 * @arg @ref LL_DMAMUX1_REQ_TIM4_CH1 00598 * @arg @ref LL_DMAMUX1_REQ_TIM4_CH2 00599 * @arg @ref LL_DMAMUX1_REQ_TIM4_CH3 00600 * @arg @ref LL_DMAMUX1_REQ_TIM4_UP 00601 * @arg @ref LL_DMAMUX1_REQ_I2C1_RX 00602 * @arg @ref LL_DMAMUX1_REQ_I2C1_TX 00603 * @arg @ref LL_DMAMUX1_REQ_I2C2_RX 00604 * @arg @ref LL_DMAMUX1_REQ_I2C2_TX 00605 * @arg @ref LL_DMAMUX1_REQ_SPI1_RX 00606 * @arg @ref LL_DMAMUX1_REQ_SPI1_TX 00607 * @arg @ref LL_DMAMUX1_REQ_SPI2_RX 00608 * @arg @ref LL_DMAMUX1_REQ_SPI2_TX 00609 * @arg @ref LL_DMAMUX1_REQ_USART1_RX 00610 * @arg @ref LL_DMAMUX1_REQ_USART1_TX 00611 * @arg @ref LL_DMAMUX1_REQ_USART2_RX 00612 * @arg @ref LL_DMAMUX1_REQ_USART2_TX 00613 * @arg @ref LL_DMAMUX1_REQ_USART3_RX 00614 * @arg @ref LL_DMAMUX1_REQ_USART3_TX 00615 * @arg @ref LL_DMAMUX1_REQ_TIM8_CH1 00616 * @arg @ref LL_DMAMUX1_REQ_TIM8_CH2 00617 * @arg @ref LL_DMAMUX1_REQ_TIM8_CH3 00618 * @arg @ref LL_DMAMUX1_REQ_TIM8_CH4 00619 * @arg @ref LL_DMAMUX1_REQ_TIM8_UP 00620 * @arg @ref LL_DMAMUX1_REQ_TIM8_TRIG 00621 * @arg @ref LL_DMAMUX1_REQ_TIM8_COM 00622 * @arg @ref LL_DMAMUX1_REQ_TIM5_CH1 00623 * @arg @ref LL_DMAMUX1_REQ_TIM5_CH2 00624 * @arg @ref LL_DMAMUX1_REQ_TIM5_CH3 00625 * @arg @ref LL_DMAMUX1_REQ_TIM5_CH4 00626 * @arg @ref LL_DMAMUX1_REQ_TIM5_UP 00627 * @arg @ref LL_DMAMUX1_REQ_TIM5_TRIG 00628 * @arg @ref LL_DMAMUX1_REQ_SPI3_RX 00629 * @arg @ref LL_DMAMUX1_REQ_SPI3_TX 00630 * @arg @ref LL_DMAMUX1_REQ_UART4_RX 00631 * @arg @ref LL_DMAMUX1_REQ_UART4_TX 00632 * @arg @ref LL_DMAMUX1_REQ_UART5_RX 00633 * @arg @ref LL_DMAMUX1_REQ_UART5_TX 00634 * @arg @ref LL_DMAMUX1_REQ_DAC1_CH1 00635 * @arg @ref LL_DMAMUX1_REQ_DAC1_CH2 00636 * @arg @ref LL_DMAMUX1_REQ_TIM6_UP 00637 * @arg @ref LL_DMAMUX1_REQ_TIM7_UP 00638 * @arg @ref LL_DMAMUX1_REQ_USART6_RX 00639 * @arg @ref LL_DMAMUX1_REQ_USART6_TX 00640 * @arg @ref LL_DMAMUX1_REQ_I2C3_RX 00641 * @arg @ref LL_DMAMUX1_REQ_I2C3_TX 00642 * @arg @ref LL_DMAMUX1_REQ_DCMI_PSSI (*) 00643 * @arg @ref LL_DMAMUX1_REQ_CRYP_IN 00644 * @arg @ref LL_DMAMUX1_REQ_CRYP_OUT 00645 * @arg @ref LL_DMAMUX1_REQ_HASH_IN 00646 * @arg @ref LL_DMAMUX1_REQ_UART7_RX 00647 * @arg @ref LL_DMAMUX1_REQ_UART7_TX 00648 * @arg @ref LL_DMAMUX1_REQ_UART8_RX 00649 * @arg @ref LL_DMAMUX1_REQ_UART8_TX 00650 * @arg @ref LL_DMAMUX1_REQ_SPI4_RX 00651 * @arg @ref LL_DMAMUX1_REQ_SPI4_TX 00652 * @arg @ref LL_DMAMUX1_REQ_SPI5_RX 00653 * @arg @ref LL_DMAMUX1_REQ_SPI5_TX 00654 * @arg @ref LL_DMAMUX1_REQ_SAI1_A 00655 * @arg @ref LL_DMAMUX1_REQ_SAI1_B 00656 * @arg @ref LL_DMAMUX1_REQ_SAI2_A (*) 00657 * @arg @ref LL_DMAMUX1_REQ_SAI2_B (*) 00658 * @arg @ref LL_DMAMUX1_REQ_SWPMI_RX 00659 * @arg @ref LL_DMAMUX1_REQ_SWPMI_TX 00660 * @arg @ref LL_DMAMUX1_REQ_SPDIF_RX_DT 00661 * @arg @ref LL_DMAMUX1_REQ_SPDIF_RX_CS 00662 * @arg @ref LL_DMAMUX1_REQ_HRTIM_MASTER (*) 00663 * @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_A (*) 00664 * @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_B (*) 00665 * @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_C (*) 00666 * @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_D (*) 00667 * @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_E (*) 00668 * @arg @ref LL_DMAMUX1_REQ_DFSDM1_FLT0 00669 * @arg @ref LL_DMAMUX1_REQ_DFSDM1_FLT1 00670 * @arg @ref LL_DMAMUX1_REQ_DFSDM1_FLT2 00671 * @arg @ref LL_DMAMUX1_REQ_DFSDM1_FLT3 00672 * @arg @ref LL_DMAMUX1_REQ_TIM15_CH1 00673 * @arg @ref LL_DMAMUX1_REQ_TIM15_UP 00674 * @arg @ref LL_DMAMUX1_REQ_TIM15_TRIG 00675 * @arg @ref LL_DMAMUX1_REQ_TIM15_COM 00676 * @arg @ref LL_DMAMUX1_REQ_TIM16_CH1 00677 * @arg @ref LL_DMAMUX1_REQ_TIM16_UP 00678 * @arg @ref LL_DMAMUX1_REQ_TIM17_CH1 00679 * @arg @ref LL_DMAMUX1_REQ_TIM17_UP 00680 * @arg @ref LL_DMAMUX1_REQ_SAI3_A (*) 00681 * @arg @ref LL_DMAMUX1_REQ_SAI3_B (*) 00682 * @arg @ref LL_DMAMUX1_REQ_ADC3 (*) 00683 * @arg @ref LL_DMAMUX1_REQ_UART9_RX (*) 00684 * @arg @ref LL_DMAMUX1_REQ_UART9_TX (*) 00685 * @arg @ref LL_DMAMUX1_REQ_USART10_RX (*) 00686 * @arg @ref LL_DMAMUX1_REQ_USART10_TX (*) 00687 * @arg @ref LL_DMAMUX1_REQ_FMAC_READ (*) 00688 * @arg @ref LL_DMAMUX1_REQ_FMAC_WRITE (*) 00689 * @arg @ref LL_DMAMUX1_REQ_CORDIC_READ (*) 00690 * @arg @ref LL_DMAMUX1_REQ_CORDIC_WRITE(*) 00691 * @arg @ref LL_DMAMUX1_REQ_I2C5_RX (*) 00692 * @arg @ref LL_DMAMUX1_REQ_I2C5_TX (*) 00693 * @arg @ref LL_DMAMUX1_REQ_TIM23_CH1 (*) 00694 * @arg @ref LL_DMAMUX1_REQ_TIM23_CH2 (*) 00695 * @arg @ref LL_DMAMUX1_REQ_TIM23_CH3 (*) 00696 * @arg @ref LL_DMAMUX1_REQ_TIM23_CH4 (*) 00697 * @arg @ref LL_DMAMUX1_REQ_TIM23_UP (*) 00698 * @arg @ref LL_DMAMUX1_REQ_TIM23_TRIG (*) 00699 * @arg @ref LL_DMAMUX1_REQ_TIM24_CH1 (*) 00700 * @arg @ref LL_DMAMUX1_REQ_TIM24_CH2 (*) 00701 * @arg @ref LL_DMAMUX1_REQ_TIM24_CH3 (*) 00702 * @arg @ref LL_DMAMUX1_REQ_TIM24_CH4 (*) 00703 * @arg @ref LL_DMAMUX1_REQ_TIM24_UP (*) 00704 * @arg @ref LL_DMAMUX1_REQ_TIM24_TRIG (*) 00705 * @arg @ref LL_DMAMUX2_REQ_MEM2MEM 00706 * @arg @ref LL_DMAMUX2_REQ_GENERATOR0 00707 * @arg @ref LL_DMAMUX2_REQ_GENERATOR1 00708 * @arg @ref LL_DMAMUX2_REQ_GENERATOR2 00709 * @arg @ref LL_DMAMUX2_REQ_GENERATOR3 00710 * @arg @ref LL_DMAMUX2_REQ_GENERATOR4 00711 * @arg @ref LL_DMAMUX2_REQ_GENERATOR5 00712 * @arg @ref LL_DMAMUX2_REQ_GENERATOR6 00713 * @arg @ref LL_DMAMUX2_REQ_GENERATOR7 00714 * @arg @ref LL_DMAMUX2_REQ_LPUART1_RX 00715 * @arg @ref LL_DMAMUX2_REQ_LPUART1_TX 00716 * @arg @ref LL_DMAMUX2_REQ_SPI6_RX 00717 * @arg @ref LL_DMAMUX2_REQ_SPI6_TX 00718 * @arg @ref LL_DMAMUX2_REQ_I2C4_RX 00719 * @arg @ref LL_DMAMUX2_REQ_I2C4_TX 00720 * @arg @ref LL_DMAMUX2_REQ_SAI4_A (*) 00721 * @arg @ref LL_DMAMUX2_REQ_SAI4_B (*) 00722 * @arg @ref LL_DMAMUX2_REQ_ADC3 (*) 00723 * @arg @ref LL_DMAMUX2_REQ_DAC2_CH1 (*) 00724 * @arg @ref LL_DMAMUX2_REQ_DFSDM2_FLT0 (*) 00725 * 00726 * @note (*) Availability depends on devices. 00727 * @retval None 00728 */ 00729 __STATIC_INLINE void LL_DMAMUX_SetRequestID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel, uint32_t Request) 00730 { 00731 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 00732 00733 MODIFY_REG(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_DMAREQ_ID, Request); 00734 } 00735 00736 /** 00737 * @brief Get DMAMUX request ID for DMAMUX Channel x. 00738 * @note DMAMUX1 channel 0 to 7 are mapped to DMA1 channel 0 to 7. 00739 * DMAMUX1 channel 8 to 15 are mapped to DMA2 channel 0 to 7. 00740 * DMAMUX2 channel 0 to 7 are mapped to BDMA channel 0 to 7. 00741 * @rmtoll CxCR DMAREQ_ID LL_DMAMUX_GetRequestID 00742 * @param DMAMUXx DMAMUXx Instance 00743 * @param Channel This parameter can be one of the following values: 00744 * @arg @ref LL_DMAMUX_CHANNEL_0 00745 * @arg @ref LL_DMAMUX_CHANNEL_1 00746 * @arg @ref LL_DMAMUX_CHANNEL_2 00747 * @arg @ref LL_DMAMUX_CHANNEL_3 00748 * @arg @ref LL_DMAMUX_CHANNEL_4 00749 * @arg @ref LL_DMAMUX_CHANNEL_5 00750 * @arg @ref LL_DMAMUX_CHANNEL_6 00751 * @arg @ref LL_DMAMUX_CHANNEL_7 00752 * @arg @ref LL_DMAMUX_CHANNEL_8 00753 * @arg @ref LL_DMAMUX_CHANNEL_9 00754 * @arg @ref LL_DMAMUX_CHANNEL_10 00755 * @arg @ref LL_DMAMUX_CHANNEL_11 00756 * @arg @ref LL_DMAMUX_CHANNEL_12 00757 * @arg @ref LL_DMAMUX_CHANNEL_13 00758 * @arg @ref LL_DMAMUX_CHANNEL_14 00759 * @arg @ref LL_DMAMUX_CHANNEL_15 00760 * @retval Returned value can be one of the following values: 00761 * @arg @ref LL_DMAMUX1_REQ_MEM2MEM 00762 * @arg @ref LL_DMAMUX1_REQ_GENERATOR0 00763 * @arg @ref LL_DMAMUX1_REQ_GENERATOR1 00764 * @arg @ref LL_DMAMUX1_REQ_GENERATOR2 00765 * @arg @ref LL_DMAMUX1_REQ_GENERATOR3 00766 * @arg @ref LL_DMAMUX1_REQ_GENERATOR4 00767 * @arg @ref LL_DMAMUX1_REQ_GENERATOR5 00768 * @arg @ref LL_DMAMUX1_REQ_GENERATOR6 00769 * @arg @ref LL_DMAMUX1_REQ_GENERATOR7 00770 * @arg @ref LL_DMAMUX1_REQ_ADC1 00771 * @arg @ref LL_DMAMUX1_REQ_ADC2 00772 * @arg @ref LL_DMAMUX1_REQ_TIM1_CH1 00773 * @arg @ref LL_DMAMUX1_REQ_TIM1_CH2 00774 * @arg @ref LL_DMAMUX1_REQ_TIM1_CH3 00775 * @arg @ref LL_DMAMUX1_REQ_TIM1_CH4 00776 * @arg @ref LL_DMAMUX1_REQ_TIM1_UP 00777 * @arg @ref LL_DMAMUX1_REQ_TIM1_TRIG 00778 * @arg @ref LL_DMAMUX1_REQ_TIM1_COM 00779 * @arg @ref LL_DMAMUX1_REQ_TIM2_CH1 00780 * @arg @ref LL_DMAMUX1_REQ_TIM2_CH2 00781 * @arg @ref LL_DMAMUX1_REQ_TIM2_CH3 00782 * @arg @ref LL_DMAMUX1_REQ_TIM2_CH4 00783 * @arg @ref LL_DMAMUX1_REQ_TIM2_UP 00784 * @arg @ref LL_DMAMUX1_REQ_TIM3_CH1 00785 * @arg @ref LL_DMAMUX1_REQ_TIM3_CH2 00786 * @arg @ref LL_DMAMUX1_REQ_TIM3_CH3 00787 * @arg @ref LL_DMAMUX1_REQ_TIM3_CH4 00788 * @arg @ref LL_DMAMUX1_REQ_TIM3_UP 00789 * @arg @ref LL_DMAMUX1_REQ_TIM3_TRIG 00790 * @arg @ref LL_DMAMUX1_REQ_TIM4_CH1 00791 * @arg @ref LL_DMAMUX1_REQ_TIM4_CH2 00792 * @arg @ref LL_DMAMUX1_REQ_TIM4_CH3 00793 * @arg @ref LL_DMAMUX1_REQ_TIM4_UP 00794 * @arg @ref LL_DMAMUX1_REQ_I2C1_RX 00795 * @arg @ref LL_DMAMUX1_REQ_I2C1_TX 00796 * @arg @ref LL_DMAMUX1_REQ_I2C2_RX 00797 * @arg @ref LL_DMAMUX1_REQ_I2C2_TX 00798 * @arg @ref LL_DMAMUX1_REQ_SPI1_RX 00799 * @arg @ref LL_DMAMUX1_REQ_SPI1_TX 00800 * @arg @ref LL_DMAMUX1_REQ_SPI2_RX 00801 * @arg @ref LL_DMAMUX1_REQ_SPI2_TX 00802 * @arg @ref LL_DMAMUX1_REQ_USART1_RX 00803 * @arg @ref LL_DMAMUX1_REQ_USART1_TX 00804 * @arg @ref LL_DMAMUX1_REQ_USART2_RX 00805 * @arg @ref LL_DMAMUX1_REQ_USART2_TX 00806 * @arg @ref LL_DMAMUX1_REQ_USART3_RX 00807 * @arg @ref LL_DMAMUX1_REQ_USART3_TX 00808 * @arg @ref LL_DMAMUX1_REQ_TIM8_CH1 00809 * @arg @ref LL_DMAMUX1_REQ_TIM8_CH2 00810 * @arg @ref LL_DMAMUX1_REQ_TIM8_CH3 00811 * @arg @ref LL_DMAMUX1_REQ_TIM8_CH4 00812 * @arg @ref LL_DMAMUX1_REQ_TIM8_UP 00813 * @arg @ref LL_DMAMUX1_REQ_TIM8_TRIG 00814 * @arg @ref LL_DMAMUX1_REQ_TIM8_COM 00815 * @arg @ref LL_DMAMUX1_REQ_TIM5_CH1 00816 * @arg @ref LL_DMAMUX1_REQ_TIM5_CH2 00817 * @arg @ref LL_DMAMUX1_REQ_TIM5_CH3 00818 * @arg @ref LL_DMAMUX1_REQ_TIM5_CH4 00819 * @arg @ref LL_DMAMUX1_REQ_TIM5_UP 00820 * @arg @ref LL_DMAMUX1_REQ_TIM5_TRIG 00821 * @arg @ref LL_DMAMUX1_REQ_SPI3_RX 00822 * @arg @ref LL_DMAMUX1_REQ_SPI3_TX 00823 * @arg @ref LL_DMAMUX1_REQ_UART4_RX 00824 * @arg @ref LL_DMAMUX1_REQ_UART4_TX 00825 * @arg @ref LL_DMAMUX1_REQ_UART5_RX 00826 * @arg @ref LL_DMAMUX1_REQ_UART5_TX 00827 * @arg @ref LL_DMAMUX1_REQ_DAC1_CH1 00828 * @arg @ref LL_DMAMUX1_REQ_DAC1_CH2 00829 * @arg @ref LL_DMAMUX1_REQ_TIM6_UP 00830 * @arg @ref LL_DMAMUX1_REQ_TIM7_UP 00831 * @arg @ref LL_DMAMUX1_REQ_USART6_RX 00832 * @arg @ref LL_DMAMUX1_REQ_USART6_TX 00833 * @arg @ref LL_DMAMUX1_REQ_I2C3_RX 00834 * @arg @ref LL_DMAMUX1_REQ_I2C3_TX 00835 * @arg @ref LL_DMAMUX1_REQ_DCMI_PSSI (*) 00836 * @arg @ref LL_DMAMUX1_REQ_CRYP_IN 00837 * @arg @ref LL_DMAMUX1_REQ_CRYP_OUT 00838 * @arg @ref LL_DMAMUX1_REQ_HASH_IN 00839 * @arg @ref LL_DMAMUX1_REQ_UART7_RX 00840 * @arg @ref LL_DMAMUX1_REQ_UART7_TX 00841 * @arg @ref LL_DMAMUX1_REQ_UART8_RX 00842 * @arg @ref LL_DMAMUX1_REQ_UART8_TX 00843 * @arg @ref LL_DMAMUX1_REQ_SPI4_RX 00844 * @arg @ref LL_DMAMUX1_REQ_SPI4_TX 00845 * @arg @ref LL_DMAMUX1_REQ_SPI5_RX 00846 * @arg @ref LL_DMAMUX1_REQ_SPI5_TX 00847 * @arg @ref LL_DMAMUX1_REQ_SAI1_A 00848 * @arg @ref LL_DMAMUX1_REQ_SAI1_B 00849 * @arg @ref LL_DMAMUX1_REQ_SAI2_A (*) 00850 * @arg @ref LL_DMAMUX1_REQ_SAI2_B (*) 00851 * @arg @ref LL_DMAMUX1_REQ_SWPMI_RX 00852 * @arg @ref LL_DMAMUX1_REQ_SWPMI_TX 00853 * @arg @ref LL_DMAMUX1_REQ_SPDIF_RX_DT 00854 * @arg @ref LL_DMAMUX1_REQ_SPDIF_RX_CS 00855 * @arg @ref LL_DMAMUX1_REQ_HRTIM_MASTER (*) 00856 * @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_A (*) 00857 * @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_B (*) 00858 * @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_C (*) 00859 * @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_D (*) 00860 * @arg @ref LL_DMAMUX1_REQ_HRTIM_TIMER_E (*) 00861 * @arg @ref LL_DMAMUX1_REQ_DFSDM1_FLT0 00862 * @arg @ref LL_DMAMUX1_REQ_DFSDM1_FLT1 00863 * @arg @ref LL_DMAMUX1_REQ_DFSDM1_FLT2 00864 * @arg @ref LL_DMAMUX1_REQ_DFSDM1_FLT3 00865 * @arg @ref LL_DMAMUX1_REQ_TIM15_CH1 00866 * @arg @ref LL_DMAMUX1_REQ_TIM15_UP 00867 * @arg @ref LL_DMAMUX1_REQ_TIM15_TRIG 00868 * @arg @ref LL_DMAMUX1_REQ_TIM15_COM 00869 * @arg @ref LL_DMAMUX1_REQ_TIM16_CH1 00870 * @arg @ref LL_DMAMUX1_REQ_TIM16_UP 00871 * @arg @ref LL_DMAMUX1_REQ_TIM17_CH1 00872 * @arg @ref LL_DMAMUX1_REQ_TIM17_UP 00873 * @arg @ref LL_DMAMUX1_REQ_SAI3_A (*) 00874 * @arg @ref LL_DMAMUX1_REQ_SAI3_B (*) 00875 * @arg @ref LL_DMAMUX1_REQ_ADC3 (*) 00876 * @arg @ref LL_DMAMUX1_REQ_UART9_RX (*) 00877 * @arg @ref LL_DMAMUX1_REQ_UART9_TX (*) 00878 * @arg @ref LL_DMAMUX1_REQ_USART10_RX (*) 00879 * @arg @ref LL_DMAMUX1_REQ_USART10_TX (*) 00880 * @arg @ref LL_DMAMUX1_REQ_FMAC_READ (*) 00881 * @arg @ref LL_DMAMUX1_REQ_FMAC_WRITE (*) 00882 * @arg @ref LL_DMAMUX1_REQ_CORDIC_READ (*) 00883 * @arg @ref LL_DMAMUX1_REQ_CORDIC_WRITE(*) 00884 * @arg @ref LL_DMAMUX1_REQ_I2C5_RX (*) 00885 * @arg @ref LL_DMAMUX1_REQ_I2C5_TX (*) 00886 * @arg @ref LL_DMAMUX1_REQ_TIM23_CH1 (*) 00887 * @arg @ref LL_DMAMUX1_REQ_TIM23_CH2 (*) 00888 * @arg @ref LL_DMAMUX1_REQ_TIM23_CH3 (*) 00889 * @arg @ref LL_DMAMUX1_REQ_TIM23_CH4 (*) 00890 * @arg @ref LL_DMAMUX1_REQ_TIM23_UP (*) 00891 * @arg @ref LL_DMAMUX1_REQ_TIM23_TRIG (*) 00892 * @arg @ref LL_DMAMUX1_REQ_TIM24_CH1 (*) 00893 * @arg @ref LL_DMAMUX1_REQ_TIM24_CH2 (*) 00894 * @arg @ref LL_DMAMUX1_REQ_TIM24_CH3 (*) 00895 * @arg @ref LL_DMAMUX1_REQ_TIM24_CH4 (*) 00896 * @arg @ref LL_DMAMUX1_REQ_TIM24_UP (*) 00897 * @arg @ref LL_DMAMUX1_REQ_TIM24_TRIG (*) 00898 * @arg @ref LL_DMAMUX2_REQ_MEM2MEM 00899 * @arg @ref LL_DMAMUX2_REQ_GENERATOR0 00900 * @arg @ref LL_DMAMUX2_REQ_GENERATOR1 00901 * @arg @ref LL_DMAMUX2_REQ_GENERATOR2 00902 * @arg @ref LL_DMAMUX2_REQ_GENERATOR3 00903 * @arg @ref LL_DMAMUX2_REQ_GENERATOR4 00904 * @arg @ref LL_DMAMUX2_REQ_GENERATOR5 00905 * @arg @ref LL_DMAMUX2_REQ_GENERATOR6 00906 * @arg @ref LL_DMAMUX2_REQ_GENERATOR7 00907 * @arg @ref LL_DMAMUX2_REQ_LPUART1_RX 00908 * @arg @ref LL_DMAMUX2_REQ_LPUART1_TX 00909 * @arg @ref LL_DMAMUX2_REQ_SPI6_RX 00910 * @arg @ref LL_DMAMUX2_REQ_SPI6_TX 00911 * @arg @ref LL_DMAMUX2_REQ_I2C4_RX 00912 * @arg @ref LL_DMAMUX2_REQ_I2C4_TX 00913 * @arg @ref LL_DMAMUX2_REQ_SAI4_A (*) 00914 * @arg @ref LL_DMAMUX2_REQ_SAI4_B (*) 00915 * @arg @ref LL_DMAMUX2_REQ_ADC3 (*) 00916 * @arg @ref LL_DMAMUX2_REQ_DAC2_CH1 (*) 00917 * @arg @ref LL_DMAMUX2_REQ_DFSDM2_FLT0 (*) 00918 * 00919 * @note (*) Availability depends on devices. 00920 * @retval None 00921 */ 00922 __STATIC_INLINE uint32_t LL_DMAMUX_GetRequestID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel) 00923 { 00924 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 00925 00926 return (uint32_t)(READ_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_DMAREQ_ID)); 00927 } 00928 00929 /** 00930 * @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. 00931 * @rmtoll CxCR NBREQ LL_DMAMUX_SetSyncRequestNb 00932 * @param DMAMUXx DMAMUXx Instance 00933 * @param Channel This parameter can be one of the following values: 00934 * @arg @ref LL_DMAMUX_CHANNEL_0 00935 * @arg @ref LL_DMAMUX_CHANNEL_1 00936 * @arg @ref LL_DMAMUX_CHANNEL_2 00937 * @arg @ref LL_DMAMUX_CHANNEL_3 00938 * @arg @ref LL_DMAMUX_CHANNEL_4 00939 * @arg @ref LL_DMAMUX_CHANNEL_5 00940 * @arg @ref LL_DMAMUX_CHANNEL_6 00941 * @arg @ref LL_DMAMUX_CHANNEL_7 00942 * @arg @ref LL_DMAMUX_CHANNEL_8 00943 * @arg @ref LL_DMAMUX_CHANNEL_9 00944 * @arg @ref LL_DMAMUX_CHANNEL_10 00945 * @arg @ref LL_DMAMUX_CHANNEL_11 00946 * @arg @ref LL_DMAMUX_CHANNEL_12 00947 * @arg @ref LL_DMAMUX_CHANNEL_13 00948 * @arg @ref LL_DMAMUX_CHANNEL_14 00949 * @arg @ref LL_DMAMUX_CHANNEL_15 00950 * @param RequestNb This parameter must be a value between Min_Data = 1 and Max_Data = 32. 00951 * @retval None 00952 */ 00953 __STATIC_INLINE void LL_DMAMUX_SetSyncRequestNb(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel, uint32_t RequestNb) 00954 { 00955 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 00956 00957 MODIFY_REG(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_NBREQ, (RequestNb - 1U) << DMAMUX_CxCR_NBREQ_Pos); 00958 } 00959 00960 /** 00961 * @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. 00962 * @rmtoll CxCR NBREQ LL_DMAMUX_GetSyncRequestNb 00963 * @param DMAMUXx DMAMUXx Instance 00964 * @param Channel This parameter can be one of the following values: 00965 * @arg @ref LL_DMAMUX_CHANNEL_0 00966 * @arg @ref LL_DMAMUX_CHANNEL_1 00967 * @arg @ref LL_DMAMUX_CHANNEL_2 00968 * @arg @ref LL_DMAMUX_CHANNEL_3 00969 * @arg @ref LL_DMAMUX_CHANNEL_4 00970 * @arg @ref LL_DMAMUX_CHANNEL_5 00971 * @arg @ref LL_DMAMUX_CHANNEL_6 00972 * @arg @ref LL_DMAMUX_CHANNEL_7 00973 * @arg @ref LL_DMAMUX_CHANNEL_8 00974 * @arg @ref LL_DMAMUX_CHANNEL_9 00975 * @arg @ref LL_DMAMUX_CHANNEL_10 00976 * @arg @ref LL_DMAMUX_CHANNEL_11 00977 * @arg @ref LL_DMAMUX_CHANNEL_12 00978 * @arg @ref LL_DMAMUX_CHANNEL_13 00979 * @arg @ref LL_DMAMUX_CHANNEL_14 00980 * @arg @ref LL_DMAMUX_CHANNEL_15 00981 * @retval Between Min_Data = 1 and Max_Data = 32 00982 */ 00983 __STATIC_INLINE uint32_t LL_DMAMUX_GetSyncRequestNb(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel) 00984 { 00985 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 00986 00987 return (uint32_t)((READ_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_NBREQ) >> DMAMUX_CxCR_NBREQ_Pos) + 1U); 00988 } 00989 00990 /** 00991 * @brief Set the polarity of the signal on which the DMA request is synchronized. 00992 * @rmtoll CxCR SPOL LL_DMAMUX_SetSyncPolarity 00993 * @param DMAMUXx DMAMUXx Instance 00994 * @param Channel This parameter can be one of the following values: 00995 * @arg @ref LL_DMAMUX_CHANNEL_0 00996 * @arg @ref LL_DMAMUX_CHANNEL_1 00997 * @arg @ref LL_DMAMUX_CHANNEL_2 00998 * @arg @ref LL_DMAMUX_CHANNEL_3 00999 * @arg @ref LL_DMAMUX_CHANNEL_4 01000 * @arg @ref LL_DMAMUX_CHANNEL_5 01001 * @arg @ref LL_DMAMUX_CHANNEL_6 01002 * @arg @ref LL_DMAMUX_CHANNEL_7 01003 * @arg @ref LL_DMAMUX_CHANNEL_8 01004 * @arg @ref LL_DMAMUX_CHANNEL_9 01005 * @arg @ref LL_DMAMUX_CHANNEL_10 01006 * @arg @ref LL_DMAMUX_CHANNEL_11 01007 * @arg @ref LL_DMAMUX_CHANNEL_12 01008 * @arg @ref LL_DMAMUX_CHANNEL_13 01009 * @arg @ref LL_DMAMUX_CHANNEL_14 01010 * @arg @ref LL_DMAMUX_CHANNEL_15 01011 * @param Polarity This parameter can be one of the following values: 01012 * @arg @ref LL_DMAMUX_SYNC_NO_EVENT 01013 * @arg @ref LL_DMAMUX_SYNC_POL_RISING 01014 * @arg @ref LL_DMAMUX_SYNC_POL_FALLING 01015 * @arg @ref LL_DMAMUX_SYNC_POL_RISING_FALLING 01016 * @retval None 01017 */ 01018 __STATIC_INLINE void LL_DMAMUX_SetSyncPolarity(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel, uint32_t Polarity) 01019 { 01020 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01021 01022 MODIFY_REG(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_SPOL, Polarity); 01023 } 01024 01025 /** 01026 * @brief Get the polarity of the signal on which the DMA request is synchronized. 01027 * @rmtoll CxCR SPOL LL_DMAMUX_GetSyncPolarity 01028 * @param DMAMUXx DMAMUXx Instance 01029 * @param Channel This parameter can be one of the following values: 01030 * @arg @ref LL_DMAMUX_CHANNEL_0 01031 * @arg @ref LL_DMAMUX_CHANNEL_1 01032 * @arg @ref LL_DMAMUX_CHANNEL_2 01033 * @arg @ref LL_DMAMUX_CHANNEL_3 01034 * @arg @ref LL_DMAMUX_CHANNEL_4 01035 * @arg @ref LL_DMAMUX_CHANNEL_5 01036 * @arg @ref LL_DMAMUX_CHANNEL_6 01037 * @arg @ref LL_DMAMUX_CHANNEL_7 01038 * @arg @ref LL_DMAMUX_CHANNEL_8 01039 * @arg @ref LL_DMAMUX_CHANNEL_9 01040 * @arg @ref LL_DMAMUX_CHANNEL_10 01041 * @arg @ref LL_DMAMUX_CHANNEL_11 01042 * @arg @ref LL_DMAMUX_CHANNEL_12 01043 * @arg @ref LL_DMAMUX_CHANNEL_13 01044 * @arg @ref LL_DMAMUX_CHANNEL_14 01045 * @arg @ref LL_DMAMUX_CHANNEL_15 01046 * @retval Returned value can be one of the following values: 01047 * @arg @ref LL_DMAMUX_SYNC_NO_EVENT 01048 * @arg @ref LL_DMAMUX_SYNC_POL_RISING 01049 * @arg @ref LL_DMAMUX_SYNC_POL_FALLING 01050 * @arg @ref LL_DMAMUX_SYNC_POL_RISING_FALLING 01051 */ 01052 __STATIC_INLINE uint32_t LL_DMAMUX_GetSyncPolarity(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel) 01053 { 01054 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01055 01056 return (uint32_t)(READ_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_SPOL)); 01057 } 01058 01059 /** 01060 * @brief Enable the Event Generation on DMAMUX channel x. 01061 * @rmtoll CxCR EGE LL_DMAMUX_EnableEventGeneration 01062 * @param DMAMUXx DMAMUXx Instance 01063 * @param Channel This parameter can be one of the following values: 01064 * @arg @ref LL_DMAMUX_CHANNEL_0 01065 * @arg @ref LL_DMAMUX_CHANNEL_1 01066 * @arg @ref LL_DMAMUX_CHANNEL_2 01067 * @arg @ref LL_DMAMUX_CHANNEL_3 01068 * @arg @ref LL_DMAMUX_CHANNEL_4 01069 * @arg @ref LL_DMAMUX_CHANNEL_5 01070 * @arg @ref LL_DMAMUX_CHANNEL_6 01071 * @arg @ref LL_DMAMUX_CHANNEL_7 01072 * @arg @ref LL_DMAMUX_CHANNEL_8 01073 * @arg @ref LL_DMAMUX_CHANNEL_9 01074 * @arg @ref LL_DMAMUX_CHANNEL_10 01075 * @arg @ref LL_DMAMUX_CHANNEL_11 01076 * @arg @ref LL_DMAMUX_CHANNEL_12 01077 * @arg @ref LL_DMAMUX_CHANNEL_13 01078 * @arg @ref LL_DMAMUX_CHANNEL_14 01079 * @arg @ref LL_DMAMUX_CHANNEL_15 01080 * @retval None 01081 */ 01082 __STATIC_INLINE void LL_DMAMUX_EnableEventGeneration(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel) 01083 { 01084 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01085 01086 SET_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_EGE); 01087 } 01088 01089 /** 01090 * @brief Disable the Event Generation on DMAMUX channel x. 01091 * @rmtoll CxCR EGE LL_DMAMUX_DisableEventGeneration 01092 * @param DMAMUXx DMAMUXx Instance 01093 * @param Channel This parameter can be one of the following values: 01094 * @arg @ref LL_DMAMUX_CHANNEL_0 01095 * @arg @ref LL_DMAMUX_CHANNEL_1 01096 * @arg @ref LL_DMAMUX_CHANNEL_2 01097 * @arg @ref LL_DMAMUX_CHANNEL_3 01098 * @arg @ref LL_DMAMUX_CHANNEL_4 01099 * @arg @ref LL_DMAMUX_CHANNEL_5 01100 * @arg @ref LL_DMAMUX_CHANNEL_6 01101 * @arg @ref LL_DMAMUX_CHANNEL_7 01102 * @arg @ref LL_DMAMUX_CHANNEL_8 01103 * @arg @ref LL_DMAMUX_CHANNEL_9 01104 * @arg @ref LL_DMAMUX_CHANNEL_10 01105 * @arg @ref LL_DMAMUX_CHANNEL_11 01106 * @arg @ref LL_DMAMUX_CHANNEL_12 01107 * @arg @ref LL_DMAMUX_CHANNEL_13 01108 * @arg @ref LL_DMAMUX_CHANNEL_14 01109 * @arg @ref LL_DMAMUX_CHANNEL_15 01110 * @retval None 01111 */ 01112 __STATIC_INLINE void LL_DMAMUX_DisableEventGeneration(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel) 01113 { 01114 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01115 01116 CLEAR_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_EGE); 01117 } 01118 01119 /** 01120 * @brief Check if the Event Generation on DMAMUX channel x is enabled or disabled. 01121 * @rmtoll CxCR EGE LL_DMAMUX_IsEnabledEventGeneration 01122 * @param DMAMUXx DMAMUXx Instance 01123 * @param Channel This parameter can be one of the following values: 01124 * @arg @ref LL_DMAMUX_CHANNEL_0 01125 * @arg @ref LL_DMAMUX_CHANNEL_1 01126 * @arg @ref LL_DMAMUX_CHANNEL_2 01127 * @arg @ref LL_DMAMUX_CHANNEL_3 01128 * @arg @ref LL_DMAMUX_CHANNEL_4 01129 * @arg @ref LL_DMAMUX_CHANNEL_5 01130 * @arg @ref LL_DMAMUX_CHANNEL_6 01131 * @arg @ref LL_DMAMUX_CHANNEL_7 01132 * @arg @ref LL_DMAMUX_CHANNEL_8 01133 * @arg @ref LL_DMAMUX_CHANNEL_9 01134 * @arg @ref LL_DMAMUX_CHANNEL_10 01135 * @arg @ref LL_DMAMUX_CHANNEL_11 01136 * @arg @ref LL_DMAMUX_CHANNEL_12 01137 * @arg @ref LL_DMAMUX_CHANNEL_13 01138 * @arg @ref LL_DMAMUX_CHANNEL_14 01139 * @arg @ref LL_DMAMUX_CHANNEL_15 01140 * @retval State of bit (1 or 0). 01141 */ 01142 __STATIC_INLINE uint32_t LL_DMAMUX_IsEnabledEventGeneration(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel) 01143 { 01144 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01145 01146 return ((READ_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_EGE) == (DMAMUX_CxCR_EGE)) ? 1UL : 0UL); 01147 } 01148 01149 /** 01150 * @brief Enable the synchronization mode. 01151 * @rmtoll CxCR SE LL_DMAMUX_EnableSync 01152 * @param DMAMUXx DMAMUXx Instance 01153 * @param Channel This parameter can be one of the following values: 01154 * @arg @ref LL_DMAMUX_CHANNEL_0 01155 * @arg @ref LL_DMAMUX_CHANNEL_1 01156 * @arg @ref LL_DMAMUX_CHANNEL_2 01157 * @arg @ref LL_DMAMUX_CHANNEL_3 01158 * @arg @ref LL_DMAMUX_CHANNEL_4 01159 * @arg @ref LL_DMAMUX_CHANNEL_5 01160 * @arg @ref LL_DMAMUX_CHANNEL_6 01161 * @arg @ref LL_DMAMUX_CHANNEL_7 01162 * @arg @ref LL_DMAMUX_CHANNEL_8 01163 * @arg @ref LL_DMAMUX_CHANNEL_9 01164 * @arg @ref LL_DMAMUX_CHANNEL_10 01165 * @arg @ref LL_DMAMUX_CHANNEL_11 01166 * @arg @ref LL_DMAMUX_CHANNEL_12 01167 * @arg @ref LL_DMAMUX_CHANNEL_13 01168 * @arg @ref LL_DMAMUX_CHANNEL_14 01169 * @arg @ref LL_DMAMUX_CHANNEL_15 01170 * @retval None 01171 */ 01172 __STATIC_INLINE void LL_DMAMUX_EnableSync(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel) 01173 { 01174 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01175 01176 SET_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_SE); 01177 } 01178 01179 /** 01180 * @brief Disable the synchronization mode. 01181 * @rmtoll CxCR SE LL_DMAMUX_DisableSync 01182 * @param DMAMUXx DMAMUXx Instance 01183 * @param Channel This parameter can be one of the following values: 01184 * @arg @ref LL_DMAMUX_CHANNEL_0 01185 * @arg @ref LL_DMAMUX_CHANNEL_1 01186 * @arg @ref LL_DMAMUX_CHANNEL_2 01187 * @arg @ref LL_DMAMUX_CHANNEL_3 01188 * @arg @ref LL_DMAMUX_CHANNEL_4 01189 * @arg @ref LL_DMAMUX_CHANNEL_5 01190 * @arg @ref LL_DMAMUX_CHANNEL_6 01191 * @arg @ref LL_DMAMUX_CHANNEL_7 01192 * @arg @ref LL_DMAMUX_CHANNEL_8 01193 * @arg @ref LL_DMAMUX_CHANNEL_9 01194 * @arg @ref LL_DMAMUX_CHANNEL_10 01195 * @arg @ref LL_DMAMUX_CHANNEL_11 01196 * @arg @ref LL_DMAMUX_CHANNEL_12 01197 * @arg @ref LL_DMAMUX_CHANNEL_13 01198 * @arg @ref LL_DMAMUX_CHANNEL_14 01199 * @arg @ref LL_DMAMUX_CHANNEL_15 01200 * @retval None 01201 */ 01202 __STATIC_INLINE void LL_DMAMUX_DisableSync(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel) 01203 { 01204 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01205 01206 CLEAR_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_SE); 01207 } 01208 01209 /** 01210 * @brief Check if the synchronization mode is enabled or disabled. 01211 * @rmtoll CxCR SE LL_DMAMUX_IsEnabledSync 01212 * @param DMAMUXx DMAMUXx Instance 01213 * @param Channel This parameter can be one of the following values: 01214 * @arg @ref LL_DMAMUX_CHANNEL_0 01215 * @arg @ref LL_DMAMUX_CHANNEL_1 01216 * @arg @ref LL_DMAMUX_CHANNEL_2 01217 * @arg @ref LL_DMAMUX_CHANNEL_3 01218 * @arg @ref LL_DMAMUX_CHANNEL_4 01219 * @arg @ref LL_DMAMUX_CHANNEL_5 01220 * @arg @ref LL_DMAMUX_CHANNEL_6 01221 * @arg @ref LL_DMAMUX_CHANNEL_7 01222 * @arg @ref LL_DMAMUX_CHANNEL_8 01223 * @arg @ref LL_DMAMUX_CHANNEL_9 01224 * @arg @ref LL_DMAMUX_CHANNEL_10 01225 * @arg @ref LL_DMAMUX_CHANNEL_11 01226 * @arg @ref LL_DMAMUX_CHANNEL_12 01227 * @arg @ref LL_DMAMUX_CHANNEL_13 01228 * @arg @ref LL_DMAMUX_CHANNEL_14 01229 * @arg @ref LL_DMAMUX_CHANNEL_15 01230 * @retval State of bit (1 or 0). 01231 */ 01232 __STATIC_INLINE uint32_t LL_DMAMUX_IsEnabledSync(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel) 01233 { 01234 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01235 01236 return ((READ_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_SE) == (DMAMUX_CxCR_SE)) ? 1UL : 0UL); 01237 } 01238 01239 /** 01240 * @brief Set DMAMUX synchronization ID on DMAMUX Channel x. 01241 * @rmtoll CxCR SYNC_ID LL_DMAMUX_SetSyncID 01242 * @param DMAMUXx DMAMUXx Instance 01243 * @param Channel This parameter can be one of the following values: 01244 * @arg @ref LL_DMAMUX_CHANNEL_0 01245 * @arg @ref LL_DMAMUX_CHANNEL_1 01246 * @arg @ref LL_DMAMUX_CHANNEL_2 01247 * @arg @ref LL_DMAMUX_CHANNEL_3 01248 * @arg @ref LL_DMAMUX_CHANNEL_4 01249 * @arg @ref LL_DMAMUX_CHANNEL_5 01250 * @arg @ref LL_DMAMUX_CHANNEL_6 01251 * @arg @ref LL_DMAMUX_CHANNEL_7 01252 * @arg @ref LL_DMAMUX_CHANNEL_8 01253 * @arg @ref LL_DMAMUX_CHANNEL_9 01254 * @arg @ref LL_DMAMUX_CHANNEL_10 01255 * @arg @ref LL_DMAMUX_CHANNEL_11 01256 * @arg @ref LL_DMAMUX_CHANNEL_12 01257 * @arg @ref LL_DMAMUX_CHANNEL_13 01258 * @arg @ref LL_DMAMUX_CHANNEL_14 01259 * @arg @ref LL_DMAMUX_CHANNEL_15 01260 * @param SyncID This parameter can be one of the following values: 01261 * @arg @ref LL_DMAMUX1_SYNC_DMAMUX1_CH0_EVT 01262 * @arg @ref LL_DMAMUX1_SYNC_DMAMUX1_CH1_EVT 01263 * @arg @ref LL_DMAMUX1_SYNC_DMAMUX1_CH2_EVT 01264 * @arg @ref LL_DMAMUX1_SYNC_LPTIM1_OUT 01265 * @arg @ref LL_DMAMUX1_SYNC_LPTIM2_OUT 01266 * @arg @ref LL_DMAMUX1_SYNC_LPTIM3_OUT 01267 * @arg @ref LL_DMAMUX1_SYNC_EXTI0 01268 * @arg @ref LL_DMAMUX1_SYNC_TIM12_TRGO 01269 * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH0_EVT 01270 * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH1_EVT 01271 * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH2_EVT 01272 * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH3_EVT 01273 * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH4_EVT 01274 * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH5_EVT 01275 * @arg @ref LL_DMAMUX2_SYNC_LPUART1_RX_WKUP 01276 * @arg @ref LL_DMAMUX2_SYNC_LPUART1_TX_WKUP 01277 * @arg @ref LL_DMAMUX2_SYNC_LPTIM2_OUT 01278 * @arg @ref LL_DMAMUX2_SYNC_LPTIM3_OUT 01279 * @arg @ref LL_DMAMUX2_SYNC_I2C4_WKUP 01280 * @arg @ref LL_DMAMUX2_SYNC_SPI6_WKUP 01281 * @arg @ref LL_DMAMUX2_SYNC_COMP1_OUT 01282 * @arg @ref LL_DMAMUX2_SYNC_RTC_WKUP 01283 * @arg @ref LL_DMAMUX2_SYNC_EXTI0 01284 * @arg @ref LL_DMAMUX2_SYNC_EXTI2 01285 * @retval None 01286 */ 01287 __STATIC_INLINE void LL_DMAMUX_SetSyncID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel, uint32_t SyncID) 01288 { 01289 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01290 01291 MODIFY_REG(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_SYNC_ID, SyncID); 01292 } 01293 01294 /** 01295 * @brief Get DMAMUX synchronization ID on DMAMUX Channel x. 01296 * @rmtoll CxCR SYNC_ID LL_DMAMUX_GetSyncID 01297 * @param DMAMUXx DMAMUXx Instance 01298 * @param Channel This parameter can be one of the following values: 01299 * @arg @ref LL_DMAMUX_CHANNEL_0 01300 * @arg @ref LL_DMAMUX_CHANNEL_1 01301 * @arg @ref LL_DMAMUX_CHANNEL_2 01302 * @arg @ref LL_DMAMUX_CHANNEL_3 01303 * @arg @ref LL_DMAMUX_CHANNEL_4 01304 * @arg @ref LL_DMAMUX_CHANNEL_5 01305 * @arg @ref LL_DMAMUX_CHANNEL_6 01306 * @arg @ref LL_DMAMUX_CHANNEL_7 01307 * @arg @ref LL_DMAMUX_CHANNEL_8 01308 * @arg @ref LL_DMAMUX_CHANNEL_9 01309 * @arg @ref LL_DMAMUX_CHANNEL_10 01310 * @arg @ref LL_DMAMUX_CHANNEL_11 01311 * @arg @ref LL_DMAMUX_CHANNEL_12 01312 * @arg @ref LL_DMAMUX_CHANNEL_13 01313 * @arg @ref LL_DMAMUX_CHANNEL_14 01314 * @arg @ref LL_DMAMUX_CHANNEL_15 01315 * @retval Returned value can be one of the following values: 01316 * @arg @ref LL_DMAMUX1_SYNC_DMAMUX1_CH0_EVT 01317 * @arg @ref LL_DMAMUX1_SYNC_DMAMUX1_CH1_EVT 01318 * @arg @ref LL_DMAMUX1_SYNC_DMAMUX1_CH2_EVT 01319 * @arg @ref LL_DMAMUX1_SYNC_LPTIM1_OUT 01320 * @arg @ref LL_DMAMUX1_SYNC_LPTIM2_OUT 01321 * @arg @ref LL_DMAMUX1_SYNC_LPTIM3_OUT 01322 * @arg @ref LL_DMAMUX1_SYNC_EXTI0 01323 * @arg @ref LL_DMAMUX1_SYNC_TIM12_TRGO 01324 * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH0_EVT 01325 * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH1_EVT 01326 * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH2_EVT 01327 * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH3_EVT 01328 * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH4_EVT 01329 * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH5_EVT 01330 * @arg @ref LL_DMAMUX2_SYNC_LPUART1_RX_WKUP 01331 * @arg @ref LL_DMAMUX2_SYNC_LPUART1_TX_WKUP 01332 * @arg @ref LL_DMAMUX2_SYNC_LPTIM2_OUT 01333 * @arg @ref LL_DMAMUX2_SYNC_LPTIM3_OUT 01334 * @arg @ref LL_DMAMUX2_SYNC_I2C4_WKUP 01335 * @arg @ref LL_DMAMUX2_SYNC_SPI6_WKUP 01336 * @arg @ref LL_DMAMUX2_SYNC_COMP1_OUT 01337 * @arg @ref LL_DMAMUX2_SYNC_RTC_WKUP 01338 * @arg @ref LL_DMAMUX2_SYNC_EXTI0 01339 * @arg @ref LL_DMAMUX2_SYNC_EXTI2 01340 */ 01341 __STATIC_INLINE uint32_t LL_DMAMUX_GetSyncID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel) 01342 { 01343 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01344 01345 return (uint32_t)(READ_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_SYNC_ID)); 01346 } 01347 01348 /** 01349 * @brief Enable the Request Generator. 01350 * @rmtoll RGxCR GE LL_DMAMUX_EnableRequestGen 01351 * @param DMAMUXx DMAMUXx Instance 01352 * @param RequestGenChannel This parameter can be one of the following values: 01353 * @arg @ref LL_DMAMUX_REQ_GEN_0 01354 * @arg @ref LL_DMAMUX_REQ_GEN_1 01355 * @arg @ref LL_DMAMUX_REQ_GEN_2 01356 * @arg @ref LL_DMAMUX_REQ_GEN_3 01357 * @arg @ref LL_DMAMUX_REQ_GEN_4 01358 * @arg @ref LL_DMAMUX_REQ_GEN_5 01359 * @arg @ref LL_DMAMUX_REQ_GEN_6 01360 * @arg @ref LL_DMAMUX_REQ_GEN_7 01361 * @retval None 01362 */ 01363 __STATIC_INLINE void LL_DMAMUX_EnableRequestGen(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel) 01364 { 01365 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01366 01367 SET_BIT(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * (RequestGenChannel))))->RGCR, DMAMUX_RGxCR_GE); 01368 } 01369 01370 /** 01371 * @brief Disable the Request Generator. 01372 * @rmtoll RGxCR GE LL_DMAMUX_DisableRequestGen 01373 * @param DMAMUXx DMAMUXx Instance 01374 * @param RequestGenChannel This parameter can be one of the following values: 01375 * @arg @ref LL_DMAMUX_REQ_GEN_0 01376 * @arg @ref LL_DMAMUX_REQ_GEN_1 01377 * @arg @ref LL_DMAMUX_REQ_GEN_2 01378 * @arg @ref LL_DMAMUX_REQ_GEN_3 01379 * @retval None 01380 */ 01381 __STATIC_INLINE void LL_DMAMUX_DisableRequestGen(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel) 01382 { 01383 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01384 01385 CLEAR_BIT(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * (RequestGenChannel))))->RGCR, DMAMUX_RGxCR_GE); 01386 } 01387 01388 /** 01389 * @brief Check if the Request Generator is enabled or disabled. 01390 * @rmtoll RGxCR GE LL_DMAMUX_IsEnabledRequestGen 01391 * @param DMAMUXx DMAMUXx Instance 01392 * @param RequestGenChannel This parameter can be one of the following values: 01393 * @arg @ref LL_DMAMUX_REQ_GEN_0 01394 * @arg @ref LL_DMAMUX_REQ_GEN_1 01395 * @arg @ref LL_DMAMUX_REQ_GEN_2 01396 * @arg @ref LL_DMAMUX_REQ_GEN_3 01397 * @arg @ref LL_DMAMUX_REQ_GEN_4 01398 * @arg @ref LL_DMAMUX_REQ_GEN_5 01399 * @arg @ref LL_DMAMUX_REQ_GEN_6 01400 * @arg @ref LL_DMAMUX_REQ_GEN_7 01401 * @retval State of bit (1 or 0). 01402 */ 01403 __STATIC_INLINE uint32_t LL_DMAMUX_IsEnabledRequestGen(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel) 01404 { 01405 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01406 01407 return ((READ_BIT(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * RequestGenChannel)))->RGCR, DMAMUX_RGxCR_GE) == (DMAMUX_RGxCR_GE)) ? 1UL : 0UL); 01408 } 01409 01410 /** 01411 * @brief Set the polarity of the signal on which the DMA request is generated. 01412 * @rmtoll RGxCR GPOL LL_DMAMUX_SetRequestGenPolarity 01413 * @param DMAMUXx DMAMUXx Instance 01414 * @param RequestGenChannel This parameter can be one of the following values: 01415 * @arg @ref LL_DMAMUX_REQ_GEN_0 01416 * @arg @ref LL_DMAMUX_REQ_GEN_1 01417 * @arg @ref LL_DMAMUX_REQ_GEN_2 01418 * @arg @ref LL_DMAMUX_REQ_GEN_3 01419 * @arg @ref LL_DMAMUX_REQ_GEN_4 01420 * @arg @ref LL_DMAMUX_REQ_GEN_5 01421 * @arg @ref LL_DMAMUX_REQ_GEN_6 01422 * @arg @ref LL_DMAMUX_REQ_GEN_7 01423 * @param Polarity This parameter can be one of the following values: 01424 * @arg @ref LL_DMAMUX_REQ_GEN_NO_EVENT 01425 * @arg @ref LL_DMAMUX_REQ_GEN_POL_RISING 01426 * @arg @ref LL_DMAMUX_REQ_GEN_POL_FALLING 01427 * @arg @ref LL_DMAMUX_REQ_GEN_POL_RISING_FALLING 01428 * @retval None 01429 */ 01430 __STATIC_INLINE void LL_DMAMUX_SetRequestGenPolarity(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel, uint32_t Polarity) 01431 { 01432 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01433 01434 MODIFY_REG(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * RequestGenChannel)))->RGCR, DMAMUX_RGxCR_GPOL, Polarity); 01435 } 01436 01437 /** 01438 * @brief Get the polarity of the signal on which the DMA request is generated. 01439 * @rmtoll RGxCR GPOL LL_DMAMUX_GetRequestGenPolarity 01440 * @param DMAMUXx DMAMUXx Instance 01441 * @param RequestGenChannel This parameter can be one of the following values: 01442 * @arg @ref LL_DMAMUX_REQ_GEN_0 01443 * @arg @ref LL_DMAMUX_REQ_GEN_1 01444 * @arg @ref LL_DMAMUX_REQ_GEN_2 01445 * @arg @ref LL_DMAMUX_REQ_GEN_3 01446 * @arg @ref LL_DMAMUX_REQ_GEN_4 01447 * @arg @ref LL_DMAMUX_REQ_GEN_5 01448 * @arg @ref LL_DMAMUX_REQ_GEN_6 01449 * @arg @ref LL_DMAMUX_REQ_GEN_7 01450 * @retval Returned value can be one of the following values: 01451 * @arg @ref LL_DMAMUX_REQ_GEN_NO_EVENT 01452 * @arg @ref LL_DMAMUX_REQ_GEN_POL_RISING 01453 * @arg @ref LL_DMAMUX_REQ_GEN_POL_FALLING 01454 * @arg @ref LL_DMAMUX_REQ_GEN_POL_RISING_FALLING 01455 */ 01456 __STATIC_INLINE uint32_t LL_DMAMUX_GetRequestGenPolarity(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel) 01457 { 01458 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01459 01460 return (uint32_t)(READ_BIT(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * RequestGenChannel)))->RGCR, DMAMUX_RGxCR_GPOL)); 01461 } 01462 01463 /** 01464 * @brief Set the number of DMA request that will be autorized after a generation event. 01465 * @note This field can only be written when Generator is disabled. 01466 * @rmtoll RGxCR GNBREQ LL_DMAMUX_SetGenRequestNb 01467 * @param DMAMUXx DMAMUXx Instance 01468 * @param RequestGenChannel This parameter can be one of the following values: 01469 * @arg @ref LL_DMAMUX_REQ_GEN_0 01470 * @arg @ref LL_DMAMUX_REQ_GEN_1 01471 * @arg @ref LL_DMAMUX_REQ_GEN_2 01472 * @arg @ref LL_DMAMUX_REQ_GEN_3 01473 * @arg @ref LL_DMAMUX_REQ_GEN_4 01474 * @arg @ref LL_DMAMUX_REQ_GEN_5 01475 * @arg @ref LL_DMAMUX_REQ_GEN_6 01476 * @arg @ref LL_DMAMUX_REQ_GEN_7 01477 * @param RequestNb This parameter must be a value between Min_Data = 1 and Max_Data = 32. 01478 * @retval None 01479 */ 01480 __STATIC_INLINE void LL_DMAMUX_SetGenRequestNb(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel, uint32_t RequestNb) 01481 { 01482 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01483 01484 MODIFY_REG(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * RequestGenChannel)))->RGCR, DMAMUX_RGxCR_GNBREQ, (RequestNb - 1U) << DMAMUX_RGxCR_GNBREQ_Pos); 01485 } 01486 01487 /** 01488 * @brief Get the number of DMA request that will be autorized after a generation event. 01489 * @rmtoll RGxCR GNBREQ LL_DMAMUX_GetGenRequestNb 01490 * @param DMAMUXx DMAMUXx Instance 01491 * @param RequestGenChannel This parameter can be one of the following values: 01492 * @arg @ref LL_DMAMUX_REQ_GEN_0 01493 * @arg @ref LL_DMAMUX_REQ_GEN_1 01494 * @arg @ref LL_DMAMUX_REQ_GEN_2 01495 * @arg @ref LL_DMAMUX_REQ_GEN_3 01496 * @arg @ref LL_DMAMUX_REQ_GEN_4 01497 * @arg @ref LL_DMAMUX_REQ_GEN_5 01498 * @arg @ref LL_DMAMUX_REQ_GEN_6 01499 * @arg @ref LL_DMAMUX_REQ_GEN_7 01500 * @retval Between Min_Data = 1 and Max_Data = 32 01501 */ 01502 __STATIC_INLINE uint32_t LL_DMAMUX_GetGenRequestNb(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel) 01503 { 01504 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01505 01506 return (uint32_t)((READ_BIT(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * RequestGenChannel)))->RGCR, DMAMUX_RGxCR_GNBREQ) >> DMAMUX_RGxCR_GNBREQ_Pos) + 1U); 01507 } 01508 01509 /** 01510 * @brief Set DMAMUX external Request Signal ID on DMAMUX Request Generation Trigger Event Channel x. 01511 * @rmtoll RGxCR SIG_ID LL_DMAMUX_SetRequestSignalID 01512 * @param DMAMUXx DMAMUXx Instance 01513 * @param RequestGenChannel This parameter can be one of the following values: 01514 * @arg @ref LL_DMAMUX_REQ_GEN_0 01515 * @arg @ref LL_DMAMUX_REQ_GEN_1 01516 * @arg @ref LL_DMAMUX_REQ_GEN_2 01517 * @arg @ref LL_DMAMUX_REQ_GEN_3 01518 * @arg @ref LL_DMAMUX_REQ_GEN_4 01519 * @arg @ref LL_DMAMUX_REQ_GEN_5 01520 * @arg @ref LL_DMAMUX_REQ_GEN_6 01521 * @arg @ref LL_DMAMUX_REQ_GEN_7 01522 * @param RequestSignalID This parameter can be one of the following values: 01523 * @arg @ref LL_DMAMUX1_REQ_GEN_DMAMUX1_CH0_EVT 01524 * @arg @ref LL_DMAMUX1_REQ_GEN_DMAMUX1_CH1_EVT 01525 * @arg @ref LL_DMAMUX1_REQ_GEN_DMAMUX1_CH2_EVT 01526 * @arg @ref LL_DMAMUX1_REQ_GEN_LPTIM1_OUT 01527 * @arg @ref LL_DMAMUX1_REQ_GEN_LPTIM2_OUT 01528 * @arg @ref LL_DMAMUX1_REQ_GEN_LPTIM3_OUT 01529 * @arg @ref LL_DMAMUX1_REQ_GEN_EXTI0 01530 * @arg @ref LL_DMAMUX1_REQ_GEN_TIM12_TRGO 01531 * @arg @ref LL_DMAMUX2_REQ_GEN_DMAMUX2_CH0_EVT 01532 * @arg @ref LL_DMAMUX2_REQ_GEN_DMAMUX2_CH1_EVT 01533 * @arg @ref LL_DMAMUX2_REQ_GEN_DMAMUX2_CH2_EVT 01534 * @arg @ref LL_DMAMUX2_REQ_GEN_DMAMUX2_CH3_EVT 01535 * @arg @ref LL_DMAMUX2_REQ_GEN_DMAMUX2_CH4_EVT 01536 * @arg @ref LL_DMAMUX2_REQ_GEN_DMAMUX2_CH5_EVT 01537 * @arg @ref LL_DMAMUX2_REQ_GEN_DMAMUX2_CH6_EVT 01538 * @arg @ref LL_DMAMUX2_REQ_GEN_LPUART1_RX_WKUP 01539 * @arg @ref LL_DMAMUX2_REQ_GEN_LPUART1_TX_WKUP 01540 * @arg @ref LL_DMAMUX2_REQ_GEN_LPTIM2_WKUP 01541 * @arg @ref LL_DMAMUX2_REQ_GEN_LPTIM2_OUT 01542 * @arg @ref LL_DMAMUX2_REQ_GEN_LPTIM3_WKUP 01543 * @arg @ref LL_DMAMUX2_REQ_GEN_LPTIM3_OUT 01544 * @arg @ref LL_DMAMUX2_REQ_GEN_LPTIM4_WKUP (*) 01545 * @arg @ref LL_DMAMUX2_REQ_GEN_LPTIM5_WKUP (*) 01546 * @arg @ref LL_DMAMUX2_REQ_GEN_I2C4_WKUP 01547 * @arg @ref LL_DMAMUX2_REQ_GEN_SPI6_WKUP 01548 * @arg @ref LL_DMAMUX2_REQ_GEN_COMP1_OUT 01549 * @arg @ref LL_DMAMUX2_REQ_GEN_COMP2_OUT 01550 * @arg @ref LL_DMAMUX2_REQ_GEN_RTC_WKUP 01551 * @arg @ref LL_DMAMUX2_REQ_GEN_EXTI0 01552 * @arg @ref LL_DMAMUX2_REQ_GEN_EXTI2 01553 * @arg @ref LL_DMAMUX2_REQ_GEN_I2C4_IT_EVT 01554 * @arg @ref LL_DMAMUX2_REQ_GEN_SPI6_IT 01555 * @arg @ref LL_DMAMUX2_REQ_GEN_LPUART1_TX_IT 01556 * @arg @ref LL_DMAMUX2_REQ_GEN_LPUART1_RX_IT 01557 * @arg @ref LL_DMAMUX2_REQ_GEN_ADC3_IT (*) 01558 * @arg @ref LL_DMAMUX2_REQ_GEN_ADC3_AWD1_OUT (*) 01559 * @arg @ref LL_DMAMUX2_REQ_GEN_BDMA_CH0_IT 01560 * @arg @ref LL_DMAMUX2_REQ_GEN_BDMA_CH1_IT 01561 * @note (*) Availability depends on devices. 01562 * @retval None 01563 */ 01564 __STATIC_INLINE void LL_DMAMUX_SetRequestSignalID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel, uint32_t RequestSignalID) 01565 { 01566 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01567 01568 MODIFY_REG(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * RequestGenChannel)))->RGCR, DMAMUX_RGxCR_SIG_ID, RequestSignalID); 01569 } 01570 01571 /** 01572 * @brief Get DMAMUX external Request Signal ID set on DMAMUX Channel x. 01573 * @rmtoll RGxCR SIG_ID LL_DMAMUX_GetRequestSignalID 01574 * @param DMAMUXx DMAMUXx Instance 01575 * @param RequestGenChannel This parameter can be one of the following values: 01576 * @arg @ref LL_DMAMUX_REQ_GEN_0 01577 * @arg @ref LL_DMAMUX_REQ_GEN_1 01578 * @arg @ref LL_DMAMUX_REQ_GEN_2 01579 * @arg @ref LL_DMAMUX_REQ_GEN_3 01580 * @arg @ref LL_DMAMUX_REQ_GEN_4 01581 * @arg @ref LL_DMAMUX_REQ_GEN_5 01582 * @arg @ref LL_DMAMUX_REQ_GEN_6 01583 * @arg @ref LL_DMAMUX_REQ_GEN_7 01584 * @retval Returned value can be one of the following values: 01585 * @arg @ref LL_DMAMUX1_SYNC_DMAMUX1_CH0_EVT 01586 * @arg @ref LL_DMAMUX1_SYNC_DMAMUX1_CH1_EVT 01587 * @arg @ref LL_DMAMUX1_SYNC_DMAMUX1_CH2_EVT 01588 * @arg @ref LL_DMAMUX1_SYNC_LPTIM1_OUT 01589 * @arg @ref LL_DMAMUX1_SYNC_LPTIM2_OUT 01590 * @arg @ref LL_DMAMUX1_SYNC_LPTIM3_OUT 01591 * @arg @ref LL_DMAMUX1_SYNC_EXTI0 01592 * @arg @ref LL_DMAMUX1_SYNC_TIM12_TRGO 01593 * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH0_EVT 01594 * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH1_EVT 01595 * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH2_EVT 01596 * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH3_EVT 01597 * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH4_EVT 01598 * @arg @ref LL_DMAMUX2_SYNC_DMAMUX2_CH5_EVT 01599 * @arg @ref LL_DMAMUX2_SYNC_LPUART1_RX_WKUP 01600 * @arg @ref LL_DMAMUX2_SYNC_LPUART1_TX_WKUP 01601 * @arg @ref LL_DMAMUX2_SYNC_LPTIM2_OUT 01602 * @arg @ref LL_DMAMUX2_SYNC_LPTIM3_OUT 01603 * @arg @ref LL_DMAMUX2_SYNC_I2C4_WKUP 01604 * @arg @ref LL_DMAMUX2_SYNC_SPI6_WKUP 01605 * @arg @ref LL_DMAMUX2_SYNC_COMP1_OUT 01606 * @arg @ref LL_DMAMUX2_SYNC_RTC_WKUP 01607 * @arg @ref LL_DMAMUX2_SYNC_EXTI0 01608 * @arg @ref LL_DMAMUX2_SYNC_EXTI2 01609 */ 01610 __STATIC_INLINE uint32_t LL_DMAMUX_GetRequestSignalID(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel) 01611 { 01612 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01613 01614 return (uint32_t)(READ_BIT(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * RequestGenChannel)))->RGCR, DMAMUX_RGxCR_SIG_ID)); 01615 } 01616 01617 /** 01618 * @} 01619 */ 01620 01621 /** @defgroup DMAMUX_LL_EF_FLAG_Management FLAG_Management 01622 * @{ 01623 */ 01624 01625 /** 01626 * @brief Get Synchronization Event Overrun Flag Channel 0. 01627 * @rmtoll CSR SOF0 LL_DMAMUX_IsActiveFlag_SO0 01628 * @param DMAMUXx DMAMUXx DMAMUXx Instance 01629 * @retval State of bit (1 or 0). 01630 */ 01631 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO0(DMAMUX_Channel_TypeDef *DMAMUXx) 01632 { 01633 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01634 01635 return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF0) == (DMAMUX_CSR_SOF0)) ? 1UL : 0UL); 01636 } 01637 01638 /** 01639 * @brief Get Synchronization Event Overrun Flag Channel 1. 01640 * @rmtoll CSR SOF1 LL_DMAMUX_IsActiveFlag_SO1 01641 * @param DMAMUXx DMAMUXx DMAMUXx Instance 01642 * @retval State of bit (1 or 0). 01643 */ 01644 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO1(DMAMUX_Channel_TypeDef *DMAMUXx) 01645 { 01646 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01647 01648 return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF1) == (DMAMUX_CSR_SOF1)) ? 1UL : 0UL); 01649 } 01650 01651 /** 01652 * @brief Get Synchronization Event Overrun Flag Channel 2. 01653 * @rmtoll CSR SOF2 LL_DMAMUX_IsActiveFlag_SO2 01654 * @param DMAMUXx DMAMUXx DMAMUXx Instance 01655 * @retval State of bit (1 or 0). 01656 */ 01657 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO2(DMAMUX_Channel_TypeDef *DMAMUXx) 01658 { 01659 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01660 01661 return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF2) == (DMAMUX_CSR_SOF2)) ? 1UL : 0UL); 01662 } 01663 01664 /** 01665 * @brief Get Synchronization Event Overrun Flag Channel 3. 01666 * @rmtoll CSR SOF3 LL_DMAMUX_IsActiveFlag_SO3 01667 * @param DMAMUXx DMAMUXx DMAMUXx Instance 01668 * @retval State of bit (1 or 0). 01669 */ 01670 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO3(DMAMUX_Channel_TypeDef *DMAMUXx) 01671 { 01672 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01673 01674 return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF3) == (DMAMUX_CSR_SOF3)) ? 1UL : 0UL); 01675 } 01676 01677 /** 01678 * @brief Get Synchronization Event Overrun Flag Channel 4. 01679 * @rmtoll CSR SOF4 LL_DMAMUX_IsActiveFlag_SO4 01680 * @param DMAMUXx DMAMUXx DMAMUXx Instance 01681 * @retval State of bit (1 or 0). 01682 */ 01683 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO4(DMAMUX_Channel_TypeDef *DMAMUXx) 01684 { 01685 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01686 01687 return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF4) == (DMAMUX_CSR_SOF4)) ? 1UL : 0UL); 01688 } 01689 01690 /** 01691 * @brief Get Synchronization Event Overrun Flag Channel 5. 01692 * @rmtoll CSR SOF5 LL_DMAMUX_IsActiveFlag_SO5 01693 * @param DMAMUXx DMAMUXx DMAMUXx Instance 01694 * @retval State of bit (1 or 0). 01695 */ 01696 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO5(DMAMUX_Channel_TypeDef *DMAMUXx) 01697 { 01698 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01699 01700 return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF5) == (DMAMUX_CSR_SOF5)) ? 1UL : 0UL); 01701 } 01702 01703 /** 01704 * @brief Get Synchronization Event Overrun Flag Channel 6. 01705 * @rmtoll CSR SOF6 LL_DMAMUX_IsActiveFlag_SO6 01706 * @param DMAMUXx DMAMUXx DMAMUXx Instance 01707 * @retval State of bit (1 or 0). 01708 */ 01709 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO6(DMAMUX_Channel_TypeDef *DMAMUXx) 01710 { 01711 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01712 01713 return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF6) == (DMAMUX_CSR_SOF6)) ? 1UL : 0UL); 01714 } 01715 01716 /** 01717 * @brief Get Synchronization Event Overrun Flag Channel 7. 01718 * @rmtoll CSR SOF7 LL_DMAMUX_IsActiveFlag_SO7 01719 * @param DMAMUXx DMAMUXx DMAMUXx Instance 01720 * @retval State of bit (1 or 0). 01721 */ 01722 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO7(DMAMUX_Channel_TypeDef *DMAMUXx) 01723 { 01724 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01725 01726 return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF7) == (DMAMUX_CSR_SOF7)) ? 1UL : 0UL); 01727 } 01728 01729 /** 01730 * @brief Get Synchronization Event Overrun Flag Channel 8. 01731 * @rmtoll CSR SOF8 LL_DMAMUX_IsActiveFlag_SO8 01732 * @param DMAMUXx DMAMUXx DMAMUXx Instance 01733 * @retval State of bit (1 or 0). 01734 */ 01735 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO8(DMAMUX_Channel_TypeDef *DMAMUXx) 01736 { 01737 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01738 01739 return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF8) == (DMAMUX_CSR_SOF8)) ? 1UL : 0UL); 01740 } 01741 01742 /** 01743 * @brief Get Synchronization Event Overrun Flag Channel 9. 01744 * @rmtoll CSR SOF9 LL_DMAMUX_IsActiveFlag_SO9 01745 * @param DMAMUXx DMAMUXx DMAMUXx Instance 01746 * @retval State of bit (1 or 0). 01747 */ 01748 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO9(DMAMUX_Channel_TypeDef *DMAMUXx) 01749 { 01750 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01751 01752 return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF9) == (DMAMUX_CSR_SOF9)) ? 1UL : 0UL); 01753 } 01754 01755 /** 01756 * @brief Get Synchronization Event Overrun Flag Channel 10. 01757 * @rmtoll CSR SOF10 LL_DMAMUX_IsActiveFlag_SO10 01758 * @param DMAMUXx DMAMUXx DMAMUXx Instance 01759 * @retval State of bit (1 or 0). 01760 */ 01761 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO10(DMAMUX_Channel_TypeDef *DMAMUXx) 01762 { 01763 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01764 01765 return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF10) == (DMAMUX_CSR_SOF10)) ? 1UL : 0UL); 01766 } 01767 01768 /** 01769 * @brief Get Synchronization Event Overrun Flag Channel 11. 01770 * @rmtoll CSR SOF11 LL_DMAMUX_IsActiveFlag_SO11 01771 * @param DMAMUXx DMAMUXx DMAMUXx Instance 01772 * @retval State of bit (1 or 0). 01773 */ 01774 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO11(DMAMUX_Channel_TypeDef *DMAMUXx) 01775 { 01776 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01777 01778 return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF11) == (DMAMUX_CSR_SOF11)) ? 1UL : 0UL); 01779 } 01780 01781 /** 01782 * @brief Get Synchronization Event Overrun Flag Channel 12. 01783 * @rmtoll CSR SOF12 LL_DMAMUX_IsActiveFlag_SO12 01784 * @param DMAMUXx DMAMUXx DMAMUXx Instance 01785 * @retval State of bit (1 or 0). 01786 */ 01787 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO12(DMAMUX_Channel_TypeDef *DMAMUXx) 01788 { 01789 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01790 01791 return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF12) == (DMAMUX_CSR_SOF12)) ? 1UL : 0UL); 01792 } 01793 01794 /** 01795 * @brief Get Synchronization Event Overrun Flag Channel 13. 01796 * @rmtoll CSR SOF13 LL_DMAMUX_IsActiveFlag_SO13 01797 * @param DMAMUXx DMAMUXx DMAMUXx Instance 01798 * @retval State of bit (1 or 0). 01799 */ 01800 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO13(DMAMUX_Channel_TypeDef *DMAMUXx) 01801 { 01802 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01803 01804 return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF13) == (DMAMUX_CSR_SOF13)) ? 1UL : 0UL); 01805 } 01806 01807 /** 01808 * @brief Get Synchronization Event Overrun Flag Channel 14. 01809 * @rmtoll CSR SOF14 LL_DMAMUX_IsActiveFlag_SO14 01810 * @param DMAMUXx DMAMUXx DMAMUXx Instance 01811 * @retval State of bit (1 or 0). 01812 */ 01813 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO14(DMAMUX_Channel_TypeDef *DMAMUXx) 01814 { 01815 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01816 01817 return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF14) == (DMAMUX_CSR_SOF14)) ? 1UL : 0UL); 01818 } 01819 01820 /** 01821 * @brief Get Synchronization Event Overrun Flag Channel 15. 01822 * @rmtoll CSR SOF15 LL_DMAMUX_IsActiveFlag_SO15 01823 * @param DMAMUXx DMAMUXx DMAMUXx Instance 01824 * @retval State of bit (1 or 0). 01825 */ 01826 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_SO15(DMAMUX_Channel_TypeDef *DMAMUXx) 01827 { 01828 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01829 01830 return ((READ_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CSR, DMAMUX_CSR_SOF15) == (DMAMUX_CSR_SOF15)) ? 1UL : 0UL); 01831 } 01832 01833 /** 01834 * @brief Get Request Generator 0 Trigger Event Overrun Flag. 01835 * @rmtoll RGSR OF0 LL_DMAMUX_IsActiveFlag_RGO0 01836 * @param DMAMUXx DMAMUXx DMAMUXx Instance 01837 * @retval State of bit (1 or 0). 01838 */ 01839 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO0(DMAMUX_Channel_TypeDef *DMAMUXx) 01840 { 01841 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01842 01843 return ((READ_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGSR, DMAMUX_RGSR_OF0) == (DMAMUX_RGSR_OF0)) ? 1UL : 0UL); 01844 } 01845 01846 /** 01847 * @brief Get Request Generator 1 Trigger Event Overrun Flag. 01848 * @rmtoll RGSR OF1 LL_DMAMUX_IsActiveFlag_RGO1 01849 * @param DMAMUXx DMAMUXx DMAMUXx Instance 01850 * @retval State of bit (1 or 0). 01851 */ 01852 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO1(DMAMUX_Channel_TypeDef *DMAMUXx) 01853 { 01854 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01855 01856 return ((READ_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGSR, DMAMUX_RGSR_OF1) == (DMAMUX_RGSR_OF1)) ? 1UL : 0UL); 01857 } 01858 01859 /** 01860 * @brief Get Request Generator 2 Trigger Event Overrun Flag. 01861 * @rmtoll RGSR OF2 LL_DMAMUX_IsActiveFlag_RGO2 01862 * @param DMAMUXx DMAMUXx DMAMUXx Instance 01863 * @retval State of bit (1 or 0). 01864 */ 01865 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO2(DMAMUX_Channel_TypeDef *DMAMUXx) 01866 { 01867 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01868 01869 return ((READ_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGSR, DMAMUX_RGSR_OF2) == (DMAMUX_RGSR_OF2)) ? 1UL : 0UL); 01870 } 01871 01872 /** 01873 * @brief Get Request Generator 3 Trigger Event Overrun Flag. 01874 * @rmtoll RGSR OF3 LL_DMAMUX_IsActiveFlag_RGO3 01875 * @param DMAMUXx DMAMUXx DMAMUXx Instance 01876 * @retval State of bit (1 or 0). 01877 */ 01878 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO3(DMAMUX_Channel_TypeDef *DMAMUXx) 01879 { 01880 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01881 01882 return ((READ_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGSR, DMAMUX_RGSR_OF3) == (DMAMUX_RGSR_OF3)) ? 1UL : 0UL); 01883 } 01884 01885 /** 01886 * @brief Get Request Generator 4 Trigger Event Overrun Flag. 01887 * @rmtoll RGSR OF4 LL_DMAMUX_IsActiveFlag_RGO4 01888 * @param DMAMUXx DMAMUXx DMAMUXx Instance 01889 * @retval State of bit (1 or 0). 01890 */ 01891 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO4(DMAMUX_Channel_TypeDef *DMAMUXx) 01892 { 01893 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01894 01895 return ((READ_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGSR, DMAMUX_RGSR_OF4) == (DMAMUX_RGSR_OF4)) ? 1UL : 0UL); 01896 } 01897 01898 /** 01899 * @brief Get Request Generator 5 Trigger Event Overrun Flag. 01900 * @rmtoll RGSR OF5 LL_DMAMUX_IsActiveFlag_RGO5 01901 * @param DMAMUXx DMAMUXx DMAMUXx Instance 01902 * @retval State of bit (1 or 0). 01903 */ 01904 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO5(DMAMUX_Channel_TypeDef *DMAMUXx) 01905 { 01906 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01907 01908 return ((READ_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGSR, DMAMUX_RGSR_OF5) == (DMAMUX_RGSR_OF5)) ? 1UL : 0UL); 01909 } 01910 01911 /** 01912 * @brief Get Request Generator 6 Trigger Event Overrun Flag. 01913 * @rmtoll RGSR OF6 LL_DMAMUX_IsActiveFlag_RGO6 01914 * @param DMAMUXx DMAMUXx DMAMUXx Instance 01915 * @retval State of bit (1 or 0). 01916 */ 01917 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO6(DMAMUX_Channel_TypeDef *DMAMUXx) 01918 { 01919 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01920 01921 return ((READ_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGSR, DMAMUX_RGSR_OF6) == (DMAMUX_RGSR_OF6)) ? 1UL : 0UL); 01922 } 01923 01924 /** 01925 * @brief Get Request Generator 7 Trigger Event Overrun Flag. 01926 * @rmtoll RGSR OF7 LL_DMAMUX_IsActiveFlag_RGO7 01927 * @param DMAMUXx DMAMUXx DMAMUXx Instance 01928 * @retval State of bit (1 or 0). 01929 */ 01930 __STATIC_INLINE uint32_t LL_DMAMUX_IsActiveFlag_RGO7(DMAMUX_Channel_TypeDef *DMAMUXx) 01931 { 01932 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01933 01934 return ((READ_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGSR, DMAMUX_RGSR_OF7) == (DMAMUX_RGSR_OF7)) ? 1UL : 0UL); 01935 } 01936 01937 /** 01938 * @brief Clear Synchronization Event Overrun Flag Channel 0. 01939 * @rmtoll CFR CSOF0 LL_DMAMUX_ClearFlag_SO0 01940 * @param DMAMUXx DMAMUXx DMAMUXx Instance 01941 * @retval None 01942 */ 01943 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO0(DMAMUX_Channel_TypeDef *DMAMUXx) 01944 { 01945 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01946 01947 SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF0); 01948 } 01949 01950 /** 01951 * @brief Clear Synchronization Event Overrun Flag Channel 1. 01952 * @rmtoll CFR CSOF1 LL_DMAMUX_ClearFlag_SO1 01953 * @param DMAMUXx DMAMUXx DMAMUXx Instance 01954 * @retval None 01955 */ 01956 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO1(DMAMUX_Channel_TypeDef *DMAMUXx) 01957 { 01958 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01959 01960 SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF1); 01961 } 01962 01963 /** 01964 * @brief Clear Synchronization Event Overrun Flag Channel 2. 01965 * @rmtoll CFR CSOF2 LL_DMAMUX_ClearFlag_SO2 01966 * @param DMAMUXx DMAMUXx DMAMUXx Instance 01967 * @retval None 01968 */ 01969 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO2(DMAMUX_Channel_TypeDef *DMAMUXx) 01970 { 01971 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01972 01973 SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF2); 01974 } 01975 01976 /** 01977 * @brief Clear Synchronization Event Overrun Flag Channel 3. 01978 * @rmtoll CFR CSOF3 LL_DMAMUX_ClearFlag_SO3 01979 * @param DMAMUXx DMAMUXx DMAMUXx Instance 01980 * @retval None 01981 */ 01982 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO3(DMAMUX_Channel_TypeDef *DMAMUXx) 01983 { 01984 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01985 01986 SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF3); 01987 } 01988 01989 /** 01990 * @brief Clear Synchronization Event Overrun Flag Channel 4. 01991 * @rmtoll CFR CSOF4 LL_DMAMUX_ClearFlag_SO4 01992 * @param DMAMUXx DMAMUXx DMAMUXx Instance 01993 * @retval None 01994 */ 01995 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO4(DMAMUX_Channel_TypeDef *DMAMUXx) 01996 { 01997 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 01998 01999 SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF4); 02000 } 02001 02002 /** 02003 * @brief Clear Synchronization Event Overrun Flag Channel 5. 02004 * @rmtoll CFR CSOF5 LL_DMAMUX_ClearFlag_SO5 02005 * @param DMAMUXx DMAMUXx DMAMUXx Instance 02006 * @retval None 02007 */ 02008 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO5(DMAMUX_Channel_TypeDef *DMAMUXx) 02009 { 02010 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 02011 02012 SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF5); 02013 } 02014 02015 /** 02016 * @brief Clear Synchronization Event Overrun Flag Channel 6. 02017 * @rmtoll CFR CSOF6 LL_DMAMUX_ClearFlag_SO6 02018 * @param DMAMUXx DMAMUXx DMAMUXx Instance 02019 * @retval None 02020 */ 02021 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO6(DMAMUX_Channel_TypeDef *DMAMUXx) 02022 { 02023 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 02024 02025 SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF6); 02026 } 02027 02028 /** 02029 * @brief Clear Synchronization Event Overrun Flag Channel 7. 02030 * @rmtoll CFR CSOF7 LL_DMAMUX_ClearFlag_SO7 02031 * @param DMAMUXx DMAMUXx DMAMUXx Instance 02032 * @retval None 02033 */ 02034 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO7(DMAMUX_Channel_TypeDef *DMAMUXx) 02035 { 02036 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 02037 02038 SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF7); 02039 } 02040 02041 /** 02042 * @brief Clear Synchronization Event Overrun Flag Channel 8. 02043 * @rmtoll CFR CSOF8 LL_DMAMUX_ClearFlag_SO8 02044 * @param DMAMUXx DMAMUXx DMAMUXx Instance 02045 * @retval None 02046 */ 02047 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO8(DMAMUX_Channel_TypeDef *DMAMUXx) 02048 { 02049 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 02050 02051 SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF8); 02052 } 02053 02054 /** 02055 * @brief Clear Synchronization Event Overrun Flag Channel 9. 02056 * @rmtoll CFR CSOF9 LL_DMAMUX_ClearFlag_SO9 02057 * @param DMAMUXx DMAMUXx DMAMUXx Instance 02058 * @retval None 02059 */ 02060 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO9(DMAMUX_Channel_TypeDef *DMAMUXx) 02061 { 02062 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 02063 02064 SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF9); 02065 } 02066 02067 /** 02068 * @brief Clear Synchronization Event Overrun Flag Channel 10. 02069 * @rmtoll CFR CSOF10 LL_DMAMUX_ClearFlag_SO10 02070 * @param DMAMUXx DMAMUXx DMAMUXx Instance 02071 * @retval None 02072 */ 02073 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO10(DMAMUX_Channel_TypeDef *DMAMUXx) 02074 { 02075 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 02076 02077 SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF10); 02078 } 02079 02080 /** 02081 * @brief Clear Synchronization Event Overrun Flag Channel 11. 02082 * @rmtoll CFR CSOF11 LL_DMAMUX_ClearFlag_SO11 02083 * @param DMAMUXx DMAMUXx DMAMUXx Instance 02084 * @retval None 02085 */ 02086 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO11(DMAMUX_Channel_TypeDef *DMAMUXx) 02087 { 02088 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 02089 02090 SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF11); 02091 } 02092 02093 /** 02094 * @brief Clear Synchronization Event Overrun Flag Channel 12. 02095 * @rmtoll CFR CSOF12 LL_DMAMUX_ClearFlag_SO12 02096 * @param DMAMUXx DMAMUXx DMAMUXx Instance 02097 * @retval None 02098 */ 02099 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO12(DMAMUX_Channel_TypeDef *DMAMUXx) 02100 { 02101 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 02102 02103 SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF12); 02104 } 02105 02106 /** 02107 * @brief Clear Synchronization Event Overrun Flag Channel 13. 02108 * @rmtoll CFR CSOF13 LL_DMAMUX_ClearFlag_SO13 02109 * @param DMAMUXx DMAMUXx DMAMUXx Instance 02110 * @retval None 02111 */ 02112 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO13(DMAMUX_Channel_TypeDef *DMAMUXx) 02113 { 02114 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 02115 02116 SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF13); 02117 } 02118 02119 /** 02120 * @brief Clear Synchronization Event Overrun Flag Channel 14. 02121 * @rmtoll CFR CSOF14 LL_DMAMUX_ClearFlag_SO14 02122 * @param DMAMUXx DMAMUXx DMAMUXx Instance 02123 * @retval None 02124 */ 02125 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO14(DMAMUX_Channel_TypeDef *DMAMUXx) 02126 { 02127 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 02128 02129 SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF14); 02130 } 02131 02132 /** 02133 * @brief Clear Synchronization Event Overrun Flag Channel 15. 02134 * @rmtoll CFR CSOF15 LL_DMAMUX_ClearFlag_SO15 02135 * @param DMAMUXx DMAMUXx DMAMUXx Instance 02136 * @retval None 02137 */ 02138 __STATIC_INLINE void LL_DMAMUX_ClearFlag_SO15(DMAMUX_Channel_TypeDef *DMAMUXx) 02139 { 02140 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 02141 02142 SET_BIT(((DMAMUX_ChannelStatus_TypeDef *)(dmamux_base_addr + DMAMUX_CH_STATUS_OFFSET))->CFR, DMAMUX_CFR_CSOF15); 02143 } 02144 02145 /** 02146 * @brief Clear Request Generator 0 Trigger Event Overrun Flag. 02147 * @rmtoll RGCFR COF0 LL_DMAMUX_ClearFlag_RGO0 02148 * @param DMAMUXx DMAMUXx DMAMUXx Instance 02149 * @retval None 02150 */ 02151 __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO0(DMAMUX_Channel_TypeDef *DMAMUXx) 02152 { 02153 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 02154 02155 SET_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGCFR, DMAMUX_RGCFR_COF0); 02156 } 02157 02158 /** 02159 * @brief Clear Request Generator 1 Trigger Event Overrun Flag. 02160 * @rmtoll RGCFR COF1 LL_DMAMUX_ClearFlag_RGO1 02161 * @param DMAMUXx DMAMUXx DMAMUXx Instance 02162 * @retval None 02163 */ 02164 __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO1(DMAMUX_Channel_TypeDef *DMAMUXx) 02165 { 02166 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 02167 02168 SET_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGCFR, DMAMUX_RGCFR_COF1); 02169 } 02170 02171 /** 02172 * @brief Clear Request Generator 2 Trigger Event Overrun Flag. 02173 * @rmtoll RGCFR COF2 LL_DMAMUX_ClearFlag_RGO2 02174 * @param DMAMUXx DMAMUXx DMAMUXx Instance 02175 * @retval None 02176 */ 02177 __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO2(DMAMUX_Channel_TypeDef *DMAMUXx) 02178 { 02179 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 02180 02181 SET_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGCFR, DMAMUX_RGCFR_COF2); 02182 } 02183 02184 /** 02185 * @brief Clear Request Generator 3 Trigger Event Overrun Flag. 02186 * @rmtoll RGCFR COF3 LL_DMAMUX_ClearFlag_RGO3 02187 * @param DMAMUXx DMAMUXx DMAMUXx Instance 02188 * @retval None 02189 */ 02190 __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO3(DMAMUX_Channel_TypeDef *DMAMUXx) 02191 { 02192 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 02193 02194 SET_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGCFR, DMAMUX_RGCFR_COF3); 02195 } 02196 02197 /** 02198 * @brief Clear Request Generator 4 Trigger Event Overrun Flag. 02199 * @rmtoll RGCFR COF4 LL_DMAMUX_ClearFlag_RGO4 02200 * @param DMAMUXx DMAMUXx DMAMUXx Instance 02201 * @retval None 02202 */ 02203 __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO4(DMAMUX_Channel_TypeDef *DMAMUXx) 02204 { 02205 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 02206 02207 SET_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGCFR, DMAMUX_RGCFR_COF4); 02208 } 02209 02210 /** 02211 * @brief Clear Request Generator 5 Trigger Event Overrun Flag. 02212 * @rmtoll RGCFR COF5 LL_DMAMUX_ClearFlag_RGO5 02213 * @param DMAMUXx DMAMUXx DMAMUXx Instance 02214 * @retval None 02215 */ 02216 __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO5(DMAMUX_Channel_TypeDef *DMAMUXx) 02217 { 02218 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 02219 02220 SET_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGCFR, DMAMUX_RGCFR_COF5); 02221 } 02222 02223 /** 02224 * @brief Clear Request Generator 6 Trigger Event Overrun Flag. 02225 * @rmtoll RGCFR COF6 LL_DMAMUX_ClearFlag_RGO6 02226 * @param DMAMUXx DMAMUXx DMAMUXx Instance 02227 * @retval None 02228 */ 02229 __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO6(DMAMUX_Channel_TypeDef *DMAMUXx) 02230 { 02231 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 02232 02233 SET_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGCFR, DMAMUX_RGCFR_COF6); 02234 } 02235 02236 /** 02237 * @brief Clear Request Generator 7 Trigger Event Overrun Flag. 02238 * @rmtoll RGCFR COF7 LL_DMAMUX_ClearFlag_RGO7 02239 * @param DMAMUXx DMAMUXx DMAMUXx Instance 02240 * @retval None 02241 */ 02242 __STATIC_INLINE void LL_DMAMUX_ClearFlag_RGO7(DMAMUX_Channel_TypeDef *DMAMUXx) 02243 { 02244 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 02245 02246 SET_BIT(((DMAMUX_RequestGenStatus_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_STATUS_OFFSET))->RGCFR, DMAMUX_RGCFR_COF7); 02247 } 02248 02249 /** 02250 * @} 02251 */ 02252 02253 /** @defgroup DMAMUX_LL_EF_IT_Management IT_Management 02254 * @{ 02255 */ 02256 02257 /** 02258 * @brief Enable the Synchronization Event Overrun Interrupt on DMAMUX channel x. 02259 * @rmtoll CxCR SOIE LL_DMAMUX_EnableIT_SO 02260 * @param DMAMUXx DMAMUXx Instance 02261 * @param Channel This parameter can be one of the following values: 02262 * @arg @ref LL_DMAMUX_CHANNEL_0 02263 * @arg @ref LL_DMAMUX_CHANNEL_1 02264 * @arg @ref LL_DMAMUX_CHANNEL_2 02265 * @arg @ref LL_DMAMUX_CHANNEL_3 02266 * @arg @ref LL_DMAMUX_CHANNEL_4 02267 * @arg @ref LL_DMAMUX_CHANNEL_5 02268 * @arg @ref LL_DMAMUX_CHANNEL_6 02269 * @arg @ref LL_DMAMUX_CHANNEL_7 02270 * @arg @ref LL_DMAMUX_CHANNEL_8 02271 * @arg @ref LL_DMAMUX_CHANNEL_9 02272 * @arg @ref LL_DMAMUX_CHANNEL_10 02273 * @arg @ref LL_DMAMUX_CHANNEL_11 02274 * @arg @ref LL_DMAMUX_CHANNEL_12 02275 * @arg @ref LL_DMAMUX_CHANNEL_13 02276 * @arg @ref LL_DMAMUX_CHANNEL_14 02277 * @arg @ref LL_DMAMUX_CHANNEL_15 02278 * @retval None 02279 */ 02280 __STATIC_INLINE void LL_DMAMUX_EnableIT_SO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel) 02281 { 02282 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 02283 02284 SET_BIT(((DMAMUX_Channel_TypeDef *)((uint32_t)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel)))))->CCR, DMAMUX_CxCR_SOIE); 02285 } 02286 02287 /** 02288 * @brief Disable the Synchronization Event Overrun Interrupt on DMAMUX channel x. 02289 * @rmtoll CxCR SOIE LL_DMAMUX_DisableIT_SO 02290 * @param DMAMUXx DMAMUXx Instance 02291 * @param Channel This parameter can be one of the following values: 02292 * @arg @ref LL_DMAMUX_CHANNEL_0 02293 * @arg @ref LL_DMAMUX_CHANNEL_1 02294 * @arg @ref LL_DMAMUX_CHANNEL_2 02295 * @arg @ref LL_DMAMUX_CHANNEL_3 02296 * @arg @ref LL_DMAMUX_CHANNEL_4 02297 * @arg @ref LL_DMAMUX_CHANNEL_5 02298 * @arg @ref LL_DMAMUX_CHANNEL_6 02299 * @arg @ref LL_DMAMUX_CHANNEL_7 02300 * @arg @ref LL_DMAMUX_CHANNEL_8 02301 * @arg @ref LL_DMAMUX_CHANNEL_9 02302 * @arg @ref LL_DMAMUX_CHANNEL_10 02303 * @arg @ref LL_DMAMUX_CHANNEL_11 02304 * @arg @ref LL_DMAMUX_CHANNEL_12 02305 * @arg @ref LL_DMAMUX_CHANNEL_13 02306 * @arg @ref LL_DMAMUX_CHANNEL_14 02307 * @arg @ref LL_DMAMUX_CHANNEL_15 02308 * @retval None 02309 */ 02310 __STATIC_INLINE void LL_DMAMUX_DisableIT_SO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel) 02311 { 02312 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 02313 02314 CLEAR_BIT(((DMAMUX_Channel_TypeDef *)((uint32_t)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel)))))->CCR, DMAMUX_CxCR_SOIE); 02315 } 02316 02317 /** 02318 * @brief Check if the Synchronization Event Overrun Interrupt on DMAMUX channel x is enabled or disabled. 02319 * @rmtoll CxCR SOIE LL_DMAMUX_IsEnabledIT_SO 02320 * @param DMAMUXx DMAMUXx Instance 02321 * @param Channel This parameter can be one of the following values: 02322 * @arg @ref LL_DMAMUX_CHANNEL_0 02323 * @arg @ref LL_DMAMUX_CHANNEL_1 02324 * @arg @ref LL_DMAMUX_CHANNEL_2 02325 * @arg @ref LL_DMAMUX_CHANNEL_3 02326 * @arg @ref LL_DMAMUX_CHANNEL_4 02327 * @arg @ref LL_DMAMUX_CHANNEL_5 02328 * @arg @ref LL_DMAMUX_CHANNEL_6 02329 * @arg @ref LL_DMAMUX_CHANNEL_7 02330 * @arg @ref LL_DMAMUX_CHANNEL_8 02331 * @arg @ref LL_DMAMUX_CHANNEL_9 02332 * @arg @ref LL_DMAMUX_CHANNEL_10 02333 * @arg @ref LL_DMAMUX_CHANNEL_11 02334 * @arg @ref LL_DMAMUX_CHANNEL_12 02335 * @arg @ref LL_DMAMUX_CHANNEL_13 02336 * @arg @ref LL_DMAMUX_CHANNEL_14 02337 * @arg @ref LL_DMAMUX_CHANNEL_15 02338 * @retval State of bit (1 or 0). 02339 */ 02340 __STATIC_INLINE uint32_t LL_DMAMUX_IsEnabledIT_SO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t Channel) 02341 { 02342 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 02343 02344 return (READ_BIT(((DMAMUX_Channel_TypeDef *)(dmamux_base_addr + (DMAMUX_CCR_SIZE * (Channel))))->CCR, DMAMUX_CxCR_SOIE)); 02345 } 02346 02347 /** 02348 * @brief Enable the Request Generation Trigger Event Overrun Interrupt on DMAMUX channel x. 02349 * @rmtoll RGxCR OIE LL_DMAMUX_EnableIT_RGO 02350 * @param DMAMUXx DMAMUXx Instance 02351 * @param RequestGenChannel This parameter can be one of the following values: 02352 * @arg @ref LL_DMAMUX_REQ_GEN_0 02353 * @arg @ref LL_DMAMUX_REQ_GEN_1 02354 * @arg @ref LL_DMAMUX_REQ_GEN_2 02355 * @arg @ref LL_DMAMUX_REQ_GEN_3 02356 * @arg @ref LL_DMAMUX_REQ_GEN_4 02357 * @arg @ref LL_DMAMUX_REQ_GEN_5 02358 * @arg @ref LL_DMAMUX_REQ_GEN_6 02359 * @arg @ref LL_DMAMUX_REQ_GEN_7 02360 * @retval None 02361 */ 02362 __STATIC_INLINE void LL_DMAMUX_EnableIT_RGO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel) 02363 { 02364 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 02365 02366 SET_BIT(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * RequestGenChannel)))->RGCR, DMAMUX_RGxCR_OIE); 02367 } 02368 02369 /** 02370 * @brief Disable the Request Generation Trigger Event Overrun Interrupt on DMAMUX channel x. 02371 * @rmtoll RGxCR OIE LL_DMAMUX_DisableIT_RGO 02372 * @param DMAMUXx DMAMUXx Instance 02373 * @param RequestGenChannel This parameter can be one of the following values: 02374 * @arg @ref LL_DMAMUX_REQ_GEN_0 02375 * @arg @ref LL_DMAMUX_REQ_GEN_1 02376 * @arg @ref LL_DMAMUX_REQ_GEN_2 02377 * @arg @ref LL_DMAMUX_REQ_GEN_3 02378 * @arg @ref LL_DMAMUX_REQ_GEN_4 02379 * @arg @ref LL_DMAMUX_REQ_GEN_5 02380 * @arg @ref LL_DMAMUX_REQ_GEN_6 02381 * @arg @ref LL_DMAMUX_REQ_GEN_7 02382 * @retval None 02383 */ 02384 __STATIC_INLINE void LL_DMAMUX_DisableIT_RGO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel) 02385 { 02386 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 02387 02388 CLEAR_BIT(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * RequestGenChannel)))->RGCR, DMAMUX_RGxCR_OIE); 02389 } 02390 02391 /** 02392 * @brief Check if the Request Generation Trigger Event Overrun Interrupt on DMAMUX channel x is enabled or disabled. 02393 * @rmtoll RGxCR OIE LL_DMAMUX_IsEnabledIT_RGO 02394 * @param DMAMUXx DMAMUXx Instance 02395 * @param RequestGenChannel This parameter can be one of the following values: 02396 * @arg @ref LL_DMAMUX_REQ_GEN_0 02397 * @arg @ref LL_DMAMUX_REQ_GEN_1 02398 * @arg @ref LL_DMAMUX_REQ_GEN_2 02399 * @arg @ref LL_DMAMUX_REQ_GEN_3 02400 * @arg @ref LL_DMAMUX_REQ_GEN_4 02401 * @arg @ref LL_DMAMUX_REQ_GEN_5 02402 * @arg @ref LL_DMAMUX_REQ_GEN_6 02403 * @arg @ref LL_DMAMUX_REQ_GEN_7 02404 * @retval State of bit (1 or 0). 02405 */ 02406 __STATIC_INLINE uint32_t LL_DMAMUX_IsEnabledIT_RGO(DMAMUX_Channel_TypeDef *DMAMUXx, uint32_t RequestGenChannel) 02407 { 02408 uint32_t dmamux_base_addr = (uint32_t)DMAMUXx; 02409 02410 return ((READ_BIT(((DMAMUX_RequestGen_TypeDef *)(dmamux_base_addr + DMAMUX_REQ_GEN_OFFSET + (DMAMUX_RGCR_SIZE * RequestGenChannel)))->RGCR, DMAMUX_RGxCR_OIE) == (DMAMUX_RGxCR_OIE)) ? 1UL : 0UL); 02411 } 02412 02413 /** 02414 * @} 02415 */ 02416 02417 /** 02418 * @} 02419 */ 02420 02421 /** 02422 * @} 02423 */ 02424 02425 #endif /* DMAMUX1 || DMAMUX2 */ 02426 02427 /** 02428 * @} 02429 */ 02430 02431 #ifdef __cplusplus 02432 } 02433 #endif 02434 02435 #endif /* __STM32H7xx_LL_DMAMUX_H */ 02436