drv_adc_internal.h 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. #ifndef _DRV_ADC_INTERNAL_H_
  2. #define _DRV_ADC_INTERNAL_H_
  3. #include "drv_adc_external.h"
  4. //ADC phase detect define
  5. #define POS_LINE_MODE 0
  6. #define NEG_LINE_MODE 1
  7. #define ALL_LINE_MODE 2
  8. #define PHASE_SINGLE_LINE_MODE 3
  9. #define PHASE_DOUBLE_LINE_MODE 4
  10. #define PHASE_FRAME_MODE 5
  11. #define NULLOP 0
  12. typedef struct
  13. {
  14. UINT16 uwHStart;
  15. UINT16 uwHEnd;
  16. UINT16 uwVStart;
  17. UINT16 uwVEnd;
  18. } ADC_ColorCalibrationPosition_t;
  19. typedef enum{
  20. ADC_CMD_AUTOADJUST,
  21. ADC_CMD_PHASE,
  22. #ifdef CONFIG_DDC_CI_SUPPORT
  23. ADC_CMD_DDCCI_OSD_PHASE,
  24. ADC_CMD_DDCCI_OSD_CLOCK,
  25. #endif
  26. ADC_CMD_CLOCK,
  27. ADC_CMD_GAIN_R,
  28. ADC_CMD_GAIN_G,
  29. ADC_CMD_GAIN_B,
  30. ADC_CMD_OFFSET_R,
  31. ADC_CMD_OFFSET_G,
  32. ADC_CMD_OFFSET_B,
  33. ADC_CMD_WHITEBALANCE
  34. }ADC_CMD;
  35. typedef struct _AdcInfo
  36. {
  37. INT32 iUserHpos;
  38. INT32 iUserVpos;
  39. INT32 iUserHsize;
  40. INT32 iUserVsize;
  41. INT32 iUserClock;
  42. INT32 iCheckVsyncWidthDelta;
  43. BOOL bSourceSelect;
  44. BOOL bADCEnable;
  45. BOOL bAutoGain;
  46. BOOL bReSearchGain;
  47. BOOL bAutoOffset;
  48. BOOL bReSearchOffset;
  49. BOOL bDoAuto;
  50. BOOL bInterlace;
  51. BOOL bHpol;
  52. BOOL bVpol;
  53. BOOL bNvramReset;
  54. BOOL bFactoryMode;
  55. BOOL bSyncDetection;
  56. BOOL bModeDetection;
  57. BOOL bModeChange;
  58. BOOL bTimerHandlerBusy;
  59. BOOL bTimeOut;
  60. BOOL bInterruptHappen;
  61. BOOL bInterruptHappenAgain;
  62. BOOL bNvramSave;
  63. BOOL bWBUpdate;
  64. BOOL bFirstPowerOn;
  65. BOOL bPredriverWork;
  66. UINT32 ucTimingModeIndex;
  67. UINT8 ucScreenMode;
  68. UINT8 ucSource;
  69. UINT32 ucVesaModeTableEntry;
  70. UINT8 ucPresetModeTableEntry;
  71. UINT8 ucUserModeTableEntry;
  72. UINT8 ucPresetModeSaveEntry;
  73. UINT8 ucUserModeSaveEntry;
  74. UINT8 ucInputMode;
  75. UINT8 ucMatchTablePtr;
  76. UINT8 ucUserPhase;
  77. INT8 scUserOSDPhase;
  78. UINT8 ucCompPhase;
  79. UINT8 ucClampPlacement;
  80. UINT8 ucClampDuration;
  81. UINT8 ucGainR;
  82. UINT8 ucGainG;
  83. UINT8 ucGainB;
  84. UINT8 ucOffsetR;
  85. UINT8 ucOffsetG;
  86. UINT8 ucOffsetB;
  87. UINT8 ucScartSyncDetection;
  88. UINT8 ucScartSyncStatus;
  89. UINT8 ucBotRange;
  90. UINT8 ucInterruptEvent;
  91. UINT16 ucRegLowWidth;
  92. UINT16 ucRegLineWidth;
  93. UINT8 ucSogThdHigh;
  94. UINT8 ucSogThdLow;
  95. UINT16 usLoopISRCounter;
  96. UINT16 usHcount;
  97. UINT16 usVcount;
  98. UINT16 usHsyncWidth;
  99. UINT32 ulVsyncWidth;
  100. UINT16 usHcountModeChange;
  101. UINT16 usVcountModeChange;
  102. UINT16 usPollingCounter;
  103. UINT16 usViewTime;
  104. UINT32 ulDeltaValue;
  105. UINT32 ulLastVcnt;
  106. UINT32 ulLastHcnt;
  107. UINT32 ulISRCounter;
  108. UINT16 ulRetlWorkQueue;
  109. UINT32 ulDbgCounter;
  110. UINT32 ulMacroVisionVStart;
  111. UINT32 ulNormalVideoVStart;
  112. UINT32 ulJiffsStart;
  113. UINT32 ulMClk;
  114. BOOL bPhases[32];
  115. UINT8 ucBandgap;
  116. UINT32 ulChipID;
  117. #ifdef CONFIG_DDC_CI_SUPPORT
  118. INT32 DDCCI_OSDPhase;
  119. INT32 DDCCI_OSDClock;
  120. #endif
  121. }AdcInfo;
  122. typedef struct
  123. {
  124. UINT8 ucCurrentSearch;
  125. UINT8 ucMinSearch;
  126. INT32 ucMaxSearch;
  127. UINT32 ulCurrentSearchValue;
  128. UINT32 ulDelta;
  129. UINT32 ulV17Value;
  130. UINT32 ulV47Value;
  131. }BIN_SEARCH_DBG;
  132. typedef struct
  133. {
  134. BIN_SEARCH_DBG Data[10];
  135. }BIN_SEARCH_DBG_ARRY;
  136. /* Select input channel */
  137. enum
  138. {
  139. ADC_SV_INPUT_CHANNEL,
  140. ADC_AV1_INPUT_CHANNEL,
  141. ADC_AV2_INPUT_CHANNEL,
  142. ADC_AV3_INPUT_CHANNEL,
  143. ADC_SCART_INPUT_CHANNEL,
  144. ADC_AV_ON_G_CHANNEL,
  145. };
  146. extern void DRV_ADC_GetAutoColorValue(ADCCalibrate_OSDGainOffset_t* pstConfig); //driver
  147. extern void ADC_SourceSelect(UINT8 ucSubInputSource, BOOL bEnable); //driver
  148. extern INT32 ADC_InfoGet(UINT8 ucFunID);
  149. extern void ADC_InfoSet(UINT8 ucFunID, INT32 iValue);
  150. extern void ADC_Standby(void);
  151. extern void ADC_WakeUp(void);
  152. extern void DRV_ADC_GetPhase(UINT8 *bPhase);
  153. extern void DRV_ADC_YCInitSetting(INT32 iInputSource);
  154. extern void DRV_ADC_SetAdcPinConfig(UINT32 itype, InputVideoConf_st InputSrcPin);
  155. extern void DRV_ADC_PLL100MHzToCVD2(void);
  156. extern void DRV_ADC_Pll_Divider_Power(BOOL Enable);
  157. extern UINT8 DRV_ADC_DgSourceStatus(void);
  158. extern void DRV_ADC_YppShareBandGap_Power(BOOL Enable);
  159. #ifdef CONFIG_DDC_CI_SUPPORT
  160. extern void DRV_ADC_Get_DDCCI_OSDPhase(UINT8 *Phase);
  161. extern void DRV_ADC_Get_DDCCI_OSDClock(UINT8 *Clock);
  162. #endif
  163. #endif