#ifndef _DRV_ADC_INTERNAL_H_ #define _DRV_ADC_INTERNAL_H_ #include "drv_adc_external.h" //ADC phase detect define #define POS_LINE_MODE 0 #define NEG_LINE_MODE 1 #define ALL_LINE_MODE 2 #define PHASE_SINGLE_LINE_MODE 3 #define PHASE_DOUBLE_LINE_MODE 4 #define PHASE_FRAME_MODE 5 #define NULLOP 0 typedef struct { UINT16 uwHStart; UINT16 uwHEnd; UINT16 uwVStart; UINT16 uwVEnd; } ADC_ColorCalibrationPosition_t; typedef enum{ ADC_CMD_AUTOADJUST, ADC_CMD_PHASE, #ifdef CONFIG_DDC_CI_SUPPORT ADC_CMD_DDCCI_OSD_PHASE, ADC_CMD_DDCCI_OSD_CLOCK, #endif ADC_CMD_CLOCK, ADC_CMD_GAIN_R, ADC_CMD_GAIN_G, ADC_CMD_GAIN_B, ADC_CMD_OFFSET_R, ADC_CMD_OFFSET_G, ADC_CMD_OFFSET_B, ADC_CMD_WHITEBALANCE }ADC_CMD; typedef struct _AdcInfo { INT32 iUserHpos; INT32 iUserVpos; INT32 iUserHsize; INT32 iUserVsize; INT32 iUserClock; INT32 iCheckVsyncWidthDelta; BOOL bSourceSelect; BOOL bADCEnable; BOOL bAutoGain; BOOL bReSearchGain; BOOL bAutoOffset; BOOL bReSearchOffset; BOOL bDoAuto; BOOL bInterlace; BOOL bHpol; BOOL bVpol; BOOL bNvramReset; BOOL bFactoryMode; BOOL bSyncDetection; BOOL bModeDetection; BOOL bModeChange; BOOL bTimerHandlerBusy; BOOL bTimeOut; BOOL bInterruptHappen; BOOL bInterruptHappenAgain; BOOL bNvramSave; BOOL bWBUpdate; BOOL bFirstPowerOn; BOOL bPredriverWork; UINT32 ucTimingModeIndex; UINT8 ucScreenMode; UINT8 ucSource; UINT32 ucVesaModeTableEntry; UINT8 ucPresetModeTableEntry; UINT8 ucUserModeTableEntry; UINT8 ucPresetModeSaveEntry; UINT8 ucUserModeSaveEntry; UINT8 ucInputMode; UINT8 ucMatchTablePtr; UINT8 ucUserPhase; INT8 scUserOSDPhase; UINT8 ucCompPhase; UINT8 ucClampPlacement; UINT8 ucClampDuration; UINT8 ucGainR; UINT8 ucGainG; UINT8 ucGainB; UINT8 ucOffsetR; UINT8 ucOffsetG; UINT8 ucOffsetB; UINT8 ucScartSyncDetection; UINT8 ucScartSyncStatus; UINT8 ucBotRange; UINT8 ucInterruptEvent; UINT16 ucRegLowWidth; UINT16 ucRegLineWidth; UINT8 ucSogThdHigh; UINT8 ucSogThdLow; UINT16 usLoopISRCounter; UINT16 usHcount; UINT16 usVcount; UINT16 usHsyncWidth; UINT32 ulVsyncWidth; UINT16 usHcountModeChange; UINT16 usVcountModeChange; UINT16 usPollingCounter; UINT16 usViewTime; UINT32 ulDeltaValue; UINT32 ulLastVcnt; UINT32 ulLastHcnt; UINT32 ulISRCounter; UINT16 ulRetlWorkQueue; UINT32 ulDbgCounter; UINT32 ulMacroVisionVStart; UINT32 ulNormalVideoVStart; UINT32 ulJiffsStart; UINT32 ulMClk; BOOL bPhases[32]; UINT8 ucBandgap; UINT32 ulChipID; #ifdef CONFIG_DDC_CI_SUPPORT INT32 DDCCI_OSDPhase; INT32 DDCCI_OSDClock; #endif }AdcInfo; typedef struct { UINT8 ucCurrentSearch; UINT8 ucMinSearch; INT32 ucMaxSearch; UINT32 ulCurrentSearchValue; UINT32 ulDelta; UINT32 ulV17Value; UINT32 ulV47Value; }BIN_SEARCH_DBG; typedef struct { BIN_SEARCH_DBG Data[10]; }BIN_SEARCH_DBG_ARRY; /* Select input channel */ enum { ADC_SV_INPUT_CHANNEL, ADC_AV1_INPUT_CHANNEL, ADC_AV2_INPUT_CHANNEL, ADC_AV3_INPUT_CHANNEL, ADC_SCART_INPUT_CHANNEL, ADC_AV_ON_G_CHANNEL, }; extern void DRV_ADC_GetAutoColorValue(ADCCalibrate_OSDGainOffset_t* pstConfig); //driver extern void ADC_SourceSelect(UINT8 ucSubInputSource, BOOL bEnable); //driver extern INT32 ADC_InfoGet(UINT8 ucFunID); extern void ADC_InfoSet(UINT8 ucFunID, INT32 iValue); extern void ADC_Standby(void); extern void ADC_WakeUp(void); extern void DRV_ADC_GetPhase(UINT8 *bPhase); extern void DRV_ADC_YCInitSetting(INT32 iInputSource); extern void DRV_ADC_SetAdcPinConfig(UINT32 itype, InputVideoConf_st InputSrcPin); extern void DRV_ADC_PLL100MHzToCVD2(void); extern void DRV_ADC_Pll_Divider_Power(BOOL Enable); extern UINT8 DRV_ADC_DgSourceStatus(void); extern void DRV_ADC_YppShareBandGap_Power(BOOL Enable); #ifdef CONFIG_DDC_CI_SUPPORT extern void DRV_ADC_Get_DDCCI_OSDPhase(UINT8 *Phase); extern void DRV_ADC_Get_DDCCI_OSDClock(UINT8 *Clock); #endif #endif