#ifndef _ADC_IOCTL_H_ #include "drv_adc_external.h" #define _ADC_IOCTL_H_ #define TPI_SUM_REPORT_GROUP_NUM 4 #define TVFE_ADC_ENABLE_POLARITY_CHECK 1 #define TVFE_ADC_DISABLE_POLARITY_CHECK 0 #define TVFE_ADC_ENABLE_TABLE_PARAM 0 #define TVFE_ADC_DISABLE_TABLE_PARAM 1 #define UP_SAMPLING_RATIO_1 10 // UP_SAMPLING_RATIO_1 / DECIMAL_BASE = 1 #define UP_SAMPLING_RATIO_1_5 15 // UP_SAMPLING_RATIO_1_5 / DECIMAL_BASE = 1.5 #define UP_SAMPLING_RATIO_2 20 // UP_SAMPLING_RATIO_2 / DECIMAL_BASE = 2 #define UP_SAMPLING_RATIO_4 40 // UP_SAMPLING_RATIO_4 / DECIMAL_BASE = 4 typedef struct { unsigned int wRGain; unsigned int wGGain; unsigned int wBGain; unsigned int wROffset; unsigned int wGOffset; unsigned int wBOffset; unsigned int wClock; unsigned int wHStart; //! tpi input window hstart position unsigned int wVStart; //! tpi input window vstart position unsigned char bPhase; unsigned char fTunedOKFlag; } tvfe_PCAutoTuneResult_st; /* Enumeration of PC auto tuning command */ typedef enum { TVFE_AUTO_TUNE_PHASE = 0, TVFE_AUTO_TUNE_CLOCK, TVFE_AUTO_TUNE_POSITION, TVFE_AUTO_TUNE_INIT, TVFE_AUTO_TUNE_DONE, TVFE_AUTO_TUNE_ALL, } TVFE_PCAutoTuneCommand_e; /* Enumeration of PC auto tuning status */ typedef enum { TVFE_AUTO_TUNE_RUNNING = 0, TVFE_AUTO_TUNE_COMPLETE, TVFE_AUTO_TUNE_NOT_PC, } TVFE_PCAutoTuneStatus_e; /* Enumeration of PC auto color pattern, and just used by facroty menu */ typedef enum { TVFE_ADC_AUTO_COLOR_BAR = 0, TVFE_ADC_AUTO_GRAY_BAR, } TVFE_ADCAutoColorPattern_e; /* YPbPr Auto SOG Status */ typedef enum { TVFE_YPBPR_AUTOSOG_Idle, TVFE_YPBPR_AUTOSOG_Start, TVFE_YPBPR_AUTOSOG_Roughly, TVFE_YPBPR_AUTOSOG_Roughly_Debounce, TVFE_YPBPR_AUTOSOG_0x10, TVFE_YPBPR_AUTOSOG_0x10_Debounce, TVFE_YPBPR_AUTOSOG_0x08, TVFE_YPBPR_AUTOSOG_0x08_Debounce, TVFE_YPBPR_AUTOSOG_0x04, TVFE_YPBPR_AUTOSOG_0x04_Debounce, TVFE_YPBPR_AUTOSOG_0x02, TVFE_YPBPR_AUTOSOG_0x02_Debounce, TVFE_YPBPR_AUTOSOG_Error, TVFE_YPBPR_AUTOSOG_Finish } TVFE_YPbPr_AutoSOGState_e; typedef enum { VAFE_AUTOTUNE_NULL=0x000, VAFE_AUTOTUNE_IDLE, VAFE_AUTOTUNE_INITIAL, VAFE_AUTOTUNE_PRE_PROCESS, VAFE_AUTOTUNE_PHASE_MASK=0x100, VAFE_AUTOTUNE_PHASE_INIT, VAFE_AUTOTUNE_PHASE_ROUGH_TUNE, VAFE_AUTOTUNE_PHASE, VAFE_AUTOTUNE_PHASE_FINISH, VAFE_AUTOTUNE_CLOCK_MASK=0x200, VAFE_AUTOTUNE_CLOCK_INIT, VAFE_AUTOTUNE_CLOCK, VAFE_AUTOTUNE_CLOCK_ROUGH_TUNE, VAFE_AUTOTUNE_CLOCK_FINE_TUNE, VAFE_AUTOTUNE_CLOCK_FINISH, VAFE_AUTOTUNE_POSITION_MASK=0x300, VAFE_AUTOTUNE_POSITION_INIT, VAFE_AUTOTUNE_POSITION, VAFE_AUTOTUNE_POSITION_FINISH, VAFE_AUTOTUNE_FINAL_MASK=0x400, VAFE_AUTOTUNE_FINAL_OK, VAFE_AUTOTUNE_FINAL_ERR, VAFE_AUTOTUNE_POST_PROCESS, } TVFE_AutoTuneState_e; /* YPbPr Auto Phase Status */ typedef enum { VAFE_YPBPR_AUTOPHASE_IDLE, VAFE_YPBPR_AUTOPHASE_DETAIL_CALI_INIT, VAFE_YPBPR_AUTOPHASE_DETAIL_CALI, VAFE_YPBPR_AUTOPHASE_DETAIL_CALI_SUCCESS, VAFE_YPBPR_AUTOPHASE_DETAIL_CALI_FAIL_IDLE, VAFE_YPBPR_AUTOPHASE_CHK_STATIC_TO_MOTION, VAFE_YPBPR_AUTOPHASE_CHK_MOTION_TO_STATIC, VAFE_YPBPR_AUTOPHASE_FINE_TUNE, VAFE_YPBPR_AUTOPHASE_FINE_TUNE_OK_IDLE, } TVFE_YPbPr_AutoPhaseState_e; /* Enumeration of YPbPr phase status */ /* must stay here */ typedef enum { TVFE_YPBPR_AUTO_PHASE_RUNNING = 0, TVFE_YPBPR_AUTO_PHASE_COMPLETE, TVFE_YPBPR_AUTO_PHASE_NOT_YPBPR, } TVFE_YPbPrAutoPhaseStatus_e; typedef enum { TVFE_1TIMES_SAMPLING = 0, TVFE_2TIMES_SAMPLING, TVFE_4TIMES_SAMPLING, } TVFE_SamplingMode_e; typedef enum { TVFE_VAFE_PHASE_32 = 0, TVFE_VAFE_PHASE_64, } TVFE_VAFE_PhaseDefine_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; unsigned char Cmd_AdcAdjust(unsigned char main_cmd,int value); unsigned char Cmd_AdcGetAutoColor(ADCCalibrate_OSDGainOffset_t *pAdc); unsigned char Cmd_AdcGetAdcPhase(UINT8 *bPhase); #endif