adc_ioctl.h 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. #ifndef _ADC_IOCTL_H_
  2. #include "drv_adc_external.h"
  3. #define _ADC_IOCTL_H_
  4. #define TPI_SUM_REPORT_GROUP_NUM 4
  5. #define TVFE_ADC_ENABLE_POLARITY_CHECK 1
  6. #define TVFE_ADC_DISABLE_POLARITY_CHECK 0
  7. #define TVFE_ADC_ENABLE_TABLE_PARAM 0
  8. #define TVFE_ADC_DISABLE_TABLE_PARAM 1
  9. #define UP_SAMPLING_RATIO_1 10 // UP_SAMPLING_RATIO_1 / DECIMAL_BASE = 1
  10. #define UP_SAMPLING_RATIO_1_5 15 // UP_SAMPLING_RATIO_1_5 / DECIMAL_BASE = 1.5
  11. #define UP_SAMPLING_RATIO_2 20 // UP_SAMPLING_RATIO_2 / DECIMAL_BASE = 2
  12. #define UP_SAMPLING_RATIO_4 40 // UP_SAMPLING_RATIO_4 / DECIMAL_BASE = 4
  13. typedef struct {
  14. unsigned int wRGain;
  15. unsigned int wGGain;
  16. unsigned int wBGain;
  17. unsigned int wROffset;
  18. unsigned int wGOffset;
  19. unsigned int wBOffset;
  20. unsigned int wClock;
  21. unsigned int wHStart; //! tpi input window hstart position
  22. unsigned int wVStart; //! tpi input window vstart position
  23. unsigned char bPhase;
  24. unsigned char fTunedOKFlag;
  25. } tvfe_PCAutoTuneResult_st;
  26. /* Enumeration of PC auto tuning command */
  27. typedef enum {
  28. TVFE_AUTO_TUNE_PHASE = 0,
  29. TVFE_AUTO_TUNE_CLOCK,
  30. TVFE_AUTO_TUNE_POSITION,
  31. TVFE_AUTO_TUNE_INIT,
  32. TVFE_AUTO_TUNE_DONE,
  33. TVFE_AUTO_TUNE_ALL,
  34. } TVFE_PCAutoTuneCommand_e;
  35. /* Enumeration of PC auto tuning status */
  36. typedef enum {
  37. TVFE_AUTO_TUNE_RUNNING = 0,
  38. TVFE_AUTO_TUNE_COMPLETE,
  39. TVFE_AUTO_TUNE_NOT_PC,
  40. } TVFE_PCAutoTuneStatus_e;
  41. /* Enumeration of PC auto color pattern, and just used by facroty menu */
  42. typedef enum {
  43. TVFE_ADC_AUTO_COLOR_BAR = 0,
  44. TVFE_ADC_AUTO_GRAY_BAR,
  45. } TVFE_ADCAutoColorPattern_e;
  46. /* YPbPr Auto SOG Status */
  47. typedef enum {
  48. TVFE_YPBPR_AUTOSOG_Idle,
  49. TVFE_YPBPR_AUTOSOG_Start,
  50. TVFE_YPBPR_AUTOSOG_Roughly,
  51. TVFE_YPBPR_AUTOSOG_Roughly_Debounce,
  52. TVFE_YPBPR_AUTOSOG_0x10,
  53. TVFE_YPBPR_AUTOSOG_0x10_Debounce,
  54. TVFE_YPBPR_AUTOSOG_0x08,
  55. TVFE_YPBPR_AUTOSOG_0x08_Debounce,
  56. TVFE_YPBPR_AUTOSOG_0x04,
  57. TVFE_YPBPR_AUTOSOG_0x04_Debounce,
  58. TVFE_YPBPR_AUTOSOG_0x02,
  59. TVFE_YPBPR_AUTOSOG_0x02_Debounce,
  60. TVFE_YPBPR_AUTOSOG_Error,
  61. TVFE_YPBPR_AUTOSOG_Finish
  62. } TVFE_YPbPr_AutoSOGState_e;
  63. typedef enum
  64. {
  65. VAFE_AUTOTUNE_NULL=0x000,
  66. VAFE_AUTOTUNE_IDLE,
  67. VAFE_AUTOTUNE_INITIAL,
  68. VAFE_AUTOTUNE_PRE_PROCESS,
  69. VAFE_AUTOTUNE_PHASE_MASK=0x100,
  70. VAFE_AUTOTUNE_PHASE_INIT,
  71. VAFE_AUTOTUNE_PHASE_ROUGH_TUNE,
  72. VAFE_AUTOTUNE_PHASE,
  73. VAFE_AUTOTUNE_PHASE_FINISH,
  74. VAFE_AUTOTUNE_CLOCK_MASK=0x200,
  75. VAFE_AUTOTUNE_CLOCK_INIT,
  76. VAFE_AUTOTUNE_CLOCK,
  77. VAFE_AUTOTUNE_CLOCK_ROUGH_TUNE,
  78. VAFE_AUTOTUNE_CLOCK_FINE_TUNE,
  79. VAFE_AUTOTUNE_CLOCK_FINISH,
  80. VAFE_AUTOTUNE_POSITION_MASK=0x300,
  81. VAFE_AUTOTUNE_POSITION_INIT,
  82. VAFE_AUTOTUNE_POSITION,
  83. VAFE_AUTOTUNE_POSITION_FINISH,
  84. VAFE_AUTOTUNE_FINAL_MASK=0x400,
  85. VAFE_AUTOTUNE_FINAL_OK,
  86. VAFE_AUTOTUNE_FINAL_ERR,
  87. VAFE_AUTOTUNE_POST_PROCESS,
  88. } TVFE_AutoTuneState_e;
  89. /* YPbPr Auto Phase Status */
  90. typedef enum
  91. {
  92. VAFE_YPBPR_AUTOPHASE_IDLE,
  93. VAFE_YPBPR_AUTOPHASE_DETAIL_CALI_INIT,
  94. VAFE_YPBPR_AUTOPHASE_DETAIL_CALI,
  95. VAFE_YPBPR_AUTOPHASE_DETAIL_CALI_SUCCESS,
  96. VAFE_YPBPR_AUTOPHASE_DETAIL_CALI_FAIL_IDLE,
  97. VAFE_YPBPR_AUTOPHASE_CHK_STATIC_TO_MOTION,
  98. VAFE_YPBPR_AUTOPHASE_CHK_MOTION_TO_STATIC,
  99. VAFE_YPBPR_AUTOPHASE_FINE_TUNE,
  100. VAFE_YPBPR_AUTOPHASE_FINE_TUNE_OK_IDLE,
  101. } TVFE_YPbPr_AutoPhaseState_e;
  102. /* Enumeration of YPbPr phase status */
  103. /* must stay here */
  104. typedef enum {
  105. TVFE_YPBPR_AUTO_PHASE_RUNNING = 0,
  106. TVFE_YPBPR_AUTO_PHASE_COMPLETE,
  107. TVFE_YPBPR_AUTO_PHASE_NOT_YPBPR,
  108. } TVFE_YPbPrAutoPhaseStatus_e;
  109. typedef enum {
  110. TVFE_1TIMES_SAMPLING = 0,
  111. TVFE_2TIMES_SAMPLING,
  112. TVFE_4TIMES_SAMPLING,
  113. } TVFE_SamplingMode_e;
  114. typedef enum
  115. {
  116. TVFE_VAFE_PHASE_32 = 0,
  117. TVFE_VAFE_PHASE_64,
  118. } TVFE_VAFE_PhaseDefine_t;
  119. typedef enum{
  120. ADC_CMD_AUTOADJUST,
  121. ADC_CMD_PHASE,
  122. #ifdef CONFIG_DDC_CI_SUPPORT
  123. ADC_CMD_DDCCI_OSD_PHASE,
  124. ADC_CMD_DDCCI_OSD_CLOCK,
  125. #endif
  126. ADC_CMD_CLOCK,
  127. ADC_CMD_GAIN_R,
  128. ADC_CMD_GAIN_G,
  129. ADC_CMD_GAIN_B,
  130. ADC_CMD_OFFSET_R,
  131. ADC_CMD_OFFSET_G,
  132. ADC_CMD_OFFSET_B,
  133. ADC_CMD_WHITEBALANCE
  134. }ADC_CMD;
  135. unsigned char Cmd_AdcAdjust(unsigned char main_cmd,int value);
  136. unsigned char Cmd_AdcGetAutoColor(ADCCalibrate_OSDGainOffset_t *pAdc);
  137. unsigned char Cmd_AdcGetAdcPhase(UINT8 *bPhase);
  138. #endif