⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 csl_vpss.h

📁 TI达芬奇dm644x各硬件模块测试代码
💻 H
📖 第 1 页 / 共 2 页
字号:
		/** 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 + -