123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868 |
- #ifndef STM32H7xx_HAL_MDMA_H
- #define STM32H7xx_HAL_MDMA_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- #include "stm32h7xx_hal_def.h"
- typedef struct
- {
- uint32_t Request;
- uint32_t TransferTriggerMode;
- uint32_t Priority;
- uint32_t Endianness;
- uint32_t SourceInc;
- uint32_t DestinationInc;
- uint32_t SourceDataSize;
- uint32_t DestDataSize;
- uint32_t DataAlignment;
- uint32_t BufferTransferLength;
- uint32_t SourceBurst;
- uint32_t DestBurst;
- int32_t SourceBlockAddressOffset;
- int32_t DestBlockAddressOffset;
- }MDMA_InitTypeDef;
- typedef struct
- {
- __IO uint32_t CTCR;
- __IO uint32_t CBNDTR;
- __IO uint32_t CSAR;
- __IO uint32_t CDAR;
- __IO uint32_t CBRUR;
- __IO uint32_t CLAR;
- __IO uint32_t CTBR;
- __IO uint32_t Reserved;
- __IO uint32_t CMAR;
- __IO uint32_t CMDR;
- }MDMA_LinkNodeTypeDef;
- typedef struct
- {
- MDMA_InitTypeDef Init;
- uint32_t SrcAddress;
- uint32_t DstAddress;
- uint32_t BlockDataLength;
- uint32_t BlockCount;
- uint32_t PostRequestMaskAddress;
- uint32_t PostRequestMaskData;
- }MDMA_LinkNodeConfTypeDef;
- typedef enum
- {
- HAL_MDMA_STATE_RESET = 0x00U,
- HAL_MDMA_STATE_READY = 0x01U,
- HAL_MDMA_STATE_BUSY = 0x02U,
- HAL_MDMA_STATE_ERROR = 0x03U,
- HAL_MDMA_STATE_ABORT = 0x04U,
- }HAL_MDMA_StateTypeDef;
- typedef enum
- {
- HAL_MDMA_FULL_TRANSFER = 0x00U,
- HAL_MDMA_BUFFER_TRANSFER = 0x01U,
- HAL_MDMA_BLOCK_TRANSFER = 0x02U,
- HAL_MDMA_REPEAT_BLOCK_TRANSFER = 0x03U
- }HAL_MDMA_LevelCompleteTypeDef;
- typedef enum
- {
- HAL_MDMA_XFER_CPLT_CB_ID = 0x00U,
- HAL_MDMA_XFER_BUFFERCPLT_CB_ID = 0x01U,
- HAL_MDMA_XFER_BLOCKCPLT_CB_ID = 0x02U,
- HAL_MDMA_XFER_REPBLOCKCPLT_CB_ID = 0x03U,
- HAL_MDMA_XFER_ERROR_CB_ID = 0x04U,
- HAL_MDMA_XFER_ABORT_CB_ID = 0x05U,
- HAL_MDMA_XFER_ALL_CB_ID = 0x06U
- }HAL_MDMA_CallbackIDTypeDef;
- typedef struct __MDMA_HandleTypeDef
- {
- MDMA_Channel_TypeDef *Instance;
- MDMA_InitTypeDef Init;
- HAL_LockTypeDef Lock;
- __IO HAL_MDMA_StateTypeDef State;
- void *Parent;
- void (* XferCpltCallback)( struct __MDMA_HandleTypeDef * hmdma);
- void (* XferBufferCpltCallback)( struct __MDMA_HandleTypeDef * hmdma);
- void (* XferBlockCpltCallback)( struct __MDMA_HandleTypeDef * hmdma);
- void (* XferRepeatBlockCpltCallback)( struct __MDMA_HandleTypeDef * hmdma);
- void (* XferErrorCallback)( struct __MDMA_HandleTypeDef * hmdma);
- void (* XferAbortCallback)( struct __MDMA_HandleTypeDef * hmdma);
- MDMA_LinkNodeTypeDef *FirstLinkedListNodeAddress;
- MDMA_LinkNodeTypeDef *LastLinkedListNodeAddress;
- uint32_t LinkedListNodeCounter;
- __IO uint32_t ErrorCode;
- } MDMA_HandleTypeDef;
- #define HAL_MDMA_ERROR_NONE ((uint32_t)0x00000000U)
- #define HAL_MDMA_ERROR_READ_XFER ((uint32_t)0x00000001U)
- #define HAL_MDMA_ERROR_WRITE_XFER ((uint32_t)0x00000002U)
- #define HAL_MDMA_ERROR_MASK_DATA ((uint32_t)0x00000004U)
- #define HAL_MDMA_ERROR_LINKED_LIST ((uint32_t)0x00000008U)
- #define HAL_MDMA_ERROR_ALIGNMENT ((uint32_t)0x00000010U)
- #define HAL_MDMA_ERROR_BLOCK_SIZE ((uint32_t)0x00000020U)
- #define HAL_MDMA_ERROR_TIMEOUT ((uint32_t)0x00000040U)
- #define HAL_MDMA_ERROR_NO_XFER ((uint32_t)0x00000080U)
- #define HAL_MDMA_ERROR_BUSY ((uint32_t)0x00000100U)
- #define MDMA_REQUEST_DMA1_Stream0_TC ((uint32_t)0x00000000U)
- #define MDMA_REQUEST_DMA1_Stream1_TC ((uint32_t)0x00000001U)
- #define MDMA_REQUEST_DMA1_Stream2_TC ((uint32_t)0x00000002U)
- #define MDMA_REQUEST_DMA1_Stream3_TC ((uint32_t)0x00000003U)
- #define MDMA_REQUEST_DMA1_Stream4_TC ((uint32_t)0x00000004U)
- #define MDMA_REQUEST_DMA1_Stream5_TC ((uint32_t)0x00000005U)
- #define MDMA_REQUEST_DMA1_Stream6_TC ((uint32_t)0x00000006U)
- #define MDMA_REQUEST_DMA1_Stream7_TC ((uint32_t)0x00000007U)
- #define MDMA_REQUEST_DMA2_Stream0_TC ((uint32_t)0x00000008U)
- #define MDMA_REQUEST_DMA2_Stream1_TC ((uint32_t)0x00000009U)
- #define MDMA_REQUEST_DMA2_Stream2_TC ((uint32_t)0x0000000AU)
- #define MDMA_REQUEST_DMA2_Stream3_TC ((uint32_t)0x0000000BU)
- #define MDMA_REQUEST_DMA2_Stream4_TC ((uint32_t)0x0000000CU)
- #define MDMA_REQUEST_DMA2_Stream5_TC ((uint32_t)0x0000000DU)
- #define MDMA_REQUEST_DMA2_Stream6_TC ((uint32_t)0x0000000EU)
- #define MDMA_REQUEST_DMA2_Stream7_TC ((uint32_t)0x0000000FU)
- #if defined (LTDC)
- #define MDMA_REQUEST_LTDC_LINE_IT ((uint32_t)0x00000010U)
- #endif
- #if defined (JPEG)
- #define MDMA_REQUEST_JPEG_INFIFO_TH ((uint32_t)0x00000011U)
- #define MDMA_REQUEST_JPEG_INFIFO_NF ((uint32_t)0x00000012U)
- #define MDMA_REQUEST_JPEG_OUTFIFO_TH ((uint32_t)0x00000013U)
- #define MDMA_REQUEST_JPEG_OUTFIFO_NE ((uint32_t)0x00000014U)
- #define MDMA_REQUEST_JPEG_END_CONVERSION ((uint32_t)0x00000015U)
- #endif
- #if defined (OCTOSPI1)
- #define MDMA_REQUEST_OCTOSPI1_FIFO_TH ((uint32_t)0x00000016U)
- #define MDMA_REQUEST_OCTOSPI1_TC ((uint32_t)0x00000017U)
- #endif
- #if defined (QUADSPI)
- #define MDMA_REQUEST_QUADSPI_FIFO_TH ((uint32_t)0x00000016U)
- #define MDMA_REQUEST_QUADSPI_TC ((uint32_t)0x00000017U)
- #endif
- #define MDMA_REQUEST_DMA2D_CLUT_TC ((uint32_t)0x00000018U)
- #define MDMA_REQUEST_DMA2D_TC ((uint32_t)0x00000019U)
- #define MDMA_REQUEST_DMA2D_TW ((uint32_t)0x0000001AU)
- #if defined (DSI)
- #define MDMA_REQUEST_DSI_TEARING_EFFECT ((uint32_t)0x0000001BU)
- #define MDMA_REQUEST_DSI_END_REFRESH ((uint32_t)0x0000001CU)
- #endif
- #define MDMA_REQUEST_SDMMC1_END_DATA ((uint32_t)0x0000001DU)
- #define MDMA_REQUEST_SDMMC1_DMA_ENDBUFFER ((uint32_t)0x0000001EU)
- #define MDMA_REQUEST_SDMMC1_COMMAND_END ((uint32_t)0x0000001FU)
- #if defined (OCTOSPI2)
- #define MDMA_REQUEST_OCTOSPI2_FIFO_TH ((uint32_t)0x00000020U)
- #define MDMA_REQUEST_OCTOSPI2_TC ((uint32_t)0x00000021U)
- #endif
- #define MDMA_REQUEST_SW ((uint32_t)0x40000000U)
- #define MDMA_BUFFER_TRANSFER ((uint32_t)0x00000000U)
- #define MDMA_BLOCK_TRANSFER ((uint32_t)MDMA_CTCR_TRGM_0)
- #define MDMA_REPEAT_BLOCK_TRANSFER ((uint32_t)MDMA_CTCR_TRGM_1)
- #define MDMA_FULL_TRANSFER ((uint32_t)MDMA_CTCR_TRGM)
- #define MDMA_PRIORITY_LOW ((uint32_t)0x00000000U)
- #define MDMA_PRIORITY_MEDIUM ((uint32_t)MDMA_CCR_PL_0)
- #define MDMA_PRIORITY_HIGH ((uint32_t)MDMA_CCR_PL_1)
- #define MDMA_PRIORITY_VERY_HIGH ((uint32_t)MDMA_CCR_PL)
- #define MDMA_LITTLE_ENDIANNESS_PRESERVE ((uint32_t)0x00000000U)
- #define MDMA_LITTLE_BYTE_ENDIANNESS_EXCHANGE ((uint32_t)MDMA_CCR_BEX)
- #define MDMA_LITTLE_HALFWORD_ENDIANNESS_EXCHANGE ((uint32_t)MDMA_CCR_HEX)
- #define MDMA_LITTLE_WORD_ENDIANNESS_EXCHANGE ((uint32_t)MDMA_CCR_WEX)
- #define MDMA_SRC_INC_DISABLE ((uint32_t)0x00000000U)
- #define MDMA_SRC_INC_BYTE ((uint32_t)MDMA_CTCR_SINC_1)
- #define MDMA_SRC_INC_HALFWORD ((uint32_t)MDMA_CTCR_SINC_1 | (uint32_t)MDMA_CTCR_SINCOS_0)
- #define MDMA_SRC_INC_WORD ((uint32_t)MDMA_CTCR_SINC_1 | (uint32_t)MDMA_CTCR_SINCOS_1)
- #define MDMA_SRC_INC_DOUBLEWORD ((uint32_t)MDMA_CTCR_SINC_1 | (uint32_t)MDMA_CTCR_SINCOS)
- #define MDMA_SRC_DEC_BYTE ((uint32_t)MDMA_CTCR_SINC)
- #define MDMA_SRC_DEC_HALFWORD ((uint32_t)MDMA_CTCR_SINC | (uint32_t)MDMA_CTCR_SINCOS_0)
- #define MDMA_SRC_DEC_WORD ((uint32_t)MDMA_CTCR_SINC | (uint32_t)MDMA_CTCR_SINCOS_1)
- #define MDMA_SRC_DEC_DOUBLEWORD ((uint32_t)MDMA_CTCR_SINC | (uint32_t)MDMA_CTCR_SINCOS)
- #define MDMA_DEST_INC_DISABLE ((uint32_t)0x00000000U)
- #define MDMA_DEST_INC_BYTE ((uint32_t)MDMA_CTCR_DINC_1)
- #define MDMA_DEST_INC_HALFWORD ((uint32_t)MDMA_CTCR_DINC_1 | (uint32_t)MDMA_CTCR_DINCOS_0)
- #define MDMA_DEST_INC_WORD ((uint32_t)MDMA_CTCR_DINC_1 | (uint32_t)MDMA_CTCR_DINCOS_1)
- #define MDMA_DEST_INC_DOUBLEWORD ((uint32_t)MDMA_CTCR_DINC_1 | (uint32_t)MDMA_CTCR_DINCOS)
- #define MDMA_DEST_DEC_BYTE ((uint32_t)MDMA_CTCR_DINC)
- #define MDMA_DEST_DEC_HALFWORD ((uint32_t)MDMA_CTCR_DINC | (uint32_t)MDMA_CTCR_DINCOS_0)
- #define MDMA_DEST_DEC_WORD ((uint32_t)MDMA_CTCR_DINC | (uint32_t)MDMA_CTCR_DINCOS_1)
- #define MDMA_DEST_DEC_DOUBLEWORD ((uint32_t)MDMA_CTCR_DINC | (uint32_t)MDMA_CTCR_DINCOS)
- #define MDMA_SRC_DATASIZE_BYTE ((uint32_t)0x00000000U)
- #define MDMA_SRC_DATASIZE_HALFWORD ((uint32_t)MDMA_CTCR_SSIZE_0)
- #define MDMA_SRC_DATASIZE_WORD ((uint32_t)MDMA_CTCR_SSIZE_1)
- #define MDMA_SRC_DATASIZE_DOUBLEWORD ((uint32_t)MDMA_CTCR_SSIZE)
- #define MDMA_DEST_DATASIZE_BYTE ((uint32_t)0x00000000U)
- #define MDMA_DEST_DATASIZE_HALFWORD ((uint32_t)MDMA_CTCR_DSIZE_0)
- #define MDMA_DEST_DATASIZE_WORD ((uint32_t)MDMA_CTCR_DSIZE_1)
- #define MDMA_DEST_DATASIZE_DOUBLEWORD ((uint32_t)MDMA_CTCR_DSIZE)
- #define MDMA_DATAALIGN_PACKENABLE ((uint32_t)MDMA_CTCR_PKE)
- #define MDMA_DATAALIGN_RIGHT ((uint32_t)0x00000000U)
- #define MDMA_DATAALIGN_RIGHT_SIGNED ((uint32_t)MDMA_CTCR_PAM_0)
- #define MDMA_DATAALIGN_LEFT ((uint32_t)MDMA_CTCR_PAM_1)
- #define MDMA_SOURCE_BURST_SINGLE ((uint32_t)0x00000000U)
- #define MDMA_SOURCE_BURST_2BEATS ((uint32_t)MDMA_CTCR_SBURST_0)
- #define MDMA_SOURCE_BURST_4BEATS ((uint32_t)MDMA_CTCR_SBURST_1)
- #define MDMA_SOURCE_BURST_8BEATS ((uint32_t)MDMA_CTCR_SBURST_0 | (uint32_t)MDMA_CTCR_SBURST_1)
- #define MDMA_SOURCE_BURST_16BEATS ((uint32_t)MDMA_CTCR_SBURST_2)
- #define MDMA_SOURCE_BURST_32BEATS ((uint32_t)MDMA_CTCR_SBURST_0 | (uint32_t)MDMA_CTCR_SBURST_2)
- #define MDMA_SOURCE_BURST_64BEATS ((uint32_t)MDMA_CTCR_SBURST_1 | (uint32_t)MDMA_CTCR_SBURST_2)
- #define MDMA_SOURCE_BURST_128BEATS ((uint32_t)MDMA_CTCR_SBURST)
- #define MDMA_DEST_BURST_SINGLE ((uint32_t)0x00000000U)
- #define MDMA_DEST_BURST_2BEATS ((uint32_t)MDMA_CTCR_DBURST_0)
- #define MDMA_DEST_BURST_4BEATS ((uint32_t)MDMA_CTCR_DBURST_1)
- #define MDMA_DEST_BURST_8BEATS ((uint32_t)MDMA_CTCR_DBURST_0 | (uint32_t)MDMA_CTCR_DBURST_1)
- #define MDMA_DEST_BURST_16BEATS ((uint32_t)MDMA_CTCR_DBURST_2)
- #define MDMA_DEST_BURST_32BEATS ((uint32_t)MDMA_CTCR_DBURST_0 | (uint32_t)MDMA_CTCR_DBURST_2)
- #define MDMA_DEST_BURST_64BEATS ((uint32_t)MDMA_CTCR_DBURST_1 | (uint32_t)MDMA_CTCR_DBURST_2)
- #define MDMA_DEST_BURST_128BEATS ((uint32_t)MDMA_CTCR_DBURST)
- #define MDMA_IT_TE ((uint32_t)MDMA_CCR_TEIE)
- #define MDMA_IT_CTC ((uint32_t)MDMA_CCR_CTCIE)
- #define MDMA_IT_BRT ((uint32_t)MDMA_CCR_BRTIE)
- #define MDMA_IT_BT ((uint32_t)MDMA_CCR_BTIE)
- #define MDMA_IT_BFTC ((uint32_t)MDMA_CCR_TCIE)
- #define MDMA_FLAG_TE ((uint32_t)MDMA_CISR_TEIF)
- #define MDMA_FLAG_CTC ((uint32_t)MDMA_CISR_CTCIF)
- #define MDMA_FLAG_BRT ((uint32_t)MDMA_CISR_BRTIF)
- #define MDMA_FLAG_BT ((uint32_t)MDMA_CISR_BTIF)
- #define MDMA_FLAG_BFTC ((uint32_t)MDMA_CISR_TCIF)
- #define MDMA_FLAG_CRQA ((uint32_t)MDMA_CISR_CRQA)
- #define __HAL_MDMA_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CCR |= MDMA_CCR_EN)
- #define __HAL_MDMA_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CCR &= ~MDMA_CCR_EN)
- #define __HAL_MDMA_GET_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->CISR & (__FLAG__))
- #define __HAL_MDMA_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->CIFCR = (__FLAG__))
- #define __HAL_MDMA_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CCR |= (__INTERRUPT__))
- #define __HAL_MDMA_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CCR &= ~(__INTERRUPT__))
- #define __HAL_MDMA_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->CCR & (__INTERRUPT__)))
- #define __HAL_MDMA_SET_COUNTER(__HANDLE__, __COUNTER__) ((__HANDLE__)->Instance->CBNDTR |= ((__COUNTER__) & MDMA_CBNDTR_BNDT))
- #define __HAL_MDMA_GET_COUNTER(__HANDLE__) ((__HANDLE__)->Instance->CBNDTR & MDMA_CBNDTR_BNDT)
- HAL_StatusTypeDef HAL_MDMA_Init(MDMA_HandleTypeDef *hmdma);
- HAL_StatusTypeDef HAL_MDMA_DeInit (MDMA_HandleTypeDef *hmdma);
- HAL_StatusTypeDef HAL_MDMA_ConfigPostRequestMask(MDMA_HandleTypeDef *hmdma, uint32_t MaskAddress, uint32_t MaskData);
- HAL_StatusTypeDef HAL_MDMA_RegisterCallback(MDMA_HandleTypeDef *hmdma, HAL_MDMA_CallbackIDTypeDef CallbackID, void (* pCallback)(MDMA_HandleTypeDef *_hmdma));
- HAL_StatusTypeDef HAL_MDMA_UnRegisterCallback(MDMA_HandleTypeDef *hmdma, HAL_MDMA_CallbackIDTypeDef CallbackID);
- HAL_StatusTypeDef HAL_MDMA_LinkedList_CreateNode(MDMA_LinkNodeTypeDef *pNode, MDMA_LinkNodeConfTypeDef *pNodeConfig);
- HAL_StatusTypeDef HAL_MDMA_LinkedList_AddNode(MDMA_HandleTypeDef *hmdma, MDMA_LinkNodeTypeDef *pNewNode, MDMA_LinkNodeTypeDef *pPrevNode);
- HAL_StatusTypeDef HAL_MDMA_LinkedList_RemoveNode(MDMA_HandleTypeDef *hmdma, MDMA_LinkNodeTypeDef *pNode);
- HAL_StatusTypeDef HAL_MDMA_LinkedList_EnableCircularMode(MDMA_HandleTypeDef *hmdma);
- HAL_StatusTypeDef HAL_MDMA_LinkedList_DisableCircularMode(MDMA_HandleTypeDef *hmdma);
- HAL_StatusTypeDef HAL_MDMA_Start (MDMA_HandleTypeDef *hmdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t BlockDataLength, uint32_t BlockCount);
- HAL_StatusTypeDef HAL_MDMA_Start_IT(MDMA_HandleTypeDef *hmdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t BlockDataLength, uint32_t BlockCount);
- HAL_StatusTypeDef HAL_MDMA_Abort(MDMA_HandleTypeDef *hmdma);
- HAL_StatusTypeDef HAL_MDMA_Abort_IT(MDMA_HandleTypeDef *hmdma);
- HAL_StatusTypeDef HAL_MDMA_PollForTransfer(MDMA_HandleTypeDef *hmdma, HAL_MDMA_LevelCompleteTypeDef CompleteLevel, uint32_t Timeout);
- HAL_StatusTypeDef HAL_MDMA_GenerateSWRequest(MDMA_HandleTypeDef *hmdma);
- void HAL_MDMA_IRQHandler(MDMA_HandleTypeDef *hmdma);
- HAL_MDMA_StateTypeDef HAL_MDMA_GetState(MDMA_HandleTypeDef *hmdma);
- uint32_t HAL_MDMA_GetError(MDMA_HandleTypeDef *hmdma);
- #define IS_MDMA_LEVEL_COMPLETE(__LEVEL__) (((__LEVEL__) == HAL_MDMA_FULL_TRANSFER ) || \
- ((__LEVEL__) == HAL_MDMA_BUFFER_TRANSFER )|| \
- ((__LEVEL__) == HAL_MDMA_BLOCK_TRANSFER ) || \
- ((__LEVEL__) == HAL_MDMA_REPEAT_BLOCK_TRANSFER ))
- #define IS_MDMA_PRIORITY(__PRIORITY__) (((__PRIORITY__) == MDMA_PRIORITY_LOW ) || \
- ((__PRIORITY__) == MDMA_PRIORITY_MEDIUM) || \
- ((__PRIORITY__) == MDMA_PRIORITY_HIGH) || \
- ((__PRIORITY__) == MDMA_PRIORITY_VERY_HIGH))
- #define IS_MDMA_ENDIANNESS_MODE(__ENDIANNESS__) (((__ENDIANNESS__) == MDMA_LITTLE_ENDIANNESS_PRESERVE ) || \
- ((__ENDIANNESS__) == MDMA_LITTLE_BYTE_ENDIANNESS_EXCHANGE) || \
- ((__ENDIANNESS__) == MDMA_LITTLE_HALFWORD_ENDIANNESS_EXCHANGE) || \
- ((__ENDIANNESS__) == MDMA_LITTLE_WORD_ENDIANNESS_EXCHANGE))
- #if defined (OCTOSPI2)
- #define IS_MDMA_REQUEST(__REQUEST__) (((__REQUEST__) == MDMA_REQUEST_SW ) || ((__REQUEST__) <= MDMA_REQUEST_OCTOSPI2_TC))
- #else
- #define IS_MDMA_REQUEST(__REQUEST__) (((__REQUEST__) == MDMA_REQUEST_SW ) || ((__REQUEST__) <= MDMA_REQUEST_SDMMC1_COMMAND_END))
- #endif
- #define IS_MDMA_SOURCE_INC(__INC__) (((__INC__) == MDMA_SRC_INC_DISABLE ) || \
- ((__INC__) == MDMA_SRC_INC_BYTE ) || \
- ((__INC__) == MDMA_SRC_INC_HALFWORD ) || \
- ((__INC__) == MDMA_SRC_INC_WORD ) || \
- ((__INC__) == MDMA_SRC_INC_DOUBLEWORD) || \
- ((__INC__) == MDMA_SRC_DEC_BYTE) || \
- ((__INC__) == MDMA_SRC_DEC_HALFWORD) || \
- ((__INC__) == MDMA_SRC_DEC_WORD) || \
- ((__INC__) == MDMA_SRC_DEC_DOUBLEWORD))
- #define IS_MDMA_DESTINATION_INC(__INC__) (((__INC__) == MDMA_DEST_INC_DISABLE ) || \
- ((__INC__) == MDMA_DEST_INC_BYTE ) || \
- ((__INC__) == MDMA_DEST_INC_HALFWORD ) || \
- ((__INC__) == MDMA_DEST_INC_WORD ) || \
- ((__INC__) == MDMA_DEST_INC_DOUBLEWORD) || \
- ((__INC__) == MDMA_DEST_DEC_BYTE) || \
- ((__INC__) == MDMA_DEST_DEC_HALFWORD) || \
- ((__INC__) == MDMA_DEST_DEC_WORD) || \
- ((__INC__) == MDMA_DEST_DEC_DOUBLEWORD))
- #define IS_MDMA_SOURCE_DATASIZE(__SIZE__) (((__SIZE__) == MDMA_SRC_DATASIZE_BYTE ) || \
- ((__SIZE__) == MDMA_SRC_DATASIZE_HALFWORD ) || \
- ((__SIZE__) == MDMA_SRC_DATASIZE_WORD ) || \
- ((__SIZE__) == MDMA_SRC_DATASIZE_DOUBLEWORD))
- #define IS_MDMA_DESTINATION_DATASIZE(__SIZE__) (((__SIZE__) == MDMA_DEST_DATASIZE_BYTE ) || \
- ((__SIZE__) == MDMA_DEST_DATASIZE_HALFWORD ) || \
- ((__SIZE__) == MDMA_DEST_DATASIZE_WORD ) || \
- ((__SIZE__) == MDMA_DEST_DATASIZE_DOUBLEWORD))
- #define IS_MDMA_DATA_ALIGNMENT(__ALIGNMENT__) (((__ALIGNMENT__) == MDMA_DATAALIGN_PACKENABLE ) || \
- ((__ALIGNMENT__) == MDMA_DATAALIGN_RIGHT ) || \
- ((__ALIGNMENT__) == MDMA_DATAALIGN_RIGHT_SIGNED ) || \
- ((__ALIGNMENT__) == MDMA_DATAALIGN_LEFT))
- #define IS_MDMA_SOURCE_BURST(__BURST__) (((__BURST__) == MDMA_SOURCE_BURST_SINGLE ) || \
- ((__BURST__) == MDMA_SOURCE_BURST_2BEATS ) || \
- ((__BURST__) == MDMA_SOURCE_BURST_4BEATS ) || \
- ((__BURST__) == MDMA_SOURCE_BURST_8BEATS) || \
- ((__BURST__) == MDMA_SOURCE_BURST_16BEATS) || \
- ((__BURST__) == MDMA_SOURCE_BURST_32BEATS) || \
- ((__BURST__) == MDMA_SOURCE_BURST_64BEATS) || \
- ((__BURST__) == MDMA_SOURCE_BURST_128BEATS))
- #define IS_MDMA_DESTINATION_BURST(__BURST__) (((__BURST__) == MDMA_DEST_BURST_SINGLE ) || \
- ((__BURST__) == MDMA_DEST_BURST_2BEATS ) || \
- ((__BURST__) == MDMA_DEST_BURST_4BEATS ) || \
- ((__BURST__) == MDMA_DEST_BURST_8BEATS) || \
- ((__BURST__) == MDMA_DEST_BURST_16BEATS) || \
- ((__BURST__) == MDMA_DEST_BURST_32BEATS) || \
- ((__BURST__) == MDMA_DEST_BURST_64BEATS) || \
- ((__BURST__) == MDMA_DEST_BURST_128BEATS))
- #define IS_MDMA_TRANSFER_TRIGGER_MODE(__MODE__) (((__MODE__) == MDMA_BUFFER_TRANSFER ) || \
- ((__MODE__) == MDMA_BLOCK_TRANSFER ) || \
- ((__MODE__) == MDMA_REPEAT_BLOCK_TRANSFER ) || \
- ((__MODE__) == MDMA_FULL_TRANSFER))
- #define IS_MDMA_BUFFER_TRANSFER_LENGTH(__LENGTH__) (((__LENGTH__) >= 0x00000001U) && ((__LENGTH__) < 0x000000FFU))
- #define IS_MDMA_BLOCK_COUNT(__COUNT__) (((__COUNT__) > 0U ) && ((__COUNT__) <= 4096U))
- #define IS_MDMA_TRANSFER_LENGTH(SIZE) (((SIZE) > 0U) && ((SIZE) <= 65536U))
- #define IS_MDMA_BLOCK_ADDR_OFFSET(__BLOCK_ADD_OFFSET__) (((__BLOCK_ADD_OFFSET__) > (-65536)) && ((__BLOCK_ADD_OFFSET__) < 65536))
- #ifdef __cplusplus
- }
- #endif
- #endif
|