drv_sif_interface.h 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298
  1. #ifndef _DRV_SIF_INTERFACE_H
  2. #define _DRV_SIF_INTERFACE_H
  3. #include <drv_types.h>
  4. typedef enum
  5. {
  6. TVFE_AUDIO_SIF_AVAIL_ANALOG_MONO = 0x00000001,
  7. TVFE_AUDIO_SIF_AVAIL_NICAM_MONO = 0x00000002,
  8. TVFE_AUDIO_SIF_AVAIL_STEREO = 0x00000004,
  9. TVFE_AUDIO_SIF_AVAIL_DUAL = 0x00000008,
  10. TVFE_AUDIO_SIF_AVAIL_SAP = 0x00000010,
  11. TVFE_AUDIO_SIF_AVAIL_ERROR = 0x40000000,
  12. } TVFE_AudioSIFAvailableMode_e;
  13. typedef enum
  14. {
  15. TVFE_AUDIO_SIF_MODE_ANALOG_MONO = 0,
  16. TVFE_AUDIO_SIF_MODE_NICAM_MONO,
  17. TVFE_AUDIO_SIF_MODE_STEREO,
  18. TVFE_AUDIO_SIF_MODE_DUAL_I,
  19. TVFE_AUDIO_SIF_MODE_DUAL_II,
  20. TVFE_AUDIO_SIF_MODE_DUAL_I_II,
  21. TVFE_AUDIO_SIF_MODE_SAP,
  22. TVFE_AUDIO_SIF_MODE_ERR,
  23. } TVFE_AudioSIFMode_e;
  24. //******************************************************
  25. // For Setting ASD threshold and force system,
  26. // it is the interface for sif debug tool
  27. //******************************************************
  28. typedef enum
  29. {
  30. ASDADJ_SET_THHL = 0,
  31. ASDADJ_DISPOLLFM,
  32. ASDADJ_ENPOLLFM,
  33. ENHWASD_DISPOLLFM,
  34. AAOS_SET_THHL,
  35. ENSWASD,
  36. GETSIF_GAIN,
  37. }SIFSETREG_ASD_FLAG;
  38. typedef enum
  39. {
  40. BTSC = 0,
  41. PAL,
  42. KOREA,
  43. SECAML,
  44. }SIF_ASD_FORCE_SYS;
  45. //******************************************************
  46. // For Adjust SIF pre-scale gain by 5 type
  47. // it is the interface for factory
  48. //******************************************************
  49. typedef enum
  50. {
  51. BTSC_Mono_Mode=0,
  52. BTSC_SAP_Mode,
  53. Nicam_Mono_Mode,
  54. Nicam_Digital_Mode,
  55. A2_FM_Mode,
  56. }SIF_GAIN_TYPE_SYS;
  57. typedef struct _SET_SIF_GAIN
  58. {
  59. UINT8 flag;
  60. INT32 ADJUST_GAIN;//max:0db~min-20db 1step=0.5db
  61. }SET_SIF_GAIN,*pSET_SIF_GAIN;
  62. typedef struct _TVFE_AudioSIF_TH
  63. {
  64. //reserved for SW threshold control
  65. UINT8 MN1ThH;
  66. UINT8 MN1ThL;
  67. UINT8 MN2ThH;
  68. UINT8 MN2ThL;
  69. UINT8 PN2ThH;
  70. UINT8 PN2ThL;
  71. UINT8 FMSMTh;
  72. UINT8 FMSMTl;
  73. UINT8 FMSNTh;
  74. UINT8 FMSNTl;
  75. UINT8 NIERTh;
  76. UINT8 NIERTl;
  77. UINT8 PILMTh;
  78. UINT8 PILMTl;
  79. UINT8 ASMTh;
  80. UINT8 ASQTh;
  81. UINT8 AANTh;
  82. UINT8 ANNTh;
  83. UINT8 SQlTh;
  84. UINT8 SNsTh;
  85. UINT8 ASFTh;
  86. UINT8 AVOLCo;
  87. UINT8 PSCLCh;
  88. UINT8 PSCRCh;
  89. UINT8 AVCThH;
  90. UINT8 AVCThL;
  91. UINT8 NIAMPLe;
  92. UINT8 NIPLe;
  93. UINT8 A2PLe;
  94. UINT8 IAVCLo;
  95. UINT8 IAVCRo;
  96. } TVFE_AudioSIF_TH,*pTVFE_AudioSIF_TH;
  97. //ava@20130513 add - SIF AP tool for set sif regsiter (add define)
  98. typedef struct _SIF_RegInfo
  99. {
  100. UINT8 flag;
  101. UINT8 System;
  102. UINT8 CARRY2;
  103. UINT8 ASD;
  104. UINT8 AAOS;
  105. UINT8 NTSC_SAP_A2_DUAL;
  106. UINT8 EU_MODE;
  107. UINT8 A2_SYS;
  108. UINT8 Reg00;
  109. UINT8 Reg01;
  110. UINT8 Reg0C;
  111. UINT8 Reg0D;
  112. UINT8 Reg0E;
  113. UINT8 Reg0F;
  114. UINT8 Reg10;
  115. UINT8 Reg11;
  116. UINT8 Reg14;
  117. UINT8 Reg15;
  118. UINT8 Reg16;
  119. UINT8 Reg17;
  120. UINT8 Reg1A;
  121. UINT8 Reg1B;
  122. UINT8 Reg1C;
  123. UINT8 Reg1E;
  124. UINT8 Reg1F;
  125. UINT8 Reg20;
  126. UINT8 Reg21;
  127. UINT8 Reg2A;
  128. UINT8 Reg30;
  129. UINT8 Reg31;
  130. UINT8 Reg32;
  131. UINT8 Reg33;
  132. UINT8 Reg4A;
  133. UINT8 Reg4B;
  134. UINT8 Reg4C;
  135. UINT8 Reg4D;
  136. UINT8 Reg4E;
  137. UINT8 Reg4F;
  138. UINT8 Reg50;
  139. UINT8 Reg51;
  140. UINT8 Reg52;
  141. UINT8 Reg53;
  142. UINT8 Reg54;
  143. UINT8 Reg55;
  144. UINT8 Reg56;
  145. UINT8 Reg57;
  146. UINT8 Reg58;
  147. UINT8 Reg59;
  148. UINT8 Reg5A;
  149. UINT8 Reg5B;
  150. UINT8 Reg5E;
  151. UINT8 Reg81;
  152. UINT8 Reg82;
  153. UINT8 Reg83;
  154. UINT8 Reg84;
  155. UINT8 Reg85;
  156. UINT8 Reg86;
  157. UINT8 Reg87;
  158. UINT8 Reg8A;
  159. UINT8 Reg8B;
  160. UINT8 Reg92;
  161. UINT8 Reg92_SAP;
  162. UINT8 Reg98;
  163. UINT8 Reg99;
  164. UINT8 Reg9A;
  165. }SIF_RegInfo,*pSIF_RegInfo;
  166. typedef enum
  167. {
  168. SIF_Disable = 0,
  169. SIF_Enable
  170. }ATVPOWSTS_t;
  171. //******************************************************
  172. // Return value (detected system) of "RX_TVSYSTEM"
  173. // it is the define of HW ATV system type
  174. //******************************************************
  175. typedef enum //TV System Select (BTSC Enable) 0xbe160000 [3:0]
  176. {
  177. TSMOD_A2BG = 0x0, //SIF RETURN SYSTEM = A2_BG
  178. TSMOD_NICAMBG = 0x1, //SIF RETURN SYSTEM = NICAMBG
  179. TSMOD_NICAML = 0x2, //SIF RETURN SYSTEM = NICAML
  180. TSMOD_NICAMI = 0x3, //SIF RETURN SYSTEM = NICAMI
  181. TSMOD_A2DK1 = 0x4, //SIF RETURN SYSTEM = A2DK1
  182. TSMOD_A2DK2 = 0x5, //SIF RETURN SYSTEM = A2DK2
  183. TSMOD_A2DK3 = 0x6, //SIF RETURN SYSTEM = A2DK3
  184. TSMOD_NICAMDK = 0x7, //SIF RETURN SYSTEM = NICAMDK
  185. TSMOD_A2MN = 0x8, //SIF RETURN SYSTEM = A2MN
  186. TSMOD_EIAJ = 0x9, //SIF RETURN SYSTEM = EIAJ
  187. TSMOD_BTSC = 0xa, //SIF RETURN SYSTEM = BTSCL
  188. //system type > 0xa will be invalid system type!!
  189. TSMOD_FMRUS = 0xb, //invalid system type
  190. TSMOD_FMREU1 = 0xc, //invalid system type
  191. TSMOD_FMREU2 = 0xd, //invalid system type
  192. TSMOD_FMREU3 = 0xe, //invalid system type
  193. TSMOD_FMREU4 = 0xf, //unknow system type, HW default value or system detect fail
  194. TSMOD_AutoMode = 0x10, //Current no use should be remove late
  195. TSMOD_NICAML1=0x11, //L' frequency <100Mhz
  196. TSMOD_UNKNOWN = 0xff, //ERROR, UNKNOWN SYSTEM
  197. }TVFE_AudioSIFStandard_t;
  198. //******************************************************
  199. // ERROR CODE OF SIF DRIVERR
  200. //******************************************************
  201. typedef enum
  202. {
  203. SIF_OK = 0x0,
  204. SIF_ERR_POWER_OFF = 0x80,
  205. SIF_ERR_UNKNOWN = 0xff,
  206. }TVFE_SIF_STATUS_e;
  207. typedef struct _TVSYS_CONFIG
  208. {
  209. UINT8 SupportSys;
  210. UINT8 DetectSys;
  211. }TVSYS_CONFIG,*pTVSYS_CONFIG;
  212. typedef enum
  213. {
  214. Audio_Do_SystemDetect = 0,
  215. Audio_ForceSystem_DK,
  216. Audio_ForceSystem_BG,
  217. Audio_ForceSystem_I,
  218. Audio_ForceSystem_L,
  219. Audio_ForceSystem_BTSC,
  220. Audio_SifDecoder_MUTE,
  221. Audio_SifDecoder_UNMUTE,
  222. Audio_SifDecoder_DumpReg,
  223. Audio_SifState_RFPlugin,//jovi@20110920 represent the RF Line plug in
  224. Audio_SifState_RFPlugOut, // APP flow notice ATV cable plug out , sif driver will mute and disable polling
  225. RX_SIFREG_GET,
  226. RX_SIFREG_SET,
  227. RX_ADJUST_SIF_GAIN,
  228. RX_SIFAAOSSTSFLAG_SET,
  229. RX_SIF_POWER_SET,
  230. RX_SIF_MTSMODE_SET,
  231. RX_SIF_THRESHOLD_SET,
  232. RX_SIF_AGC_RESET,
  233. RX_SIF_SHOW_REG,
  234. }SIFCTL_Operation;
  235. typedef enum
  236. {
  237. SSF_ALL_DISABLE = 0x0, // Disable ASD TIMER and AAOS (AutoMute)
  238. SSF_ASD_DIS_AAOS_EN = 0x1, // Disable ASD TIMER and ENABLE AAOS (AutoMute)
  239. SSF_ALL_ENABLE = 0x2, // ENABLE ASD TIMER and AAOS (AutoMute)
  240. SSF_ASD_EN_AAOS_DIS = 0x3, // ENABLE ASD TIMER and Disable AAOS (AutoMute)
  241. SSF_MAX_FLAG,
  242. }SIFAAOSASD_STSFLAG;
  243. //20090506 Shangru add for sifap
  244. typedef struct _SIF_CONTROL
  245. {
  246. UINT32 flag;
  247. union{
  248. UINT32 value;
  249. UINT8 AAOS_ASDFLAG;//SIFAAOSASD_STSFLAG
  250. UINT8 SIFPOWERStatus;//ATVPOWSTS_t
  251. TVFE_AudioSIFMode_e SetMTSMod;
  252. pTVFE_AudioSIF_TH pSetSifTH;
  253. pSET_SIF_GAIN pSifGan; // set sif gain
  254. pSIF_RegInfo pSifReg; //set/read sif register
  255. };
  256. }SIF_CONTROL, *pSIF_CONTROL;
  257. typedef struct _TVFE_AudioFrontEndStatus_t
  258. {
  259. TVFE_AudioSIFStandard_t eSySStandard; //sif system
  260. TVFE_AudioSIFAvailableMode_e eAvaiMode; //MTS OSD mdoe
  261. TVFE_AudioSIFMode_e eCurrentMode; //Current mode
  262. } TVFE_AudioFrontEndStatus_t,*pTVFE_AudioFrontEndStatus_t;
  263. #endif