PDK API Guide for AM64x
csl_bcdma.h File Reference

Introduction

This CSL-FL header file contains various enumerations, structure definitions and function declarations for the Block Copy DMA (BCDMA) IP.

This CSL-FL was designed to be orthogonal with the implementation of the udmap CSL-FL. Enumerations, structure definitions, and API functions are similarly named. The include file "csl_bcdma_alias_udmap_api.h" is available which maps bcdma CSL-FL content to their udmap equivalents for ease in porting existing udmap code to the bcdma.

Implementation notes: o The bcdma CSL-FL provides implementations of all udmap API functions. o block_copy and split_tx channels use tx flavors of API functions (i.e. CSL_bcdmaEnableTxChan) o split_rx channels use rx flavors of API functions (i.e. CSL_bcdmaEnableRxChan) o Channel numbers provided to API functions are as follows. :

  • block_copy: 0 .. (bcChanCnt-1) (i.e. 0..27)
  • split_tx: bcChanCnt .. (bcChanCnt+txChanCnt-1) (i.e. 28..47)
  • split_rx: (bcChanCnt+txChanCnt) .. (bcChanCnt+txChanCnt+rxChanCnt-1) (i.e. 48..67)

There is CSL-FL content that is applicable for udmap but not for bcdma. Those items are denoted with the tag [udmap_only] in the comments below and are handled as follows:

  • Enumerations: The enumeration is defined, but is not used functionally
  • Structure definitions: The structure is defined, but is not used functionally
  • Structure elements: The element is defined in the structure, but is not used functionally
  • API functions: The function is implemented, but does no operations

There is CSL-FL content that is applicable for bcdma but not for udmap. Those items are denoted with the tag [bcdma_only] in the comments below.

The following is the required calling sequence in order to insure proper operation of this CSL-FL:

  1. Allocate a BCDMA configuration structure (CSL_BcdmaCfg)
  2. (Optional) Call CSL_bcdmaInitCfg to initialize the BCDMA configuration structure to all zeros
  3. Initialize the register structure pointer elements of the BCDMA configuration structure
  4. Call CSL_bcdmaGetCfg to populate the BCDMA configuration structure with configuration and capability information for the BCDMA module
  5. Call the other BCDMA API functions as required

Go to the source code of this file.

BCDMA channel operations

This enumerator defines the possible channel operations


#define CSL_BCDMA_CHAN_OP_CONFIG   ((uint32_t) 0U)
 
#define CSL_BCDMA_CHAN_OP_ENABLE   ((uint32_t) 1U)
 
#define CSL_BCDMA_CHAN_OP_DISABLE   ((uint32_t) 2U)
 
#define CSL_BCDMA_CHAN_OP_PAUSE   ((uint32_t) 3U)
 
#define CSL_BCDMA_CHAN_OP_RESUME   ((uint32_t) 4U)
 
#define CSL_BCDMA_CHAN_OP_TEARDOWN   ((uint32_t) 5U)
 
#define CSL_BCDMA_CHAN_OP_TRIGGER   ((uint32_t) 6U)
 
#define CSL_BCDMA_CHAN_OP_GET_RT   ((uint32_t) 7U)
 
#define CSL_BCDMA_CHAN_OP_SET_RT   ((uint32_t) 8U)
 
#define CSL_BCDMA_CHAN_OP_GET_STATS   ((uint32_t) 9U)
 
#define CSL_BCDMA_CHAN_OP_DEC_STATS   ((uint32_t) 10U)
 
#define CSL_BCDMA_CHAN_OP_GET_REMOTE_PEER_REG   ((uint32_t) 11U)
 
#define CSL_BCDMA_CHAN_OP_SET_REMOTE_PEER_REG   ((uint32_t) 12U)
 
#define CSL_BCDMA_CHAN_OP_SET_BURST_SIZE   ((uint32_t) 13U)
 
#define CSL_BCDMA_CHAN_OP_CLEAR_ERROR   ((uint32_t) 14U)
 
typedef uint32_t CSL_BcdmaChanOp
 

BCDMA channel direction

This enumerator defines the possible channel directions


#define CSL_BCDMA_CHAN_DIR_TX   ((uint32_t) 0U)
 
#define CSL_BCDMA_CHAN_DIR_RX   ((uint32_t) 1U)
 
typedef uint32_t CSL_BcdmaChanDir
 

BCDMA channel burst size

This enumerator defines the nominal burst size and alignment for data transfers on a TX or RX channel


#define CSL_BCDMA_CHAN_BURST_SIZE_32_BYTES   ((uint32_t) 0U)
 
#define CSL_BCDMA_CHAN_BURST_SIZE_64_BYTES   ((uint32_t) 1U)
 
#define CSL_BCDMA_CHAN_BURST_SIZE_128_BYTES   ((uint32_t) 2U)
 
#define CSL_BCDMA_CHAN_BURST_SIZE_256_BYTES   ((uint32_t) 3U)
 
typedef uint32_t CSL_BcdmaChanBurstSize
 

BCDMA descriptor type

This enumerator selects the descriptor type. The bcdma only supports the TR descriptor type.


#define CSL_BCDMA_DESC_TYPE_HOST   ((uint32_t) 0U)
 
#define CSL_BCDMA_DESC_TYPE_HOST_SB   ((uint32_t) 1U)
 
#define CSL_BCDMA_DESC_TYPE_MONOLITHIC   ((uint32_t) 2U)
 
#define CSL_BCDMA_DESC_TYPE_RESERVED   ((uint32_t) 3U)
 
#define CSL_BCDMA_DESCRIPTOR_TYPE_TR   ((uint32_t) 3U)
 
typedef uint32_t CSL_BcdmaDescType
 
typedef uint32_t CSL_BcdmaDescriptorType
 

BCDMA protocol-specific data location

[udmap_only] This enumerator defines the ps location for the descriptor


#define CSL_BCDMA_PS_LOC_DESC   ((uint32_t) 0U)
 
#define CSL_BCDMA_PS_LOC_PACKET   ((uint32_t) 1U)
 
typedef uint32_t CSL_BcdmaPsLoc
 

BCDMA address type

This enumerator defines the possible address types


#define CSL_BCDMA_ADDR_TYPE_PHYS   ((uint32_t) 0U)
 
#define CSL_BCDMA_ADDR_TYPE_INTER   ((uint32_t) 1U)
 
#define CSL_BCDMA_ADDR_TYPE_VIRT   ((uint32_t) 2U)
 
typedef uint32_t CSL_BcdmaAddrType
 

BCDMA channel type

This enumerator defines the possible channel types


#define CSL_BCDMA_CHAN_TYPE_BLOCK_COPY   ((uint32_t) 0U)
 
#define CSL_BCDMA_CHAN_TYPE_SPLIT_TX   ((uint32_t) 1U)
 
#define CSL_BCDMA_CHAN_TYPE_SPLIT_RX   ((uint32_t) 2U)
 
#define CSL_BCDMA_CHAN_TYPE_REF_PKT_RING   ((uint32_t) 2U)
 
#define CSL_BCDMA_CHAN_TYPE_REF_PKTSB_QUEUE   ((uint32_t) 3U)
 
#define CSL_BCDMA_CHAN_TYPE_REF_TR_RING   ((uint32_t) 10U)
 
#define CSL_BCDMA_CHAN_TYPE_VAL_TR_RING   ((uint32_t) 11U)
 
#define CSL_BCDMA_CHAN_TYPE_COPY_REF_TR_RING   ((uint32_t) 12U)
 
#define CSL_BCDMA_CHAN_TYPE_COPY_VAL_TR_RING   ((uint32_t) 13U)
 
typedef uint32_t CSL_BcdmaChanType
 

BCDMA tag select

This enumerator defines how tag values are determined


#define CSL_BCDMA_TAG_SELECT_NO_OVERWRITE   ((uint32_t) 0U)
 
#define CSL_BCDMA_TAG_SELECT_OVERWRITE_WITH_VAL   ((uint32_t) 1U)
 
#define CSL_BCDMA_TAG_SELECT_OVERWRITE_WITH_FLOWID_7_0   ((uint32_t) 2U)
 
#define CSL_BCDMA_TAG_SELECT_OVERWRITE_WITH_FLOWID_15_8   ((uint32_t) 3U)
 
#define CSL_BCDMA_TAG_SELECT_OVERWRITE_WITH_TAG_7_0   ((uint32_t) 4U)
 
#define CSL_BCDMA_TAG_SELECT_OVERWRITE_WITH_TAG_15_8   ((uint32_t) 5U)
 
#define CSL_BCDMA_TAG_SELECT_INVALID   ((uint32_t) 6U)
 
typedef uint32_t CSL_BcdmaTagSelect
 

BCDMA channel schedling priority

This enumerator selects which scheduling bin the channel will be placed in for bandwidth allocation of the DMA units


#define CSL_BCDMA_CHAN_SCHED_PRI_HIGH   ((uint32_t) 0U)
 
#define CSL_BCDMA_CHAN_SCHED_PRI_MED_HIGH   ((uint32_t) 1U)
 
#define CSL_BCDMA_CHAN_SCHED_PRI_MED_LOW   ((uint32_t) 2U)
 
#define CSL_BCDMA_CHAN_SCHED_PRI_LOW   ((uint32_t) 3U)
 
typedef uint32_t CSL_BcdmaChanSchedPri
 

BCDMA TR flags type

This enumerator defines the the type of TR being sent


#define CSL_BCDMA_TR_FLAGS_TYPE_1D_DATA_MOVE   ((uint32_t) 0U)
 
#define CSL_BCDMA_TR_FLAGS_TYPE_2D_DATA_MOVE   ((uint32_t) 1U)
 
#define CSL_BCDMA_TR_FLAGS_TYPE_3D_DATA_MOVE   ((uint32_t) 2U)
 
#define CSL_BCDMA_TR_FLAGS_TYPE_4D_DATA_MOVE   ((uint32_t) 3U)
 
#define CSL_BCDMA_TR_FLAGS_TYPE_4D_DATA_MOVE_FORMATTING   ((uint32_t) 4U)
 
#define CSL_BCDMA_TR_FLAGS_TYPE_4D_CACHE_WARM   ((uint32_t) 5U)
 
#define CSL_BCDMA_TR_FLAGS_TYPE_4D_BLOCK_MOVE   ((uint32_t) 8U)
 
#define CSL_BCDMA_TR_FLAGS_TYPE_4D_BLOCK_MOVE_REPACKING   ((uint32_t) 9U)
 
#define CSL_BCDMA_TR_FLAGS_TYPE_2D_BLOCK_MOVE   ((uint32_t) 10U)
 
#define CSL_BCDMA_TR_FLAGS_TYPE_2D_BLOCK_MOVE_REPACKING   ((uint32_t) 11U)
 
#define CSL_BCDMA_TR_FLAGS_TYPE_4D_BLOCK_MOVE_REPACKING_INDIRECTION   ((uint32_t) 15U)
 
typedef uint32_t CSL_BcdmaTrFlagsType
 

BCDMA TR flags wait

This enumerator specifies whether or not this TR should ensure it completes before allowing the next TR to start on this channel. It is valid only for type 15 TR's.


#define CSL_BCDMA_TR_FLAGS_WAIT_NO   ((uint32_t) 0U)
 
#define CSL_BCDMA_TR_FLAGS_WAIT_YES   ((uint32_t) 1U)
 
typedef uint32_t CSL_BcdmaTrFlagsWait
 

BCDMA TR flags event size

This enumerator specifies when an event is generated for each TR


#define CSL_BCDMA_TR_FLAGS_EVENT_SIZE_COMPLETION   ((uint32_t) 0U)
 
#define CSL_BCDMA_TR_FLAGS_EVENT_SIZE_ICNT1_DEC   ((uint32_t) 1U)
 
#define CSL_BCDMA_TR_FLAGS_EVENT_SIZE_ICNT2_DEC   ((uint32_t) 2U)
 
#define CSL_BCDMA_TR_FLAGS_EVENT_SIZE_ICNT3_DEC   ((uint32_t) 3U)
 
typedef uint32_t CSL_BcdmaTrFlagsEventSize
 

BCDMA TR flags trigger

This enumerator specifies the type of trigger used to enable the TR to transfer data as specified by CSL_BcdmaTrFlagsTriggerType


#define CSL_BCDMA_TR_FLAGS_TRIGGER_NONE   ((uint32_t) 0U)
 
#define CSL_BCDMA_TR_FLAGS_TRIGGER_GLOBAL0   ((uint32_t) 1U)
 
#define CSL_BCDMA_TR_FLAGS_TRIGGER_GLOBAL1   ((uint32_t) 2U)
 
#define CSL_BCDMA_TR_FLAGS_TRIGGER_LOCAL_EVENT   ((uint32_t) 3U)
 
typedef uint32_t CSL_BcdmaTrFlagsTrigger
 

BCDMA TR flags trigger type

This enumerator specifies the type of data transfer that will be enabled by receiving a trigger as specified by CSL_BcdmaTrFlagsTrigger


#define CSL_BCDMA_TR_FLAGS_TRIGGER_TYPE_ICNT1_DEC   ((uint32_t) 0U)
 
#define CSL_BCDMA_TR_FLAGS_TRIGGER_TYPE_ICNT2_DEC   ((uint32_t) 1U)
 
#define CSL_BCDMA_TR_FLAGS_TRIGGER_TYPE_ICNT3_DEC   ((uint32_t) 2U)
 
#define CSL_BCDMA_TR_FLAGS_TRIGGER_TYPE_ALL   ((uint32_t) 3U)
 
typedef uint32_t CSL_BcdmaTrFlagsTriggerType
 

BCDMA TR format flags amode

[udmap_only] This enumerator specifies the addressing mode of TR that is being sent


#define CSL_BCDMA_TR_FMTFLAGS_AMODE_LINEAR   ((uint32_t) 0U)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_CIRCULAR   ((uint32_t) 1U)
 
typedef uint32_t CSL_BcdmaTrFmtflagsAmode
 

BCDMA TR format flags amode specific CBK values

[udmap_only] This enumerator specifies CBK0 and CBK1 values used to compute the circular block sizes for circular addressing


#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_512B   ((uint32_t) 0U)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_1KB   ((uint32_t) 1U)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_2KB   ((uint32_t) 2U)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_4KB   ((uint32_t) 3U)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_8KB   ((uint32_t) 4U)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_16KB   ((uint32_t) 5U)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_32KB   ((uint32_t) 6U)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_64KB   ((uint32_t) 7U)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_128KB   ((uint32_t) 8U)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_256KB   ((uint32_t) 9U)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_512KB   ((uint32_t) 10U)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_1GB   ((uint32_t) 11U)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_2GB   ((uint32_t) 12U)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_4GB   ((uint32_t) 13U)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_8GB   ((uint32_t) 14U)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_16GB   ((uint32_t) 15U)
 
typedef uint32_t CSL_BcdmaTrFmtflagsAmodeSpecificCbk
 

BCDMA TR format flags amode specific amode

[udmap_only] This enumerator specifies the addressing mode of TR that is being sent


#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_AMODE_LINEAR   ((uint32_t) 0U)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_AMODE_CBK0   ((uint32_t) 1U)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_AMODE_CBK1   ((uint32_t) 2U)
 
typedef uint32_t CSL_BcdmaTrFmtflagsAmodeSpecificAmode
 

BCDMA TR format flags direction

[udmap_only] This enumerator specifies the addressing mode of TR that is being sent


#define CSL_BCDMA_TR_FMTFLAGS_DIR_SRC_USES_AMODE   ((uint32_t) 0U)
 
#define CSL_BCDMA_TR_FMTFLAGS_DIR_DST_USES_AMODE   ((uint32_t) 1U)
 
typedef uint32_t CSL_BcdmaTrFmtflagsDir
 

BCDMA TR format flags element type

[udmap_only] This enumerator specifies the basic unit that is used for the innermost loop


#define CSL_BCDMA_TR_FMTFLAGS_ELYPE_1   ((uint32_t) 0U)
 
#define CSL_BCDMA_TR_FMTFLAGS_ELYPE_1p5   ((uint32_t) 1U)
 
#define CSL_BCDMA_TR_FMTFLAGS_ELYPE_2   ((uint32_t) 2U)
 
#define CSL_BCDMA_TR_FMTFLAGS_ELYPE_3   ((uint32_t) 3U)
 
#define CSL_BCDMA_TR_FMTFLAGS_ELYPE_4   ((uint32_t) 4U)
 
#define CSL_BCDMA_TR_FMTFLAGS_ELYPE_5   ((uint32_t) 5U)
 
#define CSL_BCDMA_TR_FMTFLAGS_ELYPE_16   ((uint32_t) 6U)
 
#define CSL_BCDMA_TR_FMTFLAGS_ELYPE_32   ((uint32_t) 7U)
 
#define CSL_BCDMA_TR_FMTFLAGS_ELYPE_1_2   ((uint32_t) 8U)
 
#define CSL_BCDMA_TR_FMTFLAGS_ELYPE_1p5_2   ((uint32_t) 9U)
 
#define CSL_BCDMA_TR_FMTFLAGS_ELYPE_2_1   ((uint32_t) 10U)
 
#define CSL_BCDMA_TR_FMTFLAGS_ELYPE_2_1p5   ((uint32_t) 11U)
 
typedef uint32_t CSL_BcdmaTrFmtflagsEltype
 

BCDMA TR format flags dfmt

[udmap_only] This enumerator specifies a manipulation of the data between how it is read and how it is sent


#define CSL_BCDMA_TR_FMTFLAGS_DFMT_NO_CHANGE   ((uint32_t) 0U)
 
#define CSL_BCDMA_TR_FMTFLAGS_DFMT_CONSTANT_COPY   ((uint32_t) 1U)
 
#define CSL_BCDMA_TR_FMTFLAGS_DFMT_TRANSPOSE   ((uint32_t) 2U)
 
#define CSL_BCDMA_TR_FMTFLAGS_DFMT_REVERSE   ((uint32_t) 3U)
 
#define CSL_BCDMA_TR_FMTFLAGS_DFMT_REVERSE_TRANSPOSE   ((uint32_t) 4U)
 
typedef uint32_t CSL_BcdmaTrFmtflagsDfmt
 

BCDMA TR format cache flags operation

[udmap_only] This enumerator specifies the cache operation for a cache warm TR type


#define CSL_BCDMA_TR_CACHEFLAGS_OP_PREWARM_CACHE   ((uint32_t) 0U)
 
#define CSL_BCDMA_TR_CACHEFLAGS_OP_PREWARM_MMU   ((uint32_t) 1U)
 
typedef uint32_t CSL_BcdmaTrCacheflagsOp
 

BCDMA TR format flags secondary TR

[udmap_only] This enumerator specifies if the TR requires an additional TR located in memory


#define CSL_BCDMA_TR_FMTFLAGS_SECTR_NONE   ((uint32_t) 0U)
 
#define CSL_BCDMA_TR_FMTFLAGS_SECTR_64   ((uint32_t) 1U)
 
#define CSL_BCDMA_TR_FMTFLAGS_SECTR_128   ((uint32_t) 2U)
 
typedef uint32_t CSL_BcdmaTrFmtflagsSectr
 

BCDMA TR response status

This enumerator is used to determine what type of status is being returned


#define CSL_BCDMA_TR_RESPONSE_STATUS_COMPLETE   ((uint32_t) 0U)
 
#define CSL_BCDMA_TR_RESPONSE_STATUS_TRANSFER_ERR   ((uint32_t) 1U)
 
#define CSL_BCDMA_TR_RESPONSE_STATUS_ABORTED_ERR   ((uint32_t) 2U)
 
#define CSL_BCDMA_TR_RESPONSE_STATUS_SUBMISSION_ERR   ((uint32_t) 3U)
 
#define CSL_BCDMA_TR_RESPONSE_STATUS_UNSUPPORTED_ERR   ((uint32_t) 4U)
 
typedef uint32_t CSL_BcdmaTrResponseStatus
 

BCDMA TR response status submission

This enumerator is returned for a TR that is received that can not be run


#define CSL_BCDMA_TR_RESPONSE_STATUS_SUBMISSION_ICNT0   ((uint32_t) 0U)
 
#define CSL_BCDMA_TR_RESPONSE_STATUS_SUBMISSION_FIFO_FULL   ((uint32_t) 1U)
 
#define CSL_BCDMA_TR_RESPONSE_STATUS_SUBMISSION_OWN   ((uint32_t) 2U)
 
typedef uint32_t CSL_BcdmaTrResponseStatusSubmission
 

BCDMA TR response status unsupported

This enumerator is returned for a TR that is received that can not be run because it specifies a feature that is optional and not supported by the UTC that received the TR


#define CSL_BCDMA_TR_RESPONSE_STATUS_UNSUPPORTED_TR_TYPE   ((uint32_t) 0U)
 
#define CSL_BCDMA_TR_RESPONSE_STATUS_UNSUPPORTED_STATIC   ((uint32_t) 1U)
 
#define CSL_BCDMA_TR_RESPONSE_STATUS_UNSUPPORTED_EOL   ((uint32_t) 2U)
 
#define CSL_BCDMA_TR_RESPONSE_STATUS_UNSUPPORTED_CFG_SPECIFIC   ((uint32_t) 3U)
 
#define CSL_BCDMA_TR_RESPONSE_STATUS_UNSUPPORTED_AMODE   ((uint32_t) 4U)
 
#define CSL_BCDMA_TR_RESPONSE_STATUS_UNSUPPORTED_ELTYPE   ((uint32_t) 5U)
 
#define CSL_BCDMA_TR_RESPONSE_STATUS_UNSUPPORTED_DFMT   ((uint32_t) 6U)
 
#define CSL_BCDMA_TR_RESPONSE_STATUS_UNSUPPORTED_SECTR   ((uint32_t) 7U)
 
#define CSL_BCDMA_TR_RESPONSE_STATUS_UNSUPPORTED_AMODE_SPECIFIC   ((uint32_t) 8U)
 
typedef uint32_t CSL_BcdmaTrResponseStatusUnsupported
 

BCDMA TR response status transfer exception

This enumerator is returned for a TR that completed but experienced a known exception during reception. The STATUS_INFO field specifies the type of transfer exception that was encountered.


#define CSL_BCDMA_TR_RESPONSE_STATUS_TRANSFER_EXCEPTION_SHORT_PKT   ((uint32_t) 0U)
 
#define CSL_BCDMA_TR_RESPONSE_STATUS_TRANSFER_EXCEPTION_LONG_PKT   ((uint32_t) 1U)
 
typedef uint32_t CSL_BcdmaTrResponseStatusTransferException
 

Data Structures

struct  CSL_BcdmaRxFdqThresh
 [udmap_only] Receive free descriptor queue threshold information More...
 
struct  CSL_BcdmaRouteTag
 [udmap_only] Routing tag information More...
 
struct  CSL_BcdmaRevision
 Module revision information. More...
 
struct  CSL_BcdmaRxFlowCfg
 [udmap_only] Receive flow configuration information More...
 
struct  CSL_BcdmaTxChanCfg
 Transmit channel configuration information. More...
 
struct  CSL_BcdmaRxChanCfg
 Receive channel configuration information. More...
 
struct  CSL_BcdmaRT
 Channel runtime configuration information. More...
 
struct  CSL_BcdmaCfg
 BCDMA configuration structure. More...
 
struct  CSL_BcdmaRxFlowIdFirewallStatus
 BCDMA receive flow id firewall status. More...
 
struct  CSL_BcdmaTeardownOpts
 Channel teardown options. More...
 
struct  CSL_BcdmaRemotePeerOpts
 Remote peer register read/write options. More...
 
struct  CSL_BcdmaChanStats
 Transmit / receive channel statistics. More...
 
struct  CSL_BcdmaTR
 CSL_BcdmaTR specifies a Transfer Request. More...
 
struct  CSL_BcdmaTR0
 CSL_BcdmaTR0 specifies a Type 0 (One dimensional data move) Transfer Request. More...
 
struct  CSL_BcdmaTR1
 CSL_BcdmaTR1 specifies a Type 1 (Two dimensional data move) Transfer Request. More...
 
struct  CSL_BcdmaTR2
 CSL_BcdmaTR2 specifies a Type 2 (Three dimensional data move) Transfer Request. More...
 
struct  CSL_BcdmaTR3
 CSL_BcdmaTR3 specifies a Type 3 (Four dimensional data move) Transfer Request. More...
 
struct  CSL_BcdmaTR15
 CSL_BcdmaTR15 specifies a Type 15 Transfer Request. More...
 
struct  CSL_BcdmaSecTR
 
struct  CSL_BcdmaTrResponse
 
struct  CSL_BcdmaTdResponse
 
struct  CSL_BcdmaTRPD
 TR Descriptor. More...
 

Macros

#define CSL_BCDMA_FETCH_WORD_SIZE_16   (16U)
 
#define CSL_BCDMA_NO_EVENT   (0xFFFFU)
 
#define CSL_BCDMA_RXFDQ_CNT   (4U)
 
#define CSL_BCDMA_RXFDQ_THRESH_CNT   (4U)
 
#define CSL_BCDMA_NO_EVENT   (0xFFFFU)
 
#define CSL_BCDMA_TRPD_DESCINFO_DTYPE_SHIFT   ((uint32_t) 30U)
 
#define CSL_BCDMA_TRPD_DESCINFO_DTYPE_MASK   (((uint32_t) 0x3U) << CSL_BCDMA_TRPD_DESCINFO_DTYPE_SHIFT)
 
#define CSL_BCDMA_TRPD_DESCINFO_DTYPE_VAL_TR   ((uint32_t) 3U)
 
#define CSL_BCDMA_TRPD_DESCINFO_RELOAD_SHIFT   ((uint32_t) 20U)
 
#define CSL_BCDMA_TRPD_DESCINFO_RELOAD_MASK   (((uint32_t) 0x1FFU) << CSL_BCDMA_TRPD_DESCINFO_RELOAD_SHIFT)
 
#define CSL_BCDMA_TRPD_DESCINFO_RLDIDX_SHIFT   ((uint32_t) 14U)
 
#define CSL_BCDMA_TRPD_DESCINFO_RLDIDX_MASK   (((uint32_t) 0x3FU) << CSL_BCDMA_TRPD_DESCINFO_RLDIDX_SHIFT)
 
#define CSL_BCDMA_TRPD_DESCINFO_LASTIDX_SHIFT   ((uint32_t) 0)
 
#define CSL_BCDMA_TRPD_DESCINFO_LASTIDX_MASK   (((uint32_t) 0x3FFFU) << CSL_BCDMA_TRPD_DESCINFO_LASTIDX_SHIFT)
 
#define CSL_BCDMA_TRPD_PKTINFO_RECSIZE_SHIFT   ((uint32_t) 24U)
 
#define CSL_BCDMA_TRPD_PKTINFO_RECSIZE_MASK   (((uint32_t) 0x7U) << CSL_BCDMA_TRPD_PKTINFO_RECSIZE_SHIFT)
 
#define CSL_BCDMA_TRPD_PKTINFO_RECSIZE_VAL_16B   ((uint32_t) 0)
 
#define CSL_BCDMA_TRPD_PKTINFO_RECSIZE_VAL_32B   ((uint32_t) 1U)
 
#define CSL_BCDMA_TRPD_PKTINFO_RECSIZE_VAL_64B   ((uint32_t) 2U)
 
#define CSL_BCDMA_TRPD_PKTINFO_RECSIZE_VAL_128B   ((uint32_t) 3U)
 
CSL BCDMA TR Flags

CSL BCDMA TR Flags.

#define CSL_BCDMA_TR_FLAGS_TYPE_SHIFT   ((uint32_t) 0U)
 
#define CSL_BCDMA_TR_FLAGS_TYPE_MASK   (((uint32_t) 0xFU) << CSL_BCDMA_TR_FLAGS_TYPE_SHIFT)
 
#define CSL_BCDMA_TR_FLAGS_STATIC_SHIFT   ((uint32_t) 4U)
 
#define CSL_BCDMA_TR_FLAGS_STATIC_MASK   (((uint32_t) 1U) << CSL_BCDMA_TR_FLAGS_STATIC_SHIFT)
 
#define CSL_BCDMA_TR_FLAGS_WAIT_SHIFT   ((uint32_t) 5U)
 
#define CSL_BCDMA_TR_FLAGS_WAIT_MASK   (((uint32_t) 1U) << CSL_BCDMA_TR_FLAGS_WAIT_SHIFT)
 
#define CSL_BCDMA_TR_FLAGS_EVENT_SIZE_SHIFT   ((uint32_t) 6U)
 
#define CSL_BCDMA_TR_FLAGS_EVENT_SIZE_MASK   (((uint32_t) 3U) << CSL_BCDMA_TR_FLAGS_EVENT_SIZE_SHIFT)
 
#define CSL_BCDMA_TR_FLAGS_TRIGGER0_SHIFT   ((uint32_t) 8U)
 
#define CSL_BCDMA_TR_FLAGS_TRIGGER0_MASK   (((uint32_t) 3U) << CSL_BCDMA_TR_FLAGS_TRIGGER0_SHIFT)
 
#define CSL_BCDMA_TR_FLAGS_TRIGGER0_TYPE_SHIFT   ((uint32_t) 10U)
 
#define CSL_BCDMA_TR_FLAGS_TRIGGER0_TYPE_MASK   (((uint32_t) 3U) << CSL_BCDMA_TR_FLAGS_TRIGGER0_TYPE_SHIFT)
 
#define CSL_BCDMA_TR_FLAGS_TRIGGER1_SHIFT   ((uint32_t) 12U)
 
#define CSL_BCDMA_TR_FLAGS_TRIGGER1_MASK   (((uint32_t) 3U) << CSL_BCDMA_TR_FLAGS_TRIGGER1_SHIFT)
 
#define CSL_BCDMA_TR_FLAGS_TRIGGER1_TYPE_SHIFT   ((uint32_t) 14U)
 
#define CSL_BCDMA_TR_FLAGS_TRIGGER1_TYPE_MASK   (((uint32_t) 3U) << CSL_BCDMA_TR_FLAGS_TRIGGER1_TYPE_SHIFT)
 
#define CSL_BCDMA_TR_FLAGS_CMD_ID_SHIFT   ((uint32_t) 16U)
 
#define CSL_BCDMA_TR_FLAGS_CMD_ID_MASK   (((uint32_t) 0xFFU) << CSL_BCDMA_TR_FLAGS_CMD_ID_SHIFT)
 
#define CSL_BCDMA_TR_FLAGS_CFG_FLAGS_SHIFT   ((uint32_t) 24U)
 
#define CSL_BCDMA_TR_FLAGS_CFG_FLAGS_MASK   (((uint32_t) 0xFFU) << CSL_BCDMA_TR_FLAGS_CFG_FLAGS_SHIFT)
 
#define CSL_BCDMA_TR_FLAGS_SA_INDIRECT_SHIFT   ((uint32_t) 24U)
 
#define CSL_BCDMA_TR_FLAGS_SA_INDIRECT_MASK   (((uint32_t) 1U) << CSL_BCDMA_TR_FLAGS_SA_INDIRECT_SHIFT)
 
#define CSL_BCDMA_TR_FLAGS_DA_INDIRECT_SHIFT   ((uint32_t) 25U)
 
#define CSL_BCDMA_TR_FLAGS_DA_INDIRECT_MASK   (((uint32_t) 1U) << CSL_BCDMA_TR_FLAGS_DA_INDIRECT_SHIFT)
 
#define CSL_BCDMA_TR_FLAGS_SUPR_EVT_SHIFT   ((uint32_t) 26U)
 
#define CSL_BCDMA_TR_FLAGS_SUPR_EVT_MASK   (((uint32_t) 1U) << CSL_BCDMA_TR_FLAGS_SUPR_EVT_SHIFT)
 
#define CSL_BCDMA_TR_FLAGS_EOL_SHIFT   ((uint32_t) 28U)
 
#define CSL_BCDMA_TR_FLAGS_EOL_MASK   (((uint32_t) 7U) << CSL_BCDMA_TR_FLAGS_EOL_SHIFT)
 
#define CSL_BCDMA_TR_FLAGS_EOP_SHIFT   ((uint32_t) 31U)
 
#define CSL_BCDMA_TR_FLAGS_EOP_MASK   (((uint32_t) 1U) << CSL_BCDMA_TR_FLAGS_EOP_SHIFT)
 
CSL BCDMA Secondary TR Flags

CSL BCDMA Secondary TR Flags.

#define CSL_BCDMA_SECTR_FLAGS_TYPE_SHIFT   ((uint32_t) 0U)
 
#define CSL_BCDMA_SECTR_FLAGS_TYPE_MASK   (((uint32_t) 0xFU) << CSL_BCDMA_SECTR_FLAGS_TYPE_SHIFT)
 
#define CSL_BCDMA_SECTR_FLAGS_TYPE_SPECIFIC_SHIFT   ((uint32_t) 4U)
 
#define CSL_BCDMA_SECTR_FLAGS_TYPE_SPECIFIC_MASK   (((uint32_t) 0xFFFFFFF0U) << CSL_BCDMA_SECTR_FLAGS_TYPE_SPECIFIC_SHIFT)
 
CSL BCDMA TR Response Flags

CSL BCDMA TR Response Flags.

#define CSL_BCDMA_TR_RESPONSE_STATUS_TYPE_SHIFT   ((uint32_t) 0U)
 
#define CSL_BCDMA_TR_RESPONSE_STATUS_TYPE_MASK   (((uint32_t) 0xFU) << CSL_BCDMA_TR_RESPONSE_STATUS_TYPE_SHIFT)
 
#define CSL_BCDMA_TR_RESPONSE_STATUS_INFO_SHIFT   ((uint32_t) 4U)
 
#define CSL_BCDMA_TR_RESPONSE_STATUS_INFO_MASK   (((uint32_t) 0xFU) << CSL_BCDMA_TR_RESPONSE_STATUS_FIELD_SHIFT)
 
#define CSL_BCDMA_TR_RESPONSE_CMDID_SHIFT   ((uint32_t) 16U)
 
#define CSL_BCDMA_TR_RESPONSE_CMDID_MASK   (((uint32_t) 0xFFU) << CSL_BCDMA_TR_RESPONSE_CMDID_SHIFT)
 
#define CSL_BCDMA_TR_RESPONSE_CFG_SPECIFIC_SHIFT   ((uint32_t) 24U)
 
#define CSL_BCDMA_TR_RESPONSE_CFG_SPECIFIC_MASK   (((uint32_t) 0xFFU) << CSL_BCDMA_TR_RESPONSE_CFG_SPECIFIC_SHIFT)
 
CSL BCDMA Teardown Response Flags

CSL BCDMA Teardown Response Flags.

#define CSL_BCDMA_TD_RESPONSE_TD_INDICATOR_SHIFT   ((uint32_t) 0U)
 
#define CSL_BCDMA_TD_RESPONSE_TD_INDICATOR_MASK   (((uint32_t) 0xFU) << CSL_BCDMA_TD_RESPONSE_TD_INDICATOR_SHIFT)
 
#define CSL_BCDMA_TD_RESPONSE_CHAN_ID_SHIFT   ((uint32_t) 4U)
 
#define CSL_BCDMA_TD_RESPONSE_CHAN_ID_MASK   (((uint32_t) 0x3FFU) << CSL_BCDMA_TD_RESPONSE_CHAN_ID_SHIFT)
 
#define CSL_BCDMA_TD_RESPONSE_FORCED_SHIFT   ((uint32_t) 31U)
 
#define CSL_BCDMA_TD_RESPONSE_FORCED_MASK   (((uint32_t) 0x1U) << CSL_BCDMA_TD_RESPONSE_FORCED_SHIFT)
 
CSL BCDMA TR Format Flags

[udmap_only] CSL BCDMA TR Format Flags.

#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SHIFT   ((uint32_t) 0U)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_MASK   (((uint32_t) 7U) << CSL_BCDMA_TR_FMTFLAGS_AMODE_SHIFT)
 
#define CSL_BCDMA_TR_FMTFLAGS_DIR_SHIFT   ((uint32_t) 3U)
 
#define CSL_BCDMA_TR_FMTFLAGS_DIR_MASK   (((uint32_t) 1U) << CSL_BCDMA_TR_FMTFLAGS_DIR_SHIFT)
 
#define CSL_BCDMA_TR_FMTFLAGS_ELYPE_SHIFT   ((uint32_t) 4U)
 
#define CSL_BCDMA_TR_FMTFLAGS_ELYPE_MASK   (((uint32_t) 0xFU) << CSL_BCDMA_TR_FMTFLAGS_ELYPE_SHIFT)
 
#define CSL_BCDMA_TR_FMTFLAGS_DFMT_SHIFT   ((uint32_t) 8U)
 
#define CSL_BCDMA_TR_FMTFLAGS_DFMT_MASK   (((uint32_t) 0xFU) << CSL_BCDMA_TR_FMTFLAGS_DFMT_SHIFT)
 
#define CSL_BCDMA_TR_FMTFLAGS_SECTR_SHIFT   ((uint32_t) 12U)
 
#define CSL_BCDMA_TR_FMTFLAGS_SECTR_MASK   (((uint32_t) 3U) << CSL_BCDMA_TR_FMTFLAGS_SECTR_SHIFT)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_CBK0_SHIFT   ((uint32_t) 16U)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_CBK0_MASK   (((uint32_t) 0xFU) << CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_CBK0_SHIFT)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_CBK1_SHIFT   ((uint32_t) 20U)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_CBK1_MASK   (((uint32_t) 0xFU) << CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_CBK1_SHIFT)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_AM0_SHIFT   ((uint32_t) 24U)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_AM0_MASK   (((uint32_t) 3U) << CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_AM0_SHIFT)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_AM1_SHIFT   ((uint32_t) 26U)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_AM1_MASK   (((uint32_t) 3U) << CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_AM1_SHIFT)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_AM2_SHIFT   ((uint32_t) 28U)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_AM2_MASK   (((uint32_t) 3U) << CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_AM2_SHIFT)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_AM3_SHIFT   ((uint32_t) 30U)
 
#define CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_AM3_MASK   (((uint32_t) 3U) << CSL_BCDMA_TR_FMTFLAGS_AMODE_SPECIFIC_AM3_SHIFT)
 
#define CSL_BCDMA_TR_CACHEFLAGS_CACHEID_SHIFT   ((uint32_t) 0U)
 
#define CSL_BCDMA_TR_CACHEFLAGS_CACHEID_MASK   (((uint32_t) 0xFFU) << CSL_BCDMA_TR_CACHEFLAGS_CACHEID_SHIFT)
 
#define CSL_BCDMA_TR_CACHEFLAGS_CACHEOP_SHIFT   ((uint32_t) 24U)
 
#define CSL_BCDMA_TR_CACHEFLAGS_CACHEOP_MASK   (((uint32_t) 0xFFU) << CSL_BCDMA_TR_CACHEFLAGS_CACHEOP_SHIFT)
 

Typedefs

typedef uintptr_t CSL_bcdma_bccfgRegs
 
typedef uintptr_t CSL_bcdma_bcrtRegs
 

Functions

uint32_t CSL_bcdmaGetRevision (const CSL_BcdmaCfg *pCfg)
 Return revision of the BCDMA module. More...
 
int32_t CSL_bcdmaGetRevisionInfo (const CSL_BcdmaCfg *pCfg, CSL_BcdmaRevision *pRev)
 Return revision information of the BCDMA module. More...
 
void CSL_bcdmaInitCfg (CSL_BcdmaCfg *pCfg)
 Initialize contents of a BCDMA configuration structure. More...
 
void CSL_bcdmaGetCfg (CSL_BcdmaCfg *pCfg)
 Return BCDMA configuration information. More...
 
void CSL_bcdmaInitTxChanCfg (CSL_BcdmaTxChanCfg *pTxChanCfg)
 Initialize a CSL_BcdmaTxChanCfg structure. More...
 
void CSL_bcdmaInitRxChanCfg (CSL_BcdmaRxChanCfg *pRxChanCfg)
 Initialize a CSL_BcdmaRxChanCfg structure. More...
 
void CSL_bcdmaInitRxFlowCfg (CSL_BcdmaRxFlowCfg *pFlow)
 Initialize a CSL_BcdmaRxFlowCfg structure. More...
 
int32_t CSL_bcdmaChanOp (CSL_BcdmaCfg *pCfg, CSL_BcdmaChanOp chanOp, CSL_BcdmaChanType chanType, uint32_t chanIdx, void *pOpData)
 Perform a channel operation. More...
 
void CSL_bcdmaSetPerfCtrl (CSL_BcdmaCfg *pCfg, uint32_t rxRetryTimeoutCnt)
 Set performance control parmeters. More...
 
void CSL_bcdmaSetUtcCtrl (CSL_BcdmaCfg *pCfg, uint32_t startingThreadNum)
 [udmap_only] Set UTC control parmeters More...
 
int32_t CSL_bcdmaRxFlowCfg (CSL_BcdmaCfg *pCfg, uint32_t flow, const CSL_BcdmaRxFlowCfg *pFlow)
 [udmap_only] Configure an RX flow More...
 
int32_t CSL_bcdmaRxChanCfg (CSL_BcdmaCfg *pCfg, uint32_t chanIdx, const CSL_BcdmaRxChanCfg *pRxChanCfg)
 Configure an RX channel. More...
 
int32_t CSL_bcdmaTxChanCfg (CSL_BcdmaCfg *pCfg, uint32_t chanIdx, const CSL_BcdmaTxChanCfg *pTxChanCfg)
 Configure a TX channel. More...
 
int32_t CSL_bcdmaRxChanSetTrEvent (CSL_BcdmaCfg *pCfg, uint32_t chanIdx, uint32_t trEventNum)
 [udmap_only] Configure an RX channel TR event More...
 
int32_t CSL_bcdmaTxChanSetTrEvent (CSL_BcdmaCfg *pCfg, uint32_t chanIdx, uint32_t trEventNum)
 [udmap_only] Configure an TX channel TR event More...
 
int32_t CSL_bcdmaRxChanSetBurstSize (CSL_BcdmaCfg *pCfg, uint32_t chanIdx, CSL_BcdmaChanBurstSize burstSize)
 Configure RX channel burst size. More...
 
int32_t CSL_bcdmaTxChanSetBurstSize (CSL_BcdmaCfg *pCfg, uint32_t chanIdx, CSL_BcdmaChanBurstSize burstSize)
 Configure TX channel burst size. More...
 
int32_t CSL_bcdmaGetRxRT (CSL_BcdmaCfg *pCfg, uint32_t chanIdx, CSL_BcdmaRT *pRT)
 Get an RX channel's real-time register values. More...
 
int32_t CSL_bcdmaGetTxRT (CSL_BcdmaCfg *pCfg, uint32_t chanIdx, CSL_BcdmaRT *pRT)
 Get a TX channel's real-time register values. More...
 
int32_t CSL_bcdmaSetRxRT (CSL_BcdmaCfg *pCfg, uint32_t chanIdx, const CSL_BcdmaRT *pRT)
 Set an RX channel's real-time register values. More...
 
int32_t CSL_bcdmaSetTxRT (CSL_BcdmaCfg *pCfg, uint32_t chanIdx, const CSL_BcdmaRT *pRT)
 Set a TX channel's real-time register values. More...
 
int32_t CSL_bcdmaEnableTxChan (CSL_BcdmaCfg *pCfg, uint32_t chanIdx)
 Enable a transmit channel. More...
 
int32_t CSL_bcdmaDisableTxChan (CSL_BcdmaCfg *pCfg, uint32_t chanIdx)
 Disable a transmit channel. More...
 
int32_t CSL_bcdmaTeardownTxChan (CSL_BcdmaCfg *pCfg, uint32_t chanIdx, bool bForce, bool bWait)
 Teardown a transmit channel. More...
 
int32_t CSL_bcdmaPauseTxChan (CSL_BcdmaCfg *pCfg, uint32_t chanIdx)
 Pause a transmit channel. More...
 
int32_t CSL_bcdmaUnpauseTxChan (CSL_BcdmaCfg *pCfg, uint32_t chanIdx)
 Un-pause a transmit channel. More...
 
int32_t CSL_bcdmaTriggerTxChan (CSL_BcdmaCfg *pCfg, uint32_t chanIdx)
 Send a trigger event to a TX channel. More...
 
void CSL_bcdmaClearTxChanError (CSL_BcdmaCfg *pCfg, uint32_t chanIdx)
 Clear error indication in a transmit channel. More...
 
int32_t CSL_bcdmaEnableRxChan (CSL_BcdmaCfg *pCfg, uint32_t chanIdx)
 Enable a receive channel. More...
 
int32_t CSL_bcdmaDisableRxChan (CSL_BcdmaCfg *pCfg, uint32_t chanIdx)
 Disable a receive channel. More...
 
int32_t CSL_bcdmaTeardownRxChan (CSL_BcdmaCfg *pCfg, uint32_t chanIdx, bool bForce, bool bWait)
 Teardown a receive channel. More...
 
int32_t CSL_bcdmaPauseRxChan (CSL_BcdmaCfg *pCfg, uint32_t chanIdx)
 Pause a receive channel. More...
 
int32_t CSL_bcdmaUnpauseRxChan (CSL_BcdmaCfg *pCfg, uint32_t chanIdx)
 Un-pause a receive channel. More...
 
int32_t CSL_bcdmaTriggerRxChan (CSL_BcdmaCfg *pCfg, uint32_t chanIdx)
 Send a trigger event to an RX channel. More...
 
void CSL_bcdmaClearRxChanError (CSL_BcdmaCfg *pCfg, uint32_t chanIdx)
 Clear error indication in a receive channel. More...
 
void CSL_bcdmaCfgRxFlowIdFirewall (CSL_BcdmaCfg *pCfg, uint32_t outEvtNum)
 [udmap_only] Configure the receive flow ID range firewall More...
 
bool CSL_bcdmaGetRxFlowIdFirewallStatus (CSL_BcdmaCfg *pCfg, CSL_BcdmaRxFlowIdFirewallStatus *pRxFlowIdFwStatus)
 [udmap_only] Get receive flow ID range firewall status information More...
 
void CSL_bcdmaGetChanStats (CSL_BcdmaCfg *pCfg, uint32_t chanIdx, CSL_BcdmaChanDir chanDir, CSL_BcdmaChanStats *pChanStats)
 Get channel statistics. More...
 
void CSL_bcdmaDecChanStats (CSL_BcdmaCfg *pCfg, uint32_t chanIdx, CSL_BcdmaChanDir chanDir, const CSL_BcdmaChanStats *pChanStats)
 Decrement channel statistics. More...
 
int32_t CSL_bcdmaGetChanPeerReg (CSL_BcdmaCfg *pCfg, uint32_t chanIdx, CSL_BcdmaChanDir chanDir, uint32_t regIdx, uint32_t *pVal)
 Read a channel peer register. More...
 
int32_t CSL_bcdmaSetChanPeerReg (CSL_BcdmaCfg *pCfg, uint32_t chanIdx, CSL_BcdmaChanDir chanDir, uint32_t regIdx, uint32_t *pVal)
 Write a TX channel peer register. More...
 
int32_t CSL_bcdmaEnableLink (CSL_BcdmaCfg *pCfg, uint32_t chanIdx, CSL_BcdmaChanDir chanDir)
 Enable a directional data flow for a paired link. More...
 
struct CSL_BcdmaTR_t __attribute__ ((__packed__))
 
static CSL_BcdmaTrResponseStatus CSL_bcdmaTrResponseGetStatusType (const CSL_BcdmaTrResponse *pTrResponse)
 Return the TR response status type. More...
 
static void CSL_bcdmaGetTdResponse (uint64_t tdResponseWord, CSL_BcdmaTdResponse *pTdResponse)
 Parses the TD response word. More...
 
static uint32_t CSL_bcdmaCppi5GetDescType (const void *pDesc)
 Get the descriptor type. More...
 
static void CSL_bcdmaCppi5TrGetReload (const CSL_BcdmaTRPD *pDesc, uint32_t *pReloadCount, uint32_t *pReloadIdx)
 Get TR descriptor reload information. More...
 
static void CSL_bcdmaCppi5TrSetReload (CSL_BcdmaTRPD *pDesc, uint32_t reloadCount, uint32_t reloadIdx)
 Set TR descriptor reload information. More...
 
static uint32_t CSL_bcdmaCppi5TrGetEntryStride (const CSL_BcdmaTRPD *pDesc)
 Get TR descriptor entry stride. More...
 
static void CSL_bcdmaCppi5TrSetEntryStride (CSL_BcdmaTRPD *pDesc, uint32_t entryStride)
 Set TR descriptor entry stride. More...
 
static void CSL_bcdmaCppi5TrSetPktLen (void *pDesc, uint32_t pktLen)
 Set the packet length of TR mode packet descriptors. More...
 
static uint32_t CSL_bcdmaCppi5GetPktLen (const void *pDesc)
 Get the packet length. More...
 
static void CSL_bcdmaCppi5SetPktLen (void *pDesc, uint32_t descType, uint32_t pktLen)
 Set the packet length. More...
 

Variables

uint32_t flags
 
uint16_t icnt0
 
uint16_t icnt1
 
uint64_t addr
 
int32_t dim1
 
uint16_t icnt2
 
uint16_t icnt3
 
int32_t dim2
 
int32_t dim3
 
uint32_t fmtflags
 
int32_t ddim1
 
uint64_t daddr
 
int32_t ddim2
 
int32_t ddim3
 
uint16_t dicnt0
 
uint16_t dicnt1
 
uint16_t dicnt2
 
uint16_t dicnt3
 
uint32_t data [13]
 
uint32_t tdIndicator
 
uint32_t chId
 
uint32_t forced
 
typedef __attribute__
 

Variable Documentation

◆ flags

uint32_t flags

Specifies type of TR and how the TR should be handled. It also supports the TR triggering and output events.

Flags

Status flags

◆ icnt0

uint16_t icnt0

Total loop iteration count for level 0 (innermost)

◆ icnt1

uint16_t icnt1

Total loop iteration count for level 1

◆ addr

uint64_t addr

Starting address for the source data or destination data if it is a half duplex write

Address

◆ dim1

int32_t dim1

Signed dimension for loop level 1 for the source data

◆ icnt2

uint16_t icnt2

Total loop iteration count for level 2

◆ icnt3

uint16_t icnt3

Total loop iteration count for level 3 (outermost)

◆ dim2

int32_t dim2

Signed dimension for loop level 2

◆ dim3

int32_t dim3

Signed dimension for loop level 3

◆ fmtflags

uint32_t fmtflags

[udmap_only] Tells how the data is formatted either between the input and the output or if the data should use different addressing schemes or sizes

Tells how the data is formatted either between the input and the output or if the data should use different addressing schemes or sizes

◆ ddim1

int32_t ddim1

Signed dimension for loop level 1 for the destination data

◆ daddr

uint64_t daddr

Starting address for the destination of the data

◆ ddim2

int32_t ddim2

Signed dimension for loop level 2 for the destination data

◆ ddim3

int32_t ddim3

Signed dimension for loop level 3 for the destination data

◆ dicnt0

uint16_t dicnt0

Total loop iteration count for level 0 (innermost) used for destination

◆ dicnt1

uint16_t dicnt1

Total loop iteration count for level 1 used for destination

◆ dicnt2

uint16_t dicnt2

Total loop iteration count for level 2 used for destination

◆ dicnt3

uint16_t dicnt3

Total loop iteration count for level 3 used for destination

◆ data

uint32_t data

Data

◆ tdIndicator

uint32_t tdIndicator

TRUE: Indicates that a teardown has completed.

◆ chId

uint32_t chId

Indicates which channel the teardown completed on.

◆ forced

uint32_t forced

FALSE: Indicates that the teardown was graceful and data was not lost. TRUE : Indicates that the teardown was not graceful and data was potentially lost