📄 csl_edma.h
字号:
/* ====================================================== * @arg edmaShObj * Pointer to the EDMA Shadow Object - to be allocated by the user. * @arg edmaNum * Instance Number of the EDMA. * @arg param * Region specific parameters * @arg status * Pointer to CSL Status. * @ret Shadow region handle * * * ====================================================== */CSL_EdmaRegionHandle CSL_edmaRegionOpen( /** pointer to the object that holds reference to the shadow region opened */ CSL_EdmaRegionObj *edmaShObj, /** instance of EDMA whose shadow region is requested for open */ CSL_InstNum edmaNum, /** parameters associated */ CSL_EdmaRegionParam *param, /** points to the placeholder for the status (success/errors) of the call */ CSL_Status *status);/* * ====================================================== * @func CSL_EdmaRegionClose * ====================================================== *//** @brief * Closes the specified EDMA Shadow region. Henceforth access * to the shadow region resources can be obtained only * after a successful CSL_edmaRegionOpen Call. * */ /* ====================================================== * @arg hRegion * Shadow region handle * @ret CSL_Status: CSL_SOK * * * ====================================================== */CSL_Status CSL_edmaRegionClose( /** Shadow region handle */ CSL_EdmaRegionHandle hRegions);/* * ====================================================== * @func CSL_edmaHwRegionControl * ====================================================== *//** @brief * Shadow Region level control commands are handled by this API. */ /* ====================================================== * @arg hRegion * Shadow region handle * @arg cmd * Shadow Region Command * @arg cmdArg * Additional command arguments are passed to the API using this. * The CSL function type casts to the appropriate arguments type depending on * the cmd. * @ret CSL_Status - CSL_SOK/CSL_ESYS_BADHANDLE * * ====================================================== */CSL_Status CSL_edmaHwRegionControl( /** Shadow region handle */ CSL_EdmaRegionHandle hRegion, /** The command to this API which indicates the action to be taken */ CSL_EdmaHwRegionControlCmd cmd, /** Optional argument @a void* casted */ void *cmdArg);/* Top level Shadow Query API *//* * ====================================================== * @func CSL_edmaGetHwRegionStatus * ====================================================== *//** @brief * Shadow region level queries to the EDMA module are handled through this API. */ /* ====================================================== * @arg hRegion * Shadow region handle * @arg myQuery * Shadow region query * @arg response * Additional query arguments are passed to the API using the response structure. * The query response is passed back to the user program using this pointer. * Depending on 'myQuery' this argument is type casted appropriately. * @ret CSL_Status - CSL_SOK/CSL_ESYS_BADHANDLE * * ====================================================== */CSL_Status CSL_edmaGetHwRegionStatus( /** Shadow region handle */ CSL_EdmaRegionHandle hRegion, /** The query to this API which indicates the status/setup * to be returned */ CSL_EdmaHwRegionStatusQuery myQuery, /** Placeholder to return the status; @a void* casted */ void *response);/**@}*/ /**@addtogroup CSL_EDMA_FUNCTION_CHANNEL@{*/ /* * ====================================================== * @func CSL_edmaChannelOpen * ====================================================== *//** @brief * Opens an EDMA channel to get access to the resources for a particular channel. * On success, returns a valid handle which can be * used to access the channel resources. On failure (when the channel is * already open), returns NULL. * A number of checks are performed when a channel is attempted to be opened. * */ /* ====================================================== * @arg edmaObj * Pointer to the EDMA Handle Object - to be allocated by the user. * @arg edmaNum * Instance Number of the EDMA. * @arg param * Channel specific parameters * @arg status * Pointer to CSL Status. * @ret Channel Handle * * * ====================================================== */ CSL_EdmaChanHandle CSL_edmaChannelOpen( /** Pointer to the channel object*/ CSL_EdmaChanObj *edmaObj, /** Module instance number */ CSL_InstNum edmaNum, /** Channel parameters */ CSL_EdmaChannelParam *param, /** place holder for the status */ CSL_Status *status);/* * ====================================================== * @func CSL_edmaChannelClose * ====================================================== *//** @brief * Close (Invalidate) a EDMA channel (passed as handle) after it has finished * operating. The channel cannot be accessed any more. The associated Param entries * are also deallocated. * *//* ====================================================== * @arg hEdma * Channel Handle * @ret CSL_Status * * ======================================================*/ CSL_Status CSL_edmaChannelClose( /** Channel Handle*/ CSL_EdmaChanHandle hEdma);/* * ====================================================== * @func CSL_edmaChannelSetup * ====================================================== *//** @brief * Returns the status of the setup call. * */ /* ====================================================== * @arg hEdma * Channel handle * @arg setup * Setup structure * @ret CSL Status * * ====================================================== */CSL_Status CSL_edmaChannelSetup( /** Channel Handle*/ CSL_EdmaChanHandle hEdma, /** Setup Parameters */ CSL_EdmaHwChannelSetup *setup);/* Higher level control API *//* * ====================================================== * @func CSL_edmaHwChannelControl * ====================================================== *//** @brief * Channel level control commands are handled by this API. */ /* ====================================================== * @arg hCh * Channel Handle * @arg cmd * Channel Command * @arg cmdArg * Additional command arguments are passed to the API using this. * The CSL function type casts to the appropriate arguments type depending on * the cmd. * @ret CSL_Status - CSL_SOK/CSL_ESYS_BADHANDLE * * ====================================================== */CSL_Status CSL_edmaHwChannelControl( /** Channel Handle*/ CSL_EdmaChanHandle hCh, /** The command to this API which indicates the action to be taken */ CSL_EdmaHwChannelControlCmd cmd, /** Optional argument @a void* casted */ void *cmdArg);/* top level query API *//* * ====================================================== * @func CSL_edmaGetHwChannelStatus * ====================================================== *//** @brief * Channel level queries to the EDMA module are handled through this API. */ /* ====================================================== * @arg hCh * Channel Handle * @arg myQuery * Channel query * @arg response * Additional query arguments are passed to the API using the response structure. * The query response is passed back to the user program using this pointer. * Depending on 'myQuery' this argument is type casted appropriately. * @ret CSL_Status - CSL_SOK/CSL_ESYS_BADHANDLE * * ====================================================== */CSL_Status CSL_edmaGetHwChannelStatus( /** Channel Handle*/ CSL_EdmaChanHandle hCh, /** The query to this API which indicates the status/setup * to be returned */ CSL_EdmaHwChannelStatusQuery myQuery, /** Placeholder to return the status @a void* casted */ void *response);/* * ====================================================== * @func CSL_edmaGetParamHandle * ====================================================== *//** @brief * Returns the handle to the requested parameter entry. * *//* ====================================================== * @arg hEdma * Channel Handle * @arg entryNum * Entry number desired. * @arg status * Pointer to the placeholder for the status. * @ret Handle to the Param entry * * * ======================================================*/CSL_EdmaParamHandle CSL_edmaGetParamHandle( /** a handle to the channel instance of the specified EDMA * obtained through the @a CSL_edmaOpen() call */ CSL_EdmaChanHandle hEdma, /** entry number to be acquired */ Uint16 entryNum, /** status of operation */ CSL_Status *status ); /* * ====================================================== * @func CSL_edmaParamSetup * ====================================================== *//** @brief * Configures a EDMA Parameter Entry * Sets up a particular EDMA/QDMA Parameter Entry using the * configurations specified in the Setup Structure. * * *//* ====================================================== * @arg hParam * Handle to the Parameter Handle * @arg void * Pointer to the CSL_EdmaParamSetup OR * CSL_EdmaParamHandle OR * CSL_EdmaChanHandle * depending on the 3rd argument. * @arg stage * Stage of the Setup i.e BASIC/LINK/CHAIN * @ret CSL_Status * * * ======================================================*/CSL_Status CSL_edmaParamSetup( /** a handle to the param entry acquired previously by the channel */ CSL_EdmaParamHandle hParam, /** Pointer to setup structure which contains the * information to program EDMA Channel to the startup state */ void *pSetup, /** Specifies the stage of Setup i.e Could be initial, link Setup or Chain Setup. These do not fall into the category of the Control Commands since this does not fall into the category of the run time change of parameter setups. The user is expected to follow this flow of parameter entry setup hence 3 diferent stages are required */ CSL_EdmaParamSetupStage stage );/* * ====================================================== * @func CSL_edmaParamWriteWord * ====================================================== *//** @brief * This is for the ease of QDMA channels. Once the QDMA channel transfer is triggered, * subsequent triggers may be done with only writing the modified words in * the parameter entry along with the trigger word. This API achieves this * this purpose. Most usage scenarios, the user should not be writing more than the * trigger word entry. * *//* ====================================================== * @arg hParamHndl * Handle to the Parameter Entry * @arg wordOffset * Word Offset at which the specified word is to be written * @arg word * Word itself that needs to be written * @ret CSL_Status CSL_SOK * * * ======================================================*/CSL_Status CSL_edmaParamWriteWord( /** a handle to the param entry acquired previously by the QDMA channel */ CSL_EdmaParamHandle hParamHndl, /** word offset in the 8 word paramater entry */ Uint16 wordOffset, /** word to be written */ Uint32 word );#endif/* Rev.No. Date/Time ECN No. Modifier *//* ------- --------- ------- -------- *//* 2 Aug 10:08:58 9 2272 xkeshavm *//* *//* To upload API CSL 0.51 Release *//********************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -