The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Wed Feb 20 20:53:29 2019 +0000
Revision:
172:65be27845400
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 172:65be27845400 1 /**
AnnaBridge 172:65be27845400 2 ******************************************************************************
AnnaBridge 172:65be27845400 3 * @file stm32h7xx_ll_mdma.h
AnnaBridge 172:65be27845400 4 * @author MCD Application Team
AnnaBridge 172:65be27845400 5 * @brief Header file of MDMA LL module.
AnnaBridge 172:65be27845400 6 ******************************************************************************
AnnaBridge 172:65be27845400 7 * @attention
AnnaBridge 172:65be27845400 8 *
AnnaBridge 172:65be27845400 9 * <h2><center>&copy; COPYRIGHT(c) 2017 STMicroelectronics.
AnnaBridge 172:65be27845400 10 * All rights reserved.</center></h2>
AnnaBridge 172:65be27845400 11 *
AnnaBridge 172:65be27845400 12 * This software component is licensed by ST under BSD 3-Clause license,
AnnaBridge 172:65be27845400 13 * the "License"; You may not use this file except in compliance with the
AnnaBridge 172:65be27845400 14 * License. You may obtain a copy of the License at:
AnnaBridge 172:65be27845400 15 * opensource.org/licenses/BSD-3-Clause
AnnaBridge 172:65be27845400 16 *
AnnaBridge 172:65be27845400 17 ******************************************************************************
AnnaBridge 172:65be27845400 18 */
AnnaBridge 172:65be27845400 19
AnnaBridge 172:65be27845400 20 /* Define to prevent recursive inclusion -------------------------------------*/
AnnaBridge 172:65be27845400 21 #ifndef STM32H7xx_LL_MDMA_H
AnnaBridge 172:65be27845400 22 #define STM32H7xx_LL_MDMA_H
AnnaBridge 172:65be27845400 23
AnnaBridge 172:65be27845400 24 #ifdef __cplusplus
AnnaBridge 172:65be27845400 25 extern "C" {
AnnaBridge 172:65be27845400 26 #endif
AnnaBridge 172:65be27845400 27
AnnaBridge 172:65be27845400 28 /* Includes ------------------------------------------------------------------*/
AnnaBridge 172:65be27845400 29 #include "stm32h7xx.h"
AnnaBridge 172:65be27845400 30
AnnaBridge 172:65be27845400 31 /** @addtogroup STM32H7xx_LL_Driver
AnnaBridge 172:65be27845400 32 * @{
AnnaBridge 172:65be27845400 33 */
AnnaBridge 172:65be27845400 34
AnnaBridge 172:65be27845400 35 #if defined (MDMA)
AnnaBridge 172:65be27845400 36
AnnaBridge 172:65be27845400 37 /** @defgroup MDMA_LL MDMA
AnnaBridge 172:65be27845400 38 * @{
AnnaBridge 172:65be27845400 39 */
AnnaBridge 172:65be27845400 40
AnnaBridge 172:65be27845400 41 /* Private types -------------------------------------------------------------*/
AnnaBridge 172:65be27845400 42 /* Private variables ---------------------------------------------------------*/
AnnaBridge 172:65be27845400 43 /** @defgroup MDMA_LL_Private_Variables MDMA Private Variables
AnnaBridge 172:65be27845400 44 * @{
AnnaBridge 172:65be27845400 45 */
AnnaBridge 172:65be27845400 46 /* Array used to get the MDMA channel register offset versus channel index LL_MDMA_CHANNEL_x */
AnnaBridge 172:65be27845400 47 static const uint32_t LL_MDMA_CH_OFFSET_TAB[] =
AnnaBridge 172:65be27845400 48 {
AnnaBridge 172:65be27845400 49 (uint32_t)(MDMA_Channel0_BASE - MDMA_BASE),
AnnaBridge 172:65be27845400 50 (uint32_t)(MDMA_Channel1_BASE - MDMA_BASE),
AnnaBridge 172:65be27845400 51 (uint32_t)(MDMA_Channel2_BASE - MDMA_BASE),
AnnaBridge 172:65be27845400 52 (uint32_t)(MDMA_Channel3_BASE - MDMA_BASE),
AnnaBridge 172:65be27845400 53 (uint32_t)(MDMA_Channel4_BASE - MDMA_BASE),
AnnaBridge 172:65be27845400 54 (uint32_t)(MDMA_Channel5_BASE - MDMA_BASE),
AnnaBridge 172:65be27845400 55 (uint32_t)(MDMA_Channel6_BASE - MDMA_BASE),
AnnaBridge 172:65be27845400 56 (uint32_t)(MDMA_Channel7_BASE - MDMA_BASE),
AnnaBridge 172:65be27845400 57 (uint32_t)(MDMA_Channel8_BASE - MDMA_BASE),
AnnaBridge 172:65be27845400 58 (uint32_t)(MDMA_Channel9_BASE - MDMA_BASE),
AnnaBridge 172:65be27845400 59 (uint32_t)(MDMA_Channel10_BASE - MDMA_BASE),
AnnaBridge 172:65be27845400 60 (uint32_t)(MDMA_Channel11_BASE - MDMA_BASE),
AnnaBridge 172:65be27845400 61 (uint32_t)(MDMA_Channel12_BASE - MDMA_BASE),
AnnaBridge 172:65be27845400 62 (uint32_t)(MDMA_Channel13_BASE - MDMA_BASE),
AnnaBridge 172:65be27845400 63 (uint32_t)(MDMA_Channel14_BASE - MDMA_BASE),
AnnaBridge 172:65be27845400 64 (uint32_t)(MDMA_Channel15_BASE - MDMA_BASE)
AnnaBridge 172:65be27845400 65 };
AnnaBridge 172:65be27845400 66
AnnaBridge 172:65be27845400 67 /**
AnnaBridge 172:65be27845400 68 * @}
AnnaBridge 172:65be27845400 69 */
AnnaBridge 172:65be27845400 70
AnnaBridge 172:65be27845400 71 /* Private constants ---------------------------------------------------------*/
AnnaBridge 172:65be27845400 72 /** @defgroup MDMA_LL_Private_Constants MDMA Private Constants
AnnaBridge 172:65be27845400 73 * @{
AnnaBridge 172:65be27845400 74 */
AnnaBridge 172:65be27845400 75 /**
AnnaBridge 172:65be27845400 76 * @}
AnnaBridge 172:65be27845400 77 */
AnnaBridge 172:65be27845400 78
AnnaBridge 172:65be27845400 79
AnnaBridge 172:65be27845400 80 /* Private macros ------------------------------------------------------------*/
AnnaBridge 172:65be27845400 81 /* Exported types ------------------------------------------------------------*/
AnnaBridge 172:65be27845400 82 #if defined(USE_FULL_LL_DRIVER)
AnnaBridge 172:65be27845400 83 /** @defgroup MDMA_LL_ES_INIT MDMA Exported Init structure
AnnaBridge 172:65be27845400 84 * @{
AnnaBridge 172:65be27845400 85 */
AnnaBridge 172:65be27845400 86 typedef struct
AnnaBridge 172:65be27845400 87 {
AnnaBridge 172:65be27845400 88 uint32_t SrcAddress; /*!< Specifies the transfer source address
AnnaBridge 172:65be27845400 89 This parameter must be a value between Min_Data = 0 and Max_Data = 0xFFFFFFFF.
AnnaBridge 172:65be27845400 90 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetSourceAddress() */
AnnaBridge 172:65be27845400 91
AnnaBridge 172:65be27845400 92 uint32_t DstAddress; /*!< Specifies the transfer destination address
AnnaBridge 172:65be27845400 93 This parameter must be a value between Min_Data = 0 and Max_Data = 0xFFFFFFFF.
AnnaBridge 172:65be27845400 94 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetDestinationAddress() */
AnnaBridge 172:65be27845400 95
AnnaBridge 172:65be27845400 96 uint32_t RequestMode; /*!< Specifies the request mode Hardware or Software.
AnnaBridge 172:65be27845400 97 This parameter can be a value of @ref MDMA_LL_EC_REQUEST_MODE
AnnaBridge 172:65be27845400 98 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetRequestMode() */
AnnaBridge 172:65be27845400 99
AnnaBridge 172:65be27845400 100 uint32_t TriggerMode; /*!< Specifies the transfer trigger mode.
AnnaBridge 172:65be27845400 101 This parameter can be a value of @ref MDMA_LL_EC_TRIGGER_MODE
AnnaBridge 172:65be27845400 102 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetTriggerMode() */
AnnaBridge 172:65be27845400 103
AnnaBridge 172:65be27845400 104 uint32_t HWTrigger; /*!< Specifies the HW transfer trigger used when RequestMode is HW.
AnnaBridge 172:65be27845400 105 This parameter can be a value of @ref MDMA_LL_EC_HW_TRIGGER_SELCTION
AnnaBridge 172:65be27845400 106 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetHWTrigger() */
AnnaBridge 172:65be27845400 107
AnnaBridge 172:65be27845400 108 uint32_t BlockDataLength; /*!< Specifies the length of a block transfer in bytes
AnnaBridge 172:65be27845400 109 This parameter must be a value between Min_Data = 0 and Max_Data = 0x00010000.
AnnaBridge 172:65be27845400 110 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetBlkDataLength() */
AnnaBridge 172:65be27845400 111
AnnaBridge 172:65be27845400 112 uint32_t BlockRepeatCount; /*!< Specifies the Block Repeat Count
AnnaBridge 172:65be27845400 113 This parameter must be a value between Min_Data = 0 and Max_Data = 0x00000FFF.
AnnaBridge 172:65be27845400 114 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetBlkRepeatCount() */
AnnaBridge 172:65be27845400 115
AnnaBridge 172:65be27845400 116 uint32_t BlockRepeatDestAddrUpdateMode; /*!< Specifies the block repeat destination address update mode.
AnnaBridge 172:65be27845400 117 This parameter can be a value of @ref MDMA_LL_EC_BLK_RPT_DEST_ADDR_UPDATE_MODE
AnnaBridge 172:65be27845400 118 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetBlkRepeatDestAddrUpdate() */
AnnaBridge 172:65be27845400 119
AnnaBridge 172:65be27845400 120 uint32_t BlockRepeatSrcAddrUpdateMode; /*!< Specifies the block repeat source address update mode.
AnnaBridge 172:65be27845400 121 This parameter can be a value of @ref MDMA_LL_EC_SRC_BLK_RPT_ADDR_UPDATE_MODE
AnnaBridge 172:65be27845400 122 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetBlkRepeatSrcAddrUpdate() */
AnnaBridge 172:65be27845400 123
AnnaBridge 172:65be27845400 124 uint32_t BlockRepeatDestAddrUpdateVal; /*!< Specifies the block repeat destination address update value.
AnnaBridge 172:65be27845400 125 This parameter can be a value Between 0 to 0x0000FFFF
AnnaBridge 172:65be27845400 126 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetBlkRptDestAddrUpdateValue() */
AnnaBridge 172:65be27845400 127
AnnaBridge 172:65be27845400 128 uint32_t BlockRepeatSrcAddrUpdateVal; /*!< Specifies the block repeat source address update value.
AnnaBridge 172:65be27845400 129 This parameter can be a value Between 0 to 0x0000FFFF
AnnaBridge 172:65be27845400 130 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetBlkRptSrcAddrUpdateValue() */
AnnaBridge 172:65be27845400 131
AnnaBridge 172:65be27845400 132 uint32_t LinkAddress; /*!< Specifies the linked list next transfer node address.
AnnaBridge 172:65be27845400 133 This parameter can be a value Between 0 to 0xFFFFFFFF
AnnaBridge 172:65be27845400 134 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetLinkAddress() */
AnnaBridge 172:65be27845400 135
AnnaBridge 172:65be27845400 136 uint32_t WordEndianess; /*!< Specifies the Word transfer endianness
AnnaBridge 172:65be27845400 137 This parameter can be a value of @ref MDMA_LL_EC_WORD_ENDIANNESS.
AnnaBridge 172:65be27845400 138 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetWordEndianness() */
AnnaBridge 172:65be27845400 139
AnnaBridge 172:65be27845400 140 uint32_t HalfWordEndianess; /*!< Specifies the Half Word transfer endianness
AnnaBridge 172:65be27845400 141 This parameter can be a value of @ref MDMA_LL_EC_HALFWORD_ENDIANNESS.
AnnaBridge 172:65be27845400 142 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetHalfWordEndianness() */
AnnaBridge 172:65be27845400 143
AnnaBridge 172:65be27845400 144 uint32_t ByteEndianess; /*!< Specifies the Byte transfer endianness
AnnaBridge 172:65be27845400 145 This parameter can be a value of @ref MDMA_LL_EC_BYTE_ENDIANNESS.
AnnaBridge 172:65be27845400 146 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetByteEndianness() */
AnnaBridge 172:65be27845400 147
AnnaBridge 172:65be27845400 148 uint32_t Priority; /*!< Specifies the channel priority level.
AnnaBridge 172:65be27845400 149 This parameter can be a value of @ref MDMA_LL_EC_PRIORITY
AnnaBridge 172:65be27845400 150 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetChannelPriorityLevel() */
AnnaBridge 172:65be27845400 151
AnnaBridge 172:65be27845400 152 uint32_t BufferableWriteMode; /*!< Specifies the transfer Bufferable Write Mode.
AnnaBridge 172:65be27845400 153 This parameter can be a value of @ref MDMA_LL_EC_BUFF_WRITE_MODE
AnnaBridge 172:65be27845400 154 This feature can be modified afterwards using unitary function @ref LL_MDMA_EnableBufferableWrMode()
AnnaBridge 172:65be27845400 155 and LL_MDMA_DisableBufferableWrMode */
AnnaBridge 172:65be27845400 156
AnnaBridge 172:65be27845400 157
AnnaBridge 172:65be27845400 158 uint32_t PaddingAlignment; /*!< Specifies the transfer Padding and Alignment.
AnnaBridge 172:65be27845400 159 This parameter can be a value of @ref MDMA_LL_EC_PADDING_ALIGNMENT_MODE
AnnaBridge 172:65be27845400 160 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetPaddingAlignment() */
AnnaBridge 172:65be27845400 161
AnnaBridge 172:65be27845400 162 uint32_t PackMode; /*!< Specifies the transfer Packing enabled or disabled.
AnnaBridge 172:65be27845400 163 This parameter can be a value of @ref MDMA_LL_EC_PACKING_MODE
AnnaBridge 172:65be27845400 164 This feature can be modified afterwards using unitary function @ref LL_MDMA_EnablePacking()
AnnaBridge 172:65be27845400 165 and LL_MDMA_DisablePacking() */
AnnaBridge 172:65be27845400 166
AnnaBridge 172:65be27845400 167 uint32_t BufferTransferLength; /*!< Specifies the length of a buffer transfer in bytes
AnnaBridge 172:65be27845400 168 This parameter must be a value between Min_Data = 0 and Max_Data = 0x0000007F.
AnnaBridge 172:65be27845400 169 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetBufferTransferLength() */
AnnaBridge 172:65be27845400 170
AnnaBridge 172:65be27845400 171 uint32_t DestBurst; /*!< Specifies the destination burst size.
AnnaBridge 172:65be27845400 172 This parameter can be a value of @ref MDMA_LL_EC_DEST_BURST
AnnaBridge 172:65be27845400 173 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetDestinationBurstSize() */
AnnaBridge 172:65be27845400 174
AnnaBridge 172:65be27845400 175 uint32_t SrctBurst; /*!< Specifies the source burst size.
AnnaBridge 172:65be27845400 176 This parameter can be a value of @ref MDMA_LL_EC_SRC_BURST
AnnaBridge 172:65be27845400 177 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetSourceBurstSize() */
AnnaBridge 172:65be27845400 178
AnnaBridge 172:65be27845400 179 uint32_t DestIncSize; /*!< Specifies the destination increment size.
AnnaBridge 172:65be27845400 180 This parameter can be a value of @ref MDMA_LL_EC_DEST_INC_OFFSET_SIZE
AnnaBridge 172:65be27845400 181 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetDestinationIncSize() */
AnnaBridge 172:65be27845400 182
AnnaBridge 172:65be27845400 183 uint32_t SrcIncSize; /*!< Specifies the source increment size.
AnnaBridge 172:65be27845400 184 This parameter can be a value of @ref MDMA_LL_EC_SRC_INC_OFFSET_SIZE
AnnaBridge 172:65be27845400 185 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetSourceIncSize() */
AnnaBridge 172:65be27845400 186
AnnaBridge 172:65be27845400 187 uint32_t DestDataSize; /*!< Specifies the destination data size.
AnnaBridge 172:65be27845400 188 This parameter can be a value of @ref MDMA_LL_EC_DEST_DATA_SIZE
AnnaBridge 172:65be27845400 189 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetDestinationDataSize() */
AnnaBridge 172:65be27845400 190
AnnaBridge 172:65be27845400 191 uint32_t SrcDataSize; /*!< Specifies the source data size.
AnnaBridge 172:65be27845400 192 This parameter can be a value of @ref MDMA_LL_EC_SRC_DATA_SIZE
AnnaBridge 172:65be27845400 193 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetSourceDataSize() */
AnnaBridge 172:65be27845400 194
AnnaBridge 172:65be27845400 195 uint32_t DestIncMode; /*!< Specifies the destination increment mode.
AnnaBridge 172:65be27845400 196 This parameter can be a value of @ref MDMA_LL_EC_DEST_INC_MODE
AnnaBridge 172:65be27845400 197 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetDestinationIncMode() */
AnnaBridge 172:65be27845400 198
AnnaBridge 172:65be27845400 199 uint32_t SrcIncMode; /*!< Specifies the source increment mode.
AnnaBridge 172:65be27845400 200 This parameter can be a value of @ref MDMA_LL_EC_SRC_INC_MODE
AnnaBridge 172:65be27845400 201 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetSourceIncMode() */
AnnaBridge 172:65be27845400 202
AnnaBridge 172:65be27845400 203
AnnaBridge 172:65be27845400 204 uint32_t DestBus; /*!< Specifies the destination transfer bus, System AXI or AHB/TCM bus.
AnnaBridge 172:65be27845400 205 This parameter can be a value of @ref MDMA_LL_EC_DEST_BUS
AnnaBridge 172:65be27845400 206 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetDestBusSelection() */
AnnaBridge 172:65be27845400 207
AnnaBridge 172:65be27845400 208 uint32_t SrcBus; /*!< Specifies the source transfer bus, System AXI or AHB/TCM bus.
AnnaBridge 172:65be27845400 209 This parameter can be a value of @ref MDMA_LL_EC_SRC_BUS
AnnaBridge 172:65be27845400 210 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetSrcBusSelection() */
AnnaBridge 172:65be27845400 211
AnnaBridge 172:65be27845400 212 uint32_t MaskAddress; /*!< Specifies the address to be updated (written) with MaskData after a request is served.
AnnaBridge 172:65be27845400 213 MaskAddress and MaskData could be used to automatically clear a peripheral flag when the request is served
AnnaBridge 172:65be27845400 214 This parameter can be a value Between 0 to 0xFFFFFFFF
AnnaBridge 172:65be27845400 215 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetMaskAddress() */
AnnaBridge 172:65be27845400 216
AnnaBridge 172:65be27845400 217 uint32_t MaskData; /*!< Specifies the value to be written to MaskAddress after a request is served.
AnnaBridge 172:65be27845400 218 MaskAddress and MaskData could be used to automatically clear a peripheral flag when the request is served
AnnaBridge 172:65be27845400 219 This parameter can be a value Between 0 to 0xFFFFFFFF
AnnaBridge 172:65be27845400 220 This feature can be modified afterwards using unitary function @ref LL_MDMA_SetMaskData() */
AnnaBridge 172:65be27845400 221
AnnaBridge 172:65be27845400 222 } LL_MDMA_InitTypeDef;
AnnaBridge 172:65be27845400 223
AnnaBridge 172:65be27845400 224 /**
AnnaBridge 172:65be27845400 225 * @brief LL MDMA linked list node structure definition
AnnaBridge 172:65be27845400 226 * @note The Linked list node allows to define a new MDMA configuration
AnnaBridge 172:65be27845400 227 * (CTCR ,CBNDTR ,CSAR ,CDAR ,CBRUR, CLAR, CTBR, CMAR and CMDR registers).
AnnaBridge 172:65be27845400 228 * When CLAR register is configured to a non NULL value , each time a transfer ends,
AnnaBridge 172:65be27845400 229 * a new configuration (linked list node) is automatically loaded from the address given in CLAR register.
AnnaBridge 172:65be27845400 230 */
AnnaBridge 172:65be27845400 231 typedef struct
AnnaBridge 172:65be27845400 232 {
AnnaBridge 172:65be27845400 233 __IO uint32_t CTCR; /*!< New CTCR register configuration for the given MDMA linked list node */
AnnaBridge 172:65be27845400 234 __IO uint32_t CBNDTR; /*!< New CBNDTR register configuration for the given MDMA linked list node */
AnnaBridge 172:65be27845400 235 __IO uint32_t CSAR; /*!< New CSAR register configuration for the given MDMA linked list node */
AnnaBridge 172:65be27845400 236 __IO uint32_t CDAR; /*!< New CDAR register configuration for the given MDMA linked list node */
AnnaBridge 172:65be27845400 237 __IO uint32_t CBRUR; /*!< New CBRUR register configuration for the given MDMA linked list node */
AnnaBridge 172:65be27845400 238 __IO uint32_t CLAR; /*!< New CLAR register configuration for the given MDMA linked list node */
AnnaBridge 172:65be27845400 239 __IO uint32_t CTBR; /*!< New CTBR register configuration for the given MDMA linked list node */
AnnaBridge 172:65be27845400 240 __IO uint32_t Reserved; /*!< Reserved register*/
AnnaBridge 172:65be27845400 241 __IO uint32_t CMAR; /*!< New CMAR register configuration for the given MDMA linked list node */
AnnaBridge 172:65be27845400 242 __IO uint32_t CMDR; /*!< New CMDR register configuration for the given MDMA linked list node */
AnnaBridge 172:65be27845400 243
AnnaBridge 172:65be27845400 244 }LL_MDMA_LinkNodeTypeDef;
AnnaBridge 172:65be27845400 245
AnnaBridge 172:65be27845400 246 /**
AnnaBridge 172:65be27845400 247 * @}
AnnaBridge 172:65be27845400 248 */
AnnaBridge 172:65be27845400 249 #endif /*USE_FULL_LL_DRIVER*/
AnnaBridge 172:65be27845400 250 /* Exported constants --------------------------------------------------------*/
AnnaBridge 172:65be27845400 251 /** @defgroup MDMA_LL_Exported_Constants MDMA Exported Constants
AnnaBridge 172:65be27845400 252 * @{
AnnaBridge 172:65be27845400 253 */
AnnaBridge 172:65be27845400 254
AnnaBridge 172:65be27845400 255 /** @defgroup MDMA_LL_EC_CHANNEL CHANNEL
AnnaBridge 172:65be27845400 256 * @{
AnnaBridge 172:65be27845400 257 */
AnnaBridge 172:65be27845400 258 #define LL_MDMA_CHANNEL_0 0x00000000U
AnnaBridge 172:65be27845400 259 #define LL_MDMA_CHANNEL_1 0x00000001U
AnnaBridge 172:65be27845400 260 #define LL_MDMA_CHANNEL_2 0x00000002U
AnnaBridge 172:65be27845400 261 #define LL_MDMA_CHANNEL_3 0x00000003U
AnnaBridge 172:65be27845400 262 #define LL_MDMA_CHANNEL_4 0x00000004U
AnnaBridge 172:65be27845400 263 #define LL_MDMA_CHANNEL_5 0x00000005U
AnnaBridge 172:65be27845400 264 #define LL_MDMA_CHANNEL_6 0x00000006U
AnnaBridge 172:65be27845400 265 #define LL_MDMA_CHANNEL_7 0x00000007U
AnnaBridge 172:65be27845400 266 #define LL_MDMA_CHANNEL_8 0x00000008U
AnnaBridge 172:65be27845400 267 #define LL_MDMA_CHANNEL_9 0x00000009U
AnnaBridge 172:65be27845400 268 #define LL_MDMA_CHANNEL_10 0x0000000AU
AnnaBridge 172:65be27845400 269 #define LL_MDMA_CHANNEL_11 0x0000000BU
AnnaBridge 172:65be27845400 270 #define LL_MDMA_CHANNEL_12 0x0000000CU
AnnaBridge 172:65be27845400 271 #define LL_MDMA_CHANNEL_13 0x0000000DU
AnnaBridge 172:65be27845400 272 #define LL_MDMA_CHANNEL_14 0x0000000EU
AnnaBridge 172:65be27845400 273 #define LL_MDMA_CHANNEL_15 0x0000000FU
AnnaBridge 172:65be27845400 274 #define LL_MDMA_CHANNEL_ALL 0xFFFF0000U
AnnaBridge 172:65be27845400 275 /**
AnnaBridge 172:65be27845400 276 * @}
AnnaBridge 172:65be27845400 277 */
AnnaBridge 172:65be27845400 278
AnnaBridge 172:65be27845400 279 /** @defgroup MDMA_LL_EC_WORD_ENDIANNESS Word Endianness
AnnaBridge 172:65be27845400 280 * @{
AnnaBridge 172:65be27845400 281 */
AnnaBridge 172:65be27845400 282 #define LL_MDMA_WORD_ENDIANNESS_PRESERVE 0x00000000U /*!< Little endianess preserved for words */
AnnaBridge 172:65be27845400 283 #define LL_MDMA_WORD_ENDIANNESS_EXCHANGE MDMA_CCR_WEX /*!< word order exchanged when destination data size is double word */
AnnaBridge 172:65be27845400 284
AnnaBridge 172:65be27845400 285 /**
AnnaBridge 172:65be27845400 286 * @}
AnnaBridge 172:65be27845400 287 */
AnnaBridge 172:65be27845400 288
AnnaBridge 172:65be27845400 289 /** @defgroup MDMA_LL_EC_HALFWORD_ENDIANNESS Half Word Endianness
AnnaBridge 172:65be27845400 290 * @{
AnnaBridge 172:65be27845400 291 */
AnnaBridge 172:65be27845400 292 #define LL_MDMA_HALFWORD_ENDIANNESS_PRESERVE 0x00000000U /*!< Little endianess preserved for half words */
AnnaBridge 172:65be27845400 293 #define LL_MDMA_HALFWORD_ENDIANNESS_EXCHANGE MDMA_CCR_HEX /*!< half word order exchanged when destination data size is word or double word */
AnnaBridge 172:65be27845400 294
AnnaBridge 172:65be27845400 295 /**
AnnaBridge 172:65be27845400 296 * @}
AnnaBridge 172:65be27845400 297 */
AnnaBridge 172:65be27845400 298
AnnaBridge 172:65be27845400 299 /** @defgroup MDMA_LL_EC_BYTE_ENDIANNESS Byte Endianness
AnnaBridge 172:65be27845400 300 * @{
AnnaBridge 172:65be27845400 301 */
AnnaBridge 172:65be27845400 302 #define LL_MDMA_BYTE_ENDIANNESS_PRESERVE 0x00000000U /*!< Little endianess preserved for bytes */
AnnaBridge 172:65be27845400 303 #define LL_MDMA_BYTE_ENDIANNESS_EXCHANGE MDMA_CCR_BEX /*!< byte order exchanged when destination data size is half word , word or double word */
AnnaBridge 172:65be27845400 304
AnnaBridge 172:65be27845400 305 /**
AnnaBridge 172:65be27845400 306 * @}
AnnaBridge 172:65be27845400 307 */
AnnaBridge 172:65be27845400 308
AnnaBridge 172:65be27845400 309 /** @defgroup MDMA_LL_EC_PRIORITY Transfer Priority level
AnnaBridge 172:65be27845400 310 * @{
AnnaBridge 172:65be27845400 311 */
AnnaBridge 172:65be27845400 312 #define LL_MDMA_PRIORITY_LOW 0x00000000U /*!< Priority level : Low */
AnnaBridge 172:65be27845400 313 #define LL_MDMA_PRIORITY_MEDIUM MDMA_CCR_PL_0 /*!< Priority level : Medium */
AnnaBridge 172:65be27845400 314 #define LL_MDMA_PRIORITY_HIGH MDMA_CCR_PL_1 /*!< Priority level : High */
AnnaBridge 172:65be27845400 315 #define LL_MDMA_PRIORITY_VERYHIGH MDMA_CCR_PL /*!< Priority level : Very_High */
AnnaBridge 172:65be27845400 316 /**
AnnaBridge 172:65be27845400 317 * @}
AnnaBridge 172:65be27845400 318 */
AnnaBridge 172:65be27845400 319
AnnaBridge 172:65be27845400 320 /** @defgroup MDMA_LL_EC_BUFF_WRITE_MODE Bufferable Write Mode
AnnaBridge 172:65be27845400 321 * @{
AnnaBridge 172:65be27845400 322 */
AnnaBridge 172:65be27845400 323 #define LL_MDMA_BUFF_WRITE_DISABLE 0x00000000U /*!< destination write operation is non-bufferable */
AnnaBridge 172:65be27845400 324 #define LL_MDMA_BUFF_WRITE_ENABLE MDMA_CTCR_BWM /*!< destination write operation is bufferable */
AnnaBridge 172:65be27845400 325 /**
AnnaBridge 172:65be27845400 326 * @}
AnnaBridge 172:65be27845400 327 */
AnnaBridge 172:65be27845400 328
AnnaBridge 172:65be27845400 329 /** @defgroup MDMA_LL_EC_REQUEST_MODE Request Mode
AnnaBridge 172:65be27845400 330 * @{
AnnaBridge 172:65be27845400 331 */
AnnaBridge 172:65be27845400 332 #define LL_MDMA_REQUEST_MODE_HW 0x00000000U /*!< Request mode is Hardware */
AnnaBridge 172:65be27845400 333 #define LL_MDMA_REQUEST_MODE_SW MDMA_CTCR_SWRM /*!< Request mode is Software */
AnnaBridge 172:65be27845400 334 /**
AnnaBridge 172:65be27845400 335 * @}
AnnaBridge 172:65be27845400 336 */
AnnaBridge 172:65be27845400 337
AnnaBridge 172:65be27845400 338 /** @defgroup MDMA_LL_EC_TRIGGER_MODE Trigger Mode
AnnaBridge 172:65be27845400 339 * @{
AnnaBridge 172:65be27845400 340 */
AnnaBridge 172:65be27845400 341 #define LL_MDMA_BUFFER_TRANSFER 0x00000000U /*!< Each MDMA request (SW or HW) triggers a buffer transfer */
AnnaBridge 172:65be27845400 342 #define LL_MDMA_BLOCK_TRANSFER MDMA_CTCR_TRGM_0 /*!< Each MDMA request (SW or HW) triggers a block transfer */
AnnaBridge 172:65be27845400 343 #define LL_MDMA_REPEAT_BLOCK_TRANSFER MDMA_CTCR_TRGM_1 /*!< Each MDMA request (SW or HW) triggers a repeated block transfer */
AnnaBridge 172:65be27845400 344 #define LL_MDMA_FULL_TRANSFER MDMA_CTCR_TRGM /*!< Each MDMA request (SW or HW) triggers a Full transfer or a linked list transfer if any */
AnnaBridge 172:65be27845400 345 /**
AnnaBridge 172:65be27845400 346 * @}
AnnaBridge 172:65be27845400 347 */
AnnaBridge 172:65be27845400 348
AnnaBridge 172:65be27845400 349 /** @defgroup MDMA_LL_EC_PADDING_ALIGNMENT_MODE Padding Alignment Mode
AnnaBridge 172:65be27845400 350 * @{
AnnaBridge 172:65be27845400 351 */
AnnaBridge 172:65be27845400 352 #define LL_MDMA_DATAALIGN_RIGHT 0x00000000U /*!< Right Aligned, padded w/ 0s (default) */
AnnaBridge 172:65be27845400 353 #define LL_MDMA_DATAALIGN_RIGHT_SIGNED MDMA_CTCR_PAM_0 /*!< Right Aligned, Sign extended ,
AnnaBridge 172:65be27845400 354 Note : this mode is allowed only if the Source data size smaller than Destination data size */
AnnaBridge 172:65be27845400 355 #define LL_MDMA_DATAALIGN_LEFT MDMA_CTCR_PAM_1 /*!< Left Aligned (padded with 0s) */
AnnaBridge 172:65be27845400 356 /**
AnnaBridge 172:65be27845400 357 * @}
AnnaBridge 172:65be27845400 358 */
AnnaBridge 172:65be27845400 359
AnnaBridge 172:65be27845400 360 /** @defgroup MDMA_LL_EC_PACKING_MODE Transfer Packing
AnnaBridge 172:65be27845400 361 * @{
AnnaBridge 172:65be27845400 362 */
AnnaBridge 172:65be27845400 363 #define LL_MDMA_PACK_DISABLE 0x00000000U /*!< Packing disabled */
AnnaBridge 172:65be27845400 364 #define LL_MDMA_PACK_ENABLE MDMA_CTCR_PKE /*!< Packing enabled */
AnnaBridge 172:65be27845400 365 /**
AnnaBridge 172:65be27845400 366 * @}
AnnaBridge 172:65be27845400 367 */
AnnaBridge 172:65be27845400 368
AnnaBridge 172:65be27845400 369 /** @defgroup MDMA_LL_EC_DEST_BURST Transfer Destination Burst
AnnaBridge 172:65be27845400 370 * @{
AnnaBridge 172:65be27845400 371 */
AnnaBridge 172:65be27845400 372 #define LL_MDMA_DEST_BURST_SINGLE 0x00000000U /*!< Single transfer */
AnnaBridge 172:65be27845400 373 #define LL_MDMA_DEST_BURST_2BEATS MDMA_CTCR_DBURST_0 /*!< Burst 2 beats */
AnnaBridge 172:65be27845400 374 #define LL_MDMA_DEST_BURST_4BEATS MDMA_CTCR_DBURST_1 /*!< Burst 4 beats */
AnnaBridge 172:65be27845400 375 #define LL_MDMA_DEST_BURST_8BEATS (MDMA_CTCR_DBURST_0 | MDMA_CTCR_DBURST_1) /*!< Burst 8 beats */
AnnaBridge 172:65be27845400 376 #define LL_MDMA_DEST_BURST_16BEATS MDMA_CTCR_DBURST_2 /*!< Burst 16 beats */
AnnaBridge 172:65be27845400 377 #define LL_MDMA_DEST_BURST_32BEATS (MDMA_CTCR_DBURST_0 | MDMA_CTCR_DBURST_2) /*!< Burst 32 beats */
AnnaBridge 172:65be27845400 378 #define LL_MDMA_DEST_BURST_64BEATS (MDMA_CTCR_DBURST_1 | MDMA_CTCR_DBURST_2) /*!< Burst 64 beats */
AnnaBridge 172:65be27845400 379 #define LL_MDMA_DEST_BURST_128BEATS (MDMA_CTCR_DBURST) /*!< Burst 128 beats */
AnnaBridge 172:65be27845400 380 /**
AnnaBridge 172:65be27845400 381 * @}
AnnaBridge 172:65be27845400 382 */
AnnaBridge 172:65be27845400 383
AnnaBridge 172:65be27845400 384 /** @defgroup MDMA_LL_EC_SRC_BURST Transfer Source Burst
AnnaBridge 172:65be27845400 385 * @{
AnnaBridge 172:65be27845400 386 */
AnnaBridge 172:65be27845400 387 #define LL_MDMA_SRC_BURST_SINGLE 0x00000000U /*!< Single transfer */
AnnaBridge 172:65be27845400 388 #define LL_MDMA_SRC_BURST_2BEATS MDMA_CTCR_SBURST_0 /*!< Burst 2 beats */
AnnaBridge 172:65be27845400 389 #define LL_MDMA_SRC_BURST_4BEATS MDMA_CTCR_SBURST_1 /*!< Burst 4 beats */
AnnaBridge 172:65be27845400 390 #define LL_MDMA_SRC_BURST_8BEATS (MDMA_CTCR_SBURST_0 | MDMA_CTCR_SBURST_1) /*!< Burst 8 beats */
AnnaBridge 172:65be27845400 391 #define LL_MDMA_SRC_BURST_16BEATS MDMA_CTCR_SBURST_2 /*!< Burst 16 beats */
AnnaBridge 172:65be27845400 392 #define LL_MDMA_SRC_BURST_32BEATS (MDMA_CTCR_SBURST_0 | MDMA_CTCR_SBURST_2) /*!< Burst 32 beats */
AnnaBridge 172:65be27845400 393 #define LL_MDMA_SRC_BURST_64BEATS (MDMA_CTCR_SBURST_1 | MDMA_CTCR_SBURST_2) /*!< Burst 64 beats */
AnnaBridge 172:65be27845400 394 #define LL_MDMA_SRC_BURST_128BEATS MDMA_CTCR_SBURST /*!< Burst 128 beats */
AnnaBridge 172:65be27845400 395 /**
AnnaBridge 172:65be27845400 396 * @}
AnnaBridge 172:65be27845400 397 */
AnnaBridge 172:65be27845400 398
AnnaBridge 172:65be27845400 399 /** @defgroup MDMA_LL_EC_DEST_INC_OFFSET_SIZE Destination Increment Offset Size
AnnaBridge 172:65be27845400 400 * @{
AnnaBridge 172:65be27845400 401 */
AnnaBridge 172:65be27845400 402 #define LL_MDMA_DEST_INC_OFFSET_BYTE 0x00000000U /*!< offset is Byte (8-bit) */
AnnaBridge 172:65be27845400 403 #define LL_MDMA_DEST_INC_OFFSET_HALFWORD MDMA_CTCR_DINCOS_0 /*!< offset is Half Word (16-bit) */
AnnaBridge 172:65be27845400 404 #define LL_MDMA_DEST_INC_OFFSET_WORD MDMA_CTCR_DINCOS_1 /*!< offset is Word (32-bit) */
AnnaBridge 172:65be27845400 405 #define LL_MDMA_DEST_INC_OFFSET_DOUBLEWORD MDMA_CTCR_DINCOS /*!< offset is Double Word (64-bit) */
AnnaBridge 172:65be27845400 406 /**
AnnaBridge 172:65be27845400 407 * @}
AnnaBridge 172:65be27845400 408 */
AnnaBridge 172:65be27845400 409
AnnaBridge 172:65be27845400 410 /** @defgroup MDMA_LL_EC_SRC_INC_OFFSET_SIZE Source Increment Offset Size
AnnaBridge 172:65be27845400 411 * @{
AnnaBridge 172:65be27845400 412 */
AnnaBridge 172:65be27845400 413 #define LL_MDMA_SRC_INC_OFFSET_BYTE 0x00000000U /*!< offset is Byte (8-bit) */
AnnaBridge 172:65be27845400 414 #define LL_MDMA_SRC_INC_OFFSET_HALFWORD MDMA_CTCR_SINCOS_0 /*!< offset is Half Word (16-bit) */
AnnaBridge 172:65be27845400 415 #define LL_MDMA_SRC_INC_OFFSET_WORD MDMA_CTCR_SINCOS_1 /*!< offset is Word (32-bit) */
AnnaBridge 172:65be27845400 416 #define LL_MDMA_SRC_INC_OFFSET_DOUBLEWORD MDMA_CTCR_SINCOS /*!< offset is Double Word (64-bit) */
AnnaBridge 172:65be27845400 417 /**
AnnaBridge 172:65be27845400 418 * @}
AnnaBridge 172:65be27845400 419 */
AnnaBridge 172:65be27845400 420
AnnaBridge 172:65be27845400 421 /** @defgroup MDMA_LL_EC_DEST_DATA_SIZE Destination Data Size
AnnaBridge 172:65be27845400 422 * @{
AnnaBridge 172:65be27845400 423 */
AnnaBridge 172:65be27845400 424 #define LL_MDMA_DEST_DATA_SIZE_BYTE 0x00000000U /*!< Destination data size is Byte */
AnnaBridge 172:65be27845400 425 #define LL_MDMA_DEST_DATA_SIZE_HALFWORD MDMA_CTCR_DSIZE_0 /*!< Destination data size is half word */
AnnaBridge 172:65be27845400 426 #define LL_MDMA_DEST_DATA_SIZE_WORD MDMA_CTCR_DSIZE_1 /*!< Destination data size is word */
AnnaBridge 172:65be27845400 427 #define LL_MDMA_DEST_DATA_SIZE_DOUBLEWORD MDMA_CTCR_DSIZE /*!< Destination data size is double word */
AnnaBridge 172:65be27845400 428 /**
AnnaBridge 172:65be27845400 429 * @}
AnnaBridge 172:65be27845400 430 */
AnnaBridge 172:65be27845400 431
AnnaBridge 172:65be27845400 432 /** @defgroup MDMA_LL_EC_SRC_DATA_SIZE Source Data Size
AnnaBridge 172:65be27845400 433 * @{
AnnaBridge 172:65be27845400 434 */
AnnaBridge 172:65be27845400 435 #define LL_MDMA_SRC_DATA_SIZE_BYTE 0x00000000U /*!< Source data size is Byte */
AnnaBridge 172:65be27845400 436 #define LL_MDMA_SRC_DATA_SIZE_HALFWORD MDMA_CTCR_SSIZE_0 /*!< Source data size is half word */
AnnaBridge 172:65be27845400 437 #define LL_MDMA_SRC_DATA_SIZE_WORD MDMA_CTCR_SSIZE_1 /*!< Source data size is word */
AnnaBridge 172:65be27845400 438 #define LL_MDMA_SRC_DATA_SIZE_DOUBLEWORD MDMA_CTCR_SSIZE /*!< Source data size is double word */
AnnaBridge 172:65be27845400 439 /**
AnnaBridge 172:65be27845400 440 * @}
AnnaBridge 172:65be27845400 441 */
AnnaBridge 172:65be27845400 442
AnnaBridge 172:65be27845400 443 /** @defgroup MDMA_LL_EC_DEST_INC_MODE Destination Increment Mode
AnnaBridge 172:65be27845400 444 * @{
AnnaBridge 172:65be27845400 445 */
AnnaBridge 172:65be27845400 446 #define LL_MDMA_DEST_FIXED 0x00000000U /*!< Destination address pointer is fixed */
AnnaBridge 172:65be27845400 447 #define LL_MDMA_DEST_INCREMENT MDMA_CTCR_DINC_1 /*!< Destination address pointer is incremented after each data transfer */
AnnaBridge 172:65be27845400 448 #define LL_MDMA_DEST_DECREMENT MDMA_CTCR_DINC /*!< Destination address pointer is decremented after each data transfer */
AnnaBridge 172:65be27845400 449 /**
AnnaBridge 172:65be27845400 450 * @}
AnnaBridge 172:65be27845400 451 */
AnnaBridge 172:65be27845400 452
AnnaBridge 172:65be27845400 453 /** @defgroup MDMA_LL_EC_SRC_INC_MODE Source Increment Mode
AnnaBridge 172:65be27845400 454 * @{
AnnaBridge 172:65be27845400 455 */
AnnaBridge 172:65be27845400 456 #define LL_MDMA_SRC_FIXED 0x00000000U /*!< Destination address pointer is fixed */
AnnaBridge 172:65be27845400 457 #define LL_MDMA_SRC_INCREMENT MDMA_CTCR_SINC_1 /*!< Destination address pointer is incremented after each data transfer */
AnnaBridge 172:65be27845400 458 #define LL_MDMA_SRC_DECREMENT MDMA_CTCR_SINC /*!< Destination address pointer is decremented after each data transfer */
AnnaBridge 172:65be27845400 459 /**
AnnaBridge 172:65be27845400 460 * @}
AnnaBridge 172:65be27845400 461 */
AnnaBridge 172:65be27845400 462
AnnaBridge 172:65be27845400 463 /** @defgroup MDMA_LL_EC_BLK_RPT_DEST_ADDR_UPDATE_MODE Block Repeat Destination address Update Mode
AnnaBridge 172:65be27845400 464 * @{
AnnaBridge 172:65be27845400 465 */
AnnaBridge 172:65be27845400 466 #define LL_MDMA_BLK_RPT_DEST_ADDR_INCREMENT 0x00000000U /*!< Destination address pointer is incremented after each block transfer by Destination Update Value*/
AnnaBridge 172:65be27845400 467 #define LL_MDMA_BLK_RPT_DEST_ADDR_DECREMENT MDMA_CBNDTR_BRDUM /*!< Destination address pointer is decremented after each block transfer by Destination Update Value*/
AnnaBridge 172:65be27845400 468 /**
AnnaBridge 172:65be27845400 469 * @}
AnnaBridge 172:65be27845400 470 */
AnnaBridge 172:65be27845400 471
AnnaBridge 172:65be27845400 472 /** @defgroup MDMA_LL_EC_SRC_BLK_RPT_ADDR_UPDATE_MODE Source Block Repeat address Update Mode
AnnaBridge 172:65be27845400 473 * @{
AnnaBridge 172:65be27845400 474 */
AnnaBridge 172:65be27845400 475 #define LL_MDMA_BLK_RPT_SRC_ADDR_INCREMENT 0x00000000U /*!< Source address pointer is incremented after each block transfer by Source Update Value*/
AnnaBridge 172:65be27845400 476 #define LL_MDMA_BLK_RPT_SRC_ADDR_DECREMENT MDMA_CBNDTR_BRSUM /*!< Source address pointer is decremented after each block transfer by Source Update Value*/
AnnaBridge 172:65be27845400 477 /**
AnnaBridge 172:65be27845400 478 * @}
AnnaBridge 172:65be27845400 479 */
AnnaBridge 172:65be27845400 480
AnnaBridge 172:65be27845400 481 /** @defgroup MDMA_LL_EC_DEST_BUS Destination BUS Selection
AnnaBridge 172:65be27845400 482 * @{
AnnaBridge 172:65be27845400 483 */
AnnaBridge 172:65be27845400 484 #define LL_MDMA_DEST_BUS_SYSTEM_AXI 0x00000000U /*!< System/AXI bus is used as destination */
AnnaBridge 172:65be27845400 485 #define LL_MDMA_DEST_BUS_AHB_TCM MDMA_CTBR_DBUS /*!< AHB bus/TCM is used as destination */
AnnaBridge 172:65be27845400 486 /**
AnnaBridge 172:65be27845400 487 * @}
AnnaBridge 172:65be27845400 488 */
AnnaBridge 172:65be27845400 489
AnnaBridge 172:65be27845400 490 /** @defgroup MDMA_LL_EC_SRC_BUS Source BUS Selection
AnnaBridge 172:65be27845400 491 * @{
AnnaBridge 172:65be27845400 492 */
AnnaBridge 172:65be27845400 493 #define LL_MDMA_SRC_BUS_SYSTEM_AXI 0x00000000U /*!< System/AXI bus is used as source */
AnnaBridge 172:65be27845400 494 #define LL_MDMA_SRC_BUS_AHB_TCM MDMA_CTBR_SBUS /*!< AHB bus/TCM is used as source */
AnnaBridge 172:65be27845400 495 /**
AnnaBridge 172:65be27845400 496 * @}
AnnaBridge 172:65be27845400 497 */
AnnaBridge 172:65be27845400 498
AnnaBridge 172:65be27845400 499 /** @defgroup MDMA_LL_EC_HW_TRIGGER_SELCTION HW Trigger Selection
AnnaBridge 172:65be27845400 500 * @{
AnnaBridge 172:65be27845400 501 */
AnnaBridge 172:65be27845400 502 #define LL_MDMA_REQ_DMA1_STREAM0_TC 0x00000000U /*!< MDMA HW Trigger (request) is DMA1 Stream 0 Transfer Complete Flag */
AnnaBridge 172:65be27845400 503 #define LL_MDMA_REQ_DMA1_STREAM1_TC 0x00000001U /*!< MDMA HW Trigger (request) is DMA1 Stream 1 Transfer Complete Flag */
AnnaBridge 172:65be27845400 504 #define LL_MDMA_REQ_DMA1_STREAM2_TC 0x00000002U /*!< MDMA HW Trigger (request) is DMA1 Stream 2 Transfer Complete Flag */
AnnaBridge 172:65be27845400 505 #define LL_MDMA_REQ_DMA1_STREAM3_TC 0x00000003U /*!< MDMA HW Trigger (request) is DMA1 Stream 3 Transfer Complete Flag */
AnnaBridge 172:65be27845400 506 #define LL_MDMA_REQ_DMA1_STREAM4_TC 0x00000004U /*!< MDMA HW Trigger (request) is DMA1 Stream 4 Transfer Complete Flag */
AnnaBridge 172:65be27845400 507 #define LL_MDMA_REQ_DMA1_STREAM5_TC 0x00000005U /*!< MDMA HW Trigger (request) is DMA1 Stream 5 Transfer Complete Flag */
AnnaBridge 172:65be27845400 508 #define LL_MDMA_REQ_DMA1_STREAM6_TC 0x00000006U /*!< MDMA HW Trigger (request) is DMA1 Stream 6 Transfer Complete Flag */
AnnaBridge 172:65be27845400 509 #define LL_MDMA_REQ_DMA1_STREAM7_TC 0x00000007U /*!< MDMA HW Trigger (request) is DMA1 Stream 7 Transfer Complete Flag */
AnnaBridge 172:65be27845400 510 #define LL_MDMA_REQ_DMA2_STREAM0_TC 0x00000008U /*!< MDMA HW Trigger (request) is DMA2 Stream 0 Transfer Complete Flag */
AnnaBridge 172:65be27845400 511 #define LL_MDMA_REQ_DMA2_STREAM1_TC 0x00000009U /*!< MDMA HW Trigger (request) is DMA2 Stream 1 Transfer Complete Flag */
AnnaBridge 172:65be27845400 512 #define LL_MDMA_REQ_DMA2_STREAM2_TC 0x0000000AU /*!< MDMA HW Trigger (request) is DMA2 Stream 2 Transfer Complete Flag */
AnnaBridge 172:65be27845400 513 #define LL_MDMA_REQ_DMA2_STREAM3_TC 0x0000000BU /*!< MDMA HW Trigger (request) is DMA2 Stream 3 Transfer Complete Flag */
AnnaBridge 172:65be27845400 514 #define LL_MDMA_REQ_DMA2_STREAM4_TC 0x0000000CU /*!< MDMA HW Trigger (request) is DMA2 Stream 4 Transfer Complete Flag */
AnnaBridge 172:65be27845400 515 #define LL_MDMA_REQ_DMA2_STREAM5_TC 0x0000000DU /*!< MDMA HW Trigger (request) is DMA2 Stream 5 Transfer Complete Flag */
AnnaBridge 172:65be27845400 516 #define LL_MDMA_REQ_DMA2_STREAM6_TC 0x0000000EU /*!< MDMA HW Trigger (request) is DMA2 Stream 6 Transfer Complete Flag */
AnnaBridge 172:65be27845400 517 #define LL_MDMA_REQ_DMA2_STREAM7_TC 0x0000000FU /*!< MDMA HW Trigger (request) is DMA2 Stream 7 Transfer Complete Flag */
AnnaBridge 172:65be27845400 518 #define LL_MDMA_REQ_LTDC_LINE_IT 0x00000010U /*!< MDMA HW Trigger (request) is LTDC Line interrupt Flag */
AnnaBridge 172:65be27845400 519 #define LL_MDMA_REQ_JPEG_INFIFO_TH 0x00000011U /*!< MDMA HW Trigger (request) is JPEG Input FIFO threshold Flag */
AnnaBridge 172:65be27845400 520 #define LL_MDMA_REQ_JPEG_INFIFO_NF 0x00000012U /*!< MDMA HW Trigger (request) is JPEG Input FIFO not full Flag */
AnnaBridge 172:65be27845400 521 #define LL_MDMA_REQ_JPEG_OUTFIFO_TH 0x00000013U /*!< MDMA HW Trigger (request) is JPEG Output FIFO threshold Flag */
AnnaBridge 172:65be27845400 522 #define LL_MDMA_REQ_JPEG_OUTFIFO_NE 0x00000014U /*!< MDMA HW Trigger (request) is JPEG Output FIFO not empty Flag */
AnnaBridge 172:65be27845400 523 #define LL_MDMA_REQ_JPEG_END_CONVERSION 0x00000015U /*!< MDMA HW Trigger (request) is JPEG End of conversion Flag */
AnnaBridge 172:65be27845400 524 #define LL_MDMA_REQ_QUADSPI_FIFO_TH 0x00000016U /*!< MDMA HW Trigger (request) is QSPI FIFO threshold Flag */
AnnaBridge 172:65be27845400 525 #define LL_MDMA_REQ_QUADSPI_TC 0x00000017U /*!< MDMA HW Trigger (request) is QSPI Transfer complete Flag */
AnnaBridge 172:65be27845400 526 #define LL_MDMA_REQ_DMA2D_CLUT_TC 0x00000018U /*!< MDMA HW Trigger (request) is DMA2D CLUT Transfer Complete Flag */
AnnaBridge 172:65be27845400 527 #define LL_MDMA_REQ_DMA2D_TC 0x00000019U /*!< MDMA HW Trigger (request) is DMA2D Transfer Complete Flag */
AnnaBridge 172:65be27845400 528 #define LL_MDMA_REQ_DMA2D_TW 0x0000001AU /*!< MDMA HW Trigger (request) is DMA2D Transfer Watermark Flag */
AnnaBridge 172:65be27845400 529 #define LL_MDMA_REQ_SDMMC1_END_DATA 0x0000001DU /*!< MDMA HW Trigger (request) is SDMMC1 End of Data Flag */
AnnaBridge 172:65be27845400 530
AnnaBridge 172:65be27845400 531 /**
AnnaBridge 172:65be27845400 532 * @}
AnnaBridge 172:65be27845400 533 */
AnnaBridge 172:65be27845400 534
AnnaBridge 172:65be27845400 535 /** @defgroup MDMA_LL_EC_XFER_ERROR_DIRECTION Transfer Error Direction
AnnaBridge 172:65be27845400 536 * @{
AnnaBridge 172:65be27845400 537 */
AnnaBridge 172:65be27845400 538 #define LL_MDMA_READ_ERROR 0x00000000U /*!< Last transfer error on the channel was a related to a read access */
AnnaBridge 172:65be27845400 539 #define LL_MDMA_WRITE_ERROR MDMA_CESR_TED /*!< Last transfer error on the channel was a related to a write access */
AnnaBridge 172:65be27845400 540 /**
AnnaBridge 172:65be27845400 541 * @}
AnnaBridge 172:65be27845400 542 */
AnnaBridge 172:65be27845400 543
AnnaBridge 172:65be27845400 544 /**
AnnaBridge 172:65be27845400 545 * @}
AnnaBridge 172:65be27845400 546 */
AnnaBridge 172:65be27845400 547
AnnaBridge 172:65be27845400 548 /* Exported macro ------------------------------------------------------------*/
AnnaBridge 172:65be27845400 549 /** @defgroup MDMA_LL_Exported_Macros MDMA Exported Macros
AnnaBridge 172:65be27845400 550 * @{
AnnaBridge 172:65be27845400 551 */
AnnaBridge 172:65be27845400 552
AnnaBridge 172:65be27845400 553 /** @defgroup MDMA_LL_EM_WRITE_READ Common Write and read registers macros
AnnaBridge 172:65be27845400 554 * @{
AnnaBridge 172:65be27845400 555 */
AnnaBridge 172:65be27845400 556 /**
AnnaBridge 172:65be27845400 557 * @brief Write a value in MDMA register
AnnaBridge 172:65be27845400 558 * @param __INSTANCE__ MDMA Instance
AnnaBridge 172:65be27845400 559 * @param __REG__ Register to be written
AnnaBridge 172:65be27845400 560 * @param __VALUE__ Value to be written in the register
AnnaBridge 172:65be27845400 561 * @retval None
AnnaBridge 172:65be27845400 562 */
AnnaBridge 172:65be27845400 563 #define LL_MDMA_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG((__INSTANCE__)->__REG__, (__VALUE__))
AnnaBridge 172:65be27845400 564
AnnaBridge 172:65be27845400 565 /**
AnnaBridge 172:65be27845400 566 * @brief Read a value in MDMA register
AnnaBridge 172:65be27845400 567 * @param __INSTANCE__ MDMA Instance
AnnaBridge 172:65be27845400 568 * @param __REG__ Register to be read
AnnaBridge 172:65be27845400 569 * @retval Register value
AnnaBridge 172:65be27845400 570 */
AnnaBridge 172:65be27845400 571 #define LL_MDMA_ReadReg(__INSTANCE__, __REG__) READ_REG((__INSTANCE__)->__REG__)
AnnaBridge 172:65be27845400 572 /**
AnnaBridge 172:65be27845400 573 * @}
AnnaBridge 172:65be27845400 574 */
AnnaBridge 172:65be27845400 575
AnnaBridge 172:65be27845400 576 /** @defgroup MDMA_LL_EM_CONVERT_DMAxCHANNELy Convert MDMAxChannely
AnnaBridge 172:65be27845400 577 * @{
AnnaBridge 172:65be27845400 578 */
AnnaBridge 172:65be27845400 579 /**
AnnaBridge 172:65be27845400 580 * @brief Convert MDMAx_Channely into MDMAx
AnnaBridge 172:65be27845400 581 * @param __CHANNEL_INSTANCE__ MDMAx_Channely
AnnaBridge 172:65be27845400 582 * @retval MDMAx
AnnaBridge 172:65be27845400 583 */
AnnaBridge 172:65be27845400 584 #define LL_MDMA_GET_INSTANCE(__CHANNEL_INSTANCE__) (MDMA)
AnnaBridge 172:65be27845400 585
AnnaBridge 172:65be27845400 586 /**
AnnaBridge 172:65be27845400 587 * @brief Convert MDMAx_Channely into LL_MDMA_CHANNEL_y
AnnaBridge 172:65be27845400 588 * @param __CHANNEL_INSTANCE__ MDMAx_Channely
AnnaBridge 172:65be27845400 589 * @retval LL_MDMA_CHANNEL_y
AnnaBridge 172:65be27845400 590 */
AnnaBridge 172:65be27845400 591 #define LL_MDMA_GET_CHANNEL(__CHANNEL_INSTANCE__) \
AnnaBridge 172:65be27845400 592 (((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)MDMA_Channel0)) ? LL_MDMA_CHANNEL_0 : \
AnnaBridge 172:65be27845400 593 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)MDMA_Channel1)) ? LL_MDMA_CHANNEL_1 : \
AnnaBridge 172:65be27845400 594 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)MDMA_Channel2)) ? LL_MDMA_CHANNEL_2 : \
AnnaBridge 172:65be27845400 595 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)MDMA_Channel3)) ? LL_MDMA_CHANNEL_3 : \
AnnaBridge 172:65be27845400 596 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)MDMA_Channel4)) ? LL_MDMA_CHANNEL_4 : \
AnnaBridge 172:65be27845400 597 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)MDMA_Channel5)) ? LL_MDMA_CHANNEL_5 : \
AnnaBridge 172:65be27845400 598 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)MDMA_Channel6)) ? LL_MDMA_CHANNEL_6 : \
AnnaBridge 172:65be27845400 599 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)MDMA_Channel7)) ? LL_MDMA_CHANNEL_7 : \
AnnaBridge 172:65be27845400 600 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)MDMA_Channel8)) ? LL_MDMA_CHANNEL_8 : \
AnnaBridge 172:65be27845400 601 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)MDMA_Channel9)) ? LL_MDMA_CHANNEL_9 : \
AnnaBridge 172:65be27845400 602 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)MDMA_Channel10)) ? LL_MDMA_CHANNEL_10 : \
AnnaBridge 172:65be27845400 603 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)MDMA_Channel11)) ? LL_MDMA_CHANNEL_11 : \
AnnaBridge 172:65be27845400 604 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)MDMA_Channel12)) ? LL_MDMA_CHANNEL_12 : \
AnnaBridge 172:65be27845400 605 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)MDMA_Channel13)) ? LL_MDMA_CHANNEL_13 : \
AnnaBridge 172:65be27845400 606 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)MDMA_Channel14)) ? LL_MDMA_CHANNEL_14 : \
AnnaBridge 172:65be27845400 607 LL_MDMA_CHANNEL_15)
AnnaBridge 172:65be27845400 608
AnnaBridge 172:65be27845400 609 /**
AnnaBridge 172:65be27845400 610 * @brief Convert MDMA Instance MDMAx and LL_MDMA_CHANNEL_y into MDMAx_Channely
AnnaBridge 172:65be27845400 611 * @param __MDMA_INSTANCE__ MDMAx
AnnaBridge 172:65be27845400 612 * @param __CHANNEL__ LL_MDMA_CHANNEL_y
AnnaBridge 172:65be27845400 613 * @retval MDMAx_Channely
AnnaBridge 172:65be27845400 614 */
AnnaBridge 172:65be27845400 615 #define LL_MDMA_GET_CHANNEL_INSTANCE(__MDMA_INSTANCE__, __CHANNEL__) \
AnnaBridge 172:65be27845400 616 (((uint32_t)(__CHANNEL__) == ((uint32_t)LL_MDMA_CHANNEL_0 )) ? MDMA_Channel0 : \
AnnaBridge 172:65be27845400 617 ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_MDMA_CHANNEL_1 )) ? MDMA_Channel1 : \
AnnaBridge 172:65be27845400 618 ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_MDMA_CHANNEL_2 )) ? MDMA_Channel2 : \
AnnaBridge 172:65be27845400 619 ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_MDMA_CHANNEL_3 )) ? MDMA_Channel3 : \
AnnaBridge 172:65be27845400 620 ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_MDMA_CHANNEL_4 )) ? MDMA_Channel4 : \
AnnaBridge 172:65be27845400 621 ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_MDMA_CHANNEL_5 )) ? MDMA_Channel5 : \
AnnaBridge 172:65be27845400 622 ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_MDMA_CHANNEL_6 )) ? MDMA_Channel6 : \
AnnaBridge 172:65be27845400 623 ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_MDMA_CHANNEL_7 )) ? MDMA_Channel7 : \
AnnaBridge 172:65be27845400 624 ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_MDMA_CHANNEL_8 )) ? MDMA_Channel8 : \
AnnaBridge 172:65be27845400 625 ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_MDMA_CHANNEL_9 )) ? MDMA_Channel9 : \
AnnaBridge 172:65be27845400 626 ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_MDMA_CHANNEL_10)) ? MDMA_Channel10 : \
AnnaBridge 172:65be27845400 627 ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_MDMA_CHANNEL_11)) ? MDMA_Channel11 : \
AnnaBridge 172:65be27845400 628 ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_MDMA_CHANNEL_12)) ? MDMA_Channel12 : \
AnnaBridge 172:65be27845400 629 ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_MDMA_CHANNEL_13)) ? MDMA_Channel13 : \
AnnaBridge 172:65be27845400 630 ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_MDMA_CHANNEL_14)) ? MDMA_Channel14 : \
AnnaBridge 172:65be27845400 631 MDMA_Channel15)
AnnaBridge 172:65be27845400 632
AnnaBridge 172:65be27845400 633 /**
AnnaBridge 172:65be27845400 634 * @}
AnnaBridge 172:65be27845400 635 */
AnnaBridge 172:65be27845400 636
AnnaBridge 172:65be27845400 637 /**
AnnaBridge 172:65be27845400 638 * @}
AnnaBridge 172:65be27845400 639 */
AnnaBridge 172:65be27845400 640
AnnaBridge 172:65be27845400 641
AnnaBridge 172:65be27845400 642 /* Exported functions --------------------------------------------------------*/
AnnaBridge 172:65be27845400 643 /** @defgroup MDMA_LL_Exported_Functions MDMA Exported Functions
AnnaBridge 172:65be27845400 644 * @{
AnnaBridge 172:65be27845400 645 */
AnnaBridge 172:65be27845400 646
AnnaBridge 172:65be27845400 647 /** @defgroup MDMA_LL_EF_Configuration Configuration
AnnaBridge 172:65be27845400 648 * @{
AnnaBridge 172:65be27845400 649 */
AnnaBridge 172:65be27845400 650 /**
AnnaBridge 172:65be27845400 651 * @brief Enable MDMA channel.
AnnaBridge 172:65be27845400 652 * @rmtoll CCR EN LL_MDMA_EnableChannel
AnnaBridge 172:65be27845400 653 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 654 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 655 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 656 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 657 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 658 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 659 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 660 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 661 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 662 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 663 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 664 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 665 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 666 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 667 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 668 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 669 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 670 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 671 * @retval None
AnnaBridge 172:65be27845400 672 */
AnnaBridge 172:65be27845400 673 __STATIC_INLINE void LL_MDMA_EnableChannel(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 674 {
AnnaBridge 172:65be27845400 675 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 676
AnnaBridge 172:65be27845400 677 SET_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CCR, MDMA_CCR_EN);
AnnaBridge 172:65be27845400 678 }
AnnaBridge 172:65be27845400 679
AnnaBridge 172:65be27845400 680 /**
AnnaBridge 172:65be27845400 681 * @brief Disable MDMA channel.
AnnaBridge 172:65be27845400 682 * @rmtoll CCR EN LL_MDMA_DisableChannel
AnnaBridge 172:65be27845400 683 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 684 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 685 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 686 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 687 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 688 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 689 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 690 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 691 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 692 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 693 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 694 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 695 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 696 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 697 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 698 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 699 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 700 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 701 * @retval None
AnnaBridge 172:65be27845400 702 */
AnnaBridge 172:65be27845400 703 __STATIC_INLINE void LL_MDMA_DisableChannel(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 704 {
AnnaBridge 172:65be27845400 705 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 706
AnnaBridge 172:65be27845400 707 CLEAR_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CCR, MDMA_CCR_EN);
AnnaBridge 172:65be27845400 708 }
AnnaBridge 172:65be27845400 709
AnnaBridge 172:65be27845400 710 /**
AnnaBridge 172:65be27845400 711 * @brief Check if MDMA channel is enabled or disabled.
AnnaBridge 172:65be27845400 712 * @rmtoll CCR EN LL_MDMA_IsEnabledChannel
AnnaBridge 172:65be27845400 713 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 714 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 715 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 716 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 717 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 718 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 719 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 720 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 721 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 722 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 723 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 724 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 725 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 726 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 727 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 728 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 729 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 730 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 731 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 732 */
AnnaBridge 172:65be27845400 733 __STATIC_INLINE uint32_t LL_MDMA_IsEnabledChannel(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 734 {
AnnaBridge 172:65be27845400 735 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 736
AnnaBridge 172:65be27845400 737 return ((READ_BIT(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CCR, MDMA_CCR_EN) == (MDMA_CCR_EN)) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 738 }
AnnaBridge 172:65be27845400 739
AnnaBridge 172:65be27845400 740 /**
AnnaBridge 172:65be27845400 741 * @brief Generate a SW transfer request on the MDMA channel.
AnnaBridge 172:65be27845400 742 * @rmtoll CCR SWRQ LL_MDMA_GenerateSWRequest
AnnaBridge 172:65be27845400 743 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 744 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 745 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 746 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 747 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 748 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 749 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 750 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 751 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 752 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 753 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 754 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 755 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 756 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 757 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 758 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 759 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 760 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 761 * @retval None
AnnaBridge 172:65be27845400 762 */
AnnaBridge 172:65be27845400 763 __STATIC_INLINE void LL_MDMA_GenerateSWRequest(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 764 {
AnnaBridge 172:65be27845400 765 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 766
AnnaBridge 172:65be27845400 767 SET_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CCR, MDMA_CCR_SWRQ);
AnnaBridge 172:65be27845400 768 }
AnnaBridge 172:65be27845400 769
AnnaBridge 172:65be27845400 770 /**
AnnaBridge 172:65be27845400 771 * @brief Configure Transfer endianness paremeters : Word, Half word and Bytes Endianess.
AnnaBridge 172:65be27845400 772 * @rmtoll CCR WEX LL_MDMA_ConfigXferEndianness\n
AnnaBridge 172:65be27845400 773 * @rmtoll CCR HEX LL_MDMA_ConfigXferEndianness\n
AnnaBridge 172:65be27845400 774 * @rmtoll CCR BEX LL_MDMA_ConfigXferEndianness
AnnaBridge 172:65be27845400 775 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 776 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 777 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 778 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 779 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 780 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 781 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 782 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 783 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 784 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 785 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 786 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 787 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 788 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 789 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 790 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 791 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 792 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 793 * @param Configuration This parameter must be a combination of all the following values:
AnnaBridge 172:65be27845400 794 * @arg @ref LL_MDMA_WORD_ENDIANNESS_PRESERVE or @ref LL_MDMA_WORD_ENDIANNESS_EXCHANGE
AnnaBridge 172:65be27845400 795 * @arg @ref LL_MDMA_HALFWORD_ENDIANNESS_PRESERVE or @ref LL_MDMA_HALFWORD_ENDIANNESS_EXCHANGE
AnnaBridge 172:65be27845400 796 * @arg @ref LL_MDMA_BYTE_ENDIANNESS_PRESERVE or @ref LL_MDMA_BYTE_ENDIANNESS_EXCHANGE
AnnaBridge 172:65be27845400 797 * @retval None
AnnaBridge 172:65be27845400 798 */
AnnaBridge 172:65be27845400 799 __STATIC_INLINE void LL_MDMA_ConfigXferEndianness(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t Configuration)
AnnaBridge 172:65be27845400 800 {
AnnaBridge 172:65be27845400 801 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 802
AnnaBridge 172:65be27845400 803 MODIFY_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CCR,
AnnaBridge 172:65be27845400 804 MDMA_CCR_WEX | MDMA_CCR_HEX | MDMA_CCR_BEX, Configuration);
AnnaBridge 172:65be27845400 805 }
AnnaBridge 172:65be27845400 806
AnnaBridge 172:65be27845400 807 /**
AnnaBridge 172:65be27845400 808 * @brief Set Words Endianess.
AnnaBridge 172:65be27845400 809 * @rmtoll CCR WEX LL_MDMA_SetWordEndianness
AnnaBridge 172:65be27845400 810 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 811 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 812 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 813 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 814 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 815 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 816 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 817 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 818 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 819 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 820 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 821 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 822 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 823 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 824 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 825 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 826 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 827 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 828 * @param Endianness This parameter can be one of the following values:
AnnaBridge 172:65be27845400 829 * @arg @ref LL_MDMA_WORD_ENDIANNESS_PRESERVE
AnnaBridge 172:65be27845400 830 * @arg @ref LL_MDMA_WORD_ENDIANNESS_EXCHANGE
AnnaBridge 172:65be27845400 831 * @retval None
AnnaBridge 172:65be27845400 832 */
AnnaBridge 172:65be27845400 833 __STATIC_INLINE void LL_MDMA_SetWordEndianness(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t Endianness)
AnnaBridge 172:65be27845400 834 {
AnnaBridge 172:65be27845400 835 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 836
AnnaBridge 172:65be27845400 837 MODIFY_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CCR, MDMA_CCR_WEX, Endianness);
AnnaBridge 172:65be27845400 838 }
AnnaBridge 172:65be27845400 839
AnnaBridge 172:65be27845400 840 /**
AnnaBridge 172:65be27845400 841 * @brief Get Words Endianess.
AnnaBridge 172:65be27845400 842 * @rmtoll CCR WEX LL_MDMA_GetWordEndianness
AnnaBridge 172:65be27845400 843 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 844 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 845 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 846 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 847 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 848 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 849 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 850 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 851 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 852 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 853 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 854 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 855 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 856 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 857 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 858 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 859 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 860 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 861 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 862 * @arg @ref LL_MDMA_WORD_ENDIANNESS_PRESERVE
AnnaBridge 172:65be27845400 863 * @arg @ref LL_MDMA_WORD_ENDIANNESS_EXCHANGE
AnnaBridge 172:65be27845400 864 * @retval None
AnnaBridge 172:65be27845400 865 */
AnnaBridge 172:65be27845400 866 __STATIC_INLINE uint32_t LL_MDMA_GetWordEndianness(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 867 {
AnnaBridge 172:65be27845400 868 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 869
AnnaBridge 172:65be27845400 870 return (READ_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CCR, MDMA_CCR_WEX));
AnnaBridge 172:65be27845400 871 }
AnnaBridge 172:65be27845400 872
AnnaBridge 172:65be27845400 873 /**
AnnaBridge 172:65be27845400 874 * @brief Set Half Words Endianess.
AnnaBridge 172:65be27845400 875 * @rmtoll CCR HEX LL_MDMA_SetHalfWordEndianness
AnnaBridge 172:65be27845400 876 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 877 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 878 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 879 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 880 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 881 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 882 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 883 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 884 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 885 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 886 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 887 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 888 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 889 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 890 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 891 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 892 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 893 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 894 * @param Endianness This parameter can be one of the following values:
AnnaBridge 172:65be27845400 895 * @arg @ref LL_MDMA_HALFWORD_ENDIANNESS_PRESERVE
AnnaBridge 172:65be27845400 896 * @arg @ref LL_MDMA_HALFWORD_ENDIANNESS_EXCHANGE
AnnaBridge 172:65be27845400 897 * @retval None
AnnaBridge 172:65be27845400 898 */
AnnaBridge 172:65be27845400 899 __STATIC_INLINE void LL_MDMA_SetHalfWordEndianness(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t Endianness)
AnnaBridge 172:65be27845400 900 {
AnnaBridge 172:65be27845400 901 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 902
AnnaBridge 172:65be27845400 903 MODIFY_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CCR, MDMA_CCR_HEX, Endianness);
AnnaBridge 172:65be27845400 904 }
AnnaBridge 172:65be27845400 905
AnnaBridge 172:65be27845400 906 /**
AnnaBridge 172:65be27845400 907 * @brief Get Half Words Endianess.
AnnaBridge 172:65be27845400 908 * @rmtoll CCR HEX LL_MDMA_GetHalfWordEndianness
AnnaBridge 172:65be27845400 909 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 910 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 911 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 912 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 913 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 914 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 915 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 916 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 917 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 918 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 919 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 920 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 921 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 922 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 923 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 924 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 925 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 926 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 927 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 928 * @arg @ref LL_MDMA_HALFWORD_ENDIANNESS_PRESERVE
AnnaBridge 172:65be27845400 929 * @arg @ref LL_MDMA_HALFWORD_ENDIANNESS_EXCHANGE
AnnaBridge 172:65be27845400 930 * @retval None
AnnaBridge 172:65be27845400 931 */
AnnaBridge 172:65be27845400 932 __STATIC_INLINE uint32_t LL_MDMA_GetHalfWordEndianness(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 933 {
AnnaBridge 172:65be27845400 934 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 935
AnnaBridge 172:65be27845400 936 return (READ_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CCR, MDMA_CCR_HEX));
AnnaBridge 172:65be27845400 937 }
AnnaBridge 172:65be27845400 938
AnnaBridge 172:65be27845400 939 /**
AnnaBridge 172:65be27845400 940 * @brief Set Bytes Endianess.
AnnaBridge 172:65be27845400 941 * @rmtoll CCR BEX LL_MDMA_SetByteEndianness
AnnaBridge 172:65be27845400 942 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 943 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 944 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 945 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 946 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 947 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 948 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 949 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 950 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 951 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 952 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 953 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 954 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 955 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 956 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 957 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 958 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 959 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 960 * @param Endianness This parameter can be one of the following values:
AnnaBridge 172:65be27845400 961 * @arg @ref LL_MDMA_BYTE_ENDIANNESS_PRESERVE
AnnaBridge 172:65be27845400 962 * @arg @ref LL_MDMA_BYTE_ENDIANNESS_EXCHANGE
AnnaBridge 172:65be27845400 963 * @retval None
AnnaBridge 172:65be27845400 964 */
AnnaBridge 172:65be27845400 965 __STATIC_INLINE void LL_MDMA_SetByteEndianness(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t Endianness)
AnnaBridge 172:65be27845400 966 {
AnnaBridge 172:65be27845400 967 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 968
AnnaBridge 172:65be27845400 969 MODIFY_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CCR, MDMA_CCR_BEX, Endianness);
AnnaBridge 172:65be27845400 970 }
AnnaBridge 172:65be27845400 971
AnnaBridge 172:65be27845400 972 /**
AnnaBridge 172:65be27845400 973 * @brief Get Bytes Endianess.
AnnaBridge 172:65be27845400 974 * @rmtoll CCR BEX LL_MDMA_GetByteEndianness
AnnaBridge 172:65be27845400 975 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 976 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 977 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 978 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 979 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 980 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 981 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 982 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 983 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 984 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 985 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 986 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 987 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 988 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 989 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 990 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 991 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 992 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 993 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 994 * @arg @ref LL_MDMA_BYTE_ENDIANNESS_PRESERVE
AnnaBridge 172:65be27845400 995 * @arg @ref LL_MDMA_BYTE_ENDIANNESS_EXCHANGE
AnnaBridge 172:65be27845400 996 * @retval None
AnnaBridge 172:65be27845400 997 */
AnnaBridge 172:65be27845400 998 __STATIC_INLINE uint32_t LL_MDMA_GetByteEndianness(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 999 {
AnnaBridge 172:65be27845400 1000 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 1001
AnnaBridge 172:65be27845400 1002 return (READ_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CCR, MDMA_CCR_BEX));
AnnaBridge 172:65be27845400 1003 }
AnnaBridge 172:65be27845400 1004
AnnaBridge 172:65be27845400 1005 /**
AnnaBridge 172:65be27845400 1006 * @brief Set Channel priority level.
AnnaBridge 172:65be27845400 1007 * @rmtoll CCR PL LL_MDMA_SetChannelPriorityLevel
AnnaBridge 172:65be27845400 1008 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 1009 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1010 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 1011 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 1012 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 1013 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 1014 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 1015 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 1016 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 1017 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 1018 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 1019 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 1020 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 1021 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 1022 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 1023 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 1024 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 1025 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 1026 * @param Priority This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1027 * @arg @ref LL_MDMA_PRIORITY_LOW
AnnaBridge 172:65be27845400 1028 * @arg @ref LL_MDMA_PRIORITY_MEDIUM
AnnaBridge 172:65be27845400 1029 * @arg @ref LL_MDMA_PRIORITY_HIGH
AnnaBridge 172:65be27845400 1030 * @arg @ref LL_MDMA_PRIORITY_VERYHIGH
AnnaBridge 172:65be27845400 1031 * @retval None
AnnaBridge 172:65be27845400 1032 */
AnnaBridge 172:65be27845400 1033 __STATIC_INLINE void LL_MDMA_SetChannelPriorityLevel(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t Priority)
AnnaBridge 172:65be27845400 1034 {
AnnaBridge 172:65be27845400 1035 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 1036
AnnaBridge 172:65be27845400 1037 MODIFY_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CCR, MDMA_CCR_PL, Priority);
AnnaBridge 172:65be27845400 1038 }
AnnaBridge 172:65be27845400 1039
AnnaBridge 172:65be27845400 1040 /**
AnnaBridge 172:65be27845400 1041 * @brief Get Channel priority level.
AnnaBridge 172:65be27845400 1042 * @rmtoll CCR PL LL_MDMA_GetChannelPriorityLevel
AnnaBridge 172:65be27845400 1043 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 1044 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1045 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 1046 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 1047 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 1048 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 1049 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 1050 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 1051 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 1052 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 1053 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 1054 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 1055 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 1056 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 1057 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 1058 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 1059 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 1060 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 1061 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 1062 * @arg @ref LL_MDMA_PRIORITY_LOW
AnnaBridge 172:65be27845400 1063 * @arg @ref LL_MDMA_PRIORITY_MEDIUM
AnnaBridge 172:65be27845400 1064 * @arg @ref LL_MDMA_PRIORITY_HIGH
AnnaBridge 172:65be27845400 1065 * @arg @ref LL_MDMA_PRIORITY_VERYHIGH
AnnaBridge 172:65be27845400 1066 * @retval None
AnnaBridge 172:65be27845400 1067 */
AnnaBridge 172:65be27845400 1068 __STATIC_INLINE uint32_t LL_MDMA_GetChannelPriorityLevel(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 1069 {
AnnaBridge 172:65be27845400 1070 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 1071
AnnaBridge 172:65be27845400 1072 return (READ_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CCR, MDMA_CCR_PL));
AnnaBridge 172:65be27845400 1073 }
AnnaBridge 172:65be27845400 1074
AnnaBridge 172:65be27845400 1075 /**
AnnaBridge 172:65be27845400 1076 * @brief Configure MDMA transfer parameters.
AnnaBridge 172:65be27845400 1077 * @rmtoll CTCR BWM LL_MDMA_ConfigTransfer\n
AnnaBridge 172:65be27845400 1078 * @rmtoll CTCR SWRM LL_MDMA_ConfigTransfer\n
AnnaBridge 172:65be27845400 1079 * @rmtoll CTCR TRGM LL_MDMA_ConfigTransfer\n
AnnaBridge 172:65be27845400 1080 * @rmtoll CTCR PAM LL_MDMA_ConfigTransfer\n
AnnaBridge 172:65be27845400 1081 * @rmtoll CTCR PKE LL_MDMA_ConfigTransfer\n
AnnaBridge 172:65be27845400 1082 * @rmtoll CTCR TLEN LL_MDMA_ConfigTransfer\n
AnnaBridge 172:65be27845400 1083 * @rmtoll CTCR DBURST LL_MDMA_ConfigTransfer\n
AnnaBridge 172:65be27845400 1084 * @rmtoll CTCR SBURST LL_MDMA_ConfigTransfer\n
AnnaBridge 172:65be27845400 1085 * @rmtoll CTCR DINCOS LL_MDMA_ConfigTransfer\n
AnnaBridge 172:65be27845400 1086 * @rmtoll CTCR SINCOS LL_MDMA_ConfigTransfer\n
AnnaBridge 172:65be27845400 1087 * @rmtoll CTCR DSIZE LL_MDMA_ConfigTransfer\n
AnnaBridge 172:65be27845400 1088 * @rmtoll CTCR SSIZE LL_MDMA_ConfigTransfer\n
AnnaBridge 172:65be27845400 1089 * @rmtoll CTCR DINC LL_MDMA_ConfigTransfer\n
AnnaBridge 172:65be27845400 1090 * @rmtoll CTCR SINC LL_MDMA_ConfigTransfer
AnnaBridge 172:65be27845400 1091 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 1092 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1093 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 1094 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 1095 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 1096 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 1097 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 1098 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 1099 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 1100 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 1101 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 1102 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 1103 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 1104 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 1105 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 1106 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 1107 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 1108 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 1109 * @param Configuration This parameter must be a combination of all the following values:
AnnaBridge 172:65be27845400 1110 * @arg @ref LL_MDMA_BUFF_WRITE_DISABLE or @ref LL_MDMA_BUFF_WRITE_ENABLE
AnnaBridge 172:65be27845400 1111 * @arg @ref LL_MDMA_REQUEST_MODE_HW or @ref LL_MDMA_REQUEST_MODE_SW
AnnaBridge 172:65be27845400 1112 * @arg @ref LL_MDMA_BUFFER_TRANSFER or @ref LL_MDMA_BLOCK_TRANSFER or @ref LL_MDMA_REPEAT_BLOCK_TRANSFER or @ref LL_MDMA_FULL_TRANSFER
AnnaBridge 172:65be27845400 1113 * @arg @ref LL_MDMA_DATAALIGN_RIGHT or @ref LL_MDMA_DATAALIGN_RIGHT_SIGNED or @ref LL_MDMA_DATAALIGN_LEFT
AnnaBridge 172:65be27845400 1114 * @arg @ref LL_MDMA_PACK_DISABLE or @ref LL_MDMA_PACK_ENABLE
AnnaBridge 172:65be27845400 1115 * @arg @ref LL_MDMA_DEST_BURST_SINGLE or @ref LL_MDMA_DEST_BURST_2BEATS or @ref LL_MDMA_DEST_BURST_4BEATS or @ref LL_MDMA_DEST_BURST_8BEATS
AnnaBridge 172:65be27845400 1116 * or @ref LL_MDMA_DEST_BURST_16BEATS or @ref LL_MDMA_DEST_BURST_32BEATS or @ref LL_MDMA_DEST_BURST_64BEATS or @ref LL_MDMA_DEST_BURST_128BEATS
AnnaBridge 172:65be27845400 1117 * @arg @ref LL_MDMA_SRC_BURST_SINGLE or @ref LL_MDMA_SRC_BURST_2BEATS or @ref LL_MDMA_SRC_BURST_4BEATS or @ref LL_MDMA_SRC_BURST_8BEATS
AnnaBridge 172:65be27845400 1118 * or @ref LL_MDMA_SRC_BURST_16BEATS or @ref LL_MDMA_SRC_BURST_32BEATS or @ref LL_MDMA_SRC_BURST_64BEATS or @ref LL_MDMA_SRC_BURST_128BEATS
AnnaBridge 172:65be27845400 1119 * @arg @ref LL_MDMA_DEST_INC_OFFSET_BYTE or @ref LL_MDMA_DEST_INC_OFFSET_HALFWORD or @ref LL_MDMA_DEST_INC_OFFSET_WORD or @ref LL_MDMA_DEST_INC_OFFSET_DOUBLEWORD
AnnaBridge 172:65be27845400 1120 * @arg @ref LL_MDMA_SRC_INC_OFFSET_BYTE or @ref LL_MDMA_SRC_INC_OFFSET_HALFWORD or @ref LL_MDMA_SRC_INC_OFFSET_WORD or @ref LL_MDMA_SRC_INC_OFFSET_DOUBLEWORD
AnnaBridge 172:65be27845400 1121 * @arg @ref LL_MDMA_DEST_DATA_SIZE_BYTE or @ref LL_MDMA_DEST_DATA_SIZE_HALFWORD or @ref LL_MDMA_DEST_DATA_SIZE_WORD or @ref LL_MDMA_DEST_DATA_SIZE_DOUBLEWORD
AnnaBridge 172:65be27845400 1122 * @arg @ref LL_MDMA_SRC_DATA_SIZE_BYTE or @ref LL_MDMA_SRC_DATA_SIZE_HALFWORD or @ref LL_MDMA_SRC_DATA_SIZE_WORD or @ref LL_MDMA_SRC_DATA_SIZE_DOUBLEWORD
AnnaBridge 172:65be27845400 1123 * @arg @ref LL_MDMA_DEST_FIXED or @ref LL_MDMA_DEST_INCREMENT or @ref LL_MDMA_DEST_DECREMENT
AnnaBridge 172:65be27845400 1124 * @arg @ref LL_MDMA_SRC_FIXED or @ref LL_MDMA_SRC_INCREMENT or @ref LL_MDMA_SRC_DECREMENT
AnnaBridge 172:65be27845400 1125 * @param BufferXferLength This parameter can be a value Between 0 to 0x0000007F
AnnaBridge 172:65be27845400 1126 * @retval None
AnnaBridge 172:65be27845400 1127 */
AnnaBridge 172:65be27845400 1128 __STATIC_INLINE void LL_MDMA_ConfigTransfer(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t Configuration, uint32_t BufferXferLength)
AnnaBridge 172:65be27845400 1129 {
AnnaBridge 172:65be27845400 1130 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 1131
AnnaBridge 172:65be27845400 1132 WRITE_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR,
AnnaBridge 172:65be27845400 1133 Configuration | ((BufferXferLength << MDMA_CTCR_TLEN_Pos) & MDMA_CTCR_TLEN_Msk));
AnnaBridge 172:65be27845400 1134 }
AnnaBridge 172:65be27845400 1135
AnnaBridge 172:65be27845400 1136 /**
AnnaBridge 172:65be27845400 1137 * @brief Enable Bufferable Write Mode.
AnnaBridge 172:65be27845400 1138 * @rmtoll CTCR BWM LL_MDMA_EnableBufferableWrMode
AnnaBridge 172:65be27845400 1139 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 1140 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1141 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 1142 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 1143 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 1144 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 1145 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 1146 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 1147 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 1148 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 1149 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 1150 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 1151 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 1152 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 1153 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 1154 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 1155 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 1156 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 1157 * @retval None
AnnaBridge 172:65be27845400 1158 */
AnnaBridge 172:65be27845400 1159 __STATIC_INLINE void LL_MDMA_EnableBufferableWrMode(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 1160 {
AnnaBridge 172:65be27845400 1161 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 1162
AnnaBridge 172:65be27845400 1163 SET_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_BWM);
AnnaBridge 172:65be27845400 1164 }
AnnaBridge 172:65be27845400 1165
AnnaBridge 172:65be27845400 1166 /**
AnnaBridge 172:65be27845400 1167 * @brief Disable Bufferable Write Mode.
AnnaBridge 172:65be27845400 1168 * @rmtoll CTCR BWM LL_MDMA_DisableBufferableWrMode
AnnaBridge 172:65be27845400 1169 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 1170 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1171 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 1172 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 1173 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 1174 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 1175 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 1176 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 1177 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 1178 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 1179 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 1180 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 1181 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 1182 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 1183 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 1184 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 1185 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 1186 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 1187 * @retval None
AnnaBridge 172:65be27845400 1188 */
AnnaBridge 172:65be27845400 1189 __STATIC_INLINE void LL_MDMA_DisableBufferableWrMode(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 1190 {
AnnaBridge 172:65be27845400 1191 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 1192
AnnaBridge 172:65be27845400 1193 CLEAR_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_BWM);
AnnaBridge 172:65be27845400 1194 }
AnnaBridge 172:65be27845400 1195
AnnaBridge 172:65be27845400 1196 /**
AnnaBridge 172:65be27845400 1197 * @brief Check if Bufferable Write Mode is enabled or disabled.
AnnaBridge 172:65be27845400 1198 * @rmtoll CTCR BWM LL_MDMA_IsEnabledBufferableWrMode
AnnaBridge 172:65be27845400 1199 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 1200 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1201 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 1202 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 1203 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 1204 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 1205 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 1206 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 1207 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 1208 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 1209 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 1210 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 1211 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 1212 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 1213 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 1214 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 1215 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 1216 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 1217 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 1218 */
AnnaBridge 172:65be27845400 1219 __STATIC_INLINE uint32_t LL_MDMA_IsEnabledBufferableWrMode(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 1220 {
AnnaBridge 172:65be27845400 1221 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 1222
AnnaBridge 172:65be27845400 1223 return ((READ_BIT(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_BWM) == (MDMA_CTCR_BWM)) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 1224 }
AnnaBridge 172:65be27845400 1225
AnnaBridge 172:65be27845400 1226 /**
AnnaBridge 172:65be27845400 1227 * @brief Set Request Mode.
AnnaBridge 172:65be27845400 1228 * @rmtoll CTCR SWRM LL_MDMA_SetRequestMode
AnnaBridge 172:65be27845400 1229 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 1230 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1231 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 1232 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 1233 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 1234 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 1235 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 1236 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 1237 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 1238 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 1239 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 1240 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 1241 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 1242 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 1243 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 1244 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 1245 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 1246 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 1247 * @param RequestMode This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1248 * @arg @ref LL_MDMA_REQUEST_MODE_HW
AnnaBridge 172:65be27845400 1249 * @arg @ref LL_MDMA_REQUEST_MODE_SW
AnnaBridge 172:65be27845400 1250 * @retval None
AnnaBridge 172:65be27845400 1251 */
AnnaBridge 172:65be27845400 1252 __STATIC_INLINE void LL_MDMA_SetRequestMode(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t RequestMode)
AnnaBridge 172:65be27845400 1253 {
AnnaBridge 172:65be27845400 1254 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 1255
AnnaBridge 172:65be27845400 1256 MODIFY_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_SWRM, RequestMode);
AnnaBridge 172:65be27845400 1257 }
AnnaBridge 172:65be27845400 1258
AnnaBridge 172:65be27845400 1259 /**
AnnaBridge 172:65be27845400 1260 * @brief Get Request Mode.
AnnaBridge 172:65be27845400 1261 * @rmtoll CTCR SWRM LL_MDMA_GetRequestMode
AnnaBridge 172:65be27845400 1262 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 1263 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1264 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 1265 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 1266 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 1267 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 1268 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 1269 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 1270 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 1271 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 1272 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 1273 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 1274 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 1275 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 1276 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 1277 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 1278 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 1279 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 1280 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 1281 * @arg @ref LL_MDMA_REQUEST_MODE_HW
AnnaBridge 172:65be27845400 1282 * @arg @ref LL_MDMA_REQUEST_MODE_SW
AnnaBridge 172:65be27845400 1283 * @retval None
AnnaBridge 172:65be27845400 1284 */
AnnaBridge 172:65be27845400 1285 __STATIC_INLINE uint32_t LL_MDMA_GetRequestMode(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 1286 {
AnnaBridge 172:65be27845400 1287 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 1288
AnnaBridge 172:65be27845400 1289 return (READ_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_SWRM));
AnnaBridge 172:65be27845400 1290 }
AnnaBridge 172:65be27845400 1291
AnnaBridge 172:65be27845400 1292 /**
AnnaBridge 172:65be27845400 1293 * @brief Set Trigger Mode.
AnnaBridge 172:65be27845400 1294 * @rmtoll CTCR TRGM LL_MDMA_SetTriggerMode
AnnaBridge 172:65be27845400 1295 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 1296 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1297 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 1298 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 1299 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 1300 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 1301 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 1302 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 1303 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 1304 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 1305 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 1306 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 1307 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 1308 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 1309 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 1310 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 1311 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 1312 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 1313 * @param TriggerMode This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1314 * @arg @ref LL_MDMA_BUFFER_TRANSFER
AnnaBridge 172:65be27845400 1315 * @arg @ref LL_MDMA_BLOCK_TRANSFER
AnnaBridge 172:65be27845400 1316 * @arg @ref LL_MDMA_REPEAT_BLOCK_TRANSFER
AnnaBridge 172:65be27845400 1317 * @arg @ref LL_MDMA_FULL_TRANSFER
AnnaBridge 172:65be27845400 1318 * @retval None
AnnaBridge 172:65be27845400 1319 */
AnnaBridge 172:65be27845400 1320 __STATIC_INLINE void LL_MDMA_SetTriggerMode(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t TriggerMode)
AnnaBridge 172:65be27845400 1321 {
AnnaBridge 172:65be27845400 1322 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 1323
AnnaBridge 172:65be27845400 1324 MODIFY_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_TRGM, TriggerMode);
AnnaBridge 172:65be27845400 1325 }
AnnaBridge 172:65be27845400 1326
AnnaBridge 172:65be27845400 1327 /**
AnnaBridge 172:65be27845400 1328 * @brief Get Trigger Mode.
AnnaBridge 172:65be27845400 1329 * @rmtoll CTCR TRGM LL_MDMA_GetTriggerMode
AnnaBridge 172:65be27845400 1330 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 1331 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1332 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 1333 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 1334 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 1335 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 1336 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 1337 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 1338 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 1339 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 1340 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 1341 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 1342 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 1343 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 1344 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 1345 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 1346 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 1347 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 1348 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 1349 * @arg @ref LL_MDMA_BUFFER_TRANSFER
AnnaBridge 172:65be27845400 1350 * @arg @ref LL_MDMA_BLOCK_TRANSFER
AnnaBridge 172:65be27845400 1351 * @arg @ref LL_MDMA_REPEAT_BLOCK_TRANSFER
AnnaBridge 172:65be27845400 1352 * @arg @ref LL_MDMA_FULL_TRANSFER
AnnaBridge 172:65be27845400 1353 * @retval None
AnnaBridge 172:65be27845400 1354 */
AnnaBridge 172:65be27845400 1355 __STATIC_INLINE uint32_t LL_MDMA_GetTriggerMode(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 1356 {
AnnaBridge 172:65be27845400 1357 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 1358
AnnaBridge 172:65be27845400 1359 return (READ_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_TRGM));
AnnaBridge 172:65be27845400 1360 }
AnnaBridge 172:65be27845400 1361
AnnaBridge 172:65be27845400 1362 /**
AnnaBridge 172:65be27845400 1363 * @brief Set Padding Alignment.
AnnaBridge 172:65be27845400 1364 * @rmtoll CTCR PAM LL_MDMA_SetPaddingAlignment
AnnaBridge 172:65be27845400 1365 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 1366 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1367 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 1368 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 1369 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 1370 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 1371 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 1372 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 1373 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 1374 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 1375 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 1376 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 1377 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 1378 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 1379 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 1380 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 1381 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 1382 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 1383 * @param PaddingAlignment This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1384 * @arg @ref LL_MDMA_DATAALIGN_RIGHT
AnnaBridge 172:65be27845400 1385 * @arg @ref LL_MDMA_DATAALIGN_RIGHT_SIGNED
AnnaBridge 172:65be27845400 1386 * @arg @ref LL_MDMA_DATAALIGN_LEFT
AnnaBridge 172:65be27845400 1387 * @retval None
AnnaBridge 172:65be27845400 1388 */
AnnaBridge 172:65be27845400 1389 __STATIC_INLINE void LL_MDMA_SetPaddingAlignment(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t PaddingAlignment)
AnnaBridge 172:65be27845400 1390 {
AnnaBridge 172:65be27845400 1391 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 1392
AnnaBridge 172:65be27845400 1393 MODIFY_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_PAM, PaddingAlignment);
AnnaBridge 172:65be27845400 1394 }
AnnaBridge 172:65be27845400 1395
AnnaBridge 172:65be27845400 1396 /**
AnnaBridge 172:65be27845400 1397 * @brief Get Padding Alignment.
AnnaBridge 172:65be27845400 1398 * @rmtoll CTCR PAM LL_MDMA_GetPaddingAlignment
AnnaBridge 172:65be27845400 1399 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 1400 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1401 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 1402 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 1403 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 1404 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 1405 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 1406 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 1407 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 1408 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 1409 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 1410 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 1411 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 1412 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 1413 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 1414 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 1415 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 1416 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 1417 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 1418 * @arg @ref LL_MDMA_DATAALIGN_RIGHT
AnnaBridge 172:65be27845400 1419 * @arg @ref LL_MDMA_DATAALIGN_RIGHT_SIGNED
AnnaBridge 172:65be27845400 1420 * @arg @ref LL_MDMA_DATAALIGN_LEFT
AnnaBridge 172:65be27845400 1421 * @retval None
AnnaBridge 172:65be27845400 1422 */
AnnaBridge 172:65be27845400 1423 __STATIC_INLINE uint32_t LL_MDMA_GetPaddingAlignment(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 1424 {
AnnaBridge 172:65be27845400 1425 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 1426
AnnaBridge 172:65be27845400 1427 return (READ_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_PAM));
AnnaBridge 172:65be27845400 1428 }
AnnaBridge 172:65be27845400 1429
AnnaBridge 172:65be27845400 1430
AnnaBridge 172:65be27845400 1431 /**
AnnaBridge 172:65be27845400 1432 * @brief Enable Packing.
AnnaBridge 172:65be27845400 1433 * @rmtoll CTCR PKE LL_MDMA_EnablePacking
AnnaBridge 172:65be27845400 1434 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 1435 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1436 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 1437 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 1438 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 1439 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 1440 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 1441 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 1442 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 1443 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 1444 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 1445 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 1446 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 1447 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 1448 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 1449 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 1450 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 1451 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 1452 * @retval None
AnnaBridge 172:65be27845400 1453 */
AnnaBridge 172:65be27845400 1454 __STATIC_INLINE void LL_MDMA_EnablePacking(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 1455 {
AnnaBridge 172:65be27845400 1456 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 1457
AnnaBridge 172:65be27845400 1458 SET_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_PKE);
AnnaBridge 172:65be27845400 1459 }
AnnaBridge 172:65be27845400 1460
AnnaBridge 172:65be27845400 1461 /**
AnnaBridge 172:65be27845400 1462 * @brief Disable Packing.
AnnaBridge 172:65be27845400 1463 * @rmtoll CTCR PKE LL_MDMA_DisablePacking
AnnaBridge 172:65be27845400 1464 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 1465 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1466 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 1467 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 1468 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 1469 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 1470 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 1471 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 1472 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 1473 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 1474 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 1475 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 1476 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 1477 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 1478 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 1479 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 1480 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 1481 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 1482 * @retval None
AnnaBridge 172:65be27845400 1483 */
AnnaBridge 172:65be27845400 1484 __STATIC_INLINE void LL_MDMA_DisablePacking(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 1485 {
AnnaBridge 172:65be27845400 1486 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 1487
AnnaBridge 172:65be27845400 1488 CLEAR_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_PKE);
AnnaBridge 172:65be27845400 1489 }
AnnaBridge 172:65be27845400 1490
AnnaBridge 172:65be27845400 1491 /**
AnnaBridge 172:65be27845400 1492 * @brief Check if packing is enabled or disabled.
AnnaBridge 172:65be27845400 1493 * @rmtoll CTCR PKE LL_MDMA_IsEnabledPacking
AnnaBridge 172:65be27845400 1494 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 1495 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1496 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 1497 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 1498 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 1499 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 1500 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 1501 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 1502 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 1503 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 1504 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 1505 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 1506 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 1507 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 1508 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 1509 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 1510 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 1511 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 1512 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 1513 */
AnnaBridge 172:65be27845400 1514 __STATIC_INLINE uint32_t LL_MDMA_IsEnabledPacking(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 1515 {
AnnaBridge 172:65be27845400 1516 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 1517
AnnaBridge 172:65be27845400 1518 return ((READ_BIT(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_PKE) == (MDMA_CTCR_PKE)) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 1519 }
AnnaBridge 172:65be27845400 1520
AnnaBridge 172:65be27845400 1521 /**
AnnaBridge 172:65be27845400 1522 * @brief Set Buffer Transfer Length.
AnnaBridge 172:65be27845400 1523 * @rmtoll CTCR TLEN LL_MDMA_SetBufferTransferLength
AnnaBridge 172:65be27845400 1524 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 1525 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1526 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 1527 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 1528 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 1529 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 1530 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 1531 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 1532 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 1533 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 1534 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 1535 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 1536 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 1537 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 1538 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 1539 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 1540 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 1541 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 1542 * @param Length Between 0 to 0x0000007F
AnnaBridge 172:65be27845400 1543 * @retval None
AnnaBridge 172:65be27845400 1544 */
AnnaBridge 172:65be27845400 1545 __STATIC_INLINE void LL_MDMA_SetBufferTransferLength(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t Length)
AnnaBridge 172:65be27845400 1546 {
AnnaBridge 172:65be27845400 1547 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 1548
AnnaBridge 172:65be27845400 1549 MODIFY_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_TLEN,
AnnaBridge 172:65be27845400 1550 (Length << MDMA_CTCR_TLEN_Pos) & MDMA_CTCR_TLEN_Msk);
AnnaBridge 172:65be27845400 1551 }
AnnaBridge 172:65be27845400 1552
AnnaBridge 172:65be27845400 1553 /**
AnnaBridge 172:65be27845400 1554 * @brief Get Buffer Transfer Length.
AnnaBridge 172:65be27845400 1555 * @rmtoll CTCR TLEN LL_MDMA_GetBufferTransferLength
AnnaBridge 172:65be27845400 1556 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 1557 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1558 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 1559 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 1560 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 1561 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 1562 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 1563 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 1564 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 1565 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 1566 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 1567 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 1568 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 1569 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 1570 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 1571 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 1572 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 1573 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 1574 * @retval Between 0 to 0x0000007F
AnnaBridge 172:65be27845400 1575 * @retval None
AnnaBridge 172:65be27845400 1576 */
AnnaBridge 172:65be27845400 1577 __STATIC_INLINE uint32_t LL_MDMA_GetBufferTransferLength(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 1578 {
AnnaBridge 172:65be27845400 1579 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 1580
AnnaBridge 172:65be27845400 1581 return(READ_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_TLEN) >> MDMA_CTCR_TLEN_Pos);
AnnaBridge 172:65be27845400 1582 }
AnnaBridge 172:65be27845400 1583
AnnaBridge 172:65be27845400 1584 /**
AnnaBridge 172:65be27845400 1585 * @brief Set Destination burst transfer.
AnnaBridge 172:65be27845400 1586 * @rmtoll CTCR DBURST LL_MDMA_SetDestinationBurstSize
AnnaBridge 172:65be27845400 1587 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 1588 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1589 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 1590 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 1591 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 1592 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 1593 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 1594 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 1595 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 1596 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 1597 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 1598 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 1599 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 1600 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 1601 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 1602 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 1603 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 1604 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 1605 * @param Dburst This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1606 * @arg @ref LL_MDMA_DEST_BURST_SINGLE
AnnaBridge 172:65be27845400 1607 * @arg @ref LL_MDMA_DEST_BURST_2BEATS
AnnaBridge 172:65be27845400 1608 * @arg @ref LL_MDMA_DEST_BURST_4BEATS
AnnaBridge 172:65be27845400 1609 * @arg @ref LL_MDMA_DEST_BURST_8BEATS
AnnaBridge 172:65be27845400 1610 * @arg @ref LL_MDMA_DEST_BURST_16BEATS
AnnaBridge 172:65be27845400 1611 * @arg @ref LL_MDMA_DEST_BURST_32BEATS
AnnaBridge 172:65be27845400 1612 * @arg @ref LL_MDMA_DEST_BURST_64BEATS
AnnaBridge 172:65be27845400 1613 * @arg @ref LL_MDMA_DEST_BURST_128BEATS
AnnaBridge 172:65be27845400 1614 * @retval None
AnnaBridge 172:65be27845400 1615 */
AnnaBridge 172:65be27845400 1616 __STATIC_INLINE void LL_MDMA_SetDestinationBurstSize(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t Dburst)
AnnaBridge 172:65be27845400 1617 {
AnnaBridge 172:65be27845400 1618 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 1619
AnnaBridge 172:65be27845400 1620 MODIFY_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_DBURST, Dburst);
AnnaBridge 172:65be27845400 1621 }
AnnaBridge 172:65be27845400 1622
AnnaBridge 172:65be27845400 1623 /**
AnnaBridge 172:65be27845400 1624 * @brief Get Destination burst transfer.
AnnaBridge 172:65be27845400 1625 * @rmtoll CTCR DBURST LL_MDMA_GetDestinationBurstSize
AnnaBridge 172:65be27845400 1626 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 1627 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1628 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 1629 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 1630 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 1631 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 1632 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 1633 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 1634 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 1635 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 1636 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 1637 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 1638 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 1639 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 1640 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 1641 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 1642 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 1643 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 1644 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 1645 * @arg @ref LL_MDMA_DEST_BURST_SINGLE
AnnaBridge 172:65be27845400 1646 * @arg @ref LL_MDMA_DEST_BURST_2BEATS
AnnaBridge 172:65be27845400 1647 * @arg @ref LL_MDMA_DEST_BURST_4BEATS
AnnaBridge 172:65be27845400 1648 * @arg @ref LL_MDMA_DEST_BURST_8BEATS
AnnaBridge 172:65be27845400 1649 * @arg @ref LL_MDMA_DEST_BURST_16BEATS
AnnaBridge 172:65be27845400 1650 * @arg @ref LL_MDMA_DEST_BURST_32BEATS
AnnaBridge 172:65be27845400 1651 * @arg @ref LL_MDMA_DEST_BURST_64BEATS
AnnaBridge 172:65be27845400 1652 * @arg @ref LL_MDMA_DEST_BURST_128BEATS
AnnaBridge 172:65be27845400 1653 * @retval None
AnnaBridge 172:65be27845400 1654 */
AnnaBridge 172:65be27845400 1655 __STATIC_INLINE uint32_t LL_MDMA_GetDestinationBurstSize(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 1656 {
AnnaBridge 172:65be27845400 1657 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 1658
AnnaBridge 172:65be27845400 1659 return(READ_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_DBURST));
AnnaBridge 172:65be27845400 1660 }
AnnaBridge 172:65be27845400 1661
AnnaBridge 172:65be27845400 1662 /**
AnnaBridge 172:65be27845400 1663 * @brief Set Source burst transfer.
AnnaBridge 172:65be27845400 1664 * @rmtoll CTCR SBURST LL_MDMA_SetSourceBurstSize
AnnaBridge 172:65be27845400 1665 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 1666 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1667 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 1668 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 1669 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 1670 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 1671 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 1672 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 1673 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 1674 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 1675 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 1676 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 1677 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 1678 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 1679 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 1680 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 1681 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 1682 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 1683 * @param Sburst This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1684 * @arg @ref LL_MDMA_SRC_BURST_SINGLE
AnnaBridge 172:65be27845400 1685 * @arg @ref LL_MDMA_SRC_BURST_2BEATS
AnnaBridge 172:65be27845400 1686 * @arg @ref LL_MDMA_SRC_BURST_4BEATS
AnnaBridge 172:65be27845400 1687 * @arg @ref LL_MDMA_SRC_BURST_8BEATS
AnnaBridge 172:65be27845400 1688 * @arg @ref LL_MDMA_SRC_BURST_16BEATS
AnnaBridge 172:65be27845400 1689 * @arg @ref LL_MDMA_SRC_BURST_32BEATS
AnnaBridge 172:65be27845400 1690 * @arg @ref LL_MDMA_SRC_BURST_64BEATS
AnnaBridge 172:65be27845400 1691 * @arg @ref LL_MDMA_SRC_BURST_128BEATS
AnnaBridge 172:65be27845400 1692 * @retval None
AnnaBridge 172:65be27845400 1693 */
AnnaBridge 172:65be27845400 1694 __STATIC_INLINE void LL_MDMA_SetSourceBurstSize(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t Sburst)
AnnaBridge 172:65be27845400 1695 {
AnnaBridge 172:65be27845400 1696 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 1697
AnnaBridge 172:65be27845400 1698 MODIFY_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_SBURST, Sburst);
AnnaBridge 172:65be27845400 1699 }
AnnaBridge 172:65be27845400 1700
AnnaBridge 172:65be27845400 1701 /**
AnnaBridge 172:65be27845400 1702 * @brief Get Source burst transfer.
AnnaBridge 172:65be27845400 1703 * @rmtoll CTCR SBURST LL_MDMA_GetSourceBurstSize
AnnaBridge 172:65be27845400 1704 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 1705 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1706 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 1707 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 1708 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 1709 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 1710 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 1711 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 1712 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 1713 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 1714 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 1715 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 1716 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 1717 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 1718 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 1719 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 1720 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 1721 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 1722 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 1723 * @arg @ref LL_MDMA_SRC_BURST_SINGLE
AnnaBridge 172:65be27845400 1724 * @arg @ref LL_MDMA_SRC_BURST_2BEATS
AnnaBridge 172:65be27845400 1725 * @arg @ref LL_MDMA_SRC_BURST_4BEATS
AnnaBridge 172:65be27845400 1726 * @arg @ref LL_MDMA_SRC_BURST_8BEATS
AnnaBridge 172:65be27845400 1727 * @arg @ref LL_MDMA_SRC_BURST_16BEATS
AnnaBridge 172:65be27845400 1728 * @arg @ref LL_MDMA_SRC_BURST_32BEATS
AnnaBridge 172:65be27845400 1729 * @arg @ref LL_MDMA_SRC_BURST_64BEATS
AnnaBridge 172:65be27845400 1730 * @arg @ref LL_MDMA_SRC_BURST_128BEATS
AnnaBridge 172:65be27845400 1731 * @retval None
AnnaBridge 172:65be27845400 1732 */
AnnaBridge 172:65be27845400 1733 __STATIC_INLINE uint32_t LL_MDMA_GetSourceBurstSize(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 1734 {
AnnaBridge 172:65be27845400 1735 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 1736
AnnaBridge 172:65be27845400 1737 return(READ_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_SBURST));
AnnaBridge 172:65be27845400 1738 }
AnnaBridge 172:65be27845400 1739
AnnaBridge 172:65be27845400 1740 /**
AnnaBridge 172:65be27845400 1741 * @brief Set Destination Increment Offset Size.
AnnaBridge 172:65be27845400 1742 * @rmtoll CTCR DINCOS LL_MDMA_SetDestinationIncSize
AnnaBridge 172:65be27845400 1743 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 1744 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1745 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 1746 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 1747 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 1748 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 1749 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 1750 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 1751 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 1752 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 1753 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 1754 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 1755 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 1756 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 1757 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 1758 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 1759 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 1760 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 1761 * @param IncSize This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1762 * @arg @ref LL_MDMA_DEST_INC_OFFSET_BYTE
AnnaBridge 172:65be27845400 1763 * @arg @ref LL_MDMA_DEST_INC_OFFSET_HALFWORD
AnnaBridge 172:65be27845400 1764 * @arg @ref LL_MDMA_DEST_INC_OFFSET_WORD
AnnaBridge 172:65be27845400 1765 * @arg @ref LL_MDMA_DEST_INC_OFFSET_DOUBLEWORD
AnnaBridge 172:65be27845400 1766 * @retval None
AnnaBridge 172:65be27845400 1767 */
AnnaBridge 172:65be27845400 1768 __STATIC_INLINE void LL_MDMA_SetDestinationIncSize(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t IncSize)
AnnaBridge 172:65be27845400 1769 {
AnnaBridge 172:65be27845400 1770 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 1771
AnnaBridge 172:65be27845400 1772 MODIFY_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_DINCOS, IncSize);
AnnaBridge 172:65be27845400 1773 }
AnnaBridge 172:65be27845400 1774
AnnaBridge 172:65be27845400 1775 /**
AnnaBridge 172:65be27845400 1776 * @brief Get Destination Increment Offset Size.
AnnaBridge 172:65be27845400 1777 * @rmtoll CTCR DINCOS LL_MDMA_GetDestinationIncSize
AnnaBridge 172:65be27845400 1778 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 1779 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1780 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 1781 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 1782 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 1783 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 1784 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 1785 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 1786 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 1787 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 1788 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 1789 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 1790 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 1791 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 1792 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 1793 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 1794 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 1795 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 1796 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 1797 * @arg @ref LL_MDMA_DEST_INC_OFFSET_BYTE
AnnaBridge 172:65be27845400 1798 * @arg @ref LL_MDMA_DEST_INC_OFFSET_HALFWORD
AnnaBridge 172:65be27845400 1799 * @arg @ref LL_MDMA_DEST_INC_OFFSET_WORD
AnnaBridge 172:65be27845400 1800 * @arg @ref LL_MDMA_DEST_INC_OFFSET_DOUBLEWORD
AnnaBridge 172:65be27845400 1801 * @retval None
AnnaBridge 172:65be27845400 1802 */
AnnaBridge 172:65be27845400 1803 __STATIC_INLINE uint32_t LL_MDMA_GetDestinationIncSize(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 1804 {
AnnaBridge 172:65be27845400 1805 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 1806
AnnaBridge 172:65be27845400 1807 return (READ_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_DINCOS));
AnnaBridge 172:65be27845400 1808 }
AnnaBridge 172:65be27845400 1809
AnnaBridge 172:65be27845400 1810 /**
AnnaBridge 172:65be27845400 1811 * @brief Set Source Increment Offset Size.
AnnaBridge 172:65be27845400 1812 * @rmtoll CTCR SINCOS LL_MDMA_SetSourceIncSize
AnnaBridge 172:65be27845400 1813 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 1814 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1815 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 1816 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 1817 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 1818 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 1819 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 1820 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 1821 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 1822 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 1823 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 1824 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 1825 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 1826 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 1827 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 1828 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 1829 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 1830 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 1831 * @param IncSize This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1832 * @arg @ref LL_MDMA_SRC_INC_OFFSET_BYTE
AnnaBridge 172:65be27845400 1833 * @arg @ref LL_MDMA_SRC_INC_OFFSET_HALFWORD
AnnaBridge 172:65be27845400 1834 * @arg @ref LL_MDMA_SRC_INC_OFFSET_WORD
AnnaBridge 172:65be27845400 1835 * @arg @ref LL_MDMA_SRC_INC_OFFSET_DOUBLEWORD
AnnaBridge 172:65be27845400 1836 * @retval None
AnnaBridge 172:65be27845400 1837 */
AnnaBridge 172:65be27845400 1838 __STATIC_INLINE void LL_MDMA_SetSourceIncSize(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t IncSize)
AnnaBridge 172:65be27845400 1839 {
AnnaBridge 172:65be27845400 1840 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 1841
AnnaBridge 172:65be27845400 1842 MODIFY_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_SINCOS, IncSize);
AnnaBridge 172:65be27845400 1843 }
AnnaBridge 172:65be27845400 1844
AnnaBridge 172:65be27845400 1845 /**
AnnaBridge 172:65be27845400 1846 * @brief Get Source Increment Offset Size.
AnnaBridge 172:65be27845400 1847 * @rmtoll CTCR SINCOS LL_MDMA_GetSourceIncSize
AnnaBridge 172:65be27845400 1848 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 1849 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1850 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 1851 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 1852 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 1853 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 1854 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 1855 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 1856 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 1857 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 1858 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 1859 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 1860 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 1861 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 1862 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 1863 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 1864 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 1865 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 1866 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 1867 * @arg @ref LL_MDMA_SRC_INC_OFFSET_BYTE
AnnaBridge 172:65be27845400 1868 * @arg @ref LL_MDMA_SRC_INC_OFFSET_HALFWORD
AnnaBridge 172:65be27845400 1869 * @arg @ref LL_MDMA_SRC_INC_OFFSET_WORD
AnnaBridge 172:65be27845400 1870 * @arg @ref LL_MDMA_SRC_INC_OFFSET_DOUBLEWORD
AnnaBridge 172:65be27845400 1871 * @retval None
AnnaBridge 172:65be27845400 1872 */
AnnaBridge 172:65be27845400 1873 __STATIC_INLINE uint32_t LL_MDMA_GetSourceIncSize(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 1874 {
AnnaBridge 172:65be27845400 1875 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 1876
AnnaBridge 172:65be27845400 1877 return (READ_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_SINCOS));
AnnaBridge 172:65be27845400 1878 }
AnnaBridge 172:65be27845400 1879
AnnaBridge 172:65be27845400 1880 /**
AnnaBridge 172:65be27845400 1881 * @brief Set Destination Data Size.
AnnaBridge 172:65be27845400 1882 * @rmtoll CTCR DSIZE LL_MDMA_SetDestinationDataSize
AnnaBridge 172:65be27845400 1883 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 1884 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1885 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 1886 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 1887 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 1888 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 1889 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 1890 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 1891 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 1892 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 1893 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 1894 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 1895 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 1896 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 1897 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 1898 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 1899 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 1900 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 1901 * @param DestDataSize This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1902 * @arg @ref LL_MDMA_DEST_DATA_SIZE_BYTE
AnnaBridge 172:65be27845400 1903 * @arg @ref LL_MDMA_DEST_DATA_SIZE_HALFWORD
AnnaBridge 172:65be27845400 1904 * @arg @ref LL_MDMA_DEST_DATA_SIZE_WORD
AnnaBridge 172:65be27845400 1905 * @arg @ref LL_MDMA_DEST_DATA_SIZE_DOUBLEWORD
AnnaBridge 172:65be27845400 1906 * @retval None
AnnaBridge 172:65be27845400 1907 */
AnnaBridge 172:65be27845400 1908 __STATIC_INLINE void LL_MDMA_SetDestinationDataSize(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t DestDataSize)
AnnaBridge 172:65be27845400 1909 {
AnnaBridge 172:65be27845400 1910 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 1911
AnnaBridge 172:65be27845400 1912 MODIFY_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_DSIZE, DestDataSize);
AnnaBridge 172:65be27845400 1913 }
AnnaBridge 172:65be27845400 1914
AnnaBridge 172:65be27845400 1915 /**
AnnaBridge 172:65be27845400 1916 * @brief Get Destination Data Size.
AnnaBridge 172:65be27845400 1917 * @rmtoll CTCR DSIZE LL_MDMA_GetDestinationDataSize
AnnaBridge 172:65be27845400 1918 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 1919 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1920 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 1921 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 1922 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 1923 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 1924 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 1925 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 1926 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 1927 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 1928 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 1929 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 1930 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 1931 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 1932 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 1933 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 1934 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 1935 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 1936 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 1937 * @arg @ref LL_MDMA_DEST_DATA_SIZE_BYTE
AnnaBridge 172:65be27845400 1938 * @arg @ref LL_MDMA_DEST_DATA_SIZE_HALFWORD
AnnaBridge 172:65be27845400 1939 * @arg @ref LL_MDMA_DEST_DATA_SIZE_WORD
AnnaBridge 172:65be27845400 1940 * @arg @ref LL_MDMA_DEST_DATA_SIZE_DOUBLEWORD
AnnaBridge 172:65be27845400 1941 * @retval None
AnnaBridge 172:65be27845400 1942 */
AnnaBridge 172:65be27845400 1943 __STATIC_INLINE uint32_t LL_MDMA_GetDestinationDataSize(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 1944 {
AnnaBridge 172:65be27845400 1945 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 1946
AnnaBridge 172:65be27845400 1947 return (READ_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_DSIZE));
AnnaBridge 172:65be27845400 1948 }
AnnaBridge 172:65be27845400 1949
AnnaBridge 172:65be27845400 1950 /**
AnnaBridge 172:65be27845400 1951 * @brief Set Source Data Size.
AnnaBridge 172:65be27845400 1952 * @rmtoll CTCR SSIZE LL_MDMA_SetSourceDataSize
AnnaBridge 172:65be27845400 1953 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 1954 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1955 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 1956 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 1957 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 1958 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 1959 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 1960 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 1961 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 1962 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 1963 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 1964 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 1965 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 1966 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 1967 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 1968 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 1969 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 1970 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 1971 * @param SrcDataSize This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1972 * @arg @ref LL_MDMA_SRC_DATA_SIZE_BYTE
AnnaBridge 172:65be27845400 1973 * @arg @ref LL_MDMA_SRC_DATA_SIZE_HALFWORD
AnnaBridge 172:65be27845400 1974 * @arg @ref LL_MDMA_SRC_DATA_SIZE_WORD
AnnaBridge 172:65be27845400 1975 * @arg @ref LL_MDMA_SRC_DATA_SIZE_DOUBLEWORD
AnnaBridge 172:65be27845400 1976 * @retval None
AnnaBridge 172:65be27845400 1977 */
AnnaBridge 172:65be27845400 1978 __STATIC_INLINE void LL_MDMA_SetSourceDataSize(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t SrcDataSize)
AnnaBridge 172:65be27845400 1979 {
AnnaBridge 172:65be27845400 1980 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 1981
AnnaBridge 172:65be27845400 1982 MODIFY_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_SSIZE, SrcDataSize);
AnnaBridge 172:65be27845400 1983 }
AnnaBridge 172:65be27845400 1984
AnnaBridge 172:65be27845400 1985 /**
AnnaBridge 172:65be27845400 1986 * @brief Get Source Data Size.
AnnaBridge 172:65be27845400 1987 * @rmtoll CTCR SSIZE LL_MDMA_GetSourceDataSize
AnnaBridge 172:65be27845400 1988 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 1989 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1990 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 1991 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 1992 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 1993 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 1994 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 1995 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 1996 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 1997 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 1998 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 1999 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2000 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2001 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2002 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2003 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2004 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2005 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2006 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 2007 * @arg @ref LL_MDMA_SRC_DATA_SIZE_BYTE
AnnaBridge 172:65be27845400 2008 * @arg @ref LL_MDMA_SRC_DATA_SIZE_HALFWORD
AnnaBridge 172:65be27845400 2009 * @arg @ref LL_MDMA_SRC_DATA_SIZE_WORD
AnnaBridge 172:65be27845400 2010 * @arg @ref LL_MDMA_SRC_DATA_SIZE_DOUBLEWORD
AnnaBridge 172:65be27845400 2011 * @retval None
AnnaBridge 172:65be27845400 2012 */
AnnaBridge 172:65be27845400 2013 __STATIC_INLINE uint32_t LL_MDMA_GetSourceDataSize(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 2014 {
AnnaBridge 172:65be27845400 2015 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2016
AnnaBridge 172:65be27845400 2017 return (READ_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_SSIZE));
AnnaBridge 172:65be27845400 2018 }
AnnaBridge 172:65be27845400 2019
AnnaBridge 172:65be27845400 2020 /**
AnnaBridge 172:65be27845400 2021 * @brief Set Destination Increment Mode.
AnnaBridge 172:65be27845400 2022 * @rmtoll CTCR DINC LL_MDMA_SetDestinationIncMode
AnnaBridge 172:65be27845400 2023 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2024 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2025 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2026 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2027 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2028 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2029 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2030 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2031 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2032 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2033 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2034 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2035 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2036 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2037 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2038 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2039 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2040 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2041 * @param DestIncMode This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2042 * @arg @ref LL_MDMA_DEST_FIXED
AnnaBridge 172:65be27845400 2043 * @arg @ref LL_MDMA_DEST_INCREMENT
AnnaBridge 172:65be27845400 2044 * @arg @ref LL_MDMA_DEST_DECREMENT
AnnaBridge 172:65be27845400 2045 * @retval None
AnnaBridge 172:65be27845400 2046 */
AnnaBridge 172:65be27845400 2047 __STATIC_INLINE void LL_MDMA_SetDestinationIncMode(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t DestIncMode)
AnnaBridge 172:65be27845400 2048 {
AnnaBridge 172:65be27845400 2049 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2050
AnnaBridge 172:65be27845400 2051 MODIFY_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_DINC, DestIncMode);
AnnaBridge 172:65be27845400 2052 }
AnnaBridge 172:65be27845400 2053
AnnaBridge 172:65be27845400 2054 /**
AnnaBridge 172:65be27845400 2055 * @brief Get Destination Increment Mode.
AnnaBridge 172:65be27845400 2056 * @rmtoll CTCR DINC LL_MDMA_GetDestinationIncMode
AnnaBridge 172:65be27845400 2057 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2058 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2059 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2060 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2061 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2062 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2063 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2064 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2065 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2066 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2067 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2068 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2069 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2070 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2071 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2072 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2073 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2074 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2075 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 2076 * @arg @ref LL_MDMA_DEST_FIXED
AnnaBridge 172:65be27845400 2077 * @arg @ref LL_MDMA_DEST_INCREMENT
AnnaBridge 172:65be27845400 2078 * @arg @ref LL_MDMA_DEST_DECREMENT
AnnaBridge 172:65be27845400 2079 * @retval None
AnnaBridge 172:65be27845400 2080 */
AnnaBridge 172:65be27845400 2081 __STATIC_INLINE uint32_t LL_MDMA_GetDestinationIncMode(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 2082 {
AnnaBridge 172:65be27845400 2083 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2084
AnnaBridge 172:65be27845400 2085 return (READ_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_DINC));
AnnaBridge 172:65be27845400 2086 }
AnnaBridge 172:65be27845400 2087
AnnaBridge 172:65be27845400 2088 /**
AnnaBridge 172:65be27845400 2089 * @brief Set Source Increment Mode.
AnnaBridge 172:65be27845400 2090 * @rmtoll CTCR SINC LL_MDMA_SetSourceIncMode
AnnaBridge 172:65be27845400 2091 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2092 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2093 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2094 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2095 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2096 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2097 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2098 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2099 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2100 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2101 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2102 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2103 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2104 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2105 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2106 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2107 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2108 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2109 * @param SrcIncMode This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2110 * @arg @ref LL_MDMA_SRC_FIXED
AnnaBridge 172:65be27845400 2111 * @arg @ref LL_MDMA_SRC_INCREMENT
AnnaBridge 172:65be27845400 2112 * @arg @ref LL_MDMA_SRC_DECREMENT
AnnaBridge 172:65be27845400 2113 * @retval None
AnnaBridge 172:65be27845400 2114 */
AnnaBridge 172:65be27845400 2115 __STATIC_INLINE void LL_MDMA_SetSourceIncMode(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t SrcIncMode)
AnnaBridge 172:65be27845400 2116 {
AnnaBridge 172:65be27845400 2117 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2118
AnnaBridge 172:65be27845400 2119 MODIFY_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_SINC, SrcIncMode);
AnnaBridge 172:65be27845400 2120 }
AnnaBridge 172:65be27845400 2121
AnnaBridge 172:65be27845400 2122 /**
AnnaBridge 172:65be27845400 2123 * @brief Get Source Increment Mode.
AnnaBridge 172:65be27845400 2124 * @rmtoll CTCR SINC LL_MDMA_GetSourceIncMode
AnnaBridge 172:65be27845400 2125 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2126 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2127 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2128 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2129 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2130 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2131 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2132 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2133 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2134 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2135 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2136 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2137 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2138 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2139 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2140 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2141 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2142 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2143 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 2144 * @arg @ref LL_MDMA_SRC_FIXED
AnnaBridge 172:65be27845400 2145 * @arg @ref LL_MDMA_SRC_INCREMENT
AnnaBridge 172:65be27845400 2146 * @arg @ref LL_MDMA_SRC_DECREMENT
AnnaBridge 172:65be27845400 2147 * @retval None
AnnaBridge 172:65be27845400 2148 */
AnnaBridge 172:65be27845400 2149 __STATIC_INLINE uint32_t LL_MDMA_GetSourceIncMode(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 2150 {
AnnaBridge 172:65be27845400 2151 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2152
AnnaBridge 172:65be27845400 2153 return (READ_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTCR, MDMA_CTCR_SINC));
AnnaBridge 172:65be27845400 2154 }
AnnaBridge 172:65be27845400 2155
AnnaBridge 172:65be27845400 2156 /**
AnnaBridge 172:65be27845400 2157 * @brief Configure MDMA Block number of data and repeat Count.
AnnaBridge 172:65be27845400 2158 * @rmtoll CBNDTR BRC LL_MDMA_ConfigBlkCounters\n
AnnaBridge 172:65be27845400 2159 * @rmtoll CBNDTR BNDT LL_MDMA_ConfigBlkCounters
AnnaBridge 172:65be27845400 2160 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2161 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2162 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2163 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2164 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2165 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2166 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2167 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2168 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2169 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2170 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2171 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2172 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2173 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2174 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2175 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2176 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2177 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2178 * @param BlockRepeatCount Between 0 to 0x00000FFF
AnnaBridge 172:65be27845400 2179 * @param BlkDataLength Between 0 to 0x00010000
AnnaBridge 172:65be27845400 2180 * @retval None
AnnaBridge 172:65be27845400 2181 */
AnnaBridge 172:65be27845400 2182 __STATIC_INLINE void LL_MDMA_ConfigBlkCounters(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t BlockRepeatCount, uint32_t BlkDataLength)
AnnaBridge 172:65be27845400 2183 {
AnnaBridge 172:65be27845400 2184 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2185
AnnaBridge 172:65be27845400 2186 MODIFY_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CBNDTR,
AnnaBridge 172:65be27845400 2187 MDMA_CBNDTR_BRC | MDMA_CBNDTR_BNDT,
AnnaBridge 172:65be27845400 2188 ((BlockRepeatCount << MDMA_CBNDTR_BRC_Pos) & MDMA_CBNDTR_BRC_Msk) | (BlkDataLength & MDMA_CBNDTR_BNDT_Msk));
AnnaBridge 172:65be27845400 2189 }
AnnaBridge 172:65be27845400 2190
AnnaBridge 172:65be27845400 2191 /**
AnnaBridge 172:65be27845400 2192 * @brief Set Block Number of data bytes to transfer.
AnnaBridge 172:65be27845400 2193 * @rmtoll CBNDTR BNDT LL_MDMA_SetBlkDataLength
AnnaBridge 172:65be27845400 2194 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2195 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2196 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2197 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2198 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2199 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2200 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2201 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2202 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2203 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2204 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2205 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2206 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2207 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2208 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2209 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2210 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2211 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2212 * @param BlkDataLength Between 0 to 0x00010000
AnnaBridge 172:65be27845400 2213 * @retval None
AnnaBridge 172:65be27845400 2214 */
AnnaBridge 172:65be27845400 2215 __STATIC_INLINE void LL_MDMA_SetBlkDataLength(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t BlkDataLength)
AnnaBridge 172:65be27845400 2216 {
AnnaBridge 172:65be27845400 2217 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2218
AnnaBridge 172:65be27845400 2219 MODIFY_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CBNDTR, MDMA_CBNDTR_BNDT, (BlkDataLength & MDMA_CBNDTR_BNDT_Msk));
AnnaBridge 172:65be27845400 2220 }
AnnaBridge 172:65be27845400 2221
AnnaBridge 172:65be27845400 2222 /**
AnnaBridge 172:65be27845400 2223 * @brief Get Block Number of data bytes to transfer.
AnnaBridge 172:65be27845400 2224 * @rmtoll CBNDTR BNDT LL_MDMA_GetBlkDataLength
AnnaBridge 172:65be27845400 2225 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2226 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2227 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2228 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2229 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2230 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2231 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2232 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2233 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2234 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2235 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2236 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2237 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2238 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2239 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2240 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2241 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2242 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2243 * @retval Between 0 to 0x00010000
AnnaBridge 172:65be27845400 2244 * @retval None
AnnaBridge 172:65be27845400 2245 */
AnnaBridge 172:65be27845400 2246 __STATIC_INLINE uint32_t LL_MDMA_GetBlkDataLength(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 2247 {
AnnaBridge 172:65be27845400 2248 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2249
AnnaBridge 172:65be27845400 2250 return (READ_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CBNDTR, MDMA_CBNDTR_BNDT));
AnnaBridge 172:65be27845400 2251 }
AnnaBridge 172:65be27845400 2252
AnnaBridge 172:65be27845400 2253 /**
AnnaBridge 172:65be27845400 2254 * @brief Set Block Repeat Count.
AnnaBridge 172:65be27845400 2255 * @rmtoll CBNDTR BRC LL_MDMA_SetBlkRepeatCount
AnnaBridge 172:65be27845400 2256 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2257 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2258 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2259 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2260 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2261 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2262 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2263 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2264 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2265 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2266 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2267 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2268 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2269 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2270 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2271 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2272 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2273 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2274 * @param BlockRepeatCount Between 0 to 0x00000FFF
AnnaBridge 172:65be27845400 2275 * @retval None
AnnaBridge 172:65be27845400 2276 */
AnnaBridge 172:65be27845400 2277 __STATIC_INLINE void LL_MDMA_SetBlkRepeatCount(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t BlockRepeatCount)
AnnaBridge 172:65be27845400 2278 {
AnnaBridge 172:65be27845400 2279 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2280
AnnaBridge 172:65be27845400 2281 MODIFY_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CBNDTR, MDMA_CBNDTR_BRC,
AnnaBridge 172:65be27845400 2282 (BlockRepeatCount << MDMA_CBNDTR_BRC_Pos) & MDMA_CBNDTR_BRC_Msk);
AnnaBridge 172:65be27845400 2283 }
AnnaBridge 172:65be27845400 2284
AnnaBridge 172:65be27845400 2285 /**
AnnaBridge 172:65be27845400 2286 * @brief Get Block Repeat Count.
AnnaBridge 172:65be27845400 2287 * @rmtoll CBNDTR BRC LL_MDMA_GetBlkRepeatCount
AnnaBridge 172:65be27845400 2288 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2289 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2290 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2291 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2292 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2293 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2294 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2295 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2296 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2297 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2298 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2299 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2300 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2301 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2302 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2303 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2304 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2305 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2306 * @retval Between 0 to 0x00000FFF
AnnaBridge 172:65be27845400 2307 * @retval None
AnnaBridge 172:65be27845400 2308 */
AnnaBridge 172:65be27845400 2309 __STATIC_INLINE uint32_t LL_MDMA_GetBlkRepeatCount(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 2310 {
AnnaBridge 172:65be27845400 2311 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2312
AnnaBridge 172:65be27845400 2313 return (READ_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CBNDTR, MDMA_CBNDTR_BRC) >> MDMA_CBNDTR_BRC_Pos);
AnnaBridge 172:65be27845400 2314 }
AnnaBridge 172:65be27845400 2315
AnnaBridge 172:65be27845400 2316 /**
AnnaBridge 172:65be27845400 2317 * @brief Configure MDMA block repeat address update mode.
AnnaBridge 172:65be27845400 2318 * @rmtoll CBNDTR BRDUM LL_MDMA_ConfigBlkRepeatAddrUpdate\n
AnnaBridge 172:65be27845400 2319 * @rmtoll CBNDTR BRSUM LL_MDMA_ConfigBlkRepeatAddrUpdate
AnnaBridge 172:65be27845400 2320 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2321 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2322 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2323 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2324 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2325 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2326 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2327 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2328 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2329 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2330 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2331 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2332 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2333 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2334 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2335 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2336 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2337 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2338 * @param Configuration This parameter must be a combination of all the following values:
AnnaBridge 172:65be27845400 2339 * @arg @ref LL_MDMA_BLK_RPT_DEST_ADDR_INCREMENT or @ref LL_MDMA_BLK_RPT_DEST_ADDR_DECREMENT
AnnaBridge 172:65be27845400 2340 * @arg @ref LL_MDMA_BLK_RPT_SRC_ADDR_INCREMENT or @ref LL_MDMA_BLK_RPT_SRC_ADDR_DECREMENT
AnnaBridge 172:65be27845400 2341 * @retval None
AnnaBridge 172:65be27845400 2342 */
AnnaBridge 172:65be27845400 2343 __STATIC_INLINE void LL_MDMA_ConfigBlkRepeatAddrUpdate(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t Configuration)
AnnaBridge 172:65be27845400 2344 {
AnnaBridge 172:65be27845400 2345 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2346
AnnaBridge 172:65be27845400 2347 MODIFY_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CBNDTR,
AnnaBridge 172:65be27845400 2348 MDMA_CBNDTR_BRDUM | MDMA_CBNDTR_BRSUM,
AnnaBridge 172:65be27845400 2349 Configuration);
AnnaBridge 172:65be27845400 2350 }
AnnaBridge 172:65be27845400 2351
AnnaBridge 172:65be27845400 2352 /**
AnnaBridge 172:65be27845400 2353 * @brief Set Block Repeat Destination address Update Mode.
AnnaBridge 172:65be27845400 2354 * @rmtoll CBNDTR BRDUM LL_MDMA_SetBlkRepeatDestAddrUpdate
AnnaBridge 172:65be27845400 2355 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2356 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2357 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2358 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2359 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2360 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2361 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2362 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2363 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2364 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2365 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2366 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2367 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2368 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2369 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2370 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2371 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2372 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2373 * @param DestAdrUpdateMode This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2374 * @arg @ref LL_MDMA_BLK_RPT_DEST_ADDR_INCREMENT
AnnaBridge 172:65be27845400 2375 * @arg @ref LL_MDMA_BLK_RPT_DEST_ADDR_DECREMENT
AnnaBridge 172:65be27845400 2376 * @retval None
AnnaBridge 172:65be27845400 2377 */
AnnaBridge 172:65be27845400 2378 __STATIC_INLINE void LL_MDMA_SetBlkRepeatDestAddrUpdate(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t DestAdrUpdateMode)
AnnaBridge 172:65be27845400 2379 {
AnnaBridge 172:65be27845400 2380 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2381
AnnaBridge 172:65be27845400 2382 MODIFY_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CBNDTR, MDMA_CBNDTR_BRDUM, DestAdrUpdateMode);
AnnaBridge 172:65be27845400 2383 }
AnnaBridge 172:65be27845400 2384
AnnaBridge 172:65be27845400 2385 /**
AnnaBridge 172:65be27845400 2386 * @brief Get Block Repeat Destination address Update Mode.
AnnaBridge 172:65be27845400 2387 * @rmtoll CBNDTR BRDUM LL_MDMA_GetBlkRepeatDestAddrUpdate
AnnaBridge 172:65be27845400 2388 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2389 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2390 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2391 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2392 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2393 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2394 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2395 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2396 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2397 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2398 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2399 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2400 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2401 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2402 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2403 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2404 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2405 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2406 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 2407 * @arg @ref LL_MDMA_BLK_RPT_DEST_ADDR_INCREMENT
AnnaBridge 172:65be27845400 2408 * @arg @ref LL_MDMA_BLK_RPT_DEST_ADDR_DECREMENT
AnnaBridge 172:65be27845400 2409 * @retval None
AnnaBridge 172:65be27845400 2410 */
AnnaBridge 172:65be27845400 2411 __STATIC_INLINE uint32_t LL_MDMA_GetBlkRepeatDestAddrUpdate(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 2412 {
AnnaBridge 172:65be27845400 2413 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2414
AnnaBridge 172:65be27845400 2415 return (READ_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CBNDTR, MDMA_CBNDTR_BRDUM));
AnnaBridge 172:65be27845400 2416 }
AnnaBridge 172:65be27845400 2417
AnnaBridge 172:65be27845400 2418 /**
AnnaBridge 172:65be27845400 2419 * @brief Set Block Repeat Source address Update Mode.
AnnaBridge 172:65be27845400 2420 * @rmtoll CBNDTR BRSUM LL_MDMA_SetBlkRepeatSrcAddrUpdate
AnnaBridge 172:65be27845400 2421 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2422 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2423 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2424 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2425 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2426 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2427 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2428 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2429 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2430 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2431 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2432 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2433 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2434 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2435 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2436 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2437 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2438 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2439 * @param SrcAdrUpdateMode This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2440 * @arg @ref LL_MDMA_BLK_RPT_SRC_ADDR_INCREMENT
AnnaBridge 172:65be27845400 2441 * @arg @ref LL_MDMA_BLK_RPT_SRC_ADDR_DECREMENT
AnnaBridge 172:65be27845400 2442 * @retval None
AnnaBridge 172:65be27845400 2443 */
AnnaBridge 172:65be27845400 2444 __STATIC_INLINE void LL_MDMA_SetBlkRepeatSrcAddrUpdate(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t SrcAdrUpdateMode)
AnnaBridge 172:65be27845400 2445 {
AnnaBridge 172:65be27845400 2446 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2447
AnnaBridge 172:65be27845400 2448 MODIFY_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CBNDTR, MDMA_CBNDTR_BRSUM, SrcAdrUpdateMode);
AnnaBridge 172:65be27845400 2449 }
AnnaBridge 172:65be27845400 2450
AnnaBridge 172:65be27845400 2451 /**
AnnaBridge 172:65be27845400 2452 * @brief Get Block Repeat Source address Update Mode.
AnnaBridge 172:65be27845400 2453 * @rmtoll CBNDTR BRSUM LL_MDMA_GetBlkRepeatSrcAddrUpdate
AnnaBridge 172:65be27845400 2454 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2455 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2456 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2457 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2458 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2459 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2460 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2461 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2462 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2463 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2464 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2465 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2466 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2467 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2468 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2469 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2470 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2471 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2472 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 2473 * @arg @ref LL_MDMA_BLK_RPT_SRC_ADDR_INCREMENT
AnnaBridge 172:65be27845400 2474 * @arg @ref LL_MDMA_BLK_RPT_SRC_ADDR_DECREMENT
AnnaBridge 172:65be27845400 2475 * @retval None
AnnaBridge 172:65be27845400 2476 */
AnnaBridge 172:65be27845400 2477 __STATIC_INLINE uint32_t LL_MDMA_GetBlkRepeatSrcAddrUpdate(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 2478 {
AnnaBridge 172:65be27845400 2479 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2480
AnnaBridge 172:65be27845400 2481 return (READ_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CBNDTR, MDMA_CBNDTR_BRSUM));
AnnaBridge 172:65be27845400 2482 }
AnnaBridge 172:65be27845400 2483
AnnaBridge 172:65be27845400 2484 /**
AnnaBridge 172:65be27845400 2485 * @brief Configure the Source and Destination addresses.
AnnaBridge 172:65be27845400 2486 * @note This API must not be called when the MDMA channel is enabled.
AnnaBridge 172:65be27845400 2487 * @rmtoll CSAR SAR LL_MDMA_ConfigAddresses\n
AnnaBridge 172:65be27845400 2488 * @rmtoll CDAR DAR LL_MDMA_ConfigAddresses
AnnaBridge 172:65be27845400 2489 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2490 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2491 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2492 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2493 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2494 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2495 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2496 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2497 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2498 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2499 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2500 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2501 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2502 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2503 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2504 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2505 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2506 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2507 * @param SrcAddress Between Min_Data = 0 and Max_Data = 0xFFFFFFFF
AnnaBridge 172:65be27845400 2508 * @param DstAddress Between Min_Data = 0 and Max_Data = 0xFFFFFFFF
AnnaBridge 172:65be27845400 2509 * @retval None
AnnaBridge 172:65be27845400 2510 */
AnnaBridge 172:65be27845400 2511 __STATIC_INLINE void LL_MDMA_ConfigAddresses(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t SrcAddress, uint32_t DstAddress)
AnnaBridge 172:65be27845400 2512 {
AnnaBridge 172:65be27845400 2513 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2514
AnnaBridge 172:65be27845400 2515 WRITE_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CSAR, SrcAddress);
AnnaBridge 172:65be27845400 2516 WRITE_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CDAR, DstAddress);
AnnaBridge 172:65be27845400 2517 }
AnnaBridge 172:65be27845400 2518 /**
AnnaBridge 172:65be27845400 2519 * @brief Set transfer Source address.
AnnaBridge 172:65be27845400 2520 * @rmtoll CSAR SAR LL_MDMA_SetSourceAddress
AnnaBridge 172:65be27845400 2521 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2522 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2523 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2524 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2525 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2526 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2527 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2528 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2529 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2530 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2531 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2532 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2533 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2534 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2535 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2536 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2537 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2538 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2539 * @param SrcAddress Between 0 to 0xFFFFFFFF
AnnaBridge 172:65be27845400 2540 * @retval None
AnnaBridge 172:65be27845400 2541 */
AnnaBridge 172:65be27845400 2542 __STATIC_INLINE void LL_MDMA_SetSourceAddress(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t SrcAddress)
AnnaBridge 172:65be27845400 2543 {
AnnaBridge 172:65be27845400 2544 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2545
AnnaBridge 172:65be27845400 2546 WRITE_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CSAR, SrcAddress);
AnnaBridge 172:65be27845400 2547 }
AnnaBridge 172:65be27845400 2548
AnnaBridge 172:65be27845400 2549 /**
AnnaBridge 172:65be27845400 2550 * @brief Get transfer Source address.
AnnaBridge 172:65be27845400 2551 * @rmtoll CSAR SAR LL_MDMA_GetSourceAddress
AnnaBridge 172:65be27845400 2552 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2553 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2554 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2555 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2556 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2557 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2558 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2559 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2560 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2561 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2562 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2563 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2564 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2565 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2566 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2567 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2568 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2569 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2570 * @retval Between 0 to 0xFFFFFFFF
AnnaBridge 172:65be27845400 2571 * @retval None
AnnaBridge 172:65be27845400 2572 */
AnnaBridge 172:65be27845400 2573 __STATIC_INLINE uint32_t LL_MDMA_GetSourceAddress(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 2574 {
AnnaBridge 172:65be27845400 2575 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2576
AnnaBridge 172:65be27845400 2577 return (READ_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CSAR));
AnnaBridge 172:65be27845400 2578 }
AnnaBridge 172:65be27845400 2579
AnnaBridge 172:65be27845400 2580 /**
AnnaBridge 172:65be27845400 2581 * @brief Set transfer Destination address.
AnnaBridge 172:65be27845400 2582 * @rmtoll CDAR DAR LL_MDMA_SetDestinationAddress
AnnaBridge 172:65be27845400 2583 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2584 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2585 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2586 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2587 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2588 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2589 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2590 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2591 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2592 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2593 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2594 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2595 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2596 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2597 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2598 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2599 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2600 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2601 * @param DestAddress Between 0 to 0xFFFFFFFF
AnnaBridge 172:65be27845400 2602 * @retval None
AnnaBridge 172:65be27845400 2603 */
AnnaBridge 172:65be27845400 2604 __STATIC_INLINE void LL_MDMA_SetDestinationAddress(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t DestAddress)
AnnaBridge 172:65be27845400 2605 {
AnnaBridge 172:65be27845400 2606 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2607
AnnaBridge 172:65be27845400 2608 WRITE_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CDAR, DestAddress);
AnnaBridge 172:65be27845400 2609 }
AnnaBridge 172:65be27845400 2610
AnnaBridge 172:65be27845400 2611 /**
AnnaBridge 172:65be27845400 2612 * @brief Get transfer Destination address.
AnnaBridge 172:65be27845400 2613 * @rmtoll CDAR DAR LL_MDMA_GetDestinationAddress
AnnaBridge 172:65be27845400 2614 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2615 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2616 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2617 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2618 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2619 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2620 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2621 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2622 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2623 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2624 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2625 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2626 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2627 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2628 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2629 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2630 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2631 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2632 * @retval Between 0 to 0xFFFFFFFF
AnnaBridge 172:65be27845400 2633 * @retval None
AnnaBridge 172:65be27845400 2634 */
AnnaBridge 172:65be27845400 2635 __STATIC_INLINE uint32_t LL_MDMA_GetDestinationAddress(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 2636 {
AnnaBridge 172:65be27845400 2637 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2638
AnnaBridge 172:65be27845400 2639 return (READ_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CDAR));
AnnaBridge 172:65be27845400 2640 }
AnnaBridge 172:65be27845400 2641
AnnaBridge 172:65be27845400 2642 /**
AnnaBridge 172:65be27845400 2643 * @brief Configure the Source and Destination Block repeat addresses Update value.
AnnaBridge 172:65be27845400 2644 * @note This API must not be called when the MDMA channel is enabled.
AnnaBridge 172:65be27845400 2645 * @rmtoll CBRUR DUV LL_MDMA_ConfigBlkRptAddrUpdateValue\n
AnnaBridge 172:65be27845400 2646 * @rmtoll CBRUR SUV LL_MDMA_ConfigBlkRptAddrUpdateValue
AnnaBridge 172:65be27845400 2647 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2648 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2649 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2650 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2651 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2652 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2653 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2654 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2655 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2656 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2657 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2658 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2659 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2660 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2661 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2662 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2663 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2664 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2665 * @param SrctAdrUpdateValue Min_Data = 0 and Max_Data = 0x0000FFFF
AnnaBridge 172:65be27845400 2666 * @param DestAdrUpdateValue Between Min_Data = 0 and Max_Data = 0x0000FFFF
AnnaBridge 172:65be27845400 2667 * @retval None
AnnaBridge 172:65be27845400 2668 */
AnnaBridge 172:65be27845400 2669 __STATIC_INLINE void LL_MDMA_ConfigBlkRptAddrUpdateValue(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t SrctAdrUpdateValue, uint32_t DestAdrUpdateValue)
AnnaBridge 172:65be27845400 2670 {
AnnaBridge 172:65be27845400 2671 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2672
AnnaBridge 172:65be27845400 2673 WRITE_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CBRUR,
AnnaBridge 172:65be27845400 2674 (SrctAdrUpdateValue & MDMA_CBRUR_SUV_Msk) | ((DestAdrUpdateValue << MDMA_CBRUR_DUV_Pos) & MDMA_CBRUR_DUV_Msk));
AnnaBridge 172:65be27845400 2675 }
AnnaBridge 172:65be27845400 2676
AnnaBridge 172:65be27845400 2677 /**
AnnaBridge 172:65be27845400 2678 * @brief Set transfer Destination address Update Value.
AnnaBridge 172:65be27845400 2679 * @rmtoll CBRUR DUV LL_MDMA_SetBlkRptDestAddrUpdateValue
AnnaBridge 172:65be27845400 2680 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2681 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2682 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2683 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2684 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2685 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2686 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2687 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2688 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2689 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2690 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2691 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2692 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2693 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2694 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2695 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2696 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2697 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2698 * @param DestAdrUpdateValue Between 0 to 0x0000FFFF
AnnaBridge 172:65be27845400 2699 * @retval None
AnnaBridge 172:65be27845400 2700 */
AnnaBridge 172:65be27845400 2701 __STATIC_INLINE void LL_MDMA_SetBlkRptDestAddrUpdateValue(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t DestAdrUpdateValue)
AnnaBridge 172:65be27845400 2702 {
AnnaBridge 172:65be27845400 2703 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2704
AnnaBridge 172:65be27845400 2705 MODIFY_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CBRUR, MDMA_CBRUR_DUV,
AnnaBridge 172:65be27845400 2706 ((DestAdrUpdateValue << MDMA_CBRUR_DUV_Pos) & MDMA_CBRUR_DUV_Msk));
AnnaBridge 172:65be27845400 2707 }
AnnaBridge 172:65be27845400 2708
AnnaBridge 172:65be27845400 2709 /**
AnnaBridge 172:65be27845400 2710 * @brief Get transfer Destination address Update Value.
AnnaBridge 172:65be27845400 2711 * @rmtoll CBRUR DUV LL_MDMA_GetBlkRptDestAddrUpdateValue
AnnaBridge 172:65be27845400 2712 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2713 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2714 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2715 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2716 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2717 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2718 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2719 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2720 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2721 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2722 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2723 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2724 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2725 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2726 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2727 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2728 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2729 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2730 * @retval Between 0 to 0x0000FFFF
AnnaBridge 172:65be27845400 2731 * @retval None
AnnaBridge 172:65be27845400 2732 */
AnnaBridge 172:65be27845400 2733 __STATIC_INLINE uint32_t LL_MDMA_GetBlkRptDestAddrUpdateValue(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 2734 {
AnnaBridge 172:65be27845400 2735 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2736
AnnaBridge 172:65be27845400 2737 return (READ_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CBRUR, MDMA_CBRUR_DUV) >> MDMA_CBRUR_DUV_Pos);
AnnaBridge 172:65be27845400 2738 }
AnnaBridge 172:65be27845400 2739
AnnaBridge 172:65be27845400 2740 /**
AnnaBridge 172:65be27845400 2741 * @brief Set transfer Source address Update Value.
AnnaBridge 172:65be27845400 2742 * @rmtoll CBRUR SUV LL_MDMA_SetBlkRptSrcAddrUpdateValue
AnnaBridge 172:65be27845400 2743 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2744 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2745 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2746 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2747 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2748 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2749 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2750 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2751 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2752 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2753 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2754 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2755 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2756 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2757 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2758 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2759 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2760 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2761 * @param SrcAdrUpdateValue Between 0 to 0x0000FFFF
AnnaBridge 172:65be27845400 2762 * @retval None
AnnaBridge 172:65be27845400 2763 */
AnnaBridge 172:65be27845400 2764 __STATIC_INLINE void LL_MDMA_SetBlkRptSrcAddrUpdateValue(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t SrcAdrUpdateValue)
AnnaBridge 172:65be27845400 2765 {
AnnaBridge 172:65be27845400 2766 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2767
AnnaBridge 172:65be27845400 2768 MODIFY_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CBRUR, MDMA_CBRUR_SUV, SrcAdrUpdateValue);
AnnaBridge 172:65be27845400 2769 }
AnnaBridge 172:65be27845400 2770
AnnaBridge 172:65be27845400 2771 /**
AnnaBridge 172:65be27845400 2772 * @brief Get transfer Source address Update Value.
AnnaBridge 172:65be27845400 2773 * @rmtoll CBRUR SUV LL_MDMA_GetBlkRptSrcAddrUpdateValue
AnnaBridge 172:65be27845400 2774 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2775 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2776 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2777 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2778 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2779 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2780 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2781 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2782 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2783 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2784 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2785 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2786 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2787 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2788 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2789 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2790 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2791 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2792 * @retval Between 0 to 0x0000FFFF
AnnaBridge 172:65be27845400 2793 * @retval None
AnnaBridge 172:65be27845400 2794 */
AnnaBridge 172:65be27845400 2795 __STATIC_INLINE uint32_t LL_MDMA_GetBlkRptSrcAddrUpdateValue(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 2796 {
AnnaBridge 172:65be27845400 2797 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2798
AnnaBridge 172:65be27845400 2799 return (READ_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CBRUR, MDMA_CBRUR_SUV));
AnnaBridge 172:65be27845400 2800 }
AnnaBridge 172:65be27845400 2801
AnnaBridge 172:65be27845400 2802 /**
AnnaBridge 172:65be27845400 2803 * @brief Set transfer Link Address.
AnnaBridge 172:65be27845400 2804 * @rmtoll CLAR LAR LL_MDMA_SetLinkAddress
AnnaBridge 172:65be27845400 2805 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2806 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2807 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2808 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2809 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2810 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2811 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2812 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2813 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2814 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2815 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2816 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2817 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2818 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2819 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2820 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2821 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2822 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2823 * @param LinkAddress Between 0 to 0xFFFFFFFF
AnnaBridge 172:65be27845400 2824 * @retval None
AnnaBridge 172:65be27845400 2825 */
AnnaBridge 172:65be27845400 2826 __STATIC_INLINE void LL_MDMA_SetLinkAddress(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t LinkAddress)
AnnaBridge 172:65be27845400 2827 {
AnnaBridge 172:65be27845400 2828 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2829
AnnaBridge 172:65be27845400 2830 WRITE_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CLAR, LinkAddress);
AnnaBridge 172:65be27845400 2831 }
AnnaBridge 172:65be27845400 2832
AnnaBridge 172:65be27845400 2833 /**
AnnaBridge 172:65be27845400 2834 * @brief Get transfer Link Address.
AnnaBridge 172:65be27845400 2835 * @rmtoll CLAR LAR LL_MDMA_GetLinkAddress
AnnaBridge 172:65be27845400 2836 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2837 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2838 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2839 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2840 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2841 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2842 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2843 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2844 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2845 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2846 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2847 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2848 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2849 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2850 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2851 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2852 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2853 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2854 * @retval Between 0 to 0xFFFFFFFF
AnnaBridge 172:65be27845400 2855 * @retval None
AnnaBridge 172:65be27845400 2856 */
AnnaBridge 172:65be27845400 2857 __STATIC_INLINE uint32_t LL_MDMA_GetLinkAddress(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 2858 {
AnnaBridge 172:65be27845400 2859 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2860
AnnaBridge 172:65be27845400 2861 return (READ_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CLAR));
AnnaBridge 172:65be27845400 2862 }
AnnaBridge 172:65be27845400 2863
AnnaBridge 172:65be27845400 2864 /**
AnnaBridge 172:65be27845400 2865 * @brief Configure MDMA source and destination bus selection.
AnnaBridge 172:65be27845400 2866 * @rmtoll CTBR DBUS LL_MDMA_ConfigBusSelection\n
AnnaBridge 172:65be27845400 2867 * @rmtoll CTBR SBUS LL_MDMA_ConfigBusSelection
AnnaBridge 172:65be27845400 2868 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2869 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2870 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2871 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2872 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2873 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2874 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2875 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2876 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2877 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2878 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2879 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2880 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2881 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2882 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2883 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2884 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2885 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2886 * @param Configuration This parameter must be a combination of all the following values:
AnnaBridge 172:65be27845400 2887 * @arg @ref LL_MDMA_DEST_BUS_SYSTEM_AXI or @ref LL_MDMA_DEST_BUS_AHB_TCM
AnnaBridge 172:65be27845400 2888 * @arg @ref LL_MDMA_SRC_BUS_SYSTEM_AXI or @ref LL_MDMA_SRC_BUS_AHB_TCM
AnnaBridge 172:65be27845400 2889 * @retval None
AnnaBridge 172:65be27845400 2890 */
AnnaBridge 172:65be27845400 2891 __STATIC_INLINE void LL_MDMA_ConfigBusSelection(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t Configuration)
AnnaBridge 172:65be27845400 2892 {
AnnaBridge 172:65be27845400 2893 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2894
AnnaBridge 172:65be27845400 2895 MODIFY_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTBR,
AnnaBridge 172:65be27845400 2896 MDMA_CTBR_DBUS | MDMA_CTBR_SBUS,
AnnaBridge 172:65be27845400 2897 Configuration);
AnnaBridge 172:65be27845400 2898 }
AnnaBridge 172:65be27845400 2899
AnnaBridge 172:65be27845400 2900 /**
AnnaBridge 172:65be27845400 2901 * @brief Set Destination Bus Selection.
AnnaBridge 172:65be27845400 2902 * @rmtoll CTBR DBUS LL_MDMA_SetDestBusSelection
AnnaBridge 172:65be27845400 2903 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2904 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2905 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2906 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2907 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2908 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2909 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2910 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2911 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2912 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2913 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2914 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2915 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2916 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2917 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2918 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2919 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2920 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2921 * @param DestBus This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2922 * @arg @ref LL_MDMA_DEST_BUS_SYSTEM_AXI
AnnaBridge 172:65be27845400 2923 * @arg @ref LL_MDMA_DEST_BUS_AHB_TCM
AnnaBridge 172:65be27845400 2924 * @retval None
AnnaBridge 172:65be27845400 2925 */
AnnaBridge 172:65be27845400 2926 __STATIC_INLINE void LL_MDMA_SetDestBusSelection(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t DestBus)
AnnaBridge 172:65be27845400 2927 {
AnnaBridge 172:65be27845400 2928 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2929
AnnaBridge 172:65be27845400 2930 MODIFY_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTBR, MDMA_CTBR_DBUS, DestBus);
AnnaBridge 172:65be27845400 2931 }
AnnaBridge 172:65be27845400 2932
AnnaBridge 172:65be27845400 2933 /**
AnnaBridge 172:65be27845400 2934 * @brief Get Destination Bus Selection.
AnnaBridge 172:65be27845400 2935 * @rmtoll CTBR DBUS LL_MDMA_GetDestBusSelection
AnnaBridge 172:65be27845400 2936 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2937 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2938 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2939 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2940 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2941 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2942 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2943 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2944 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2945 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2946 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2947 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2948 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2949 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2950 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2951 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2952 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2953 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2954 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 2955 * @arg @ref LL_MDMA_DEST_BUS_SYSTEM_AXI
AnnaBridge 172:65be27845400 2956 * @arg @ref LL_MDMA_DEST_BUS_AHB_TCM
AnnaBridge 172:65be27845400 2957 * @retval None
AnnaBridge 172:65be27845400 2958 */
AnnaBridge 172:65be27845400 2959 __STATIC_INLINE uint32_t LL_MDMA_GetDestBusSelection(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 2960 {
AnnaBridge 172:65be27845400 2961 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2962
AnnaBridge 172:65be27845400 2963 return (READ_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTBR, MDMA_CTBR_DBUS));
AnnaBridge 172:65be27845400 2964 }
AnnaBridge 172:65be27845400 2965
AnnaBridge 172:65be27845400 2966 /**
AnnaBridge 172:65be27845400 2967 * @brief Set Source Bus Selection.
AnnaBridge 172:65be27845400 2968 * @rmtoll CTBR SBUS LL_MDMA_SetSrcBusSelection
AnnaBridge 172:65be27845400 2969 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 2970 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2971 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 2972 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 2973 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 2974 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 2975 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 2976 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 2977 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 2978 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 2979 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 2980 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 2981 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 2982 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 2983 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 2984 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 2985 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 2986 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 2987 * @param SrcBus This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2988 * @arg @ref LL_MDMA_SRC_BUS_SYSTEM_AXI
AnnaBridge 172:65be27845400 2989 * @arg @ref LL_MDMA_SRC_BUS_AHB_TCM
AnnaBridge 172:65be27845400 2990 * @retval None
AnnaBridge 172:65be27845400 2991 */
AnnaBridge 172:65be27845400 2992 __STATIC_INLINE void LL_MDMA_SetSrcBusSelection(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t SrcBus)
AnnaBridge 172:65be27845400 2993 {
AnnaBridge 172:65be27845400 2994 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 2995
AnnaBridge 172:65be27845400 2996 MODIFY_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTBR, MDMA_CTBR_SBUS, SrcBus);
AnnaBridge 172:65be27845400 2997 }
AnnaBridge 172:65be27845400 2998
AnnaBridge 172:65be27845400 2999 /**
AnnaBridge 172:65be27845400 3000 * @brief Get Source Bus Selection.
AnnaBridge 172:65be27845400 3001 * @rmtoll CTBR SBUS LL_MDMA_GetSrcBusSelection
AnnaBridge 172:65be27845400 3002 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3003 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3004 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3005 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3006 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3007 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3008 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3009 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3010 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3011 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3012 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3013 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3014 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3015 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3016 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3017 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3018 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3019 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3020 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 3021 * @arg @ref LL_MDMA_SRC_BUS_SYSTEM_AXI
AnnaBridge 172:65be27845400 3022 * @arg @ref LL_MDMA_SRC_BUS_AHB_TCM
AnnaBridge 172:65be27845400 3023 * @retval None
AnnaBridge 172:65be27845400 3024 */
AnnaBridge 172:65be27845400 3025 __STATIC_INLINE uint32_t LL_MDMA_GetSrcBusSelection(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 3026 {
AnnaBridge 172:65be27845400 3027 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 3028
AnnaBridge 172:65be27845400 3029 return (READ_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTBR, MDMA_CTBR_SBUS));
AnnaBridge 172:65be27845400 3030 }
AnnaBridge 172:65be27845400 3031
AnnaBridge 172:65be27845400 3032 /**
AnnaBridge 172:65be27845400 3033 * @brief Set Transfer hardware trigger (Request).
AnnaBridge 172:65be27845400 3034 * @rmtoll CTBR TSEL LL_MDMA_SetHWTrigger
AnnaBridge 172:65be27845400 3035 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3036 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3037 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3038 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3039 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3040 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3041 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3042 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3043 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3044 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3045 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3046 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3047 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3048 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3049 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3050 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3051 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3052 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3053 * @param HWRequest This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3054 * @arg @ref LL_MDMA_REQ_DMA1_STREAM0_TC
AnnaBridge 172:65be27845400 3055 * @arg @ref LL_MDMA_REQ_DMA1_STREAM1_TC
AnnaBridge 172:65be27845400 3056 * @arg @ref LL_MDMA_REQ_DMA1_STREAM2_TC
AnnaBridge 172:65be27845400 3057 * @arg @ref LL_MDMA_REQ_DMA1_STREAM3_TC
AnnaBridge 172:65be27845400 3058 * @arg @ref LL_MDMA_REQ_DMA1_STREAM4_TC
AnnaBridge 172:65be27845400 3059 * @arg @ref LL_MDMA_REQ_DMA1_STREAM5_TC
AnnaBridge 172:65be27845400 3060 * @arg @ref LL_MDMA_REQ_DMA1_STREAM6_TC
AnnaBridge 172:65be27845400 3061 * @arg @ref LL_MDMA_REQ_DMA1_STREAM7_TC
AnnaBridge 172:65be27845400 3062 * @arg @ref LL_MDMA_REQ_DMA2_STREAM0_TC
AnnaBridge 172:65be27845400 3063 * @arg @ref LL_MDMA_REQ_DMA2_STREAM1_TC
AnnaBridge 172:65be27845400 3064 * @arg @ref LL_MDMA_REQ_DMA2_STREAM2_TC
AnnaBridge 172:65be27845400 3065 * @arg @ref LL_MDMA_REQ_DMA2_STREAM3_TC
AnnaBridge 172:65be27845400 3066 * @arg @ref LL_MDMA_REQ_DMA2_STREAM4_TC
AnnaBridge 172:65be27845400 3067 * @arg @ref LL_MDMA_REQ_DMA2_STREAM5_TC
AnnaBridge 172:65be27845400 3068 * @arg @ref LL_MDMA_REQ_DMA2_STREAM6_TC
AnnaBridge 172:65be27845400 3069 * @arg @ref LL_MDMA_REQ_DMA2_STREAM7_TC
AnnaBridge 172:65be27845400 3070 * @arg @ref LL_MDMA_REQ_LTDC_LINE_IT
AnnaBridge 172:65be27845400 3071 * @arg @ref LL_MDMA_REQ_JPEG_INFIFO_TH
AnnaBridge 172:65be27845400 3072 * @arg @ref LL_MDMA_REQ_JPEG_INFIFO_NF
AnnaBridge 172:65be27845400 3073 * @arg @ref LL_MDMA_REQ_JPEG_OUTFIFO_TH
AnnaBridge 172:65be27845400 3074 * @arg @ref LL_MDMA_REQ_JPEG_OUTFIFO_NE
AnnaBridge 172:65be27845400 3075 * @arg @ref LL_MDMA_REQ_JPEG_END_CONVERSION
AnnaBridge 172:65be27845400 3076 * @arg @ref LL_MDMA_REQ_QUADSPI_FIFO_TH
AnnaBridge 172:65be27845400 3077 * @arg @ref LL_MDMA_REQ_QUADSPI_TC
AnnaBridge 172:65be27845400 3078 * @arg @ref LL_MDMA_REQ_DMA2D_CLUT_TC
AnnaBridge 172:65be27845400 3079 * @arg @ref LL_MDMA_REQ_DMA2D_TC
AnnaBridge 172:65be27845400 3080 * @arg @ref LL_MDMA_REQ_DMA2D_TW
AnnaBridge 172:65be27845400 3081 * @arg @ref LL_MDMA_REQ_SDMMC1_END_DATA
AnnaBridge 172:65be27845400 3082 * @retval None
AnnaBridge 172:65be27845400 3083 */
AnnaBridge 172:65be27845400 3084 __STATIC_INLINE void LL_MDMA_SetHWTrigger(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t HWRequest)
AnnaBridge 172:65be27845400 3085 {
AnnaBridge 172:65be27845400 3086 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 3087
AnnaBridge 172:65be27845400 3088 MODIFY_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTBR, MDMA_CTBR_TSEL, HWRequest);
AnnaBridge 172:65be27845400 3089 }
AnnaBridge 172:65be27845400 3090
AnnaBridge 172:65be27845400 3091 /**
AnnaBridge 172:65be27845400 3092 * @brief Get Transfer hardware trigger (Request).
AnnaBridge 172:65be27845400 3093 * @rmtoll CTBR TSEL LL_MDMA_GetHWTrigger
AnnaBridge 172:65be27845400 3094 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3095 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3096 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3097 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3098 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3099 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3100 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3101 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3102 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3103 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3104 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3105 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3106 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3107 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3108 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3109 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3110 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3111 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3112 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 3113 * @arg @ref LL_MDMA_REQ_DMA1_STREAM0_TC
AnnaBridge 172:65be27845400 3114 * @arg @ref LL_MDMA_REQ_DMA1_STREAM1_TC
AnnaBridge 172:65be27845400 3115 * @arg @ref LL_MDMA_REQ_DMA1_STREAM2_TC
AnnaBridge 172:65be27845400 3116 * @arg @ref LL_MDMA_REQ_DMA1_STREAM3_TC
AnnaBridge 172:65be27845400 3117 * @arg @ref LL_MDMA_REQ_DMA1_STREAM4_TC
AnnaBridge 172:65be27845400 3118 * @arg @ref LL_MDMA_REQ_DMA1_STREAM5_TC
AnnaBridge 172:65be27845400 3119 * @arg @ref LL_MDMA_REQ_DMA1_STREAM6_TC
AnnaBridge 172:65be27845400 3120 * @arg @ref LL_MDMA_REQ_DMA1_STREAM7_TC
AnnaBridge 172:65be27845400 3121 * @arg @ref LL_MDMA_REQ_DMA2_STREAM0_TC
AnnaBridge 172:65be27845400 3122 * @arg @ref LL_MDMA_REQ_DMA2_STREAM1_TC
AnnaBridge 172:65be27845400 3123 * @arg @ref LL_MDMA_REQ_DMA2_STREAM2_TC
AnnaBridge 172:65be27845400 3124 * @arg @ref LL_MDMA_REQ_DMA2_STREAM3_TC
AnnaBridge 172:65be27845400 3125 * @arg @ref LL_MDMA_REQ_DMA2_STREAM4_TC
AnnaBridge 172:65be27845400 3126 * @arg @ref LL_MDMA_REQ_DMA2_STREAM5_TC
AnnaBridge 172:65be27845400 3127 * @arg @ref LL_MDMA_REQ_DMA2_STREAM6_TC
AnnaBridge 172:65be27845400 3128 * @arg @ref LL_MDMA_REQ_DMA2_STREAM7_TC
AnnaBridge 172:65be27845400 3129 * @arg @ref LL_MDMA_REQ_LTDC_LINE_IT
AnnaBridge 172:65be27845400 3130 * @arg @ref LL_MDMA_REQ_JPEG_INFIFO_TH
AnnaBridge 172:65be27845400 3131 * @arg @ref LL_MDMA_REQ_JPEG_INFIFO_NF
AnnaBridge 172:65be27845400 3132 * @arg @ref LL_MDMA_REQ_JPEG_OUTFIFO_TH
AnnaBridge 172:65be27845400 3133 * @arg @ref LL_MDMA_REQ_JPEG_OUTFIFO_NE
AnnaBridge 172:65be27845400 3134 * @arg @ref LL_MDMA_REQ_JPEG_END_CONVERSION
AnnaBridge 172:65be27845400 3135 * @arg @ref LL_MDMA_REQ_QUADSPI_FIFO_TH
AnnaBridge 172:65be27845400 3136 * @arg @ref LL_MDMA_REQ_QUADSPI_TC
AnnaBridge 172:65be27845400 3137 * @arg @ref LL_MDMA_REQ_DMA2D_CLUT_TC
AnnaBridge 172:65be27845400 3138 * @arg @ref LL_MDMA_REQ_DMA2D_TC
AnnaBridge 172:65be27845400 3139 * @arg @ref LL_MDMA_REQ_DMA2D_TW
AnnaBridge 172:65be27845400 3140 * @arg @ref LL_MDMA_REQ_SDMMC1_END_DATA
AnnaBridge 172:65be27845400 3141 * @retval None
AnnaBridge 172:65be27845400 3142 */
AnnaBridge 172:65be27845400 3143 __STATIC_INLINE uint32_t LL_MDMA_GetHWTrigger(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 3144 {
AnnaBridge 172:65be27845400 3145 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 3146
AnnaBridge 172:65be27845400 3147 return (READ_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CTBR, MDMA_CTBR_TSEL));
AnnaBridge 172:65be27845400 3148 }
AnnaBridge 172:65be27845400 3149
AnnaBridge 172:65be27845400 3150 /**
AnnaBridge 172:65be27845400 3151 * @brief Set Mask Address.
AnnaBridge 172:65be27845400 3152 * @rmtoll CMAR MAR LL_MDMA_SetMaskAddress
AnnaBridge 172:65be27845400 3153 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3154 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3155 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3156 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3157 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3158 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3159 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3160 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3161 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3162 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3163 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3164 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3165 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3166 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3167 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3168 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3169 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3170 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3171 * @param MaskAddress Between 0 to 0xFFFFFFFF
AnnaBridge 172:65be27845400 3172 * @retval None
AnnaBridge 172:65be27845400 3173 */
AnnaBridge 172:65be27845400 3174 __STATIC_INLINE void LL_MDMA_SetMaskAddress(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t MaskAddress)
AnnaBridge 172:65be27845400 3175 {
AnnaBridge 172:65be27845400 3176 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 3177
AnnaBridge 172:65be27845400 3178 WRITE_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CMAR, MaskAddress);
AnnaBridge 172:65be27845400 3179 }
AnnaBridge 172:65be27845400 3180
AnnaBridge 172:65be27845400 3181 /**
AnnaBridge 172:65be27845400 3182 * @brief Get Mask Address.
AnnaBridge 172:65be27845400 3183 * @rmtoll CMAR MAR LL_MDMA_GetMaskAddress
AnnaBridge 172:65be27845400 3184 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3185 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3186 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3187 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3188 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3189 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3190 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3191 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3192 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3193 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3194 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3195 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3196 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3197 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3198 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3199 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3200 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3201 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3202 * @retval Between 0 to 0xFFFFFFFF
AnnaBridge 172:65be27845400 3203 * @retval None
AnnaBridge 172:65be27845400 3204 */
AnnaBridge 172:65be27845400 3205 __STATIC_INLINE uint32_t LL_MDMA_GetMaskAddress(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 3206 {
AnnaBridge 172:65be27845400 3207 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 3208
AnnaBridge 172:65be27845400 3209 return (READ_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CMAR));
AnnaBridge 172:65be27845400 3210 }
AnnaBridge 172:65be27845400 3211
AnnaBridge 172:65be27845400 3212 /**
AnnaBridge 172:65be27845400 3213 * @brief Set Mask Data.
AnnaBridge 172:65be27845400 3214 * @rmtoll CMDR MDR LL_MDMA_SetMaskData
AnnaBridge 172:65be27845400 3215 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3216 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3217 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3218 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3219 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3220 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3221 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3222 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3223 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3224 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3225 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3226 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3227 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3228 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3229 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3230 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3231 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3232 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3233 * @param MaskData Between 0 to 0xFFFFFFFF
AnnaBridge 172:65be27845400 3234 * @retval None
AnnaBridge 172:65be27845400 3235 */
AnnaBridge 172:65be27845400 3236 __STATIC_INLINE void LL_MDMA_SetMaskData(MDMA_TypeDef *MDMAx, uint32_t Channel, uint32_t MaskData)
AnnaBridge 172:65be27845400 3237 {
AnnaBridge 172:65be27845400 3238 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 3239
AnnaBridge 172:65be27845400 3240 WRITE_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CMDR, MaskData);
AnnaBridge 172:65be27845400 3241 }
AnnaBridge 172:65be27845400 3242
AnnaBridge 172:65be27845400 3243 /**
AnnaBridge 172:65be27845400 3244 * @brief Get Mask Data.
AnnaBridge 172:65be27845400 3245 * @rmtoll CMDR MDR LL_MDMA_GetMaskData
AnnaBridge 172:65be27845400 3246 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3247 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3248 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3249 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3250 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3251 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3252 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3253 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3254 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3255 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3256 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3257 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3258 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3259 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3260 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3261 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3262 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3263 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3264 * @retval Between 0 to 0xFFFFFFFF
AnnaBridge 172:65be27845400 3265 * @retval None
AnnaBridge 172:65be27845400 3266 */
AnnaBridge 172:65be27845400 3267 __STATIC_INLINE uint32_t LL_MDMA_GetMaskData(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 3268 {
AnnaBridge 172:65be27845400 3269 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 3270
AnnaBridge 172:65be27845400 3271 return (READ_REG(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CMDR));
AnnaBridge 172:65be27845400 3272 }
AnnaBridge 172:65be27845400 3273
AnnaBridge 172:65be27845400 3274 /**
AnnaBridge 172:65be27845400 3275 * @brief Get Transfer Error Direction.
AnnaBridge 172:65be27845400 3276 * @rmtoll CESR TED LL_MDMA_GetXferErrorDirection
AnnaBridge 172:65be27845400 3277 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3278 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3279 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3280 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3281 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3282 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3283 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3284 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3285 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3286 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3287 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3288 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3289 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3290 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3291 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3292 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3293 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3294 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3295 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 3296 * @arg @ref LL_MDMA_READ_ERROR
AnnaBridge 172:65be27845400 3297 * @arg @ref LL_MDMA_WRITE_ERROR
AnnaBridge 172:65be27845400 3298 * @retval None
AnnaBridge 172:65be27845400 3299 */
AnnaBridge 172:65be27845400 3300 __STATIC_INLINE uint32_t LL_MDMA_GetXferErrorDirection(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 3301 {
AnnaBridge 172:65be27845400 3302 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 3303
AnnaBridge 172:65be27845400 3304 return (READ_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CESR, MDMA_CESR_TED));
AnnaBridge 172:65be27845400 3305 }
AnnaBridge 172:65be27845400 3306
AnnaBridge 172:65be27845400 3307 /**
AnnaBridge 172:65be27845400 3308 * @brief Get Transfer Error LSB Address.
AnnaBridge 172:65be27845400 3309 * @rmtoll CESR TEA LL_MDMA_GetXferErrorLSBAddress
AnnaBridge 172:65be27845400 3310 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3311 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3312 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3313 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3314 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3315 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3316 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3317 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3318 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3319 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3320 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3321 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3322 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3323 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3324 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3325 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3326 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3327 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3328 * @retval Between 0 to 0x0000007F
AnnaBridge 172:65be27845400 3329 * @retval None
AnnaBridge 172:65be27845400 3330 */
AnnaBridge 172:65be27845400 3331 __STATIC_INLINE uint32_t LL_MDMA_GetXferErrorLSBAddress(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 3332 {
AnnaBridge 172:65be27845400 3333 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 3334
AnnaBridge 172:65be27845400 3335 return (READ_BIT(((MDMA_Channel_TypeDef *)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CESR, MDMA_CESR_TEA));
AnnaBridge 172:65be27845400 3336 }
AnnaBridge 172:65be27845400 3337
AnnaBridge 172:65be27845400 3338 /**
AnnaBridge 172:65be27845400 3339 * @}
AnnaBridge 172:65be27845400 3340 */
AnnaBridge 172:65be27845400 3341
AnnaBridge 172:65be27845400 3342 /** @defgroup MDMA_LL_EF_FLAG_Management FLAG_Management
AnnaBridge 172:65be27845400 3343 * @{
AnnaBridge 172:65be27845400 3344 */
AnnaBridge 172:65be27845400 3345
AnnaBridge 172:65be27845400 3346 /**
AnnaBridge 172:65be27845400 3347 * @brief Get MDMA Channel x Global Interrupt flag.
AnnaBridge 172:65be27845400 3348 * @rmtoll GISR0 GIFx LL_MDMA_IsActiveFlag_GI
AnnaBridge 172:65be27845400 3349 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3350 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3351 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3352 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3353 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3354 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3355 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3356 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3357 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3358 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3359 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3360 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3361 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3362 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3363 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3364 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3365 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3366 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3367 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3368 */
AnnaBridge 172:65be27845400 3369 __STATIC_INLINE uint32_t LL_MDMA_IsActiveFlag_GI(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 3370 {
AnnaBridge 172:65be27845400 3371 return ((READ_BIT(MDMAx->GISR0 ,(MDMA_GISR0_GIF0 << (Channel & 0x0000000FU)))==(MDMA_GISR0_GIF0 << (Channel & 0x0000000FU))) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 3372 }
AnnaBridge 172:65be27845400 3373
AnnaBridge 172:65be27845400 3374 /**
AnnaBridge 172:65be27845400 3375 * @brief Get MDMA Channel x Transfer Error interrupt flag.
AnnaBridge 172:65be27845400 3376 * @rmtoll CISR TEIF LL_MDMA_IsActiveFlag_TE
AnnaBridge 172:65be27845400 3377 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3378 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3379 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3380 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3381 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3382 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3383 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3384 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3385 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3386 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3387 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3388 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3389 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3390 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3391 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3392 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3393 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3394 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3395 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3396 */
AnnaBridge 172:65be27845400 3397 __STATIC_INLINE uint32_t LL_MDMA_IsActiveFlag_TE(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 3398 {
AnnaBridge 172:65be27845400 3399 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 3400
AnnaBridge 172:65be27845400 3401 return ((READ_BIT(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CISR, MDMA_CISR_TEIF) == (MDMA_CISR_TEIF)) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 3402 }
AnnaBridge 172:65be27845400 3403
AnnaBridge 172:65be27845400 3404 /**
AnnaBridge 172:65be27845400 3405 * @brief Get MDMA Channel x Channel Transfer Complete interrupt flag.
AnnaBridge 172:65be27845400 3406 * @rmtoll CISR CTCIF LL_MDMA_IsActiveFlag_CTC
AnnaBridge 172:65be27845400 3407 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3408 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3409 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3410 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3411 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3412 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3413 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3414 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3415 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3416 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3417 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3418 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3419 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3420 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3421 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3422 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3423 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3424 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3425 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3426 */
AnnaBridge 172:65be27845400 3427 __STATIC_INLINE uint32_t LL_MDMA_IsActiveFlag_CTC(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 3428 {
AnnaBridge 172:65be27845400 3429 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 3430
AnnaBridge 172:65be27845400 3431 return ((READ_BIT(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CISR, MDMA_CISR_CTCIF) == (MDMA_CISR_CTCIF)) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 3432 }
AnnaBridge 172:65be27845400 3433
AnnaBridge 172:65be27845400 3434 /**
AnnaBridge 172:65be27845400 3435 * @brief Get MDMA Channel x Block Repeat Transfer complete interrupt flag.
AnnaBridge 172:65be27845400 3436 * @rmtoll CISR BRTIF LL_MDMA_IsActiveFlag_BRT
AnnaBridge 172:65be27845400 3437 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3438 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3439 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3440 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3441 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3442 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3443 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3444 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3445 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3446 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3447 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3448 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3449 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3450 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3451 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3452 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3453 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3454 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3455 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3456 */
AnnaBridge 172:65be27845400 3457 __STATIC_INLINE uint32_t LL_MDMA_IsActiveFlag_BRT(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 3458 {
AnnaBridge 172:65be27845400 3459 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 3460
AnnaBridge 172:65be27845400 3461 return ((READ_BIT(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CISR, MDMA_CISR_BRTIF) == (MDMA_CISR_BRTIF)) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 3462 }
AnnaBridge 172:65be27845400 3463
AnnaBridge 172:65be27845400 3464 /**
AnnaBridge 172:65be27845400 3465 * @brief Get MDMA Channel x Block Transfer complete interrupt flag.
AnnaBridge 172:65be27845400 3466 * @rmtoll CISR BTIF LL_MDMA_IsActiveFlag_BT
AnnaBridge 172:65be27845400 3467 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3468 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3469 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3470 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3471 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3472 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3473 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3474 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3475 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3476 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3477 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3478 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3479 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3480 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3481 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3482 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3483 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3484 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3485 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3486 */
AnnaBridge 172:65be27845400 3487 __STATIC_INLINE uint32_t LL_MDMA_IsActiveFlag_BT(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 3488 {
AnnaBridge 172:65be27845400 3489 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 3490
AnnaBridge 172:65be27845400 3491 return ((READ_BIT(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CISR, MDMA_CISR_BTIF) == (MDMA_CISR_BTIF)) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 3492 }
AnnaBridge 172:65be27845400 3493
AnnaBridge 172:65be27845400 3494 /**
AnnaBridge 172:65be27845400 3495 * @brief Get MDMA Channel x buffer transfer complete interrupt flag.
AnnaBridge 172:65be27845400 3496 * @rmtoll CISR TCIF LL_MDMA_IsActiveFlag_TC
AnnaBridge 172:65be27845400 3497 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3498 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3499 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3500 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3501 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3502 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3503 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3504 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3505 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3506 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3507 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3508 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3509 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3510 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3511 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3512 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3513 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3514 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3515 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3516 */
AnnaBridge 172:65be27845400 3517 __STATIC_INLINE uint32_t LL_MDMA_IsActiveFlag_TC(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 3518 {
AnnaBridge 172:65be27845400 3519 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 3520
AnnaBridge 172:65be27845400 3521 return ((READ_BIT(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CISR, MDMA_CISR_TCIF) == (MDMA_CISR_TCIF)) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 3522 }
AnnaBridge 172:65be27845400 3523
AnnaBridge 172:65be27845400 3524 /**
AnnaBridge 172:65be27845400 3525 * @brief Get MDMA Channel x ReQuest Active flag.
AnnaBridge 172:65be27845400 3526 * @rmtoll CISR CRQA LL_MDMA_IsActiveFlag_CRQA
AnnaBridge 172:65be27845400 3527 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3528 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3529 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3530 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3531 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3532 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3533 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3534 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3535 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3536 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3537 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3538 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3539 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3540 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3541 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3542 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3543 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3544 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3545 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3546 */
AnnaBridge 172:65be27845400 3547 __STATIC_INLINE uint32_t LL_MDMA_IsActiveFlag_CRQA(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 3548 {
AnnaBridge 172:65be27845400 3549 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 3550
AnnaBridge 172:65be27845400 3551 return ((READ_BIT(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CISR, MDMA_CISR_CRQA) == (MDMA_CISR_CRQA)) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 3552 }
AnnaBridge 172:65be27845400 3553
AnnaBridge 172:65be27845400 3554 /**
AnnaBridge 172:65be27845400 3555 * @brief Get MDMA Channel x Block Size Error flag.
AnnaBridge 172:65be27845400 3556 * @rmtoll CESR BSE LL_MDMA_IsActiveFlag_BSE
AnnaBridge 172:65be27845400 3557 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3558 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3559 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3560 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3561 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3562 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3563 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3564 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3565 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3566 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3567 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3568 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3569 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3570 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3571 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3572 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3573 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3574 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3575 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3576 */
AnnaBridge 172:65be27845400 3577 __STATIC_INLINE uint32_t LL_MDMA_IsActiveFlag_BSE(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 3578 {
AnnaBridge 172:65be27845400 3579 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 3580
AnnaBridge 172:65be27845400 3581 return ((READ_BIT(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CESR, MDMA_CESR_BSE) == (MDMA_CESR_BSE)) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 3582 }
AnnaBridge 172:65be27845400 3583
AnnaBridge 172:65be27845400 3584 /**
AnnaBridge 172:65be27845400 3585 * @brief Get MDMA Channel x Address/Size Error flag.
AnnaBridge 172:65be27845400 3586 * @rmtoll CESR ASE LL_MDMA_IsActiveFlag_ASE
AnnaBridge 172:65be27845400 3587 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3588 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3589 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3590 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3591 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3592 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3593 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3594 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3595 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3596 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3597 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3598 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3599 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3600 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3601 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3602 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3603 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3604 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3605 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3606 */
AnnaBridge 172:65be27845400 3607 __STATIC_INLINE uint32_t LL_MDMA_IsActiveFlag_ASE(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 3608 {
AnnaBridge 172:65be27845400 3609 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 3610
AnnaBridge 172:65be27845400 3611 return ((READ_BIT(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CESR, MDMA_CESR_ASE) == (MDMA_CESR_ASE)) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 3612 }
AnnaBridge 172:65be27845400 3613
AnnaBridge 172:65be27845400 3614 /**
AnnaBridge 172:65be27845400 3615 * @brief Get MDMA Channel x Transfer Error Mask Data flag.
AnnaBridge 172:65be27845400 3616 * @rmtoll CESR TEMD LL_MDMA_IsActiveFlag_TEMD
AnnaBridge 172:65be27845400 3617 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3618 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3619 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3620 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3621 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3622 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3623 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3624 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3625 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3626 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3627 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3628 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3629 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3630 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3631 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3632 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3633 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3634 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3635 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3636 */
AnnaBridge 172:65be27845400 3637 __STATIC_INLINE uint32_t LL_MDMA_IsActiveFlag_TEMD(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 3638 {
AnnaBridge 172:65be27845400 3639 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 3640
AnnaBridge 172:65be27845400 3641 return ((READ_BIT(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CESR, MDMA_CESR_TEMD) == (MDMA_CESR_TEMD)) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 3642 }
AnnaBridge 172:65be27845400 3643
AnnaBridge 172:65be27845400 3644 /**
AnnaBridge 172:65be27845400 3645 * @brief Get MDMA Channel x Transfer Error Link Data flag.
AnnaBridge 172:65be27845400 3646 * @rmtoll CESR TELD LL_MDMA_IsActiveFlag_TELD
AnnaBridge 172:65be27845400 3647 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3648 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3649 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3650 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3651 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3652 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3653 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3654 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3655 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3656 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3657 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3658 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3659 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3660 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3661 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3662 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3663 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3664 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3665 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3666 */
AnnaBridge 172:65be27845400 3667 __STATIC_INLINE uint32_t LL_MDMA_IsActiveFlag_TELD(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 3668 {
AnnaBridge 172:65be27845400 3669 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 3670
AnnaBridge 172:65be27845400 3671 return ((READ_BIT(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CESR, MDMA_CESR_TELD) == (MDMA_CESR_TELD)) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 3672 }
AnnaBridge 172:65be27845400 3673
AnnaBridge 172:65be27845400 3674 /**
AnnaBridge 172:65be27845400 3675 * @brief Clear MDMA Channel x Transfer Error interrupt flag.
AnnaBridge 172:65be27845400 3676 * @rmtoll CIFCR CTEIF LL_MDMA_ClearFlag_TE
AnnaBridge 172:65be27845400 3677 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3678 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3679 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3680 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3681 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3682 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3683 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3684 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3685 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3686 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3687 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3688 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3689 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3690 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3691 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3692 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3693 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3694 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3695 * @retval None
AnnaBridge 172:65be27845400 3696 */
AnnaBridge 172:65be27845400 3697 __STATIC_INLINE void LL_MDMA_ClearFlag_TE(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 3698 {
AnnaBridge 172:65be27845400 3699 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 3700
AnnaBridge 172:65be27845400 3701 WRITE_REG(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CIFCR ,MDMA_CIFCR_CTEIF);
AnnaBridge 172:65be27845400 3702 }
AnnaBridge 172:65be27845400 3703
AnnaBridge 172:65be27845400 3704 /**
AnnaBridge 172:65be27845400 3705 * @brief Clear MDMA Channel x Channel Transfer Complete interrupt flag.
AnnaBridge 172:65be27845400 3706 * @rmtoll CIFCR CCTCIF LL_MDMA_ClearFlag_CTC
AnnaBridge 172:65be27845400 3707 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3708 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3709 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3710 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3711 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3712 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3713 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3714 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3715 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3716 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3717 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3718 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3719 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3720 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3721 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3722 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3723 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3724 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3725 * @retval None
AnnaBridge 172:65be27845400 3726 */
AnnaBridge 172:65be27845400 3727 __STATIC_INLINE void LL_MDMA_ClearFlag_CTC(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 3728 {
AnnaBridge 172:65be27845400 3729 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 3730
AnnaBridge 172:65be27845400 3731 WRITE_REG(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CIFCR ,MDMA_CIFCR_CCTCIF);
AnnaBridge 172:65be27845400 3732 }
AnnaBridge 172:65be27845400 3733
AnnaBridge 172:65be27845400 3734 /**
AnnaBridge 172:65be27845400 3735 * @brief Clear MDMA Channel x Block Repeat Transfer complete interrupt flag.
AnnaBridge 172:65be27845400 3736 * @rmtoll CIFCR CBRTIF LL_MDMA_ClearFlag_BRT
AnnaBridge 172:65be27845400 3737 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3738 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3739 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3740 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3741 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3742 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3743 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3744 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3745 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3746 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3747 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3748 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3749 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3750 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3751 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3752 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3753 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3754 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3755 * @retval None
AnnaBridge 172:65be27845400 3756 */
AnnaBridge 172:65be27845400 3757 __STATIC_INLINE void LL_MDMA_ClearFlag_BRT(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 3758 {
AnnaBridge 172:65be27845400 3759 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 3760
AnnaBridge 172:65be27845400 3761 WRITE_REG(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CIFCR ,MDMA_CIFCR_CBRTIF);
AnnaBridge 172:65be27845400 3762 }
AnnaBridge 172:65be27845400 3763
AnnaBridge 172:65be27845400 3764 /**
AnnaBridge 172:65be27845400 3765 * @brief Clear MDMA Channel x Block Transfer complete interrupt flag.
AnnaBridge 172:65be27845400 3766 * @rmtoll CIFCR CBTIF LL_MDMA_ClearFlag_BT
AnnaBridge 172:65be27845400 3767 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3768 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3769 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3770 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3771 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3772 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3773 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3774 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3775 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3776 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3777 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3778 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3779 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3780 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3781 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3782 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3783 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3784 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3785 * @retval None
AnnaBridge 172:65be27845400 3786 */
AnnaBridge 172:65be27845400 3787 __STATIC_INLINE void LL_MDMA_ClearFlag_BT(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 3788 {
AnnaBridge 172:65be27845400 3789 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 3790
AnnaBridge 172:65be27845400 3791 WRITE_REG(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CIFCR ,MDMA_CIFCR_CBTIF);
AnnaBridge 172:65be27845400 3792 }
AnnaBridge 172:65be27845400 3793
AnnaBridge 172:65be27845400 3794 /**
AnnaBridge 172:65be27845400 3795 * @brief Clear MDMA Channel x buffer transfer Complete Interrupt Flag.
AnnaBridge 172:65be27845400 3796 * @rmtoll CIFCR CLTCIF LL_MDMA_ClearFlag_TC
AnnaBridge 172:65be27845400 3797 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3798 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3799 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3800 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3801 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3802 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3803 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3804 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3805 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3806 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3807 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3808 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3809 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3810 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3811 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3812 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3813 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3814 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3815 * @retval None
AnnaBridge 172:65be27845400 3816 */
AnnaBridge 172:65be27845400 3817 __STATIC_INLINE void LL_MDMA_ClearFlag_TC(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 3818 {
AnnaBridge 172:65be27845400 3819 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 3820
AnnaBridge 172:65be27845400 3821 WRITE_REG(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CIFCR ,MDMA_CIFCR_CLTCIF);
AnnaBridge 172:65be27845400 3822 }
AnnaBridge 172:65be27845400 3823
AnnaBridge 172:65be27845400 3824 /**
AnnaBridge 172:65be27845400 3825 * @}
AnnaBridge 172:65be27845400 3826 */
AnnaBridge 172:65be27845400 3827
AnnaBridge 172:65be27845400 3828 /** @defgroup MDMA_LL_EF_IT_Management IT_Management
AnnaBridge 172:65be27845400 3829 * @{
AnnaBridge 172:65be27845400 3830 */
AnnaBridge 172:65be27845400 3831
AnnaBridge 172:65be27845400 3832 /**
AnnaBridge 172:65be27845400 3833 * @brief Enable MDMA Channel x Transfer Error interrupt.
AnnaBridge 172:65be27845400 3834 * @rmtoll CCR TEIE LL_MDMA_EnableIT_TE
AnnaBridge 172:65be27845400 3835 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3836 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3837 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3838 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3839 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3840 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3841 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3842 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3843 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3844 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3845 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3846 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3847 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3848 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3849 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3850 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3851 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3852 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3853 * @retval None
AnnaBridge 172:65be27845400 3854 */
AnnaBridge 172:65be27845400 3855 __STATIC_INLINE void LL_MDMA_EnableIT_TE(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 3856 {
AnnaBridge 172:65be27845400 3857 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 3858
AnnaBridge 172:65be27845400 3859 SET_BIT(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CCR ,MDMA_CCR_TEIE);
AnnaBridge 172:65be27845400 3860 }
AnnaBridge 172:65be27845400 3861
AnnaBridge 172:65be27845400 3862 /**
AnnaBridge 172:65be27845400 3863 * @brief Enable MDMA Channel x Channel Transfer Complete interrupt.
AnnaBridge 172:65be27845400 3864 * @rmtoll CCR CTCIE LL_MDMA_EnableIT_CTC
AnnaBridge 172:65be27845400 3865 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3866 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3867 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3868 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3869 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3870 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3871 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3872 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3873 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3874 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3875 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3876 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3877 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3878 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3879 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3880 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3881 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3882 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3883 * @retval None
AnnaBridge 172:65be27845400 3884 */
AnnaBridge 172:65be27845400 3885 __STATIC_INLINE void LL_MDMA_EnableIT_CTC(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 3886 {
AnnaBridge 172:65be27845400 3887 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 3888
AnnaBridge 172:65be27845400 3889 SET_BIT(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CCR ,MDMA_CCR_CTCIE);
AnnaBridge 172:65be27845400 3890 }
AnnaBridge 172:65be27845400 3891
AnnaBridge 172:65be27845400 3892 /**
AnnaBridge 172:65be27845400 3893 * @brief Enable MDMA Channel x Block Repeat Transfer interrupt.
AnnaBridge 172:65be27845400 3894 * @rmtoll CCR BRTIE LL_MDMA_EnableIT_BRT
AnnaBridge 172:65be27845400 3895 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3896 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3897 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3898 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3899 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3900 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3901 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3902 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3903 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3904 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3905 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3906 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3907 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3908 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3909 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3910 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3911 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3912 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3913 * @retval None
AnnaBridge 172:65be27845400 3914 */
AnnaBridge 172:65be27845400 3915 __STATIC_INLINE void LL_MDMA_EnableIT_BRT(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 3916 {
AnnaBridge 172:65be27845400 3917 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 3918
AnnaBridge 172:65be27845400 3919 SET_BIT(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CCR ,MDMA_CCR_BRTIE);
AnnaBridge 172:65be27845400 3920 }
AnnaBridge 172:65be27845400 3921
AnnaBridge 172:65be27845400 3922 /**
AnnaBridge 172:65be27845400 3923 * @brief Enable MDMA Channel x Block Transfer interrupt.
AnnaBridge 172:65be27845400 3924 * @rmtoll CCR BTIE LL_MDMA_EnableIT_BT
AnnaBridge 172:65be27845400 3925 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3926 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3927 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3928 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3929 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3930 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3931 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3932 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3933 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3934 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3935 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3936 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3937 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3938 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3939 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3940 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3941 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3942 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3943 * @retval None
AnnaBridge 172:65be27845400 3944 */
AnnaBridge 172:65be27845400 3945 __STATIC_INLINE void LL_MDMA_EnableIT_BT(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 3946 {
AnnaBridge 172:65be27845400 3947 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 3948
AnnaBridge 172:65be27845400 3949 SET_BIT(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CCR ,MDMA_CCR_BTIE);
AnnaBridge 172:65be27845400 3950 }
AnnaBridge 172:65be27845400 3951
AnnaBridge 172:65be27845400 3952 /**
AnnaBridge 172:65be27845400 3953 * @brief Enable MDMA Channel x buffer transfer complete interrupt.
AnnaBridge 172:65be27845400 3954 * @rmtoll CCR TCIE LL_MDMA_EnableIT_TC
AnnaBridge 172:65be27845400 3955 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3956 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3957 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3958 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3959 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3960 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3961 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3962 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3963 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3964 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3965 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3966 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3967 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3968 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3969 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 3970 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 3971 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 3972 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 3973 * @retval None
AnnaBridge 172:65be27845400 3974 */
AnnaBridge 172:65be27845400 3975 __STATIC_INLINE void LL_MDMA_EnableIT_TC(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 3976 {
AnnaBridge 172:65be27845400 3977 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 3978
AnnaBridge 172:65be27845400 3979 SET_BIT(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CCR ,MDMA_CCR_TCIE);
AnnaBridge 172:65be27845400 3980 }
AnnaBridge 172:65be27845400 3981
AnnaBridge 172:65be27845400 3982 /**
AnnaBridge 172:65be27845400 3983 * @brief Disable MDMA Channel x Transfer Error interrupt.
AnnaBridge 172:65be27845400 3984 * @rmtoll CCR TEIE LL_MDMA_DisableIT_TE
AnnaBridge 172:65be27845400 3985 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 3986 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 3987 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 3988 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 3989 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 3990 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 3991 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 3992 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 3993 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 3994 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 3995 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 3996 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 3997 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 3998 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 3999 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 4000 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 4001 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 4002 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 4003 * @retval None
AnnaBridge 172:65be27845400 4004 */
AnnaBridge 172:65be27845400 4005 __STATIC_INLINE void LL_MDMA_DisableIT_TE(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 4006 {
AnnaBridge 172:65be27845400 4007 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 4008
AnnaBridge 172:65be27845400 4009 CLEAR_BIT(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CCR ,MDMA_CCR_TEIE);
AnnaBridge 172:65be27845400 4010 }
AnnaBridge 172:65be27845400 4011
AnnaBridge 172:65be27845400 4012 /**
AnnaBridge 172:65be27845400 4013 * @brief Disable MDMA Channel x Channel Transfer Complete interrupt.
AnnaBridge 172:65be27845400 4014 * @rmtoll CCR CTCIE LL_MDMA_DisableIT_CTC
AnnaBridge 172:65be27845400 4015 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 4016 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 4017 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 4018 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 4019 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 4020 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 4021 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 4022 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 4023 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 4024 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 4025 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 4026 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 4027 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 4028 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 4029 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 4030 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 4031 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 4032 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 4033 * @retval None
AnnaBridge 172:65be27845400 4034 */
AnnaBridge 172:65be27845400 4035 __STATIC_INLINE void LL_MDMA_DisableIT_CTC(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 4036 {
AnnaBridge 172:65be27845400 4037 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 4038
AnnaBridge 172:65be27845400 4039 CLEAR_BIT(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CCR ,MDMA_CCR_CTCIE);
AnnaBridge 172:65be27845400 4040 }
AnnaBridge 172:65be27845400 4041
AnnaBridge 172:65be27845400 4042 /**
AnnaBridge 172:65be27845400 4043 * @brief Disable MDMA Channel x Block Repeat Transfer interrupt.
AnnaBridge 172:65be27845400 4044 * @rmtoll CCR BRTIE LL_MDMA_DisableIT_BRT
AnnaBridge 172:65be27845400 4045 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 4046 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 4047 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 4048 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 4049 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 4050 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 4051 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 4052 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 4053 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 4054 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 4055 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 4056 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 4057 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 4058 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 4059 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 4060 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 4061 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 4062 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 4063 * @retval None
AnnaBridge 172:65be27845400 4064 */
AnnaBridge 172:65be27845400 4065 __STATIC_INLINE void LL_MDMA_DisableIT_BRT(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 4066 {
AnnaBridge 172:65be27845400 4067 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 4068
AnnaBridge 172:65be27845400 4069 CLEAR_BIT(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CCR ,MDMA_CCR_BRTIE);
AnnaBridge 172:65be27845400 4070 }
AnnaBridge 172:65be27845400 4071
AnnaBridge 172:65be27845400 4072 /**
AnnaBridge 172:65be27845400 4073 * @brief Disable MDMA Channel x Block Transfer interrupt.
AnnaBridge 172:65be27845400 4074 * @rmtoll CCR BTIE LL_MDMA_DisableIT_BT
AnnaBridge 172:65be27845400 4075 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 4076 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 4077 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 4078 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 4079 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 4080 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 4081 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 4082 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 4083 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 4084 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 4085 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 4086 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 4087 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 4088 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 4089 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 4090 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 4091 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 4092 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 4093 * @retval None
AnnaBridge 172:65be27845400 4094 */
AnnaBridge 172:65be27845400 4095 __STATIC_INLINE void LL_MDMA_DisableIT_BT(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 4096 {
AnnaBridge 172:65be27845400 4097 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 4098
AnnaBridge 172:65be27845400 4099 CLEAR_BIT(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CCR ,MDMA_CCR_BTIE);
AnnaBridge 172:65be27845400 4100 }
AnnaBridge 172:65be27845400 4101
AnnaBridge 172:65be27845400 4102 /**
AnnaBridge 172:65be27845400 4103 * @brief Disable MDMA Channel x buffer transfer complete interrupt.
AnnaBridge 172:65be27845400 4104 * @rmtoll CCR TCIE LL_MDMA_DisableIT_TC
AnnaBridge 172:65be27845400 4105 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 4106 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 4107 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 4108 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 4109 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 4110 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 4111 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 4112 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 4113 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 4114 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 4115 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 4116 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 4117 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 4118 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 4119 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 4120 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 4121 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 4122 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 4123 * @retval None
AnnaBridge 172:65be27845400 4124 */
AnnaBridge 172:65be27845400 4125 __STATIC_INLINE void LL_MDMA_DisableIT_TC(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 4126 {
AnnaBridge 172:65be27845400 4127 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 4128
AnnaBridge 172:65be27845400 4129 CLEAR_BIT(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CCR ,MDMA_CCR_TCIE);
AnnaBridge 172:65be27845400 4130 }
AnnaBridge 172:65be27845400 4131
AnnaBridge 172:65be27845400 4132 /**
AnnaBridge 172:65be27845400 4133 * @brief Check if MDMA Channel x Transfer Error interrupt is enabled.
AnnaBridge 172:65be27845400 4134 * @rmtoll CCR TEIE LL_MDMA_IsEnabledIT_TE
AnnaBridge 172:65be27845400 4135 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 4136 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 4137 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 4138 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 4139 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 4140 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 4141 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 4142 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 4143 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 4144 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 4145 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 4146 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 4147 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 4148 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 4149 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 4150 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 4151 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 4152 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 4153 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 4154 */
AnnaBridge 172:65be27845400 4155 __STATIC_INLINE uint32_t LL_MDMA_IsEnabledIT_TE(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 4156 {
AnnaBridge 172:65be27845400 4157 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 4158
AnnaBridge 172:65be27845400 4159 return ((READ_BIT(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CCR ,MDMA_CCR_TEIE) == MDMA_CCR_TEIE) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 4160 }
AnnaBridge 172:65be27845400 4161
AnnaBridge 172:65be27845400 4162 /**
AnnaBridge 172:65be27845400 4163 * @brief Check if MDMA Channel x Channel Transfer Complete interrupt is enabled.
AnnaBridge 172:65be27845400 4164 * @rmtoll CCR CTCIE LL_MDMA_IsEnabledIT_CTC
AnnaBridge 172:65be27845400 4165 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 4166 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 4167 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 4168 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 4169 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 4170 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 4171 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 4172 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 4173 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 4174 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 4175 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 4176 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 4177 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 4178 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 4179 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 4180 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 4181 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 4182 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 4183 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 4184 */
AnnaBridge 172:65be27845400 4185 __STATIC_INLINE uint32_t LL_MDMA_IsEnabledIT_CTC(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 4186 {
AnnaBridge 172:65be27845400 4187 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 4188
AnnaBridge 172:65be27845400 4189 return ((READ_BIT(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CCR ,MDMA_CCR_CTCIE) == MDMA_CCR_CTCIE) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 4190 }
AnnaBridge 172:65be27845400 4191
AnnaBridge 172:65be27845400 4192 /**
AnnaBridge 172:65be27845400 4193 * @brief Check if MDMA Channel x Block Repeat Transfer complete interrupt is enabled.
AnnaBridge 172:65be27845400 4194 * @rmtoll CCR BRTIE LL_MDMA_IsEnabledIT_BRT
AnnaBridge 172:65be27845400 4195 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 4196 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 4197 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 4198 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 4199 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 4200 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 4201 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 4202 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 4203 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 4204 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 4205 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 4206 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 4207 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 4208 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 4209 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 4210 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 4211 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 4212 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 4213 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 4214 */
AnnaBridge 172:65be27845400 4215 __STATIC_INLINE uint32_t LL_MDMA_IsEnabledIT_BRT(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 4216 {
AnnaBridge 172:65be27845400 4217 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 4218
AnnaBridge 172:65be27845400 4219 return ((READ_BIT(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CCR ,MDMA_CCR_BRTIE) == MDMA_CCR_BRTIE) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 4220 }
AnnaBridge 172:65be27845400 4221
AnnaBridge 172:65be27845400 4222 /**
AnnaBridge 172:65be27845400 4223 * @brief Check if MDMA Channel x Block Transfer interrupt is enabled.
AnnaBridge 172:65be27845400 4224 * @rmtoll CCR BTIE LL_MDMA_IsEnabledIT_BT
AnnaBridge 172:65be27845400 4225 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 4226 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 4227 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 4228 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 4229 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 4230 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 4231 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 4232 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 4233 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 4234 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 4235 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 4236 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 4237 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 4238 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 4239 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 4240 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 4241 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 4242 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 4243 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 4244 */
AnnaBridge 172:65be27845400 4245 __STATIC_INLINE uint32_t LL_MDMA_IsEnabledIT_BT(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 4246 {
AnnaBridge 172:65be27845400 4247 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 4248
AnnaBridge 172:65be27845400 4249 return ((READ_BIT(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CCR ,MDMA_CCR_BTIE) == MDMA_CCR_BTIE) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 4250 }
AnnaBridge 172:65be27845400 4251
AnnaBridge 172:65be27845400 4252 /**
AnnaBridge 172:65be27845400 4253 * @brief Check if MDMA Channel x buffer transfer complete interrupt is enabled.
AnnaBridge 172:65be27845400 4254 * @rmtoll CCR TCIE LL_MDMA_IsEnabledIT_TC
AnnaBridge 172:65be27845400 4255 * @param MDMAx MDMAx Instance
AnnaBridge 172:65be27845400 4256 * @param Channel This parameter can be one of the following values:
AnnaBridge 172:65be27845400 4257 * @arg @ref LL_MDMA_CHANNEL_0
AnnaBridge 172:65be27845400 4258 * @arg @ref LL_MDMA_CHANNEL_1
AnnaBridge 172:65be27845400 4259 * @arg @ref LL_MDMA_CHANNEL_2
AnnaBridge 172:65be27845400 4260 * @arg @ref LL_MDMA_CHANNEL_3
AnnaBridge 172:65be27845400 4261 * @arg @ref LL_MDMA_CHANNEL_4
AnnaBridge 172:65be27845400 4262 * @arg @ref LL_MDMA_CHANNEL_5
AnnaBridge 172:65be27845400 4263 * @arg @ref LL_MDMA_CHANNEL_6
AnnaBridge 172:65be27845400 4264 * @arg @ref LL_MDMA_CHANNEL_7
AnnaBridge 172:65be27845400 4265 * @arg @ref LL_MDMA_CHANNEL_8
AnnaBridge 172:65be27845400 4266 * @arg @ref LL_MDMA_CHANNEL_9
AnnaBridge 172:65be27845400 4267 * @arg @ref LL_MDMA_CHANNEL_10
AnnaBridge 172:65be27845400 4268 * @arg @ref LL_MDMA_CHANNEL_11
AnnaBridge 172:65be27845400 4269 * @arg @ref LL_MDMA_CHANNEL_12
AnnaBridge 172:65be27845400 4270 * @arg @ref LL_MDMA_CHANNEL_13
AnnaBridge 172:65be27845400 4271 * @arg @ref LL_MDMA_CHANNEL_14
AnnaBridge 172:65be27845400 4272 * @arg @ref LL_MDMA_CHANNEL_15
AnnaBridge 172:65be27845400 4273 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 4274 */
AnnaBridge 172:65be27845400 4275 __STATIC_INLINE uint32_t LL_MDMA_IsEnabledIT_TC(MDMA_TypeDef *MDMAx, uint32_t Channel)
AnnaBridge 172:65be27845400 4276 {
AnnaBridge 172:65be27845400 4277 register uint32_t mdma_base_addr = (uint32_t)MDMAx;
AnnaBridge 172:65be27845400 4278
AnnaBridge 172:65be27845400 4279 return ((READ_BIT(((MDMA_Channel_TypeDef*)(mdma_base_addr + LL_MDMA_CH_OFFSET_TAB[Channel]))->CCR ,MDMA_CCR_TCIE) == MDMA_CCR_TCIE) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 4280 }
AnnaBridge 172:65be27845400 4281
AnnaBridge 172:65be27845400 4282 /**
AnnaBridge 172:65be27845400 4283 * @}
AnnaBridge 172:65be27845400 4284 */
AnnaBridge 172:65be27845400 4285
AnnaBridge 172:65be27845400 4286 #if defined(USE_FULL_LL_DRIVER)
AnnaBridge 172:65be27845400 4287 /** @defgroup MDMA_LL_EF_Init Initialization and de-initialization functions
AnnaBridge 172:65be27845400 4288 * @{
AnnaBridge 172:65be27845400 4289 */
AnnaBridge 172:65be27845400 4290
AnnaBridge 172:65be27845400 4291 uint32_t LL_MDMA_Init(MDMA_TypeDef *MDMAx, uint32_t Channel, LL_MDMA_InitTypeDef *MDMA_InitStruct);
AnnaBridge 172:65be27845400 4292 uint32_t LL_MDMA_DeInit(MDMA_TypeDef *MDMAx, uint32_t Channel);
AnnaBridge 172:65be27845400 4293 void LL_MDMA_StructInit(LL_MDMA_InitTypeDef *MDMA_InitStruct);
AnnaBridge 172:65be27845400 4294 void LL_MDMA_CreateLinkNode(LL_MDMA_InitTypeDef *MDMA_InitStruct, LL_MDMA_LinkNodeTypeDef *pNode);
AnnaBridge 172:65be27845400 4295 void LL_MDMA_ConnectLinkNode(LL_MDMA_LinkNodeTypeDef *pPrevLinkNode, LL_MDMA_LinkNodeTypeDef *pNewLinkNode);
AnnaBridge 172:65be27845400 4296 void LL_MDMA_DisconnectNextLinkNode(LL_MDMA_LinkNodeTypeDef *pLinkNode);
AnnaBridge 172:65be27845400 4297
AnnaBridge 172:65be27845400 4298 /**
AnnaBridge 172:65be27845400 4299 * @}
AnnaBridge 172:65be27845400 4300 */
AnnaBridge 172:65be27845400 4301 #endif /* USE_FULL_LL_DRIVER */
AnnaBridge 172:65be27845400 4302
AnnaBridge 172:65be27845400 4303 /**
AnnaBridge 172:65be27845400 4304 * @}
AnnaBridge 172:65be27845400 4305 */
AnnaBridge 172:65be27845400 4306
AnnaBridge 172:65be27845400 4307 /**
AnnaBridge 172:65be27845400 4308 * @}
AnnaBridge 172:65be27845400 4309 */
AnnaBridge 172:65be27845400 4310
AnnaBridge 172:65be27845400 4311 #endif /* MDMA */
AnnaBridge 172:65be27845400 4312
AnnaBridge 172:65be27845400 4313 /**
AnnaBridge 172:65be27845400 4314 * @}
AnnaBridge 172:65be27845400 4315 */
AnnaBridge 172:65be27845400 4316
AnnaBridge 172:65be27845400 4317 #ifdef __cplusplus
AnnaBridge 172:65be27845400 4318 }
AnnaBridge 172:65be27845400 4319 #endif
AnnaBridge 172:65be27845400 4320
AnnaBridge 172:65be27845400 4321 #endif /* STM32H7xx_LL_MDMA_H */
AnnaBridge 172:65be27845400 4322
AnnaBridge 172:65be27845400 4323 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/