![]() |
PDK API Guide for J721E
|
This is the include file for the DRU (Data Routing Unit/Engine) CSL-F module. The functions contained in this module are used to setup the DRU, either in the TB by writing to the BFM for the MSG Bus or performing direct TR writes from the processor.
Go to the source code of this file.
Data Structures | |
struct | CSL_DruCapabilities |
This structure contains the capabilities of DRU. More... | |
struct | CSL_DruQueueConfig |
This structure contains the parameters to setup the DRU queue. More... | |
struct | CSL_DruChConfig |
This structure contains the parameters to setup the DRU channel. More... | |
struct | CSL_DruQueueStatus |
This structure contains Queue status information. More... | |
Macros | |
#define | CSL_DRU_MAX_CH (512U) |
Maximum number of channels supported by DRU. This is just the maximum registers supported for programming. The actual channel supported is given by CSL_DRU_NUM_CH macro. More... | |
#define | CSL_DRU_NUM_CH (64U) |
Number of channels supported by the DRU. More... | |
#define | CSL_DRU_MAX_QUEUE (8U) |
Maximum number of queues supported by DRU. This is just the maximum registers supported for programming. The actual channel supported is given by CSL_DRU_NUM_QUEUE macro. More... | |
#define | CSL_DRU_NUM_QUEUE (5U) |
Number of queues supported by the DRU. More... | |
#define | CSL_DRU_MAX_CORE (4U) |
Maximum number of core submission set supported by the DRU. This is just the maximum registers supported for programming. The actual channel supported is given by CSL_DRU_NUM_CORE macro. More... | |
#define | CSL_DRU_NUM_CORE (3U) |
Number of core submission set supported by the DRU. More... | |
DRU Owner - Direct TR submission or UDMA-C TR submission | |
#define | CSL_DRU_OWNER_DIRECT_TR ((uint64_t) 0x0000U) |
Direct TR - SUBMISSION registers must be written to submit TR. More... | |
#define | CSL_DRU_OWNER_UDMAC_TR ((uint64_t) 0x0001U) |
UDMA-C TR - TR will be received through PSIL. More... | |
DRU Queue ID | |
#define | CSL_DRU_QUEUE_ID_0 ((uint32_t) 0x0000U) |
#define | CSL_DRU_QUEUE_ID_1 ((uint32_t) 0x0001U) |
#define | CSL_DRU_QUEUE_ID_2 ((uint32_t) 0x0002U) |
#define | CSL_DRU_QUEUE_ID_3 ((uint32_t) 0x0003U) |
#define | CSL_DRU_QUEUE_ID_4 ((uint32_t) 0x0004U) |
#define | CSL_DRU_QUEUE_ID_5 ((uint32_t) 0x0005U) |
#define | CSL_DRU_QUEUE_ID_6 ((uint32_t) 0x0006U) |
#define | CSL_DRU_QUEUE_ID_7 ((uint32_t) 0x0007U) |
DRU Core ID | |
#define | CSL_DRU_CORE_ID_0 ((uint32_t) 0x0000U) |
#define | CSL_DRU_CORE_ID_1 ((uint32_t) 0x0001U) |
#define | CSL_DRU_CORE_ID_2 ((uint32_t) 0x0002U) |
#define | CSL_DRU_CORE_ID_3 ((uint32_t) 0x0003U) |
Functions | |
int32_t | CSL_druGetCapabilities (const CSL_DRU_t *pRegs, CSL_DruCapabilities *druCap) |
This API returns the DRU capabilities. More... | |
int32_t | CSL_druQueueConfig (const CSL_DRU_t *pRegs, uint32_t queueId, const CSL_DruQueueConfig *queueCfg) |
This API configures the DRU queue non-real time configurations. More... | |
int32_t | CSL_druChConfig (const CSL_DRU_t *pRegs, uint32_t chId, const CSL_DruChConfig *chCfg) |
This API configures the DRU channel non-real time configurations. More... | |
int32_t | CSL_druChSetEvent (const CSL_DRU_t *pRegs, uint32_t chId, uint64_t evtNum) |
This API configures the DRU channel event. More... | |
int32_t | CSL_druChEnable (const CSL_DRU_t *pRegs, uint32_t chId) |
This API enables the DRU channel using the real time registers. More... | |
int32_t | CSL_druChDisable (const CSL_DRU_t *pRegs, uint32_t chId) |
This API disables the DRU channel using the real time registers. More... | |
int32_t | CSL_druChTeardown (const CSL_DRU_t *pRegs, uint32_t chId) |
This API teardowns the specified channel. More... | |
uint32_t | CSL_druChIsTeardownComplete (const CSL_DRU_t *pRegs, uint32_t chId) |
This API checks if a teardown is complete for specified channel. More... | |
int32_t | CSL_druChPause (const CSL_DRU_t *pRegs, uint32_t chId) |
This API pauses the specified channel. More... | |
int32_t | CSL_druChResume (const CSL_DRU_t *pRegs, uint32_t chId) |
This API resumes the specified channel. More... | |
static void | CSL_druChSubmitTr (const CSL_DRU_t *pRegs, uint32_t chId, uint32_t coreId, const CSL_UdmapTR *tr) |
This API does a direct TR submission to the specified channel and core ID. More... | |
volatile uint64_t * | CSL_druChGetTriggerRegAddr (CSL_DRU_t *pRegs, uint32_t chId) |
This API get the triggers register address for the channel. More... | |
static void | CSL_druChSetLocalTrigger0Raw (volatile uint64_t *pSwTrigReg) |
This API triggers the local event 0 for the specified channel. More... | |
static void | CSL_druChSetGlobalTrigger0Raw (volatile uint64_t *pSwTrigReg) |
This API triggers the global event 0 for the specified channel. More... | |
static void | CSL_druChSetGlobalTrigger1Raw (volatile uint64_t *pSwTrigReg) |
This API triggers the global event 1 for the specified channel. More... | |
int32_t | CSL_druChSetLocalTrigger0 (CSL_DRU_t *pRegs, uint32_t chId) |
This API triggers the local event 0 for the specified channel. More... | |
int32_t | CSL_druChSetGlobalTrigger0 (CSL_DRU_t *pRegs, uint32_t chId) |
This API triggers the global event 0 for the specified channel. More... | |
int32_t | CSL_druChSetGlobalTrigger1 (CSL_DRU_t *pRegs, uint32_t chId) |
This API triggers the global event 1 for the specified channel. More... | |
int32_t | CSL_druGetQueueStatus (const CSL_DRU_t *pRegs, uint32_t queueId, CSL_DruQueueStatus *status) |
This API returns the status of the specified queue. More... | |