12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193 |
- /**
- ******************************************************************************
- * @file tae32f53xx_ll_dma.h
- * @author MCD Application Team
- * @brief Header file for DMA LL module.
- *
- ******************************************************************************
- * @attention
- *
- * <h2><center>© Copyright (c) 2020 Tai-Action.
- * All rights reserved.</center></h2>
- *
- * This software is licensed by Tai-Action under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
- /* Define to prevent recursive inclusion -------------------------------------*/
- #ifndef _TAE32F53XX_LL_DMA_H_
- #define _TAE32F53XX_LL_DMA_H_
- #ifdef __cplusplus
- extern "C" {
- #endif /* __cplusplus */
- /* Includes ------------------------------------------------------------------*/
- #include "tae32f53xx_ll_def.h"
- /** @addtogroup TAE32F53xx_LL_Driver
- * @{
- */
- /** @addtogroup DMA_LL
- * @{
- */
- /* Exported constants --------------------------------------------------------*/
- /** @defgroup DMA_LL_Exported_Constants DMA LL Exported Constants
- * @brief DMA LL Exported Constants
- * @{
- */
- /**
- * @brief DMA block size max
- */
- #define LL_DMA_BLOCK_SIZE_MAX (0xfffU)
- /**
- * @brief SRAMBC address start
- */
- #define LL_DMA_SRMBC_ADDR_START (0x20004000UL)
- /**
- * @brief SRAMBC address end
- */
- #define LL_DMA_SRMBC_ADDR_END (0x20006000UL - 1)
- /**
- * @}
- */
- /* Exported types ------------------------------------------------------------*/
- /** @defgroup DMA_LL_Exported_Types DMA LL Exported Types
- * @brief DMA LL Exported Types
- * @{
- */
- /**
- * @brief DMA Source Peripheral bus type definition
- */
- typedef enum {
- DMA_SRC_PERIPH_BUS_AHB_MST1 = DMA_CH_CR0_SMS_AHB_MST1, /*!< Source Peripheral bus AHB Master1 */
- DMA_SRC_PERIPH_BUS_AHB_MST2 = DMA_CH_CR0_SMS_AHB_MST2, /*!< Source Peripheral bus AHB Master2 */
- } DMA_SrcPeriphBusETypeDef;
- /**
- * @brief DMA Destination Peripheral bus type definition
- */
- typedef enum {
- DMA_DST_PERIPH_BUS_AHB_MST1 = DMA_CH_CR0_DMS_AHB_MST1, /*!< Destination Peripheral bus AHB Master1 */
- DMA_DST_PERIPH_BUS_AHB_MST2 = DMA_CH_CR0_DMS_AHB_MST2, /*!< Destination Peripheral bus AHB Master2 */
- } DMA_DstPeriphBusETypeDef;
- /**
- * brief DMA transfer type type definition
- */
- typedef enum {
- DMA_TRANS_TYPE_M2M = DMA_CH_CR0_TTC_M2M, /*!< Transfer type M2M */
- DMA_TRANS_TYPE_M2P = DMA_CH_CR0_TTC_M2P, /*!< Transfer type M2P */
- DMA_TRANS_TYPE_P2M = DMA_CH_CR0_TTC_P2M, /*!< Transfer type P2M */
- DMA_TRANS_TYPE_P2P = DMA_CH_CR0_TTC_P2P, /*!< Transfer type P2P */
- } DMA_TransTypeETypeDef;
- /**
- * @brief DMA Source burst length type definition
- */
- typedef enum {
- DMA_SRC_BURST_LEN_1 = DMA_CH_CR0_SBTL_1, /*!< Source burst length 1 */
- DMA_SRC_BURST_LEN_4 = DMA_CH_CR0_SBTL_4, /*!< Source burst length 4 */
- DMA_SRC_BURST_LEN_8 = DMA_CH_CR0_SBTL_8, /*!< Source burst length 8 */
- } DMA_SrcBurstLenETypeDef;
- /**
- * @brief DMA Destination burst length type definition
- */
- typedef enum {
- DMA_DST_BURST_LEN_1 = DMA_CH_CR0_DBTL_1, /*!< Destination burst length 1 */
- DMA_DST_BURST_LEN_4 = DMA_CH_CR0_DBTL_4, /*!< Destination burst length 4 */
- DMA_DST_BURST_LEN_8 = DMA_CH_CR0_DBTL_8, /*!< Destination burst length 8 */
- } DMA_DstBurstLenETypeDef;
- /**
- * @brief DMA Source address mode type definition
- */
- typedef enum {
- DMA_SRC_ADDR_MODE_INC = DMA_CH_CR0_SINC_INC, /*!< Source address mode Increase */
- DMA_SRC_ADDR_MODE_DEC = DMA_CH_CR0_SINC_DEC, /*!< Source address mode Decrease */
- DMA_SRC_ADDR_MODE_FIX = DMA_CH_CR0_SINC_FIX, /*!< Source address mode Fixed */
- } DMA_SrcAddrModeETypeDef;
- /**
- * @brief DMA Destination address mode type definition
- */
- typedef enum {
- DMA_DST_ADDR_MODE_INC = DMA_CH_CR0_DINC_INC, /*!< Destination address mode Increase */
- DMA_DST_ADDR_MODE_DEC = DMA_CH_CR0_DINC_DEC, /*!< Destination address mode Decrease */
- DMA_DST_ADDR_MODE_FIX = DMA_CH_CR0_DINC_FIX, /*!< Destination address mode Fixed */
- } DMA_DstAddrModeETypeDef;
- /**
- * @brief DMA Source transfer width type definition
- */
- typedef enum {
- DMA_SRC_TRANS_WIDTH_8b = DMA_CH_CR0_STW_8b, /*!< Source transfer width 8bit */
- DMA_SRC_TRANS_WIDTH_16b = DMA_CH_CR0_STW_16b, /*!< Source transfer width 16bit */
- DMA_SRC_TRANS_WIDTH_32b = DMA_CH_CR0_STW_32b, /*!< Source transfer width 32bit */
- } DMA_SrcTransWidthETypeDef;
- /**
- * @brief DMA Destination transfer width type definition
- */
- typedef enum {
- DMA_DST_TRANS_WIDTH_8b = DMA_CH_CR0_DTW_8b, /*!< Destination transfer width 8bit */
- DMA_DST_TRANS_WIDTH_16b = DMA_CH_CR0_DTW_16b, /*!< Destination transfer width 16bit */
- DMA_DST_TRANS_WIDTH_32b = DMA_CH_CR0_DTW_32b, /*!< Destination transfer width 32bit */
- } DMA_DstTransWidthETypeDef;
- /**
- * @brief DMA Source handshaking interface type definition
- */
- typedef enum {
- DMA_SRC_HANDSHAKE_IFC_MEMORY = 0, /*!< Source handshaking interface MEMORY */
- DMA_SRC_HANDSHAKE_IFC_I2C0_TX = DMA_CH_CR3_SHSIF_I2C0_TX, /*!< Source handshaking interface I2C0_TX */
- DMA_SRC_HANDSHAKE_IFC_I2C0_RX = DMA_CH_CR3_SHSIF_I2C0_RX, /*!< Source handshaking interface I2C0_RX */
- DMA_SRC_HANDSHAKE_IFC_I2C1_TX = DMA_CH_CR3_SHSIF_I2C1_TX, /*!< Source handshaking interface I2C1_TX */
- DMA_SRC_HANDSHAKE_IFC_I2C1_RX = DMA_CH_CR3_SHSIF_I2C1_RX, /*!< Source handshaking interface I2C1_RX */
- DMA_SRC_HANDSHAKE_IFC_UART0_TX = DMA_CH_CR3_SHSIF_UART0_TX, /*!< Source handshaking interface UART0_TX */
- DMA_SRC_HANDSHAKE_IFC_UART0_RX = DMA_CH_CR3_SHSIF_UART0_RX, /*!< Source handshaking interface UART0_RX */
- DMA_SRC_HANDSHAKE_IFC_UART1_TX = DMA_CH_CR3_SHSIF_UART1_TX, /*!< Source handshaking interface UART1_TX */
- DMA_SRC_HANDSHAKE_IFC_UART1_RX = DMA_CH_CR3_SHSIF_UART1_RX, /*!< Source handshaking interface UART1_RX */
- } DMA_SrcHandshakeIfcETypeDef;
- /**
- * @brief DMA Destination handshaking interface type definition
- */
- typedef enum {
- DMA_DST_HANDSHAKE_IFC_MEMORY = 0, /*!< Destination handshaking interface MEMORY */
- DMA_DST_HANDSHAKE_IFC_I2C0_TX = DMA_CH_CR3_DHSIF_I2C0_TX, /*!< Destination handshaking interface I2C0_TX */
- DMA_DST_HANDSHAKE_IFC_I2C0_RX = DMA_CH_CR3_DHSIF_I2C0_RX, /*!< Destination handshaking interface I2C0_RX */
- DMA_DST_HANDSHAKE_IFC_I2C1_TX = DMA_CH_CR3_DHSIF_I2C1_TX, /*!< Destination handshaking interface I2C1_TX */
- DMA_DST_HANDSHAKE_IFC_I2C1_RX = DMA_CH_CR3_DHSIF_I2C1_RX, /*!< Destination handshaking interface I2C1_RX */
- DMA_DST_HANDSHAKE_IFC_UART0_TX = DMA_CH_CR3_DHSIF_UART0_TX, /*!< Destination handshaking interface UART0_TX */
- DMA_DST_HANDSHAKE_IFC_UART0_RX = DMA_CH_CR3_DHSIF_UART0_RX, /*!< Destination handshaking interface UART0_RX */
- DMA_DST_HANDSHAKE_IFC_UART1_TX = DMA_CH_CR3_DHSIF_UART1_TX, /*!< Destination handshaking interface UART1_TX */
- DMA_DST_HANDSHAKE_IFC_UART1_RX = DMA_CH_CR3_DHSIF_UART1_RX, /*!< Destination handshaking interface UART1_RX */
- } DMA_DstHandshakeIfcETypeDef;
- /**
- * @brief DMA channel type definition
- */
- typedef enum {
- DMA_CHANNEL_0 = 0U, /*!< DMA Channel 0 */
- DMA_CHANNEL_1 = 1U, /*!< DMA Channel 1 */
- DMA_CHANNEL_NUM = 2U, /*!< DMA Channel Number */
- DMA_CHANNEL_INVALID = 0xFFU, /*!< DMA Channel Invalid */
- } DMA_ChannelETypeDef;
- /**
- * @brief DMA State type definition
- */
- typedef enum {
- DMA_STATE_RESET = 0, /*!< DMA State Reset: not yet initialized or disabled */
- DMA_STATE_READY, /*!< DMA State Ready: initialized and ready for use */
- DMA_STATE_BUSY, /*!< DMA State Busy: process is ongoing */
- } DMA_StateETypeDef;
- /**
- * @brief DMA IRQ callback function type definition
- */
- typedef void (*DMA_IRQCallback)(void *arg);
- /**
- * @brief DMA user config type definition
- */
- typedef struct __DMA_UserCfgTypeDef {
- DMA_TransTypeETypeDef trans_type; /*!< transfer type */
- DMA_SrcAddrModeETypeDef src_addr_mode; /*!< source address mode */
- DMA_DstAddrModeETypeDef dst_addr_mode; /*!< destination address mode */
- DMA_SrcTransWidthETypeDef src_data_width; /*!< source data width */
- DMA_DstTransWidthETypeDef dst_data_width; /*!< destination data width */
- DMA_SrcHandshakeIfcETypeDef src_hs_ifc; /*!< source handshake interface */
- DMA_DstHandshakeIfcETypeDef dst_hs_ifc; /*!< destination handshake interface */
- void *end_arg; /*!< argument of transfer complete callback fucntion */
- DMA_IRQCallback end_callback; /*!< transfer complete callback fucntion */
- void *err_arg; /*!< argument of transfer error callback fucntion */
- DMA_IRQCallback err_callback; /*!< transfer error callback fucntion */
- } DMA_UserCfgTypeDef;
- /**
- * @}
- */
- /* Exported macro ------------------------------------------------------------*/
- /** @defgroup DMA_LL_Exported_Macros DMA LL Exported Macros
- * @brief DMA LL Exported Macros
- * @{
- */
- /**
- * @brief Source address set
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @param addr Source address
- * @return None
- */
- #define __LL_DMA_SrcAddr_Set(__DMA__, ch, addr) WRITE_REG((__DMA__)->CH[(ch)].SAR, addr)
- /**
- * @brief Destination address set
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @param addr Destination address
- * @return None
- */
- #define __LL_DMA_DstAddr_Set(__DMA__, ch, addr) WRITE_REG((__DMA__)->CH[(ch)].DAR, addr)
- /**
- * @brief Source peripheral bus set
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @param bus Source peripheral bus
- * @return None
- */
- #define __LL_DMA_SrcPeriphBus_Set(__DMA__, ch, bus) MODIFY_REG((__DMA__)->CH[(ch)].CR0, DMA_CH_CR0_SMS_Msk, bus)
- /**
- * @brief Destination peripheral bus set
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @param bus Destination peripheral bus
- * @return None
- */
- #define __LL_DMA_DstPeriphBus_Set(__DMA__, ch, bus) MODIFY_REG((__DMA__)->CH[(ch)].CR0, DMA_CH_CR0_DMS_Msk, bus)
- /**
- * @brief Transfer type set
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @param type Transfer type
- * @return None
- */
- #define __LL_DMA_TransType_Set(__DMA__, ch, type) MODIFY_REG((__DMA__)->CH[(ch)].CR0, DMA_CH_CR0_TTC_Msk, type)
- /**
- * @brief Source burst length set
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @param len Source burst length
- * @return None
- */
- #define __LL_DMA_SrcBurstLen_Set(__DMA__, ch, len) MODIFY_REG((__DMA__)->CH[(ch)].CR0, DMA_CH_CR0_SBTL_Msk, len)
- /**
- * @brief Destination burst length set
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @param len Destination burst length
- * @return None
- */
- #define __LL_DMA_DstBurstLen_Set(__DMA__, ch, len) MODIFY_REG((__DMA__)->CH[(ch)].CR0, DMA_CH_CR0_DBTL_Msk, len)
- /**
- * @brief Source address mode set
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @param mode Source address mode
- * @return None
- */
- #define __LL_DMA_SrcAddrMode_Set(__DMA__, ch, mode) MODIFY_REG((__DMA__)->CH[(ch)].CR0, DMA_CH_CR0_SINC_Msk, mode)
- /**
- * @brief Destination address mode set
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @param mode Destination address mode
- * @return None
- */
- #define __LL_DMA_DstAddrMode_Set(__DMA__, ch, mode) MODIFY_REG((__DMA__)->CH[(ch)].CR0, DMA_CH_CR0_DINC_Msk, mode)
- /**
- * @brief Source transfer width set
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @param width Source transfer width
- * @return None
- */
- #define __LL_DMA_SrcTransWidth_Set(__DMA__, ch, width) MODIFY_REG((__DMA__)->CH[(ch)].CR0, DMA_CH_CR0_STW_Msk, width)
- /**
- * @brief Source transfer width get
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @retval 0 8 bits
- * @retval 1 16 bits
- * @retval 2 32 bits
- */
- #define __LL_DMA_SrcTransWidth_Get(__DMA__, ch) (READ_BIT((__DMA__)->CH[(ch)].CR0, DMA_CH_CR0_STW_Msk) >> DMA_CH_CR0_STW_Pos)
- /**
- * @brief Destination transfer width set
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @param width Destination transfer width
- * @return None
- */
- #define __LL_DMA_DstTransWidth_Set(__DMA__, ch, width) MODIFY_REG((__DMA__)->CH[(ch)].CR0, DMA_CH_CR0_DTW_Msk, width)
- /**
- * @brief Channel interrupt enable
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @return None
- */
- #define __LL_DMA_Channel_Int_En(__DMA__, ch) SET_BIT((__DMA__)->CH[(ch)].CR0, DMA_CH_CR0_CHIE_Msk)
- /**
- * @brief Channel interrupt disable
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @return None
- */
- #define __LL_DMA_Channel_Int_Dis(__DMA__, ch) CLEAR_BIT((__DMA__)->CH[(ch)].CR0, DMA_CH_CR0_CHIE_Msk)
- /**
- * @brief Channel register CR0 write
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @param val write value
- * @return None
- */
- #define __LL_DMA_ChannelRegCR0_Write(__DMA__, ch, val) WRITE_REG((__DMA__)->CH[(ch)].CR0, val)
- /**
- * @brief Judge is block transfer done or not
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @retval 0 isn't block transfer done
- * @retval 1 is block transfer done
- */
- #define __LL_DMA_IsBlockTransDone(__DMA__, ch) (READ_BIT((__DMA__)->CH[(ch)].CR1, DMA_CH_CR1_DONE_Msk) >> DMA_CH_CR1_DONE_Pos)
- /**
- * @brief Block transfer done clear
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @return None
- */
- #define __LL_DMA_BlockTransDone_Clr(__DMA__, ch) CLEAR_BIT((__DMA__)->CH[(ch)].CR1, DMA_CH_CR1_DONE_Msk)
- /**
- * @brief Block transfer count set
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @param cnt Block transfer count
- * @return None
- */
- #define __LL_DMA_BlockTransCnt_Set(__DMA__, ch, cnt) \
- MODIFY_REG((__DMA__)->CH[(ch)].CR1, DMA_CH_CR1_BTCNT_Msk, (((cnt) & 0xfffUL) << DMA_CH_CR1_BTCNT_Pos))
- /**
- * @brief Channel register CR1 write
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @param val write value
- * @return None
- */
- #define __LL_DAM_ChannelRegCR1_Write(__DMA__, ch, val) WRITE_REG((__DMA__)->CH[(ch)].CR1, val)
- /**
- * @brief Burst length max set
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @param max Burst length max
- * @return None
- */
- #define __LL_DMA_BurstLenMax_Set(__DMA__, ch, max) \
- MODIFY_REG((__DMA__)->CH[(ch)].CR2, DMA_CH_CR2_MBL_Msk, (((max) & 0x3ffUL) << DMA_CH_CR2_MBL_Pos))
- /**
- * @brief Source handshake mode set
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @return None
- */
- #define __LL_DMA_SrcHandshakeMode_Set(__DMA__, ch) SET_BIT((__DMA__)->CH[(ch)].CR2, DMA_CH_CR2_SHSM_Msk)
- /**
- * @brief Source handshake mode clear
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @return None
- */
- #define __LL_DMA_SrcHandshakeMode_Clr(__DMA__, ch) CLEAR_BIT((__DMA__)->CH[(ch)].CR2, DMA_CH_CR2_SHSM_Msk)
- /**
- * @brief Destination handshake mode set
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @return None
- */
- #define __LL_DMA_DstHandshakeMode_Set(__DMA__, ch) SET_BIT((__DMA__)->CH[(ch)].CR2, DMA_CH_CR2_DHSM_Msk)
- /**
- * @brief Destination handshake mode clear
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @return None
- */
- #define __LL_DMA_DstHandshakeMode_Clr(__DMA__, ch) CLEAR_BIT((__DMA__)->CH[(ch)].CR2, DMA_CH_CR2_DHSM_Msk)
- /**
- * @brief Judge is channel FIFO empty or not
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @retval 0 isn't channel FIFO empty
- * @retval 1 is channel FIFO empty
- */
- #define __LL_DMA_IsChannelFIFOEmpty(__DMA__, ch) \
- (READ_BIT((__DMA__)->CH[(ch)].CR2, DMA_CH_CR2_FIFO_EF_Msk) >> DMA_CH_CR2_FIFO_EF_Pos)
- /**
- * @brief Channel suspend set
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @return None
- */
- #define __LL_DMA_ChannelSuspend_Set(__DMA__, ch) SET_BIT((__DMA__)->CH[(ch)].CR2, DMA_CH_CR2_SUSP_Msk)
- /**
- * @brief Channel suspend clear
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @return None
- */
- #define __LL_DMA_ChannelSuspend_Clr(__DMA__, ch) CLEAR_BIT((__DMA__)->CH[(ch)].CR2, DMA_CH_CR2_SUSP_Msk)
- /**
- * @brief Channel priority set high
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @return None
- */
- #define __LL_DMA_ChannelPriHigh_Set(__DMA__, ch) SET_BIT((__DMA__)->CH[(ch)].CR2, DMA_CH_CR2_PRI_Msk)
- /**
- * @brief Channel priority set low
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @return None
- */
- #define __LL_DMA_ChannelPriLow_Set(__DMA__, ch) CLEAR_BIT((__DMA__)->CH[(ch)].CR2, DMA_CH_CR2_PRI_Msk)
- /**
- * @brief Channel register CR2 write
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @param val write value
- * @return None
- */
- #define __LL_DAM_ChannelRegCR2_Write(__DMA__, ch, val) WRITE_REG((__DMA__)->CH[(ch)].CR2, val)
- /**
- * @brief Destination handshake interface set
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @param ifc Destination handshake interface
- * @return None
- */
- #define __LL_DMA_DstHandshakeIfc_Set(__DMA__, ch, ifc) MODIFY_REG((__DMA__)->CH[(ch)].CR3, DMA_CH_CR3_DHSIF_Msk, ifc)
- /**
- * @brief Source handshake interface set
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @param ifc Source handshake interface
- * @return None
- */
- #define __LL_DMA_SrcHandshakeIfc_Set(__DMA__, ch, ifc) MODIFY_REG((__DMA__)->CH[(ch)].CR3, DMA_CH_CR3_SHSIF_Msk, ifc)
- /**
- * @brief FIFO mode half set
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @return None
- */
- #define __LL_DMA_FIFOModeHalf_Set(__DMA__, ch) SET_BIT((__DMA__)->CH[(ch)].CR3, DMA_CH_CR3_FMD_Msk)
- /**
- * @brief FIFO mode once set
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @return None
- */
- #define __LL_DMA_FIFOModeOnce_Set(__DMA__, ch) CLEAR_BIT((__DMA__)->CH[(ch)].CR3, DMA_CH_CR3_FMD_Msk)
- /**
- * @brief Channel folw control mode source request set
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @return None
- */
- #define __LL_DMA_ChFlowModeSrcReq_Set(__DMA__, ch) CLEAR_BIT((__DMA__)->CH[(ch)].CR3, DMA_CH_CR3_FCMD_Msk)
- /**
- * @brief Channel folw control mode destination request set
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @return None
- */
- #define __LL_DMA_ChFlowModeDstReq_Set(__DMA__, ch) SET_BIT((__DMA__)->CH[(ch)].CR3, DMA_CH_CR3_FCMD_Msk)
- /**
- * @brief Channel register CR3 write
- * @param __DMA__ Specifies DMA peripheral
- * @param ch DMA channel
- * @param val write value
- * @return None
- */
- #define __LL_DAM_ChannelRegCR3_Write(__DMA__, ch, val) WRITE_REG((__DMA__)->CH[(ch)].CR3, val)
- /**
- * @brief Channel 1 transfer complete status get
- * @param __DMA__ Specifies DMA peripheral
- * @retval 0 Channel 1 transfer hasn't completed
- * @retval 1 Channel 1 transfer has completed
- */
- #define __LL_DMA_Ch1TransComSta_Get(__DMA__) (READ_BIT((__DMA__)->TSR, DMA_TSR_TS_CH1_Msk) >> DMA_TSR_TS_CH1_Pos)
- /**
- * @brief Channel 0 transfer complete status get
- * @param __DMA__ Specifies DMA peripheral
- * @retval 0 Channel 0 transfer hasn't completed
- * @retval 1 Channel 0 transfer has completed
- */
- #define __LL_DMA_Ch0TransComSta_Get(__DMA__) (READ_BIT((__DMA__)->TSR, DMA_TSR_TS_CH0_Msk) >> DMA_TSR_TS_CH0_Pos)
- /**
- * @brief Channel 1 block transfer complete status get
- * @param __DMA__ Specifies DMA peripheral
- * @retval 0 Channel 1 block transfer hasn't completed
- * @retval 1 Channel 1 block transfer has completed
- */
- #define __LL_DMA_Ch1BlockTransComSta_Get(__DMA__) (READ_BIT((__DMA__)->BTSR, DMA_BTSR_BTS_CH1_Msk) >> DMA_BTSR_BTS_CH1_Pos)
- /**
- * @brief Channel 0 block transfer complete status get
- * @param __DMA__ Specifies DMA peripheral
- * @retval 0 Channel 0 block transfer hasn't completed
- * @retval 1 Channel 0 block transfer has completed
- */
- #define __LL_DMA_Ch0BlockTransComSta_Get(__DMA__) (READ_BIT((__DMA__)->BTSR, DMA_BTSR_BTS_CH0_Msk) >> DMA_BTSR_BTS_CH0_Pos)
- /**
- * @brief Channel 1 source transfer complete status get
- * @param __DMA__ Specifies DMA peripheral
- * @retval 0 Channel 1 source transfer hasn't completed
- * @retval 1 Channel 1 source transfer has completed
- */
- #define __LL_DMA_Ch1SrcTransComSta_Get(__DMA__) (READ_BIT((__DMA__)->STSR, DMA_STSR_STS_CH1_Msk) >> DMA_STSR_STS_CH1_Pos)
- /**
- * @brief Channel 0 source transfer complete status get
- * @param __DMA__ Specifies DMA peripheral
- * @retval 0 Channel 0 source transfer hasn't completed
- * @retval 1 Channel 0 source transfer has completed
- */
- #define __LL_DMA_Ch0SrcTransComSta_Get(__DMA__) (READ_BIT((__DMA__)->STSR, DMA_STSR_STS_CH0_Msk) >> DMA_STSR_STS_CH0_Pos)
- /**
- * @brief Channel 1 destination transfer complete status get
- * @param __DMA__ Specifies DMA peripheral
- * @retval 0 Channel 1 destination transfer hasn't completed
- * @retval 1 Channel 1 destination transfer has completed
- */
- #define __LL_DMA_Ch1DstTransComSta_Get(__DMA__) (READ_BIT((__DMA__)->DTSR, DMA_DTSR_DTS_CH1_Msk) >> DMA_DTSR_DTS_CH1_Pos)
- /**
- * @brief Channel 0 destination transfer complete status get
- * @param __DMA__ Specifies DMA peripheral
- * @retval 0 Channel 0 destination transfer hasn't completed
- * @retval 1 Channel 0 destination transfer has completed
- */
- #define __LL_DMA_Ch0DstTransComSta_Get(__DMA__) (READ_BIT((__DMA__)->DTSR, DMA_DTSR_DTS_CH0_Msk) >> DMA_DTSR_DTS_CH0_Pos)
- /**
- * @brief Channel 1 transfer error status get
- * @param __DMA__ Specifies DMA peripheral
- * @retval 0 Channel 1 transfer normal
- * @retval 1 Channel 1 transfer error
- */
- #define __LL_DMA_Ch1TransErrSta_Get(__DMA__) (READ_BIT((__DMA__)->TESR, DMA_TESR_TES_CH1_Msk) >> DMA_TESR_TES_CH1_Pos)
- /**
- * @brief Channel 0 transfer error status get
- * @param __DMA__ Specifies DMA peripheral
- * @retval 0 Channel 0 transfer normal
- * @retval 1 Channel 0 transfer error
- */
- #define __LL_DMA_Ch0TransErrSta_Get(__DMA__) (READ_BIT((__DMA__)->TESR, DMA_TESR_TES_CH0_Msk) >> DMA_TESR_TES_CH0_Pos)
- /**
- * @brief Channel 1 transfer complete interrupt pending get
- * @param __DMA__ Specifies DMA peripheral
- * @retval 0 no pending
- * @retval 1 pending
- */
- #define __LL_DMA_Ch1TransComIntSta_Get(__DMA__) (READ_BIT((__DMA__)->TIPR, DMA_TIPR_TIP_CH1_Msk) >> DMA_TIPR_TIP_CH1_Pos)
- /**
- * @brief Channel 0 transfer complete interrupt pending get
- * @param __DMA__ Specifies DMA peripheral
- * @retval 0 no pending
- * @retval 1 pending
- */
- #define __LL_DMA_Ch0TransComIntSta_Get(__DMA__) (READ_BIT((__DMA__)->TIPR, DMA_TIPR_TIP_CH0_Msk) >> DMA_TIPR_TIP_CH0_Pos)
- /**
- * @brief Channel 1 block transfer complete interrupt pending get
- * @param __DMA__ Specifies DMA peripheral
- * @retval 0 no pending
- * @retval 1 pending
- */
- #define __LL_DMA_Ch1BlockTransComIntSta_Get(__DMA__) (READ_BIT((__DMA__)->BTIPR, DMA_BTIPR_BTIF_CH1_Msk) >> DMA_BTIPR_BTIF_CH1_Pos)
- /**
- * @brief Channel 0 block transfer complete interrupt pending get
- * @param __DMA__ Specifies DMA peripheral
- * @retval 0 no pending
- * @retval 1 pending
- */
- #define __LL_DMA_Ch0BlockTransComIntSta_Get(__DMA__) (READ_BIT((__DMA__)->BTIPR, DMA_BTIPR_BTIF_CH0_Msk) >> DMA_BTIPR_BTIF_CH0_Pos)
- /**
- * @brief Channel 1 source transfer complete interrupt pending get
- * @param __DMA__ Specifies DMA peripheral
- * @retval 0 no pending
- * @retval 1 pending
- */
- #define __LL_DMA_Ch1SrcTransComIntSta_Get(__DMA__) (READ_BIT((__DMA__)->STIPR, DMA_STIPR_STIF_CH1_Msk) >> DMA_STIPR_STIF_CH1_Pos)
- /**
- * @brief Channel 0 source transfer complete interrupt pending get
- * @param __DMA__ Specifies DMA peripheral
- * @retval 0 no pending
- * @retval 1 pending
- */
- #define __LL_DMA_Ch0SrcTransComIntSta_Get(__DMA__) (READ_BIT((__DMA__)->STIPR, DMA_STIPR_STIF_CH0_Msk) >> DMA_STIPR_STIF_CH0_Pos)
- /**
- * @brief Channel 1 destination transfer complete interrupt pending get
- * @param __DMA__ Specifies DMA peripheral
- * @retval 0 no pending
- * @retval 1 pending
- */
- #define __LL_DMA_Ch1DstTransComIntSta_Get(__DMA__) (READ_BIT((__DMA__)->DTIPR, DMA_DTIPR_DTIF_CH1_Msk) >> DMA_DTIPR_DTIF_CH1_Pos)
- /**
- * @brief Channel 0 destination transfer complete interrupt pending get
- * @param __DMA__ Specifies DMA peripheral
- * @retval 0 no pending
- * @retval 1 pending
- */
- #define __LL_DMA_Ch0DstTransComIntSta_Get(__DMA__) (READ_BIT((__DMA__)->DTIPR, DMA_DTIPR_DTIF_CH0_Msk) >> DMA_DTIPR_DTIF_CH0_Pos)
- /**
- * @brief Channel 1 transfer error interrupt pending get
- * @param __DMA__ Specifies DMA peripheral
- * @retval 0 no pending
- * @retval 1 pending
- */
- #define __LL_DMA_Ch1TransErrIntSta_Get(__DMA__) (READ_BIT((__DMA__)->TEIPR, DMA_TEIPR_TEIF_CH1_Msk) >> DMA_TEIPR_TEIF_CH1_Pos)
- /**
- * @brief Channel 0 transfer error interrupt pending get
- * @param __DMA__ Specifies DMA peripheral
- * @retval 0 no pending
- * @retval 1 pending
- */
- #define __LL_DMA_Ch0TransErrIntSta_Get(__DMA__) (READ_BIT((__DMA__)->TEIPR, DMA_TEIPR_TEIF_CH0_Msk) >> DMA_TEIPR_TEIF_CH0_Pos)
- /**
- * @brief Channel 1 transfer complete interrupt enable
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch1TransCom_Int_En(__DMA__) SET_BIT((__DMA__)->TIMR, DMA_TIMR_TIWE_CH1_Msk | DMA_TIMR_TIE_CH1_Msk)
- /**
- * @brief Channel 1 transfer complete interrupt disable
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch1TransCom_Int_Dis(__DMA__) \
- MODIFY_REG((__DMA__)->TIMR, DMA_TIMR_TIWE_CH1_Msk | DMA_TIMR_TIE_CH1_Msk, DMA_TIMR_TIWE_CH1_Msk | (0x0 << DMA_TIMR_TIE_CH1_Pos))
- /**
- * @brief Channel 0 transfer complete interrupt enable
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch0TransCom_Int_En(__DMA__) SET_BIT((__DMA__)->TIMR, DMA_TIMR_TIWE_CH0_Msk | DMA_TIMR_TIE_CH0_Msk)
- /**
- * @brief Channel 0 transfer complete interrupt disable
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch0TransCom_Int_Dis(__DMA__) \
- MODIFY_REG((__DMA__)->TIMR, DMA_TIMR_TIWE_CH0_Msk | DMA_TIMR_TIE_CH0_Msk, DMA_TIMR_TIWE_CH0_Msk | (0x0 << DMA_TIMR_TIE_CH0_Pos))
- /**
- * @brief Reg TIMR Write
- * @param __DMA__ Specifies DMA peripheral
- * @param val write value
- * @return None
- */
- #define __LL_DMA_RegTIMR_Write(__DMA__, val) WRITE_REG((__DMA__)->TIMR, val)
- /**
- * @brief Channel 1 block transfer complete interrupt enable
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch1BlockTransCom_Int_En(__DMA__) SET_BIT((__DMA__)->BTIMR, DMA_BTIMR_BTIWE_CH1_Msk | DMA_BTIMR_BTIE_CH1_Msk)
- /**
- * @brief Channel 1 block transfer complete interrupt disable
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch1BlockTransCom_Int_Dis(__DMA__) \
- MODIFY_REG((__DMA__)->BTIMR, DMA_BTIMR_BTIWE_CH1_Msk | DMA_BTIMR_BTIE_CH1_Msk, DMA_BTIMR_BTIWE_CH1_Msk | (0x0 << DMA_BTIMR_BTIE_CH1_Pos))
- /**
- * @brief Channel 0 block transfer complete interrupt enable
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch0BlockTransCom_Int_En(__DMA__) SET_BIT((__DMA__)->BTIMR, DMA_BTIMR_BTIWE_CH0_Msk | DMA_BTIMR_BTIE_CH0_Msk)
- /**
- * @brief Channel 0 block transfer complete interrupt disable
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch0BlockTransCom_Int_Dis(__DMA__) \
- MODIFY_REG((__DMA__)->BTIMR, DMA_BTIMR_BTIWE_CH0_Msk | DMA_BTIMR_BTIE_CH0_Msk, DMA_BTIMR_BTIWE_CH0_Msk | (0x0 << DMA_BTIMR_BTIE_CH0_Pos))
- /**
- * @brief Reg BTIMR Write
- * @param __DMA__ Specifies DMA peripheral
- * @param val write value
- * @return None
- */
- #define __LL_DMA_RegBTIMR_Write(__DMA__, val) WRITE_REG((__DMA__)->BTIMR, val)
- /**
- * @brief Channel 1 source transfer complete interrupt enable
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch1SrcTransCom_Int_En(__DMA__) SET_BIT((__DMA__)->STIMR, DMA_STIMR_STIWE_CH1_Msk | DMA_STIMR_STIE_CH1_Msk)
- /**
- * @brief Channel 1 source transfer complete interrupt disable
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch1SrcTransCom_Int_Dis(__DMA__) \
- MODIFY_REG((__DMA__)->STIMR, DMA_STIMR_STIWE_CH1_Msk | DMA_STIMR_STIE_CH1_Msk, DMA_STIMR_STIWE_CH1_Msk | (0x0 << DMA_STIMR_STIE_CH1_Pos))
- /**
- * @brief Channel 0 source transfer complete interrupt enable
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch0SrcTransCom_Int_En(__DMA__) SET_BIT((__DMA__)->STIMR, DMA_STIMR_STIWE_CH0_Msk | DMA_STIMR_STIE_CH0_Msk)
- /**
- * @brief Channel 0 source transfer complete interrupt disable
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch0SrcTransCom_Int_Dis(__DMA__) \
- MODIFY_REG((__DMA__)->STIMR, DMA_STIMR_STIWE_CH0_Msk | DMA_STIMR_STIE_CH0_Msk, DMA_STIMR_STIWE_CH0_Msk | (0x0 << DMA_STIMR_STIE_CH0_Pos))
- /**
- * @brief Reg STIMR Write
- * @param __DMA__ Specifies DMA peripheral
- * @param val write value
- * @return None
- */
- #define __LL_DMA_RegSTIMR_Write(__DMA__, val) WRITE_REG((__DMA__)->STIMR, val)
- /**
- * @brief Channel 1 destination transfer complete interrupt enable
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch1DstTransCom_Int_En(__DMA__) SET_BIT((__DMA__)->DTIMR, DMA_DTIMR_DTIWE_CH1_Msk | DMA_DTIMR_DTIE_CH1_Msk)
- /**
- * @brief Channel 1 destination transfer complete interrupt disable
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch1DstTransCom_Int_Dis(__DMA__) \
- MODIFY_REG((__DMA__)->DTIMR, DMA_DTIMR_DTIWE_CH1_Msk | DMA_DTIMR_DTIE_CH1_Msk, DMA_DTIMR_DTIWE_CH1_Msk | (0x0 << DMA_DTIMR_DTIE_CH1_Pos))
- /**
- * @brief Channel 0 destination transfer complete interrupt enable
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch0DstTransCom_Int_En(__DMA__) SET_BIT((__DMA__)->DTIMR, DMA_DTIMR_DTIWE_CH0_Msk | DMA_DTIMR_DTIE_CH0_Msk)
- /**
- * @brief Channel 0 destination transfer complete interrupt disable
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch0DstTransCom_Int_Dis(__DMA__) \
- MODIFY_REG((__DMA__)->DTIMR, DMA_DTIMR_DTIWE_CH0_Msk | DMA_DTIMR_DTIE_CH0_Msk, DMA_DTIMR_DTIWE_CH0_Msk | (0x0 << DMA_DTIMR_DTIE_CH0_Pos))
- /**
- * @brief Reg DTIMR Write
- * @param __DMA__ Specifies DMA peripheral
- * @param val write value
- * @return None
- */
- #define __LL_DMA_RegDTIMR_Write(__DMA__, val) WRITE_REG((__DMA__)->DTIMR, val)
- /**
- * @brief Channel 1 transfer error interrupt enable
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch1TransErr_Int_En(__DMA__) SET_BIT((__DMA__)->TEIMR, DMA_TEIMR_TEIWE_CH1_Msk | DMA_TEIMR_TEIE_CH1_Msk)
- /**
- * @brief Channel 1 transfer error interrupt disable
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch1TransErr_Int_Dis(__DMA__) \
- MODIFY_REG((__DMA__)->TEIMR, DMA_TEIMR_TEIWE_CH1_Msk | DMA_TEIMR_TEIE_CH1_Msk, DMA_TEIMR_TEIWE_CH1_Msk | (0x0 << DMA_TEIMR_TEIE_CH1_Pos))
- /**
- * @brief Channel 0 transfer error interrupt enable
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch0TransErr_Int_En(__DMA__) SET_BIT((__DMA__)->TEIMR, DMA_TEIMR_TEIWE_CH0_Msk | DMA_TEIMR_TEIE_CH0_Msk)
- /**
- * @brief Channel 0 transfer error interrupt disable
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch0TransErr_Int_Dis(__DMA__) \
- MODIFY_REG((__DMA__)->TEIMR, DMA_TEIMR_TEIWE_CH0_Msk | DMA_TEIMR_TEIE_CH0_Msk, DMA_TEIMR_TEIWE_CH0_Msk | (0x0 << DMA_TEIMR_TEIE_CH0_Pos))
- /**
- * @brief Reg TEIMR Write
- * @param __DMA__ Specifies DMA peripheral
- * @param val write value
- * @return None
- */
- #define __LL_DMA_RegTEIMR_Write(__DMA__, val) WRITE_REG((__DMA__)->TEIMR, val)
- /**
- * @brief Channel 1 transfer complete status clear
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch1TransComSta_Clr(__DMA__) WRITE_REG((__DMA__)->TCR, DMA_TCR_TC_CH1_Msk)
- /**
- * @brief Channel 0 transfer complete status clear
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch0TransComSta_Clr(__DMA__) WRITE_REG((__DMA__)->TCR, DMA_TCR_TC_CH0_Msk)
- /**
- * @brief Reg TCR Write
- * @param __DMA__ Specifies DMA peripheral
- * @param val write value
- * @return None
- */
- #define __LL_DMA_RegTCR_Write(__DMA__, val) WRITE_REG((__DMA__)->TCR, val)
- /**
- * @brief Channel 1 block transfer complete status clear
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch1BlockTransComSta_Clr(__DMA__) WRITE_REG((__DMA__)->BTCR, DMA_BTCR_BTC_CH1_Msk)
- /**
- * @brief Channel 0 block transfer complete status clear
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch0BlockTransComSta_Clr(__DMA__) WRITE_REG((__DMA__)->BTCR, DMA_BTCR_BTC_CH0_Msk)
- /**
- * @brief Reg BTCR Write
- * @param __DMA__ Specifies DMA peripheral
- * @param val write value
- * @return None
- */
- #define __LL_DMA_RegBTCR_Write(__DMA__, val) WRITE_REG((__DMA__)->BTCR, val)
- /**
- * @brief Channel 1 source transfer complete status clear
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch1SrcTransComSta_Clr(__DMA__) WRITE_REG((__DMA__)->STCR, DMA_STCR_STC_CH1_Msk)
- /**
- * @brief Channel 0 source transfer complete status clear
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch0SrcTransComSta_Clr(__DMA__) WRITE_REG((__DMA__)->STCR, DMA_STCR_STC_CH0_Msk)
- /**
- * @brief Reg STCR Write
- * @param __DMA__ Specifies DMA peripheral
- * @param val write value
- * @return None
- */
- #define __LL_DMA_RegSTCR_Write(__DMA__, val) WRITE_REG((__DMA__)->STCR, val)
- /**
- * @brief Channel 1 destination transfer complete status clear
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch1DstTransComSta_Clr(__DMA__) WRITE_REG((__DMA__)->DTCR, DMA_DTCR_DTC_CH1_Msk)
- /**
- * @brief Channel 0 destination transfer complete status clear
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch0DstTransComSta_Clr(__DMA__) WRITE_REG((__DMA__)->DTCR, DMA_DTCR_DTC_CH0_Msk)
- /**
- * @brief Reg DTCR Write
- * @param __DMA__ Specifies DMA peripheral
- * @param val write value
- * @return None
- */
- #define __LL_DMA_RegDTCR_Write(__DMA__, val) WRITE_REG((__DMA__)->DTCR, val)
- /**
- * @brief Channel 1 transfer error status clear
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch1TransErrSta_Clr(__DMA__) WRITE_REG((__DMA__)->TECR, DMA_TECR_TEC_CH1_Msk)
- /**
- * @brief Channel 0 transfer error status clear
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch0TransErrSta_Clr(__DMA__) WRITE_REG((__DMA__)->TECR, DMA_TECR_TEC_CH0_Msk)
- /**
- * @brief Reg TECR Write
- * @param __DMA__ Specifies DMA peripheral
- * @param val write value
- * @return None
- */
- #define __LL_DMA_RegTECR_Write(__DMA__, val) WRITE_REG((__DMA__)->TECR, val)
- /**
- * @brief Peripheral enable
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Periph_En(__DMA__) SET_BIT((__DMA__)->CR0, DMA_CR0_PEN_Msk)
- /**
- * @brief Peripheral disable
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Periph_Dis(__DMA__) CLEAR_BIT((__DMA__)->CR0, DMA_CR0_PEN_Msk)
- /**
- * @brief Reg CR0 Write
- * @param __DMA__ Specifies DMA peripheral
- * @param val write value
- * @return None
- */
- #define __LL_DMA_RegCR0_Write(__DMA__, val) WRITE_REG((__DMA__)->CR0, val)
- /**
- * @brief Channel 1 enable
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch1_En(__DMA__) SET_BIT((__DMA__)->CR1, DMA_CR1_CHWE_CH1_Msk | DMA_CR1_CHEN_CH1_Msk)
- /**
- * @brief Channel 1 disable
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch1_Dis(__DMA__) \
- MODIFY_REG((__DMA__)->CR1, DMA_CR1_CHWE_CH1_Msk | DMA_CR1_CHEN_CH1_Msk, DMA_CR1_CHWE_CH1_Msk | (0x0 << DMA_CR1_CHEN_CH1_Pos))
- /**
- * @brief Channel 0 enable
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch0_En(__DMA__) SET_BIT((__DMA__)->CR1, DMA_CR1_CHWE_CH0_Msk | DMA_CR1_CHEN_CH0_Msk)
- /**
- * @brief Channel 0 disable
- * @param __DMA__ Specifies DMA peripheral
- * @return None
- */
- #define __LL_DMA_Ch0_Dis(__DMA__) \
- MODIFY_REG((__DMA__)->CR1, DMA_CR1_CHWE_CH0_Msk | DMA_CR1_CHEN_CH0_Msk, DMA_CR1_CHWE_CH0_Msk | (0x0 << DMA_CR1_CHEN_CH0_Pos))
- /**
- * @brief Reg CR1 Write
- * @param __DMA__ Specifies DMA peripheral
- * @param val write value
- * @return None
- */
- #define __LL_DMA_RegCR1_Write(__DMA__, val) WRITE_REG((__DMA__)->CR1, val)
- /**
- * @}
- */
- /* Exported functions --------------------------------------------------------*/
- /** @addtogroup DMA_LL_Exported_Functions
- * @{
- */
- /** @addtogroup DMA_LL_Exported_Functions_Group1
- * @{
- */
- LL_StatusETypeDef LL_DMA_Init(DMA_TypeDef *Instance, DMA_ChannelETypeDef ch, DMA_UserCfgTypeDef *user_cfg);
- LL_StatusETypeDef LL_DMA_DeInit(DMA_TypeDef *Instance, DMA_ChannelETypeDef ch);
- /**
- * @}
- */
- /** @addtogroup DMA_LL_Exported_Functions_Group2
- * @{
- */
- DMA_ChannelETypeDef LL_DMA_ChannelRequest(void);
- DMA_ChannelETypeDef LL_DMA_ChReqSpecific(DMA_ChannelETypeDef ch);
- void LL_DMA_ChannelRelease(DMA_ChannelETypeDef ch);
- /**
- * @}
- */
- /** @addtogroup DMA_LL_Exported_Functions_Group3
- * @{
- */
- LL_StatusETypeDef LL_DMA_Start_CPU(DMA_TypeDef *Instance, DMA_ChannelETypeDef ch,
- uint32_t src_addr, uint32_t dst_addr, uint32_t data_len);
- LL_StatusETypeDef LL_DMA_Start_IT(DMA_TypeDef *Instance, DMA_ChannelETypeDef ch,
- uint32_t src_addr, uint32_t dst_addr, uint32_t data_len);
- LL_StatusETypeDef LL_DMA_Stop_CPU(DMA_TypeDef *Instance, DMA_ChannelETypeDef ch);
- LL_StatusETypeDef LL_DMA_Stop_IT(DMA_TypeDef *Instance, DMA_ChannelETypeDef ch);
- LL_StatusETypeDef LL_DMA_WaitComplete_CPU(DMA_TypeDef *Instance, DMA_ChannelETypeDef ch, uint32_t timeout);
- /**
- * @}
- */
- /** @addtogroup DMA_LL_Exported_Functions_Interrupt
- * @{
- */
- void LL_DMA_IRQHandler(DMA_TypeDef *Instance);
- /**
- * @}
- */
- /**
- * @}
- */
- /* Private constants ---------------------------------------------------------*/
- /* Private variables ---------------------------------------------------------*/
- /* Private types -------------------------------------------------------------*/
- /* Private macros ------------------------------------------------------------*/
- /* Private functions ---------------------------------------------------------*/
- /**
- * @}
- */
- /**
- * @}
- */
- #ifdef __cplusplus
- }
- #endif /* __cplusplus */
- #endif /* _TAE32F53XX_LL_DMA_H_ */
- /************************* (C) COPYRIGHT Tai-Action *****END OF FILE***********/
|