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

📄 vtg.h

📁 ST5100 driver files for ST chipset
💻 H
字号:
/********************************************************************************

File Name   : vtg.h

Description : VTG header

COPYRIGHT (C) STMicroelectronics 2004.

********************************************************************************/

#ifndef __VTG_H
#define __VTG_H

#include "stvtg.h"

/*===============================================================================
    Structure and Type Definitions
============================================================================== */

typedef struct
{
    ST_DeviceName_t        DeviceName;
    STVTG_Handle_t        *Handle_p;
    STVTG_DeviceType_t     DeviceType;
    EVT_DeviceId_t         EVTDeviceId;
	ST_DeviceName_t        CLKRVDeviceName;
	U32                    InterruptNumber;
    U32                    InterruptLevel;
    U32                    BaseAddress;
    U32                    DevBaseAddress;
    STEVT_Handle_t         EvtHandle;     /* Keep EVT handle to unsubscribe and close event */
} VTG_DeviceHandle_t;

/*===============================================================================
    Global Variables
============================================================================== */

extern VTG_DeviceHandle_t   VtgDeviceHandle[];

/*===============================================================================
    Global definitions
=============================================================================== */

#define VTG_GET_HANDLE(h,id) (VtgDeviceHandle[(h)].Handle_p[(id)])
#define VTG_GET_DEVICENAME(h) (VtgDeviceHandle[(h)].DeviceName)
#define VTG_GET_DEVICETYPE(h) (VtgDeviceHandle[(h)].DeviceType)
#define VTG_GET_EVTDEVICEID(h) (VtgDeviceHandle[(h)].EVTDeviceId)
#define VTG_GET_CLKRVDEVICENAME(h) (VtgDeviceHandle[(h)].CLKRVDeviceName)
#define VTG_GET_INTNUMBER(h) (VtgDeviceHandle[(h)].InterruptNumber)
#define VTG_GET_INTLEVEL(h) (VtgDeviceHandle[(h)].InterruptLevel)
#define VTG_GET_BASEADDRESS(h) (VtgDeviceHandle[(h)].BaseAddress)
#define VTG_GET_DEVBASEADDRESS(h) (VtgDeviceHandle[(h)].DevBaseAddress)
#define VTG_GET_EVTHANDLE(h) (VtgDeviceHandle[(h)].EvtHandle)

#define VTG_HANDLE_NULL (STVTG_Handle_t)NULL

/*===============================================================================
    Global function declarations
============================================================================== */

/*-------------------------------------------------------------------------------
 * Function : VTG_Close
 *            close VTG
 * Input    : DeviceId, HandleId
 * Output   :
 * Return   : Error Code
 * --------------------------------------------------------------------------- */
ST_ErrorCode_t VTG_Close( VTG_DeviceId_t DeviceId, VTG_HandleId_t HandleId );

/*-------------------------------------------------------------------------------
 * Function : VTG_GetMode
 *            Get VTG Mode
 * Input    : DeviceId, HandleId
 * Output   : VTGModeParams_p
 * Return   : Error Code
 * --------------------------------------------------------------------------- */
ST_ErrorCode_t VTG_GetMode( VTG_DeviceId_t DeviceId, VTG_HandleId_t HandleId,
                            STVTG_ModeParams_t *VTGModeParams_p );

/*-------------------------------------------------------------------------------
 * Function : VTG_GetOptionalConfiguration
 *            Get Optional Configuration
 * Input    : DeviceId, HandleId
 * Output   : VTGModeParams_p
 * Return   : Error Code
 * --------------------------------------------------------------------------- */
ST_ErrorCode_t VTG_GetOptionalConfiguration( VTG_DeviceId_t DeviceId, VTG_HandleId_t HandleId );

/*-------------------------------------------------------------------------------
 * Function : VTG_Init
 *            initialise VTG
 * Input    : VTG DeviceId
 * Output   :
 * Return   : Error Code
 * --------------------------------------------------------------------------- */
ST_ErrorCode_t VTG_Init( VTG_DeviceId_t DeviceId );

/*-------------------------------------------------------------------------------
 * Function : VTG_Open
 *            open VTG
 * Input    : DeviceId, HandleId
 * Output   :
 * Return   : Error Code
 * --------------------------------------------------------------------------- */
ST_ErrorCode_t VTG_Open( VTG_DeviceId_t DeviceId, VTG_HandleId_t HandleId );

/*-------------------------------------------------------------------------------
 * Function : VTG_SetMode
 *            Set VTG Mode
 * Input    : DeviceId, HandleId, Timing Mode
 * Output   :
 * Return   : Error Code
 * ---------------------------------------------------------------------------- */
ST_ErrorCode_t VTG_SetMode( VTG_DeviceId_t DeviceId, VTG_HandleId_t HandleId, STVTG_TimingMode_t TimingMode );

/*-------------------------------------------------------------------------------
 * Function : VTG_SetOptionalConfiguration
 *            Set VTG Optional Configuration
 * Input    : DeviceId, HandleId, Timing Mode
 * Output   :
 * Return   : Error Code
 * --------------------------------------------------------------------------- */
ST_ErrorCode_t VTG_SetOptionalConfiguration( VTG_DeviceId_t DeviceId, VTG_HandleId_t HandleId,
                                             STVTG_OptionalConfiguration_t *VTGOption );

/*-------------------------------------------------------------------------------
 * Function : VTG_SetSlaveModeParams
 *            Set VTG Slave Mode Parameters
 * Input    : DeviceId, HandleId, SlaveModeParams_p
 * Output   :
 * Return   : Error Code
 * --------------------------------------------------------------------------- */
ST_ErrorCode_t VTG_SetSlaveModeParams( VTG_DeviceId_t DeviceId, VTG_HandleId_t HandleId,
                                       STVTG_SlaveModeParams_t *SlaveModeParams_p );

/*-------------------------------------------------------------------------------
 * Function : VTG_Term
 *            terminate VTG
 * Input    : DeviceId, ForceTerminate
 * Output   :
 * Return   : Error Code
 * --------------------------------------------------------------------------- */
ST_ErrorCode_t VTG_Term( VTG_DeviceId_t DeviceId, BOOL ForceTerminate );

/*-------------------------------------------------------------------------------
 * Function : VTG_InitCommands
 *            Definition of the macros
 *            (commands and constants to be used with Testtool)
 * Input    :
 * Output   :
 * Return   : TRUE if error, FALSE if success
 * --------------------------------------------------------------------------- */
BOOL VTG_InitCommand( void );

/*-------------------------------------------------------------------------------
 * Function : VTG_WaitVsync
 *            Wait for a VSYNC, Top or Bottom on choosen VTG Device
 * Input    : VTG_DeviceId_t VTGDeviceId, STVTG_VSYNC_t VsyncType
 * Output   : N/A
 * Return   : Error Code
 * --------------------------------------------------------------------------- */
ST_ErrorCode_t VTG_WaitVsync(VTG_DeviceId_t VTGDeviceId, STVTG_VSYNC_t VsyncType );

#endif

/* EOF */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -