sing_data.h
上传用户:fy98168
上传日期:2015-06-26
资源大小:13771k
文件大小:11k
源码类别:

DVD

开发平台:

C/C++

  1. /*****************************************************************************
  2. File Name   : sing_data.h
  3. Description : Singappl Application related header and definition
  4. Copyright (C) 2002 STMicroelectronics
  5. Date Modification                         Name
  6. ---- ------------                         ----
  7. 25-06-2004  Adapted to 5517FTACI Beta tree          Louie
  8. *****************************************************************************/
  9. #ifndef __SING_DATA_H
  10. #define __SING_DATA_H
  11. /* Includes ----------------------------------------------------------- */
  12. #include "appltype.h"  
  13. /* Exported Types ----------------------------------------------------- */
  14. #define EPG_FLASH_BANK     1
  15. #define EPG_FLASH_OFFSET    0
  16. /* Number of AVFS partitions on the disk */
  17. #define NB_PART     3
  18. /* Exported Variables ------------------------------------------------- */
  19. /*=========================================================================
  20.     Global Initialisation
  21. =========================================================================== */
  22. //KCY To avoid overflow...  bigger than 688 will cause overflow in case 200MHz CPU
  23. // 688 * 6250000 = 4300000000  > 2^32 = 429497296
  24. //#define MILLI_DELAY(_ms_) { task_delay(_ms_ * ST_GetClocksPerSecondLow() /1000);}
  25. //#define MILLI_DELAY(_ms_)  {task_delay(ST_GetClocksPerSecondLow() / 1000 * _ms_);}
  26. //#define MILLI_LOWP(_ms_) { task_delay(_ms_ * 6912 /1000);} 
  27. /* 
  28.  * Physical E2P memory map of our application managed NVM partition 
  29.  */
  30. /*
  31.  * ST24E64 8KB size
  32.  */
  33. #define NVM_APPLICATION_MEM_SIZE   (8 * 1024 - 4) /* in bytes - top 4 bytes for MFG id */
  34. #define EEPROM_SLAVE_ADDRESS    ST24E64 /* device id for custom 551X board */
  35. #define  NVM_APPLICATION_MEM_START     0x0000  /* physical addr in the device */
  36. #define  NVM_APPLICATION_MEM_END       ( NVM_APPLICATION_MEM_START + NVM_APPLICATION_MEM_SIZE ) /* physical end address */
  37. #define  NVM_DEVICE_NAME        "E2P0" /* "EEPROM" */
  38. #ifdef TESTTOOL
  39.    #define STACK_SIZE_SAFE    1024
  40. #else
  41.    #define STACK_SIZE_SAFE    0
  42. #endif
  43. #define CUSTOM_STCLKRV_INIT_MARK_VALUE    174    /* Mark for zero offset to VCX0    */
  44. #define CUSTOM_STCLKRV_MIN_MARK_VALUE     1   /* minimum PWM Mark value (-75ppm) */
  45. #define CUSTOM_STCLKRV_MAX_MARK_VALUE    248   /* maximum PWM Mark value (+81ppm) */
  46. #define CUSTOM_STCLKRV_TICKS_PER_MARK    26   /* VCXO ticks adjust per PWM Mark  */
  47. #define CUSTOM_STCLKRV_SECOND_LINE_ERROR   4
  48. #ifdef GLOBAL_DATA
  49.     /*#define DATA*/
  50. /* VICKY - 261199 - added the priority & workspace size definitions */
  51. #if 0
  52. const int   SFILTER_MONITOR_PRIORITY =  12;
  53. #else
  54. const int   SFILTER_MONITOR_PRIORITY =  9;
  55. #endif
  56. const int   DBASE_BUILDER_PROCESS_PRIORITY =  7;
  57. const int   USIF_PROCESS_PRIORITY     =  8;
  58. const int   KEYBOARD_PROCESS_PRIORITY     =  5;
  59. const int   NVM_SLAVE_PROCESS_PRIORITY     =  1;  /*! Louie(6/24/2004): formerly 3 */
  60. const int   TUNER_PROCESS_PRIORITY     =  5;
  61. const int   SEGDISP_PROCESS_PRIORITY =  4;
  62. const int   BLASTER_PROCESS_PRIORITY =  5;
  63. #if defined(BUILD_FOR_DVBS) || defined(BUILD_FOR_DVBT)
  64. const int   TUNERSCAN_PROCESS_PRIORITY        =  6;
  65. #endif
  66. const int TNR_SCAN_TASK_PRIORITY = 8; //TMTM 12
  67. #if 1//TMTM original
  68. #if 1 //KCY 060922
  69. const int   BLASTER_PROCESS_WORKSPACE = ( 2048 + STACK_SIZE_SAFE );
  70. const int   SEGDISP_PROCESS_WORKSPACE = ( 1024 + STACK_SIZE_SAFE );
  71. const int   SFILTER_MONITOR_WORKSPACE     = ( 2048 + STACK_SIZE_SAFE );
  72. const int   DBASE_BUILDER_PROCESS_WORKSPACE = ( 4096+4096+ STACK_SIZE_SAFE );
  73. const int   USIF_PROCESS_WORKSPACE     = ( 2048 + STACK_SIZE_SAFE );
  74. const int   KEYBOARD_PROCESS_WORKSPACE     = ( 2048 + STACK_SIZE_SAFE );
  75. const int   NVM_SLAVE_PROCESS_STACK_SIZE = ( 1024+1024 + STACK_SIZE_SAFE );
  76. const int   TUNER_PROCESS_STACK_SIZE = ( 4096+4096 + STACK_SIZE_SAFE );
  77. #ifdef BUILD_FOR_DVBS
  78. const int   TUNERSCAN_PROCESS_WORKSPACE       = ( 2048 + STACK_SIZE_SAFE );
  79. #endif
  80. #else
  81. const int   BLASTER_PROCESS_WORKSPACE = ( 2048 + STACK_SIZE_SAFE );
  82. const int   SEGDISP_PROCESS_WORKSPACE = ( 1024 + STACK_SIZE_SAFE );
  83. const int   SFILTER_MONITOR_WORKSPACE     = ( 2048 + STACK_SIZE_SAFE );
  84. const int   DBASE_BUILDER_PROCESS_WORKSPACE = ( 4096+4096+ STACK_SIZE_SAFE );
  85. const int   USIF_PROCESS_WORKSPACE     = ( 20480 + STACK_SIZE_SAFE );
  86. const int   KEYBOARD_PROCESS_WORKSPACE     = ( 2048 + STACK_SIZE_SAFE );
  87. const int   NVM_SLAVE_PROCESS_STACK_SIZE = ( 1024+1024 + STACK_SIZE_SAFE );
  88. const int   TUNER_PROCESS_STACK_SIZE = ( 4096 + STACK_SIZE_SAFE );
  89. #ifdef BUILD_FOR_DVBS
  90. const int   TUNERSCAN_PROCESS_WORKSPACE       = ( 2048 + STACK_SIZE_SAFE );
  91. #endif
  92. #endif
  93. #else
  94.      /*JJL:increase tuner&dbase stack avoid system crash when Auto Search*/
  95. const int   BLASTER_PROCESS_WORKSPACE = ( 1024 + STACK_SIZE_SAFE );
  96. const int   SEGDISP_PROCESS_WORKSPACE = ( 1024 + STACK_SIZE_SAFE );
  97. const int   SFILTER_MONITOR_WORKSPACE     = ( 1024 + STACK_SIZE_SAFE );
  98. const int   DBASE_BUILDER_PROCESS_WORKSPACE = ( 1024*2+ STACK_SIZE_SAFE );
  99. const int   USIF_PROCESS_WORKSPACE     = ( 1024 + STACK_SIZE_SAFE );
  100. const int   KEYBOARD_PROCESS_WORKSPACE     = ( 1024 + STACK_SIZE_SAFE );
  101. const int   NVM_SLAVE_PROCESS_STACK_SIZE = ( 1024 + STACK_SIZE_SAFE );
  102. const int   TUNER_PROCESS_STACK_SIZE = ( 1024*2+ STACK_SIZE_SAFE );
  103. #ifdef BUILD_FOR_DVBS
  104. const int   TUNERSCAN_PROCESS_WORKSPACE       = ( 1024 + STACK_SIZE_SAFE );
  105. #endif
  106. #endif
  107. #else /*ifdef GLOBAL_DATA */
  108. #define DATA        extern
  109. /* VICKY - 261199 - added the priority & workspace size definitions */
  110. DATA  const int   SFILTER_MONITOR_PRIORITY; 
  111. DATA  const int   DBASE_BUILDER_PROCESS_PRIORITY;
  112. DATA  const int   USIF_PROCESS_PRIORITY;
  113. DATA  const int   KEYBOARD_PROCESS_PRIORITY;
  114. DATA  const int   NVM_SLAVE_PROCESS_PRIORITY;
  115. DATA  const int   TUNER_PROCESS_PRIORITY;
  116. DATA  const int   SEGDISP_PROCESS_PRIORITY;
  117. DATA  const int   BLASTER_PROCESS_PRIORITY;
  118. #if defined(BUILD_FOR_DVBS) || defined(BUILD_FOR_DVBT)
  119. DATA const int   TUNERSCAN_PROCESS_PRIORITY;
  120. #endif
  121.   DATA const int TNR_SCAN_TASK_PRIORITY;
  122.   
  123. DATA  const int   BLASTER_PROCESS_WORKSPACE ;
  124. DATA  const int   SEGDISP_PROCESS_WORKSPACE ;
  125. DATA  const int   SFILTER_MONITOR_WORKSPACE;
  126. DATA  const int   DBASE_BUILDER_PROCESS_WORKSPACE;
  127. DATA  const int   USIF_PROCESS_WORKSPACE;
  128. DATA  const int   KEYBOARD_PROCESS_WORKSPACE;
  129. DATA  const int   NVM_SLAVE_PROCESS_STACK_SIZE;
  130. DATA  const int   TUNER_PROCESS_STACK_SIZE;
  131. #ifdef BUILD_FOR_DVBS
  132. DATA  const int   TUNERSCAN_PROCESS_WORKSPACE;
  133. #endif
  134. #endif
  135. /*=========================================================================
  136.     Global definitions
  137. =========================================================================== */
  138. /* 22/05/00 - Added by LP - Used when DISABLE_GPRIM_REGION is uncommented */
  139. #ifdef __STOSD_H
  140. /* Position of OSD Plane for demos */
  141. #define DISPLAY_X     100
  142. #define DISPLAY_Y     50
  143. #define DISPLAY_WIDTH     (OSDScreenParams.Width-200)
  144. #define DISPLAY_HEIGHT     (OSDScreenParams.Height-100)
  145. #endif
  146. /* cast for using register_command */
  147. #define RC_CAST     boolean (*)(parse_t*, char*)
  148. typedef enum
  149. {
  150.     ST_REGION_EUROPE_DVB,
  151.     ST_REGION_USA_DVB,
  152.     ST_REGION_USA_DSS
  153. } ST_Region_t;
  154. #ifdef __STTUNER_H
  155. #ifdef __STDENC_H
  156. typedef struct
  157. {
  158.     ST_Region_t           Region;  /* EUROPE_DVB, USA_DVB or USA_DSS */
  159.     STTUNER_Device_t      Device;  /* STTUNER_DEVICE_SATELLITE or STTUNER_DEVICE_TERR */
  160.     STTUNER_DemodType_t   Demod;   /* STV0299 or STV0360 */
  161.     STTUNER_LnbType_t     Lnb;     /* STV0299 */
  162.     STTUNER_TunerType_t   Tuner;   /* VG1011 */
  163.     STDENC_EncodingMode_t Display; /* PAL or NTSC */
  164. } ST_Environment_t;
  165. ST_Environment_t       Environment;
  166. #endif
  167. #endif
  168. /* -------------------------- LCY_PORTSTPTI --------------------------------------- */
  169. /* DeviceId PTI_xxxx (quick access to hardware) */
  170. typedef enum
  171. {
  172. #if defined(mb295) || defined(mb382) || defined(mb400) || defined(MALY3) || defined(mb436) || defined(DTT5107) /*DANIEL 20060912*/
  173.     PTI_1 = 0,                          /* On ST20TP3 we can used only one PTI */
  174.     PTI_MAXDEVICE = 1                   /* for range test */
  175. #elif defined(mb290) || defined(mb314) || defined(mb361) || defined(mb390) /* HSC */
  176. /* On STi5100 we can use three PTI's */
  177.     PTI_1 = 0,  /* For TUNER_0 TS */                         
  178.     PTI_2 = 1, /* For TUNER_1 TS */
  179.     PTI_3 = 2, /* For SWTS (HDD) */
  180.     PTI_MAXDEVICE = 3                   /* for range test */
  181. #else
  182. #error ERROR:invalid DVD_PLATFORM defined
  183. #endif
  184. } PTI_DeviceId_t;
  185. /* HandleId for multi-instance access */
  186. typedef U32 PTI_HandleId_t;
  187. /* ProcessStreamId PTI_PS_xxxx */
  188. typedef enum
  189. {
  190.     PTI_PS_TSI    = 0,                  /* For TSI managment (PAT, PMT, SDT ...) */
  191. #ifndef ST_5100     /* BLOCK COMMENTED OUT by Louie on 9/7/2004 */
  192.     PTI_PS_AV1    = 1,                  /* Decode on AV CD1  */
  193. #endif /* BLOCK COMMENT */
  194.     PTI_PS_AV2    = 2,                  /* Decode on AV CD2  */
  195.     PTI_PS_V3     = 3,                  /* Decode on V CD3  */
  196.     PTI_PS_V4     = 4,                  /* Decode on V CD4  */
  197.     PTI_PS_V5     = 5,                  /* Decode on V CD5  */
  198.     PTI_PS_PES    = 6,                  /* For PES managment (TTX, AC3...) */
  199.     PTI_PS_MAXDEVICE = 7                /* for range test */
  200. } PTI_ProcessStreamId_t;
  201. #if defined(ST_5100)   /* no multiple handles per PTI */
  202. #define PTI_PS_AV1 0
  203. #endif
  204. #define PTI_MAXOPEN PTI_PS_MAXDEVICE    /* ProcessStream ==== Handle */
  205. /* DMA parameters */
  206. /*
  207.    Rq : The write length is 4 bytes when transferring from a buffer to
  208.         the CD-FIFO (back buffered mode), and 16 bytes when the slot is
  209.         linked directly to the CD-FIFO
  210. */
  211. #ifndef PTI_IS_IN_BACK_BUFFERED_MODE
  212. #if defined(mb290) || defined(mb314)
  213. /* Only back buffered mode should be used !                           */
  214. /* MPX does not support 3 bytes transfert                             */
  215. #define PTI_IS_IN_BACK_BUFFERED_MODE    TRUE
  216. #else
  217. #define PTI_IS_IN_BACK_BUFFERED_MODE    FALSE
  218. #endif
  219. #endif /* ifndef PTI_IS_IN_BACK_BUFFERED_MODE */ 
  220. #define PTI_SEND_16_BYTES_TO_CDFIFO     TRUE    /* If False 4 bytes ! */
  221. #define PTI_MAP_CDFIFO_TO_LOCAL_RAM     FALSE   /* For test only */
  222. #if ( (PTI_SEND_16_BYTES_TO_CDFIFO==FALSE) && (PTI_MAP_CDFIFO_TO_LOCAL_RAM==TRUE) )
  223. #error "Bad choice !!!"
  224. #endif
  225. /* -------------------------- DENC ------------------------------------ */
  226. typedef enum
  227. {
  228.     DENC0 = 0,
  229.     DENC_MAXDEVICE
  230. } DENC_DeviceId_t;
  231. /* HandleId type */
  232. typedef U32 DENC_HandleId_t;
  233. /* -------------------------- VMIX ------------------------------------ */
  234. #define VMIX_MAXOPEN 1
  235. #define VMIX_HANDLE_NULL (STVMIX_Handle_t)NULL
  236. typedef enum
  237. {
  238.     VMIX0 = 0,
  239.     VMIX_MAXDEVICE
  240. } VMIX_DeviceId_t;
  241. /* HandleId type */
  242. typedef U32 VMIX_HandleId_t;
  243. /* -------------------------- av_cmds.c ------------------------------- */
  244. #ifdef __STAUD_H
  245. extern void aud_start( STAUD_StreamType_t StreamType );
  246. extern void aud_stop( boolean DisplayError );
  247. #endif
  248. #ifdef __STVID_H
  249. extern void vid_start( STVID_StreamType_t StreamType );
  250. extern void vid_stop( boolean DisplayError, boolean DisableOutputWindow );
  251. #endif
  252. extern void mpeg_enable(BOOLEAN, BOOLEAN)      ;
  253. /* ------------------------------------------------------------------------ */
  254. #endif /*__SING_DATA_H*/