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