AM62x MCU+ SDK  10.01.00
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages

Introduction

UDMA utility API to make TR, get TR descriptor memory requirement.

Go to the source code of this file.

Macros

#define UDMA_GET_TRPD_TR15_SIZE(n)   (UDMA_ALIGN_SIZE(sizeof(CSL_UdmapTR15) + ((n) * (sizeof(CSL_UdmapTR15) + 4U))))
 UDMA TR15 packet descriptor memory size in bytes. This contains the CSL_UdmapCppi5TRPD + Padding to sizeof(CSL_UdmapTR15) + N* Type_15 TR (CSL_UdmapTR15) + N* TR response of 4 bytes. Since CSL_UdmapCppi5TRPD header is less than CSL_UdmapTR15, CSL_UdmapTR15 itself is used for size alignment. More...
 
#define UDMA_GET_TRPD_TR3_SIZE(n)   (UDMA_ALIGN_SIZE(sizeof(CSL_UdmapTR3) + ((n) * (sizeof(CSL_UdmapTR3) + 4U))))
 UDMA TR3 packet descriptor memory size in bytes. This contains the CSL_UdmapCppi5TRPD + Padding to sizeof(CSL_UdmapTR3) + N* Type_3 TR (CSL_UdmapTR3) + N* TR response of 4 bytes. Since CSL_UdmapCppi5TRPD header is less than CSL_UdmapTR3, CSL_UdmapTR3 itself is used for size alignment. More...
 
#define UDMA_TR1_OFFSET   (32U)
 Offset for TR1 type TR from TRPD start address. More...
 
#define UDMA_TR3_OFFSET   (32U)
 Offset for TR3 type TR from TRPD start address. More...
 
UDMA TR type

Various UDMA TR type supported

#define UDMA_TR_TYPE_0   (CSL_UDMAP_TR_FLAGS_TYPE_1D_DATA_MOVE)
 
#define UDMA_TR_TYPE_1   (CSL_UDMAP_TR_FLAGS_TYPE_2D_DATA_MOVE)
 
#define UDMA_TR_TYPE_2   (CSL_UDMAP_TR_FLAGS_TYPE_3D_DATA_MOVE)
 
#define UDMA_TR_TYPE_3   (CSL_UDMAP_TR_FLAGS_TYPE_4D_DATA_MOVE)
 
#define UDMA_TR_TYPE_4   (CSL_UDMAP_TR_FLAGS_TYPE_4D_DATA_MOVE_FORMATTING)
 
#define UDMA_TR_TYPE_5   (CSL_UDMAP_TR_FLAGS_TYPE_4D_CACHE_WARM)
 
#define UDMA_TR_TYPE_8   (CSL_UDMAP_TR_FLAGS_TYPE_4D_BLOCK_MOVE)
 
#define UDMA_TR_TYPE_9   (CSL_UDMAP_TR_FLAGS_TYPE_4D_BLOCK_MOVE_REPACKING)
 
#define UDMA_TR_TYPE_10   (CSL_UDMAP_TR_FLAGS_TYPE_2D_BLOCK_MOVE)
 
#define UDMA_TR_TYPE_11   (CSL_UDMAP_TR_FLAGS_TYPE_2D_BLOCK_MOVE_REPACKING)
 
#define UDMA_TR_TYPE_15   (CSL_UDMAP_TR_FLAGS_TYPE_4D_BLOCK_MOVE_REPACKING_INDIRECTION)
 

Functions

uint32_t UdmaUtils_getRingMemSize (uint8_t mode, uint32_t elemCnt, uint8_t elemSize)
 UDMA get ring size utility API. More...
 
void UdmaUtils_makeTrpdTr15 (uint8_t *trpdMem, uint32_t trCnt, uint32_t cqRingNum)
 UDMA utility API to make TRPD with TR15 TR type. Other TRPD make APIs should be called only after this API. More...
 
void UdmaUtils_makeTrpd (uint8_t *trpdMem, uint32_t trType, uint32_t trCnt, uint32_t cqRingNum)
 UDMA utility API to make TRPD. Other TRPD make APIs should be called only after this API. More...
 
uint32_t UdmaUtils_getTrSizeEncoded (uint32_t trType)
 Returns the size of TR (encoded) based on the type. More...
 
uint32_t UdmaUtils_getTrSizeBytes (uint32_t trType)
 Returns the size of TR in bytes based on the type. More...
 
int32_t UdmaUtils_mapLocaltoGlobalEvent (Udma_DrvHandle drvHandle, Udma_ChHandle chHandle, uint32_t localeventID, uint32_t eventMode)
 Map L2G event for BCDMA trigger. More...
 
int32_t UdmaUtils_setTrpdReload (uint8_t *trpdMem, uint32_t reloadEnable, uint32_t reloadIdx)
 Sets the reload count and index for the TRPD. More...
 
static uint32_t UdmaUtils_getTrpdTr15Response (const uint8_t *trpdMem, uint32_t trCnt, uint32_t trIndex)
 Returns the TR response in the TRPD memory based on the index. More...
 
static CSL_UdmapTR15 * UdmaUtils_getTrpdTr15Pointer (uint8_t *trpdMem, uint32_t trIndex)
 Returns the TR15 pointer in the TRPD memory based on the index. More...
 
static CSL_UdmapTR1 * UdmaUtils_getTrpdTr1Pointer (uint8_t *trpdMem, uint32_t trIndex)
 Returns the TR1 pointer in the TRPD memory based on the index. More...
 
static CSL_UdmapTR3 * UdmaUtils_getTrpdTr3Pointer (uint8_t *trpdMem, uint32_t trIndex)