 |
AM62Px MCU+ SDK
11.01.00
|
|
Go to the documentation of this file.
69 #define UDMA_DMA_CH_INVALID ((uint32_t) 0xFFFF0000U)
74 #define UDMA_DMA_CH_ANY ((uint32_t) 0xFFFF0001U)
79 #define UDMA_DMA_CH_NA ((uint32_t) 0xFFFF0002U)
81 #define UDMA_UTC_ID_INVALID ((uint32_t) 0xFFFF0003U)
83 #define UDMA_MAPPED_GROUP_INVALID ((uint32_t) 0xFFFF0004U)
86 #define UDMA_SYSFW_EXTENDED_CH_TYPE_BCDMA_BLK_CPY ((uint8_t) 1U)
89 #define UDMA_SYSFW_EXTENDED_CH_TYPE_BCDMA_SPLIT_TR_TX ((uint8_t) 0U)
101 #define UDMA_CH_FLAG_TX ((uint32_t) 0x0001U)
103 #define UDMA_CH_FLAG_RX ((uint32_t) 0x0002U)
105 #define UDMA_CH_FLAG_BLK_COPY ((uint32_t) 0x0004U)
107 #define UDMA_CH_FLAG_PDMA ((uint32_t) 0x0008U)
109 #define UDMA_CH_FLAG_PSIL ((uint32_t) 0x0010U)
111 #define UDMA_CH_FLAG_UTC ((uint32_t) 0x0020U)
113 #define UDMA_CH_FLAG_HC ((uint32_t) 0x0040U)
115 #define UDMA_CH_FLAG_UHC ((uint32_t) 0x0080U)
117 #define UDMA_CH_FLAG_MAPPED ((uint32_t) 0x0100U)
119 #define UDMA_CH_FLAG_TR ((uint32_t) 0x0200U)
131 #define UDMA_CH_TYPE_TR_BLK_COPY (UDMA_CH_FLAG_BLK_COPY | \
135 #define UDMA_CH_TYPE_TR_BLK_COPY_HC (UDMA_CH_FLAG_BLK_COPY | \
140 #define UDMA_CH_TYPE_TR_BLK_COPY_UHC (UDMA_CH_FLAG_BLK_COPY | \
145 #define UDMA_CH_TYPE_TX (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PSIL)
147 #define UDMA_CH_TYPE_TX_HC (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_HC)
149 #define UDMA_CH_TYPE_TX_UHC (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_UHC)
152 #define UDMA_CH_TYPE_RX (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PSIL)
154 #define UDMA_CH_TYPE_RX_HC (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_HC)
156 #define UDMA_CH_TYPE_RX_UHC (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_UHC)
159 #define UDMA_CH_TYPE_PDMA_TX (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PDMA)
161 #define UDMA_CH_TYPE_PDMA_TX_HC (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PDMA | UDMA_CH_FLAG_HC)
163 #define UDMA_CH_TYPE_PDMA_TX_UHC (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PDMA | UDMA_CH_FLAG_UHC)
166 #define UDMA_CH_TYPE_PDMA_RX (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PDMA)
168 #define UDMA_CH_TYPE_PDMA_RX_HC (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PDMA | UDMA_CH_FLAG_HC)
170 #define UDMA_CH_TYPE_PDMA_RX_UHC (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PDMA | UDMA_CH_FLAG_UHC)
174 #define UDMA_CH_TYPE_TX_TR (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_TR)
176 #define UDMA_CH_TYPE_TX_HC_TR (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_HC | UDMA_CH_FLAG_TR)
178 #define UDMA_CH_TYPE_TX_UHC_TR (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_UHC | UDMA_CH_FLAG_TR)
181 #define UDMA_CH_TYPE_RX_TR (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_TR)
183 #define UDMA_CH_TYPE_RX_HC_TR (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_HC | UDMA_CH_FLAG_TR)
185 #define UDMA_CH_TYPE_RX_UHC_TR (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_UHC | UDMA_CH_FLAG_TR)
188 #define UDMA_CH_TYPE_PDMA_TX_TR (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PDMA | UDMA_CH_FLAG_TR)
190 #define UDMA_CH_TYPE_PDMA_TX_HC_TR (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PDMA | UDMA_CH_FLAG_HC | UDMA_CH_FLAG_TR)
192 #define UDMA_CH_TYPE_PDMA_TX_UHC_TR (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PDMA | UDMA_CH_FLAG_UHC | UDMA_CH_FLAG_TR)
195 #define UDMA_CH_TYPE_PDMA_RX_TR (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PDMA | UDMA_CH_FLAG_TR)
197 #define UDMA_CH_TYPE_PDMA_RX_HC_TR (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PDMA | UDMA_CH_FLAG_HC | UDMA_CH_FLAG_TR)
199 #define UDMA_CH_TYPE_PDMA_RX_UHC_TR (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PDMA | UDMA_CH_FLAG_UHC | UDMA_CH_FLAG_TR)
206 #define UDMA_CH_TYPE_TX_MAPPED (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_MAPPED)
212 #define UDMA_CH_TYPE_RX_MAPPED (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_MAPPED)
220 #define UDMA_CH_TYPE_UTC (UDMA_CH_FLAG_UTC)
229 #define UDMA_PDMA_ES_8BITS ((uint32_t) 0x00U)
230 #define UDMA_PDMA_ES_16BITS ((uint32_t) 0x01U)
231 #define UDMA_PDMA_ES_24BITS ((uint32_t) 0x02U)
232 #define UDMA_PDMA_ES_32BITS ((uint32_t) 0x03U)
233 #define UDMA_PDMA_ES_64BITS ((uint32_t) 0x04U)
235 #define UDMA_PDMA_ES_DONTCARE ((uint32_t) 0x00U)
238 #define UDMA_DRV_CH_OBJ_SIZE (178U)
510 #if (UDMA_NUM_UTC_INSTANCE > 0)
802 #if defined (BUILD_C7X)
814 void Udma_chDruSubmitTr(
Udma_ChHandle chHandle,
const CSL_UdmapTR *tr);
1158 uint64_t *eleInRing);
1257 #if (UDMA_NUM_UTC_INSTANCE > 0)
1276 uint32_t startThreadId;
1291 typedef struct Udma_ChObject_t
Udma_RingHandle Udma_chGetCqRingHandle(Udma_ChHandle chHandle)
Returns the default completion ring handle of the channel.
uint8_t dmaReqReset
Definition: udma_ch.h:618
uint8_t pauseOnError
Definition: udma_ch.h:391
uint32_t startedByteCnt
Definition: udma_ch.h:694
void * Udma_FlowHandle
UDMA flow handle.
Definition: udma_types.h:73
uint16_t flowIdFwRangeStart
Definition: udma_ch.h:410
UDMA TX channel parameters.
Definition: udma_ch.h:317
UDMA channel open parameters.
Definition: udma_ch.h:247
uint8_t ignoreLongPkts
Definition: udma_ch.h:431
UDMA ring parameters.
Definition: udma_ring.h:124
int32_t Udma_chOpen(Udma_DrvHandle drvHandle, Udma_ChHandle chHandle, uint32_t chType, const Udma_ChPrms *chPrms)
UDMA open channel.
uint8_t firstSlot
Definition: udma_ch.h:634
uint8_t acc32
Definition: udma_ch.h:590
int32_t Udma_chReset(Udma_ChHandle chHandle)
Hard reset the channel if teardown fails.
uint32_t configDefaultFlow
Definition: udma_ch.h:435
uint16_t fetchWordSize
Definition: udma_ch.h:329
int32_t Udma_chEnable(Udma_ChHandle chHandle)
UDMA channel enable API.
void * Udma_ChHandle
UDMA channel handle.
Definition: udma_types.h:67
uint8_t flowErrorHandling
Definition: udma_ch.h:421
UDMA RX channel parameters.
Definition: udma_ch.h:390
Udma_RingHandle Udma_chGetTdCqRingHandle(Udma_ChHandle chHandle)
Returns the teardown completion ring handle of the channel.
uint8_t txCredit
Definition: udma_ch.h:341
uint8_t busOrderId
Definition: udma_ch.h:335
int32_t Udma_chDisable(Udma_ChHandle chHandle, uint32_t timeout)
UDMA channel teardown and disable API.
uint32_t elemCnt
Definition: udma_ch.h:546
uint8_t groupMode
Definition: udma_ch.h:611
uint8_t ignoreShortPkts
Definition: udma_ch.h:427
int32_t Udma_chRingDeQueueRaw(Udma_ChHandle chHandle, uint64_t noElem, uint64_t *eleInRing)
De Queue elements from the ring.
UDMA PDMA channel Static TR parameters.
Definition: udma_ch.h:536
void UdmaChPdmaPrms_init(Udma_ChPdmaPrms *pdmaPrms)
Udma_ChPdmaPrms structure init function.
uint8_t isAasrcCh
Definition: udma_ch.h:606
uint32_t mappedChGrp
Definition: udma_ch.h:284
int32_t Udma_chGetStats(Udma_ChHandle chHandle, Udma_ChStats *chStats)
Get real-time channel statistics.
uint32_t Udma_chGetNum(Udma_ChHandle chHandle)
Returns the channel number offset with in a channel type - TX, RX and External (UTC) channel types.
int32_t Udma_chPause(Udma_ChHandle chHandle)
UDMA channel pause API.
Udma_RingPrms fqRingPrms
Definition: udma_ch.h:297
Udma_FlowHandle Udma_chGetDefaultFlowHandle(Udma_ChHandle chHandle)
Returns the default flow handle of the RX channel.
uint8_t busPriority
Definition: udma_ch.h:400
uint8_t flowPsInfoPresent
Definition: udma_ch.h:418
uint8_t flowSopOffset
Definition: udma_ch.h:424
int32_t Udma_chConfigTx(Udma_ChHandle chHandle, const Udma_ChTxPrms *txPrms)
UDMA configure TX channel.
int32_t Udma_chSetSwTrigger(Udma_ChHandle chHandle, uint32_t trigger)
Sets the software trigger register based on the trigger mode provided.
Udma_RingPrms tdCqRingPrms
Definition: udma_ch.h:304
Udma_RingPrms cqRingPrms
Definition: udma_ch.h:299
void * Udma_RingHandle
UDMA ring handle.
Definition: udma_types.h:71
uint8_t flowEInfoPresent
Definition: udma_ch.h:415
uint16_t fetchWordSize
Definition: udma_ch.h:477
int32_t Udma_getPeerData(Udma_ChHandle chHandle, uint32_t *peerData)
Get real-time peer data which contains number of bytes written.
uint32_t elemSize
Definition: udma_ch.h:537
Opaque UDMA channel object.
Definition: udma_ch.h:1292
int32_t Udma_chResume(Udma_ChHandle chHandle)
UDMA channel resume API.
uint8_t supressTdCqPkt
Definition: udma_ch.h:502
uint16_t dmaReqMask
Definition: udma_ch.h:641
UDMA UTC channel parameters.
Definition: udma_ch.h:469
uint8_t burstSize
Definition: udma_ch.h:358
uint8_t filterPsWords
Definition: udma_ch.h:322
#define UDMA_DRV_CH_OBJ_SIZE
Definition: udma_ch.h:238
uint8_t busPriority
Definition: udma_ch.h:331
uint8_t busPriority
Definition: udma_ch.h:479
void * Udma_chGetSwTriggerRegister(Udma_ChHandle chHandle)
Returns the software trigger register address for the channel.
uint32_t chNum
Definition: udma_ch.h:248
int32_t Udma_chDecStats(Udma_ChHandle chHandle, Udma_ChStats *chStats)
Decrement real-time channel statistics.
uint32_t fifoCnt
Definition: udma_ch.h:565
void UdmaChUtcPrms_init(Udma_ChUtcPrms *utcPrms)
Udma_ChUtcPrms structure init function.
uint8_t addrType
Definition: udma_ch.h:324
uint16_t fetchWordSize
Definition: udma_ch.h:398
uint8_t burstSize
Definition: udma_ch.h:489
uint32_t Udma_chGetTriggerEvent(Udma_ChHandle chHandle, uint32_t trigger)
Returns the global trigger event for the channel.
int32_t Udma_chGetChanEnStatus(Udma_ChHandle chHandle, uint8_t *chEnableStat)
Get the channel enable status.
uint16_t Udma_chGetCqRingNum(Udma_ChHandle chHandle)
Returns the default completion ring number to be programmed in descriptor.
void UdmaChPrms_init(Udma_ChPrms *chPrms, uint32_t chType)
Udma_ChPrms structure init function.
uint8_t lastSlot
Definition: udma_ch.h:627
uint8_t chanType
Definition: udma_ch.h:475
int32_t Udma_chSetChaining(Udma_ChHandle triggerChHandle, Udma_ChHandle chainedChHandle, uint32_t trigger)
Chains the trigger channel with the chained channel.
uint32_t peerChNum
Definition: udma_ch.h:258
void UdmaChTxPrms_init(Udma_ChTxPrms *txPrms, uint32_t chType)
Udma_ChTxPrms structure init function.
void UdmaChRxPrms_init(Udma_ChRxPrms *rxPrms, uint32_t chType)
Udma_ChRxPrms structure init function.
uint8_t dmaPriority
Definition: udma_ch.h:485
uint32_t completedByteCnt
Definition: udma_ch.h:692
uint8_t dmaPriority
Definition: udma_ch.h:406
UDMA channel statistics.
Definition: udma_ch.h:689
int32_t Udma_chConfigUtc(Udma_ChHandle chHandle, const Udma_ChUtcPrms *utcPrms)
UDMA configure UTC channel.
uint16_t fifoDepth
Definition: udma_ch.h:343
int32_t Udma_chRingRingDbRaw(Udma_ChHandle chHandle, uint64_t noOfEntries)
Ring Forward door bell.
int32_t Udma_clearPeerData(Udma_ChHandle chHandle, uint32_t peerData)
Clear real-time peer data which contains number of bytes written.
void * Udma_DrvHandle
UDMA driver handle.
Definition: udma_types.h:65
uint8_t supressTdCqPkt
Definition: udma_ch.h:377
uint8_t busQos
Definition: udma_ch.h:481
uint8_t pauseOnError
Definition: udma_ch.h:470
uint8_t busOrderId
Definition: udma_ch.h:483
uint8_t pauseOnError
Definition: udma_ch.h:318
uint16_t flowIdFwRangeCnt
Definition: udma_ch.h:412
uint8_t eol
Definition: udma_ch.h:598
int32_t Udma_chClose(Udma_ChHandle chHandle)
UDMA close channel.
uint32_t packetCnt
Definition: udma_ch.h:690
Udma_RingHandle Udma_chGetFqRingHandle(Udma_ChHandle chHandle)
Returns the default free ring handle of the channel.
int32_t Udma_chConfigPdma(Udma_ChHandle chHandle, const Udma_ChPdmaPrms *pdmaPrms)
UDMA configure PDMA channel (peerChNum as part of Udma_ChPrms) paired with the UDMAP channel.
uint32_t orderTable1
Definition: udma_ch.h:669
uint8_t chanType
Definition: udma_ch.h:327
void * appData
Definition: udma_ch.h:292
uint32_t orderTable0
Definition: udma_ch.h:655
uint8_t burstSize
Definition: udma_ch.h:443
int32_t Udma_chRingRingRvrDbRaw(Udma_ChHandle chHandle, uint64_t noOfEntries)
Ring Forward door bell.
int32_t Udma_chRingQueueRaw(Udma_ChHandle chHandle, uint8_t *phyDescMem, uint64_t noEleCnt)
Queue TR into channels ring.
uint8_t dmaPriority
Definition: udma_ch.h:337
uint8_t busOrderId
Definition: udma_ch.h:404
uint8_t filterEinfo
Definition: udma_ch.h:320
uint32_t utcId
Definition: udma_ch.h:276
uint8_t addrType
Definition: udma_ch.h:393
uint8_t chanType
Definition: udma_ch.h:396
uint8_t addrType
Definition: udma_ch.h:472
uint8_t burst
Definition: udma_ch.h:582
uint8_t busQos
Definition: udma_ch.h:333
int32_t Udma_chBreakChaining(Udma_ChHandle triggerChHandle, Udma_ChHandle chainedChHandle)
Breaks the chaining by resetting the trigger channel's OES.
int32_t Udma_chConfigRx(Udma_ChHandle chHandle, const Udma_ChRxPrms *rxPrms)
UDMA configure RX channel.
uint8_t busQos
Definition: udma_ch.h:402
uint16_t Udma_chGetFqRingNum(Udma_ChHandle chHandle)
Returns the default free ring number to be programmed in descriptor.