AM64x MCU+ SDK  08.02.00
csl_udmap_tr.h File Reference

Introduction

This file provides support for the UDMAP Transfer Request (TR) functionality.

Go to the source code of this file.

UDMAP TR flags type

This enumerator defines the the type of TR being sent

#define CSL_UDMAP_TR_FLAGS_TYPE_1D_DATA_MOVE   ((uint32_t) 0U)
 
#define CSL_UDMAP_TR_FLAGS_TYPE_2D_DATA_MOVE   ((uint32_t) 1U)
 
#define CSL_UDMAP_TR_FLAGS_TYPE_3D_DATA_MOVE   ((uint32_t) 2U)
 
#define CSL_UDMAP_TR_FLAGS_TYPE_4D_DATA_MOVE   ((uint32_t) 3U)
 
#define CSL_UDMAP_TR_FLAGS_TYPE_4D_DATA_MOVE_FORMATTING   ((uint32_t) 4U)
 
#define CSL_UDMAP_TR_FLAGS_TYPE_4D_CACHE_WARM   ((uint32_t) 5U)
 
#define CSL_UDMAP_TR_FLAGS_TYPE_4D_BLOCK_MOVE   ((uint32_t) 8U)
 
#define CSL_UDMAP_TR_FLAGS_TYPE_4D_BLOCK_MOVE_REPACKING   ((uint32_t) 9U)
 
#define CSL_UDMAP_TR_FLAGS_TYPE_2D_BLOCK_MOVE   ((uint32_t) 10U)
 
#define CSL_UDMAP_TR_FLAGS_TYPE_2D_BLOCK_MOVE_REPACKING   ((uint32_t) 11U)
 
#define CSL_UDMAP_TR_FLAGS_TYPE_4D_BLOCK_MOVE_REPACKING_INDIRECTION   ((uint32_t) 15U)
 
typedef uint32_t CSL_UdmapTrFlagsType
 

UDMAP TR flags event size

This enumerator specifies when an event is generated for each TR

#define CSL_UDMAP_TR_FLAGS_EVENT_SIZE_COMPLETION   ((uint32_t) 0U)
 
#define CSL_UDMAP_TR_FLAGS_EVENT_SIZE_ICNT1_DEC   ((uint32_t) 1U)
 
#define CSL_UDMAP_TR_FLAGS_EVENT_SIZE_ICNT2_DEC   ((uint32_t) 2U)
 
#define CSL_UDMAP_TR_FLAGS_EVENT_SIZE_ICNT3_DEC   ((uint32_t) 3U)
 
typedef uint32_t CSL_UdmapTrFlagsEventSize
 

UDMAP TR flags trigger

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

#define CSL_UDMAP_TR_FLAGS_TRIGGER_NONE   ((uint32_t) 0U)
 
#define CSL_UDMAP_TR_FLAGS_TRIGGER_GLOBAL0   ((uint32_t) 1U)
 
#define CSL_UDMAP_TR_FLAGS_TRIGGER_GLOBAL1   ((uint32_t) 2U)
 
#define CSL_UDMAP_TR_FLAGS_TRIGGER_LOCAL_EVENT   ((uint32_t) 3U)
 
typedef uint32_t CSL_UdmapTrFlagsTrigger
 

UDMAP TR flags trigger type

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

#define CSL_UDMAP_TR_FLAGS_TRIGGER_TYPE_ICNT1_DEC   ((uint32_t) 0U)
 
#define CSL_UDMAP_TR_FLAGS_TRIGGER_TYPE_ICNT2_DEC   ((uint32_t) 1U)
 
#define CSL_UDMAP_TR_FLAGS_TRIGGER_TYPE_ICNT3_DEC   ((uint32_t) 2U)
 
#define CSL_UDMAP_TR_FLAGS_TRIGGER_TYPE_ALL   ((uint32_t) 3U)
 
typedef uint32_t CSL_UdmapTrFlagsTriggerType
 

UDMAP TR format flags amode

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

#define CSL_UDMAP_TR_FMTFLAGS_AMODE_LINEAR   ((uint32_t) 0U)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_CIRCULAR   ((uint32_t) 1U)
 
typedef uint32_t CSL_UdmapTrFmtflagsAmode
 

UDMAP TR format flags amode specific CBK values

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

#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_512B   ((uint32_t) 0U)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_1KB   ((uint32_t) 1U)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_2KB   ((uint32_t) 2U)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_4KB   ((uint32_t) 3U)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_8KB   ((uint32_t) 4U)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_16KB   ((uint32_t) 5U)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_32KB   ((uint32_t) 6U)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_64KB   ((uint32_t) 7U)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_128KB   ((uint32_t) 8U)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_256KB   ((uint32_t) 9U)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_512KB   ((uint32_t) 10U)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_1GB   ((uint32_t) 11U)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_2GB   ((uint32_t) 12U)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_4GB   ((uint32_t) 13U)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_8GB   ((uint32_t) 14U)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_16GB   ((uint32_t) 15U)
 
typedef uint32_t CSL_UdmapTrFmtflagsAmodeSpecificCbk
 

UDMAP TR format flags amode specific amode

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

#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AMODE_LINEAR   ((uint32_t) 0U)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AMODE_CBK0   ((uint32_t) 1U)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AMODE_CBK1   ((uint32_t) 2U)
 
typedef uint32_t CSL_UdmapTrFmtflagsAmodeSpecificAmode
 

UDMAP TR format flags direction

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

#define CSL_UDMAP_TR_FMTFLAGS_DIR_SRC_USES_AMODE   ((uint32_t) 0U)
 
#define CSL_UDMAP_TR_FMTFLAGS_DIR_DST_USES_AMODE   ((uint32_t) 1U)
 
typedef uint32_t CSL_UdmapTrFmtflagsDir
 

UDMAP TR format flags element type

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

#define CSL_UDMAP_TR_FMTFLAGS_ELYPE_1   ((uint32_t) 0U)
 
#define CSL_UDMAP_TR_FMTFLAGS_ELYPE_1p5   ((uint32_t) 1U)
 
#define CSL_UDMAP_TR_FMTFLAGS_ELYPE_2   ((uint32_t) 2U)
 
#define CSL_UDMAP_TR_FMTFLAGS_ELYPE_3   ((uint32_t) 3U)
 
#define CSL_UDMAP_TR_FMTFLAGS_ELYPE_4   ((uint32_t) 4U)
 
#define CSL_UDMAP_TR_FMTFLAGS_ELYPE_5   ((uint32_t) 5U)
 
#define CSL_UDMAP_TR_FMTFLAGS_ELYPE_16   ((uint32_t) 6U)
 
#define CSL_UDMAP_TR_FMTFLAGS_ELYPE_32   ((uint32_t) 7U)
 
#define CSL_UDMAP_TR_FMTFLAGS_ELYPE_1_2   ((uint32_t) 8U)
 
#define CSL_UDMAP_TR_FMTFLAGS_ELYPE_1p5_2   ((uint32_t) 9U)
 
#define CSL_UDMAP_TR_FMTFLAGS_ELYPE_2_1   ((uint32_t) 10U)
 
#define CSL_UDMAP_TR_FMTFLAGS_ELYPE_2_1p5   ((uint32_t) 11U)
 
typedef uint32_t CSL_UdmapTrFmtflagsEltype
 

UDMAP TR format flags dfmt

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

#define CSL_UDMAP_TR_FMTFLAGS_DFMT_NO_CHANGE   ((uint32_t) 0U)
 
#define CSL_UDMAP_TR_FMTFLAGS_DFMT_CONSTANT_COPY   ((uint32_t) 1U)
 
#define CSL_UDMAP_TR_FMTFLAGS_DFMT_TRANSPOSE   ((uint32_t) 2U)
 
#define CSL_UDMAP_TR_FMTFLAGS_DFMT_REVERSE   ((uint32_t) 3U)
 
#define CSL_UDMAP_TR_FMTFLAGS_DFMT_REVERSE_TRANSPOSE   ((uint32_t) 4U)
 
typedef uint32_t CSL_UdmapTrFmtflagsDfmt
 

UDMAP TR format cache flags operation

This enumerator specifies the cache operation for a cache warm TR type

#define CSL_UDMAP_TR_CACHEFLAGS_OP_PREWARM_CACHE   ((uint32_t) 0U)
 
#define CSL_UDMAP_TR_CACHEFLAGS_OP_PREWARM_MMU   ((uint32_t) 1U)
 
typedef uint32_t CSL_UdmapTrCacheflagsOp
 

UDMAP TR format flags secondary TR

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

#define CSL_UDMAP_TR_FMTFLAGS_SECTR_NONE   ((uint32_t) 0U)
 
#define CSL_UDMAP_TR_FMTFLAGS_SECTR_64   ((uint32_t) 1U)
 
#define CSL_UDMAP_TR_FMTFLAGS_SECTR_128   ((uint32_t) 2U)
 
typedef uint32_t CSL_UdmapTrFmtflagsSectr
 

UDMAP TR response status

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

#define CSL_UDMAP_TR_RESPONSE_STATUS_COMPLETE   ((uint32_t) 0U)
 
#define CSL_UDMAP_TR_RESPONSE_STATUS_TRANSFER_ERR   ((uint32_t) 1U)
 
#define CSL_UDMAP_TR_RESPONSE_STATUS_ABORTED_ERR   ((uint32_t) 2U)
 
#define CSL_UDMAP_TR_RESPONSE_STATUS_SUBMISSION_ERR   ((uint32_t) 3U)
 
#define CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_ERR   ((uint32_t) 4U)
 
typedef uint32_t CSL_UdmapTrResponseStatus
 

UDMAP TR response status submission

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

#define CSL_UDMAP_TR_RESPONSE_STATUS_SUBMISSION_ICNT0   ((uint32_t) 0U)
 
#define CSL_UDMAP_TR_RESPONSE_STATUS_SUBMISSION_FIFO_FULL   ((uint32_t) 1U)
 
#define CSL_UDMAP_TR_RESPONSE_STATUS_SUBMISSION_OWN   ((uint32_t) 2U)
 
typedef uint32_t CSL_UdmapTrResponseStatusSubmission
 

UDMAP 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_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_TR_TYPE   ((uint32_t) 0U)
 
#define CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_STATIC   ((uint32_t) 1U)
 
#define CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_EOL   ((uint32_t) 2U)
 
#define CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_CFG_SPECIFIC   ((uint32_t) 3U)
 
#define CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_AMODE   ((uint32_t) 4U)
 
#define CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_ELTYPE   ((uint32_t) 5U)
 
#define CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_DFMT   ((uint32_t) 6U)
 
#define CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_SECTR   ((uint32_t) 7U)
 
#define CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_AMODE_SPECIFIC   ((uint32_t) 8U)
 
typedef uint32_t CSL_UdmapTrResponseStatusUnsupported
 

UDMAP TR EOL packet type

This enumerator defines the the type of EOL packet sent in configurations specific flag in the TR. This is only valid if TR type(UDMAP_TR_FLAGS_TYPE) is CSL_UDMAP_TR_FLAGS_TYPE_1D_DATA_MOVE or CSL_UDMAP_TR_FLAGS_TYPE_2D_DATA_MOVE or CSL_UDMAP_TR_FLAGS_TYPE_3D_DATA_MOVE or CSL_UDMAP_TR_FLAGS_TYPE_4D_DATA_MOVE

#define CSL_UDMAP_TR_FLAGS_EOL_MATCH_SOL_EOL   ((uint32_t) 0U)
 
#define CSL_UDMAP_TR_FLAGS_EOL_ICNT0   ((uint32_t) 1U)
 
#define CSL_UDMAP_TR_FLAGS_EOL_ICNT0_ICNT1   ((uint32_t) 2U)
 
#define CSL_UDMAP_TR_FLAGS_EOL_ICNT0_ICNT1_ICNT2   ((uint32_t) 3U)
 
#define CSL_UDMAP_TR_FLAGS_EOL_ICNT0_ICNT1_ICNT2_ICNT3   ((uint32_t) 4U)
 
#define CSL_UDMAP_TR_FLAGS_EOL_RESERVED   ((uint32_t) 5U)
 
typedef uint32_t CSL_UdmapTrFlagsEol
 

Data Structures

struct  CSL_UdmapTR
 CSL_UdmapTR specifies a Transfer Request. More...
 
struct  CSL_UdmapTR0
 CSL_UdmapTR0 specifies a Type 0 (One dimensional data move) Transfer Request. More...
 
struct  CSL_UdmapTR1
 CSL_UdmapTR1 specifies a Type 1 (Two dimensional data move) Transfer Request. More...
 
struct  CSL_UdmapTR2
 CSL_UdmapTR2 specifies a Type 2 (Three dimensional data move) Transfer Request. More...
 
struct  CSL_UdmapTR3
 CSL_UdmapTR3 specifies a Type 3 (Four dimensional data move) Transfer Request. More...
 
struct  CSL_UdmapTR4
 CSL_UdmapTR4 specifies a Type 4 (Four dimensional data move with data formatting) Transfer Request. More...
 
struct  CSL_UdmapTR5
 CSL_UdmapTR5 specifies a Type 5 (Four dimensional cache warm) Transfer Request. More...
 
struct  CSL_UdmapTR8
 CSL_UdmapTR8 specifies a Type 8 Transfer Request. More...
 
struct  CSL_UdmapTR9
 CSL_UdmapTR9 specifies a Type 9 Transfer Request. More...
 
struct  CSL_UdmapTR10
 CSL_UdmapTR10 specifies a Type 10 Transfer Request. More...
 
struct  CSL_UdmapTR11
 CSL_UdmapTR11 specifies a Type 11 Transfer Request. More...
 
struct  CSL_UdmapTR15
 CSL_UdmapTR15 specifies a Type 15 Transfer Request. More...
 
struct  CSL_UdmapSecTR
 CSL_UdmapSecTR specifies a secondary Transfer Request. More...
 
struct  CSL_UdmapTrResponse
 
struct  CSL_UdmapTdResponse
 

Macros

CSL UDMAP TR Flags

CSL UDMAP TR Flags.

#define CSL_UDMAP_TR_FLAGS_TYPE_SHIFT   ((uint32_t) 0U)
 
#define CSL_UDMAP_TR_FLAGS_TYPE_MASK   (((uint32_t) 0xFU) << CSL_UDMAP_TR_FLAGS_TYPE_SHIFT)
 
#define CSL_UDMAP_TR_FLAGS_STATIC_SHIFT   ((uint32_t) 4U)
 
#define CSL_UDMAP_TR_FLAGS_STATIC_MASK   (((uint32_t) 1U) << CSL_UDMAP_TR_FLAGS_STATIC_SHIFT)
 
#define CSL_UDMAP_TR_FLAGS_WAIT_SHIFT   ((uint32_t) 5U)
 
#define CSL_UDMAP_TR_FLAGS_WAIT_MASK   (((uint32_t) 1U) << CSL_UDMAP_TR_FLAGS_WAIT_SHIFT)
 
#define CSL_UDMAP_TR_FLAGS_EVENT_SIZE_SHIFT   ((uint32_t) 6U)
 
#define CSL_UDMAP_TR_FLAGS_EVENT_SIZE_MASK   (((uint32_t) 3U) << CSL_UDMAP_TR_FLAGS_EVENT_SIZE_SHIFT)
 
#define CSL_UDMAP_TR_FLAGS_TRIGGER0_SHIFT   ((uint32_t) 8U)
 
#define CSL_UDMAP_TR_FLAGS_TRIGGER0_MASK   (((uint32_t) 3U) << CSL_UDMAP_TR_FLAGS_TRIGGER0_SHIFT)
 
#define CSL_UDMAP_TR_FLAGS_TRIGGER0_TYPE_SHIFT   ((uint32_t) 10U)
 
#define CSL_UDMAP_TR_FLAGS_TRIGGER0_TYPE_MASK   (((uint32_t) 3U) << CSL_UDMAP_TR_FLAGS_TRIGGER0_TYPE_SHIFT)
 
#define CSL_UDMAP_TR_FLAGS_TRIGGER1_SHIFT   ((uint32_t) 12U)
 
#define CSL_UDMAP_TR_FLAGS_TRIGGER1_MASK   (((uint32_t) 3U) << CSL_UDMAP_TR_FLAGS_TRIGGER1_SHIFT)
 
#define CSL_UDMAP_TR_FLAGS_TRIGGER1_TYPE_SHIFT   ((uint32_t) 14U)
 
#define CSL_UDMAP_TR_FLAGS_TRIGGER1_TYPE_MASK   (((uint32_t) 3U) << CSL_UDMAP_TR_FLAGS_TRIGGER1_TYPE_SHIFT)
 
#define CSL_UDMAP_TR_FLAGS_CMD_ID_SHIFT   ((uint32_t) 16U)
 
#define CSL_UDMAP_TR_FLAGS_CMD_ID_MASK   (((uint32_t) 0xFFU) << CSL_UDMAP_TR_FLAGS_CMD_ID_SHIFT)
 
#define CSL_UDMAP_TR_FLAGS_CFG_FLAGS_SHIFT   ((uint32_t) 24U)
 
#define CSL_UDMAP_TR_FLAGS_CFG_FLAGS_MASK   (((uint32_t) 0xFFU) << CSL_UDMAP_TR_FLAGS_CFG_FLAGS_SHIFT)
 
#define CSL_UDMAP_TR_FLAGS_SA_INDIRECT_SHIFT   ((uint32_t) 24U)
 
#define CSL_UDMAP_TR_FLAGS_SA_INDIRECT_MASK   (((uint32_t) 1U) << CSL_UDMAP_TR_FLAGS_SA_INDIRECT_SHIFT)
 
#define CSL_UDMAP_TR_FLAGS_DA_INDIRECT_SHIFT   ((uint32_t) 25U)
 
#define CSL_UDMAP_TR_FLAGS_DA_INDIRECT_MASK   (((uint32_t) 1U) << CSL_UDMAP_TR_FLAGS_DA_INDIRECT_SHIFT)
 
#define CSL_UDMAP_TR_FLAGS_SUPR_EVT_SHIFT   ((uint32_t) 26U)
 
#define CSL_UDMAP_TR_FLAGS_SUPR_EVT_MASK   (((uint32_t) 1U) << CSL_UDMAP_TR_FLAGS_SUPR_EVT_SHIFT)
 
#define CSL_UDMAP_TR_FLAGS_EOL_SHIFT   ((uint32_t) 28U)
 
#define CSL_UDMAP_TR_FLAGS_EOL_MASK   (((uint32_t) 7U) << CSL_UDMAP_TR_FLAGS_EOL_SHIFT)
 
#define CSL_UDMAP_TR_FLAGS_EOP_SHIFT   ((uint32_t) 31U)
 
#define CSL_UDMAP_TR_FLAGS_EOP_MASK   (((uint32_t) 1U) << CSL_UDMAP_TR_FLAGS_EOP_SHIFT)
 
CSL UDMAP TR Format Flags

CSL UDMAP TR Format Flags.

#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SHIFT   ((uint32_t) 0U)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_MASK   (((uint32_t) 7U) << CSL_UDMAP_TR_FMTFLAGS_AMODE_SHIFT)
 
#define CSL_UDMAP_TR_FMTFLAGS_DIR_SHIFT   ((uint32_t) 3U)
 
#define CSL_UDMAP_TR_FMTFLAGS_DIR_MASK   (((uint32_t) 1U) << CSL_UDMAP_TR_FMTFLAGS_DIR_SHIFT)
 
#define CSL_UDMAP_TR_FMTFLAGS_ELYPE_SHIFT   ((uint32_t) 4U)
 
#define CSL_UDMAP_TR_FMTFLAGS_ELYPE_MASK   (((uint32_t) 0xFU) << CSL_UDMAP_TR_FMTFLAGS_ELYPE_SHIFT)
 
#define CSL_UDMAP_TR_FMTFLAGS_DFMT_SHIFT   ((uint32_t) 8U)
 
#define CSL_UDMAP_TR_FMTFLAGS_DFMT_MASK   (((uint32_t) 0xFU) << CSL_UDMAP_TR_FMTFLAGS_DFMT_SHIFT)
 
#define CSL_UDMAP_TR_FMTFLAGS_SECTR_SHIFT   ((uint32_t) 12U)
 
#define CSL_UDMAP_TR_FMTFLAGS_SECTR_MASK   (((uint32_t) 3U) << CSL_UDMAP_TR_FMTFLAGS_SECTR_SHIFT)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK0_SHIFT   ((uint32_t) 16U)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK0_MASK   (((uint32_t) 0xFU) << CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK0_SHIFT)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK1_SHIFT   ((uint32_t) 20U)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK1_MASK   (((uint32_t) 0xFU) << CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK1_SHIFT)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM0_SHIFT   ((uint32_t) 24U)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM0_MASK   (((uint32_t) 3U) << CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM0_SHIFT)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM1_SHIFT   ((uint32_t) 26U)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM1_MASK   (((uint32_t) 3U) << CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM1_SHIFT)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM2_SHIFT   ((uint32_t) 28U)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM2_MASK   (((uint32_t) 3U) << CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM2_SHIFT)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM3_SHIFT   ((uint32_t) 30U)
 
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM3_MASK   (((uint32_t) 3U) << CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM3_SHIFT)
 
#define CSL_UDMAP_TR_CACHEFLAGS_CACHEID_SHIFT   ((uint32_t) 0U)
 
#define CSL_UDMAP_TR_CACHEFLAGS_CACHEID_MASK   (((uint32_t) 0xFFU) << CSL_UDMAP_TR_CACHEFLAGS_CACHEID_SHIFT)
 
#define CSL_UDMAP_TR_CACHEFLAGS_CACHEOP_SHIFT   ((uint32_t) 24U)
 
#define CSL_UDMAP_TR_CACHEFLAGS_CACHEOP_MASK   (((uint32_t) 0xFFU) << CSL_UDMAP_TR_CACHEFLAGS_CACHEOP_SHIFT)
 
CSL UDMAP Secondary TR Flags

CSL UDMAP Secondary TR Flags.

#define CSL_UDMAP_SECTR_FLAGS_TYPE_SHIFT   ((uint32_t) 0U)
 
#define CSL_UDMAP_SECTR_FLAGS_TYPE_MASK   (((uint32_t) 0xFU) << CSL_UDMAP_SECTR_FLAGS_TYPE_SHIFT)
 
#define CSL_UDMAP_SECTR_FLAGS_TYPE_SPECIFIC_SHIFT   ((uint32_t) 4U)
 
#define CSL_UDMAP_SECTR_FLAGS_TYPE_SPECIFIC_MASK   (((uint32_t) 0xFFFFFFF0U) << CSL_UDMAP_SECTR_FLAGS_TYPE_SPECIFIC_SHIFT)
 
CSL UDMAP TR Response Flags

CSL UDMAP TR Response Flags.

#define CSL_UDMAP_TR_RESPONSE_STATUS_TYPE_SHIFT   ((uint32_t) 0U)
 
#define CSL_UDMAP_TR_RESPONSE_STATUS_TYPE_MASK   (((uint32_t) 0xFU) << CSL_UDMAP_TR_RESPONSE_STATUS_TYPE_SHIFT)
 
#define CSL_UDMAP_TR_RESPONSE_STATUS_INFO_SHIFT   ((uint32_t) 4U)
 
#define CSL_UDMAP_TR_RESPONSE_STATUS_INFO_MASK   (((uint32_t) 0xFU) << CSL_UDMAP_TR_RESPONSE_STATUS_FIELD_SHIFT)
 
#define CSL_UDMAP_TR_RESPONSE_CMDID_SHIFT   ((uint32_t) 16U)
 
#define CSL_UDMAP_TR_RESPONSE_CMDID_MASK   (((uint32_t) 0xFFU) << CSL_UDMAP_TR_RESPONSE_CMDID_SHIFT)
 
#define CSL_UDMAP_TR_RESPONSE_CFG_SPECIFIC_SHIFT   ((uint32_t) 24U)
 
#define CSL_UDMAP_TR_RESPONSE_CFG_SPECIFIC_MASK   (((uint32_t) 0xFFU) << CSL_UDMAP_TR_RESPONSE_CFG_SPECIFIC_SHIFT)
 
CSL UDMAP Teardown Response Flags

CSL UDMAP Teardown Response Flags.

#define CSL_UDMAP_TD_RESPONSE_TD_INDICATOR_SHIFT   ((uint32_t) 0U)
 
#define CSL_UDMAP_TD_RESPONSE_TD_INDICATOR_MASK   (((uint32_t) 0xFU) << CSL_UDMAP_TD_RESPONSE_TD_INDICATOR_SHIFT)
 
#define CSL_UDMAP_TD_RESPONSE_CHAN_ID_SHIFT   ((uint32_t) 4U)
 
#define CSL_UDMAP_TD_RESPONSE_CHAN_ID_MASK   (((uint32_t) 0x3FFU) << CSL_UDMAP_TD_RESPONSE_CHAN_ID_SHIFT)
 
#define CSL_UDMAP_TD_RESPONSE_FORCED_SHIFT   ((uint32_t) 31U)
 
#define CSL_UDMAP_TD_RESPONSE_FORCED_MASK   (((uint32_t) 0x1U) << CSL_UDMAP_TD_RESPONSE_FORCED_SHIFT)
 

Functions

struct CSL_UdmapTR_t __attribute__ ((__packed__))
 
static CSL_UdmapTrResponseStatus CSL_udmapTrResponseGetStatusType (const CSL_UdmapTrResponse *pTrResponse)
 Return the TR response status type. More...
 
static void CSL_udmapGetTdResponse (uint64_t tdResponseWord, CSL_UdmapTdResponse *pTdResponse)
 Parses the TD response word. 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 cacheflags
 
uint32_t rsvd [3]
 
uint32_t rsvd0 [3]
 
uint32_t rsvd1 [2]
 
uint32_t data [13]
 
uint32_t tdIndicator
 
uint32_t chId
 
uint32_t forced
 

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

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

◆ cacheflags

uint32_t cacheflags

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

◆ rsvd

uint32_t rsvd[3]

Reserved

◆ rsvd0

uint32_t rsvd0[3]

Reserved

◆ rsvd1

uint32_t rsvd1[2]

Reserved

◆ data

uint32_t data[13]

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