📄 csl_vpss.h
字号:
/** Set the number of DMA cycles to wait in between DMA read requests for the resz reads
(0-32736)(must be a multiple of 32)*/
Uint16 reszRdExp;
/** Set the number of DMA cycles to wait in between DMA read requests for the hist reads
(0-1023) */
Uint16 histRdExp;
}CSL_VpssHwSetup;
/**************************************************************************\
* VPSS global function declarations
\**************************************************************************/
/** This function is idempotent in that calling it many times is same as
* calling it once. This function initializes the MS CSL data structures.
*
* <b> Usage Constraints: </b>
* This function should be called before using any of the CSL APIs
*
* @b Example:
* @verbatim
...
if (CSL_SOK != CSL_vpssInit()) {
return;
}
@endverbatim
*
* @return returns the status of the operation
*
*/
CSL_Status CSL_vpssInit(
void
);
/** The open call sets up the data structures for the particular instance of
* VPSS device. The device can be re-opened anytime after it has been normally
* closed if so required. The handle returned by this call is input as an essential
* argument for rest of the APIs described for this module.
*
* <b> Usage Constraints: </b>
* The CSL system as well as VPSS must be successfully initialized
* via @a CSL_vpssInit() before calling this function. Memory for the @a CSL_vpssObj
* must be allocated outside this call. This object must be retained while usage of
* this peripheral.
*
* @b Example:
* @verbatim
CSL_VpssObj vpssObj;
CSL_Status status;
...
hVpss = CSL_vpssOpen(&vpssObj,
CSL_VPSS_0,
CSL_EXCLUSIVE,
&status);
@endverbatim
*
* @return returns a handle @a CSL_VpssHandle to the requested instance of
* VPSS if the call is successful, otherwise, a @a NULL is returned.
*
*/
CSL_VpssHandle CSL_vpssOpen (
/** Pointer to the object that holds reference to the
* instance of VPSS requested after the call
*/
CSL_VpssObj *hVpssObj,
/** Instance of VPSS to which a handle is requested
*/
CSL_VpssNum vpssNum,
/** Specifies if VPSS should be opened with exclusive or
* shared access to the associate pins
*/
CSL_OpenMode openMode,
/** This returns the status (success/errors) of the call
*/
CSL_Status *status
);
/** The Close call releases the resource and appropriate shared pins.
*
* <b> Usage Constraints: </b>
* Both @a CSL_vpssInit() and @a CSL_vpssOpen() must be called successfully
* in that order before @a CSL_vpssClose() can be called.
*
* @b Example:
* @verbatim
CSL_VpssHandle hVpss;
...
CSL_vpssClose(hVpss);
@endverbatim
*
* @return returns the status of the operation (see @a CSL_Status)
*
*/
CSL_Status CSL_vpssClose(
/** Pointer to the object that holds reference to the
* instance of VPSS requested after the call
*/
CSL_VpssHandle hVpss
);
/** This function initializes the device registers with the appropriate values
* provided through the HwSetup Data structure. This is only a place holder structure.
* @a CSL_vpssHwSetup.
*
* <b> Usage Constraints: </b>
* Both @a CSL_vpssInit() and @a CSL_vpssOpen() must be called
* successfully in that order before this function can be called. The user
* has to allocate space for & fill in the main setup structure appropriately
* before calling this function
*
* @b Example:
* @verbatim
CSL_vpssHandle hVpss;
CSL_VpssHwSetup hwSetup = CSL_VPSS_HWSETUP_DEFAULTS;
CSL_vpssHwSetup(hVpss, &hwSetup);
@endverbatim
*
* @return Returns the status of the setup operation
*
*/
CSL_Status CSL_vpssHwSetup(
/** Pointer to the object that holds reference to the
* instance of VPSS requested after the call
*/
CSL_VpssHandle hVpss,
/** Pointer to setup structure which contains the
* information to program VPSS to a useful state
*/
CSL_VpssHwSetup *setup
);
/** Control operations for the VPSS. For a particular control operation, the
* pointer to the corresponding data type needs to be passed as argument HwControl
* function Call. All the arguments (Structure elements included) passed to the
* HwControl function are inputs. For the list of commands supported and argument
* type that can be @a void* casted & passed with a particular command refer to
* @a CSL_VpssHwControlCmd.
*
* <b> Usage Constraints: </b>
* Both @a CSL_vpssInit() and @a CSL_vpssOpen() must be called successfully
* in that order before @a CSL_vpssHwControl() can be called. For the
* argument type that can be @a void* casted & passed with a particular command
* refer to @a CSL_VpssHwControlCmd
*
* @b Example:
* @verbatim
CSL_VpssHandle hVpss;
CSL_Status status;
...
status = CSL_vpssHwControl(hVpss,
CSL_VPSS_CMD_ENABLE,
&command);
@endverbatim
*
* @return returns the status of the operation (see @a CSL_Status)
*
*/
CSL_Status CSL_vpssHwControl(
/** Pointer to the object that holds reference to the
* instance of VPSS requested after the call
*/
CSL_VpssHandle hVpss,
/** The command to this API indicates the action to be taken
*/
CSL_VpssHwControlCmd cmd,
/** An optional argument @a void* casted
*/
void *arg
);
/** This function is used to read the current device configuration, status flags
* and the value present associated registers. Following table details the various
* status queries supported and the associated data structure to record the response.
* User should allocate memory for the said data type and pass its pointer as an
* unadorned void* argument to the status query call. For details about the various
* status queries supported and the associated data structure to record the response,
* refer to @a CSL_VpssHwStatusQuery
*
* <b> Usage Constraints: </b>
* Both @a CSL_vpssInit() and @a CSL_vpssOpen() must be called successfully
* in that order before @a CSL_vpssGetHwStatus() can be called. For the
* argument type that can be @a void* casted & passed with a particular command
* refer to @a CSL_VpssHwStatusQuery
*
* @b Example:
* @verbatim
CSL_VpssHandle hVpss;
CSL_Status status;
Uint16 response;
...
status = CSL_vpssGetHwStatus(hVpssbe,
CSL_VPSS_QUERY_,
&response);
@endverbatim
*
* @return Returns the status of the operation (see @a CSL_Status)
*
*/
CSL_Status CSL_vpssGetHwStatus(
/** Pointer to the object that holds reference to the
* instance of VPSS requested after the call
*/
CSL_VpssHandle hVpss,
/** The query to this API which indicates the status
* to be returned
*/
CSL_VpssHwStatusQuery query,
/** Placeholder to return the status. @a void* casted */
void *response
);
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -