drv_kmf_interface.h 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  1. #ifndef _DRV_KMF_INTERFACE_H
  2. #define _DRV_KMF_INTERFACE_H
  3. #include <drv_types.h>
  4. typedef enum {
  5. BootType_Default = 0,
  6. BootType_SSU,
  7. BootType_PVR,
  8. BootType_EPG,
  9. BootType_OnTime,
  10. BootType_CIPlus_13_OperatorProfileRefreshRequest,
  11. BootType_AC_SPECIAL_FILE,
  12. BootType_MAX // should not bigger then 0xf
  13. }BootType_t;
  14. typedef enum {
  15. BootLogo_Org = 0,
  16. BootLogo_2 = 0x61,
  17. BootLogo_3,
  18. BootLogo_4,
  19. BootLogo_Off,
  20. BootLogo_Default = 0x60,
  21. BootLogo_Capture = 0x70,
  22. BootLogo_Second = 0x80
  23. }BootLogo_t;
  24. typedef enum {
  25. BootAUTO = 0,
  26. BootVGA = 0x10,
  27. BootHDMI= 0x20,
  28. BootAV = 0x40,
  29. BootClear = 0x80,
  30. }BootWakeSrc_t;
  31. enum {
  32. KMFOPT_AUDIO_HW = 0x1,
  33. KMFOPT_AUDIO_PATCH_AMPDELAY = 0x2
  34. };
  35. enum {
  36. KMFOPT_VIP,
  37. KMFOPT_TUNER,
  38. KMFOPT_DTV,
  39. KMFOPT_CVD2,
  40. KMFOPT_HDMI,
  41. KMFOPT_ADC,
  42. KMFOPT_AUDIO,
  43. KMFOPT_BACKLIGHT,
  44. KMFOPT_CHLIST,
  45. KMFOPT_MAX
  46. };
  47. typedef struct _KMFSysInfo_t
  48. {
  49. unsigned char chipType;
  50. unsigned char revisionID;
  51. unsigned int opt[KMFOPT_MAX];
  52. }KMFSysInfo_t;
  53. typedef struct _KMFShareData_t
  54. {
  55. UINT32 test;
  56. UINT8 CecLogAddr;
  57. UINT8 CecPwrOnSrc;
  58. UINT32 dbgconf1;
  59. UINT32 dbgconf2;
  60. UINT32 bFileExist;
  61. UINT32 bUartATx;
  62. UINT8 BootRomVersion[16];
  63. UINT8 _8051RomVersion[16];
  64. UINT8 AudioRomVersion[16];
  65. UINT8 KernelVersion[20];
  66. UINT8 VIPTableVersion[6];
  67. UINT32 LVDSFormat[9];
  68. INT8 FlashType[25];
  69. UINT8 bSpecialFileBoot;
  70. KMFSysInfo_t kmfSysInfo;
  71. INT8 DongleUSBState;
  72. }KMFShareData_t;
  73. typedef enum _input_type_t{
  74. INPUT_TYPE_ATV = 1<<0,
  75. INPUT_TYPE_DTV = 1<<1,
  76. INPUT_TYPE_AV = 1<<2, //kmf->CVD2
  77. INPUT_TYPE_SV = 1<<3, //kmf->CVD2
  78. INPUT_TYPE_COMPONENT = 1<<4,
  79. INPUT_TYPE_HDMI = 1<<5,
  80. INPUT_TYPE_PC = 1<<6,
  81. INPUT_TYPE_JPEG = 1<<7, //kmf->USB
  82. INPUT_TYPE_MUSIC = 1<<8, //kmf->USB
  83. INPUT_TYPE_CVD2 = 1<<9,
  84. INPUT_TYPE_INTERNAL = 1<<10,
  85. INPUT_TYPE_PVR = 1<<11, //kmf->MEDIA
  86. INPUT_TYPE_MPEG = 1<<12, //kmf->MEDIA
  87. INPUT_TYPE_MEDIA = 1<<13,
  88. INPUT_TYPE_USB = 1<<14,
  89. INPUT_TYPE_SCART_AUTO = 1<<15,
  90. INPUT_TYPE_SCART_RGB = 1<<16,
  91. INPUT_TYPE_SCART_CVBS = 1<<17,
  92. INPUT_TYPE_SCART_SVIDEO = 1<<18,
  93. #ifdef CONFIG_BLUETOOTH_SUPPORT
  94. INPUT_TYPE_BLUETOOTH = 1<<19,
  95. #endif
  96. #if defined(CONFIG_SUPPORT_NES_GAME) || defined(CONFIG_OSD_GAME_SUPPORT)
  97. INPUT_TYPE_GAME = 1<<20,
  98. #endif
  99. #ifdef CONFIG_SUPPORT_USB_MCAST
  100. INPUT_TYPE_NET = 1<<21,
  101. #endif
  102. INPUT_TYPE_DISABLE = 1<<22,
  103. }input_type_t, *pinput_type_t;
  104. typedef struct _BootAlarm_t
  105. {
  106. UINT8 Sec:7; //0~59
  107. UINT8 bAlarm:1; //0:disable, 1:enable
  108. UINT8 Minute; //0~59
  109. UINT8 Hour; //0~59
  110. UINT8 SettingIndex:4;
  111. UINT8 BootType:4; // 1:Alarm timer, 2:Rec timer
  112. UINT8 Day; // 1~31
  113. UINT8 Month; // 1~12
  114. UINT16 Year; //1970~2399
  115. }BootAlarm_t;
  116. typedef struct _Backlight_t
  117. {
  118. UINT16 OSD_backlight_index;
  119. UINT16 Backlight_total_Stage;
  120. }Backlight_t, *pBacklight_t;
  121. #ifdef CONFIG_EXTRA_PWM_CONTROL_FOR_FAN
  122. typedef struct _ExtraPwm_t
  123. {
  124. UINT8 ucPwmNum;
  125. UINT32 uiFrequency;
  126. UINT32 uiDuty;
  127. }ExtraPwm_t, *pExtraPwm_t;
  128. #endif
  129. typedef struct _LVDS_Format_t
  130. {
  131. UINT32 LVDSEnable;
  132. UINT32 LVDSFormatData[9];
  133. UINT32 checksum;
  134. }LVDS_Format_t, *pLVDS_Format_t;
  135. typedef struct _Src_Status_t
  136. {
  137. UINT8 hdmiSource:3;
  138. UINT8 VGASource:1;
  139. UINT8 menuSrcType:4; //oreder wake up source
  140. }Src_Status_t;
  141. /*
  142. Warning, assemble code reference structure
  143. Please don't change anything until you know how to modify bootloader & 8051
  144. */
  145. typedef struct _BootRomShareData_t
  146. {
  147. UINT8 LcdBackLight;
  148. UINT8 DisableKeypad;
  149. UINT8 PowerRestore;
  150. UINT8 SourceSelection;
  151. UINT32 TVCannel;
  152. UINT8 CecTvAutoPwrOn;
  153. UINT8 UartATxBreak;
  154. UINT8 DisableSingleLED;
  155. UINT8 u8AgingMode;
  156. BootAlarm_t BootAlarm;
  157. Backlight_t LcdBacklightValue;
  158. UINT8 HideBootLogo;
  159. UINT32 PwmFreq;
  160. UINT8 DramSSCmode;
  161. UINT8 LVDSSSCmode;
  162. LVDS_Format_t LVDS_Format;
  163. UINT32 Modified_Count; // Modification count for HideBootLogo and LVDS_Format.
  164. UINT16 DramSSC_188; //0x54
  165. UINT16 DramSSC_1a8; //0x56
  166. UINT32 DramSSC_Magic_Number; //0x58
  167. UINT8 TotalPanelSets;
  168. UINT8 PanelIdx;
  169. UINT8 ReadPanelInvert;
  170. UINT8 PanelInvert;
  171. UINT16 Panelresolution;
  172. UINT8 HideBootSecondLogo;
  173. UINT8 GammaTableID;
  174. UINT8 VIPTableID;
  175. UINT8 CLUTTableID;
  176. UINT32 StandbyLEDPWMPeriod;
  177. UINT32 StandbyLEDPWMDuty;
  178. UINT8 FactoryRemote;
  179. Src_Status_t SrcStatus;
  180. UINT8 CECControlOnoff;
  181. UINT8 DeviceID;
  182. UINT8 PowerState; //0:DC off , 0x64:AC off
  183. #ifdef CONFIG_EXTRA_PWM_CONTROL_FOR_FAN
  184. ExtraPwm_t FanPwm;
  185. #endif
  186. UINT8 bFirstSystemRun;
  187. }BootRomShareData_t;
  188. typedef struct _ReserveMemInfo_t
  189. {
  190. UINT8 ModuleId;
  191. INT32 Addr;
  192. INT32 Size;
  193. }ReserveMemInfo_t;
  194. typedef enum {
  195. KMFgVARtype_LVDS = 0,
  196. }KMFgVAR_type;
  197. typedef struct _KMFgVAR
  198. {
  199. KMFgVAR_type type;
  200. BOOL boolvar;
  201. }Kmfgvar;
  202. typedef struct _USBDrvInfo_t
  203. {
  204. UINT16 Vid;
  205. UINT16 Pid;
  206. UINT8 usbType;
  207. UINT16 bcdUSB;
  208. char intfName[20];//KOBJ_NAME_LEN = 20
  209. BOOL bNewInfo;
  210. }USBDrvInfo_t;
  211. #ifdef CONFIG_SUPPORT_PROJECT_ID
  212. #define PROJECT_NAME_LENGTH (40)
  213. typedef struct
  214. {
  215. UINT8 ProjectName[PROJECT_NAME_LENGTH];
  216. //Panel setting
  217. UINT8 PanelID_RESOLUTION_TYPE;
  218. UINT8 GammaID;
  219. UINT8 PictureCurveID;
  220. UINT8 PanelsMirror;
  221. UINT8 PQID;
  222. UINT8 AudioCFTable_TI;
  223. UINT8 GammaTableID;
  224. UINT8 VIPTableID;
  225. UINT8 CLUTTableID;
  226. //keypad setting
  227. UINT8 KeypadID;
  228. UINT8 KeypadChannel;
  229. UINT8 RemoteID;
  230. UINT8 PowerSuplyID;
  231. UINT8 KeypadKeyNUM;
  232. //Digital Audio Setting;
  233. UINT8 PEQSET;
  234. BOOL AudioChannelSetting;
  235. BOOL Channel12PostScaling;
  236. BOOL Channel3PostScaling;
  237. UINT8 AudioCFTable_STA;
  238. UINT8 Ch12PostScalingTable;
  239. UINT8 Ch3PostScalingTable;
  240. UINT8 TunerType;
  241. UINT8 PanelDefineType;
  242. UINT8 PanelsType;
  243. UINT8 ProjectType;
  244. } ProjectData_t;
  245. #endif
  246. #endif