board_config.c 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290
  1. /*******************************************************************************
  2. * @file board_config.c
  3. * @brief This file specifies the APIs provided to control video input device.
  4. * @note Copyright (c) 2007 Sunplus Technology Co., Ltd.
  5. * All rights reserved.
  6. * 19, Innovation First Road, Hsinchu Science Park, 300 Taiwan
  7. * @log
  8. * Revision 0.1 2007/12/14 #002130
  9. * create
  10. *******************************************************************************/
  11. /*******************************************************************************
  12. * Header Files
  13. ******************************************************************************/
  14. #include "board_config.h"
  15. #include "TV_strid.h"
  16. #include "app_event.h"
  17. #include "drv_audio_interface.h"
  18. #include "drv_sif_interface.h"
  19. /*******************************************************************************
  20. * structure
  21. ******************************************************************************/
  22. /*******************************************************************************
  23. * Global Variables
  24. ******************************************************************************/
  25. //***************************************************************//
  26. // Source Configuration Related Table //
  27. //***************************************************************//
  28. //Source configuration table
  29. APP_SourceConfig_t g_stSourceConfigTable_RDA_8506[] =
  30. {
  31. //dOSDStrID, eSourceType, eType, eMidSourceType, eVideoInputPin, eAudioInLineNumber
  32. #ifdef CONFIG_AV_ON_G_CHANNEL
  33. #ifndef CONFIG_QSD
  34. #ifdef CONFIG_ENABLE_AV_YPP_USE_SAME_SOURCE
  35. {TV_IDS_String_Source_AV1, APP_SOURCE_AV, SUPPORT_SOURCE_TYPE_AV, INPUTSRC_AV1, {{INPUT_PIN_AV_Y_ON_G1}}, APP_AUDIO_IN_LINE_2}, //CVBS on G
  36. {TV_IDS_String_Source_AV2, APP_SOURCE_AV1, SUPPORT_SOURCE_TYPE_AV2, INPUTSRC_AV2, {{INPUT_PIN_AV_Y_ON_G2}}, APP_AUDIO_IN_LINE_3},
  37. #else
  38. {TV_IDS_String_Source_AV, APP_SOURCE_AV, SUPPORT_SOURCE_TYPE_AV, INPUTSRC_AV1, {{INPUT_PIN_AV_Y_ON_G2}}, APP_AUDIO_IN_LINE_2}, //CVBS
  39. #endif
  40. #else
  41. {TV_IDS_String_Source_AV, APP_SOURCE_AV, SUPPORT_SOURCE_TYPE_AV, INPUTSRC_AV1, {{INPUT_PIN_AV_Y_ON_G2}}, APP_AUDIO_IN_LINE_3}, //CVBS
  42. #endif
  43. #endif
  44. //{TV_IDS_String_Source_AV2, APP_SOURCE_AV2, SUPPORT_SOURCE_TYPE_AV3, INPUTSRC_AV3, {{INPUT_PIN_NO_USE}}, APP_AUDIO_IN_LINE_NONE}, //CVBS
  45. //{TV_IDS_String_SVideo, APP_SOURCE_SVIDEO, SUPPORT_SOURCE_TYPE_S_VIDEO, INPUTSRC_SV2, {{INPUT_PIN_AV_Y1, INPUT_PIN_AV_Y0_C0}}, APP_AUDIO_IN_LINE_4}, //SV
  46. //{TV_IDS_String_SVideo1, APP_SOURCE_SVIDEO1, SUPPORT_SOURCE_TYPE_S_VIDEO2, INPUTSRC_SV1, {{INPUT_PIN_NO_USE, INPUT_PIN_NO_USE}}, APP_AUDIO_IN_LINE_NONE}, //SV
  47. //{TV_IDS_String_SVideo2, APP_SOURCE_SVIDEO2, SUPPORT_SOURCE_TYPE_S_VIDEO3, INPUTSRC_SV3, {{INPUT_PIN_NO_USE, INPUT_PIN_NO_USE}}, APP_AUDIO_IN_LINE_NONE}, //SV
  48. {TV_IDS_String_HDMI1, APP_SOURCE_HDMI, SUPPORT_SOURCE_TYPE_HDMI, INPUTSRC_HDMI1, {{INPUT_PIN_NO_USE}}, APP_AUDIO_IN_LINE_NONE}, //HDMI
  49. {TV_IDS_String_HDMI2, APP_SOURCE_HDMI1, SUPPORT_SOURCE_TYPE_HDMI2, INPUTSRC_HDMI2, {{INPUT_PIN_NO_USE}}, APP_AUDIO_IN_LINE_NONE}, //HDMI
  50. //{TV_IDS_String_Source_HDMI3, APP_SOURCE_HDMI2, SUPPORT_SOURCE_TYPE_HDMI3, INPUTSRC_HDMI3, {{INPUT_PIN_NO_USE}}, APP_AUDIO_IN_LINE_NONE}, //HDMI
  51. {TV_IDS_String_Media, APP_SOURCE_MEDIA, SUPPORT_SOURCE_TYPE_USB, INPUTSRC_MEDIA, {{INPUT_PIN_NO_USE}}, APP_AUDIO_IN_LINE_NONE}, //Media
  52. #ifdef CONFIG_MULTIMEDIA1_SUPPORT
  53. {TV_IDS_String_Media1, APP_SOURCE_MEDIA1, SUPPORT_SOURCE_TYPE_USB1, INPUTSRC_MEDIA1, {{INPUT_PIN_NO_USE}}, APP_AUDIO_IN_LINE_NONE}, //Media1
  54. #endif
  55. #ifdef NET_SUPPORT
  56. {TV_IDS_String_NET, APP_SOURCE_NET, SUPPORT_SOURCE_TYPE_USB, INPUTSRC_MEDIA, {{INPUT_PIN_NO_USE}}, APP_AUDIO_IN_LINE_NONE}, //Net
  57. #endif
  58. #ifdef CONFIG_QSD
  59. {TV_IDS_String_YPbPr, APP_SOURCE_YPBPR, SUPPORT_SOURCE_TYPE_YPBPR, INPUTSRC_COMP1, {{INPUT_PIN_COMP_G1, INPUT_PIN_COMP_B1, INPUT_PIN_COMP_R1, INPUT_PIN_COMP_SOG1}}, APP_AUDIO_IN_LINE_2}, //Component
  60. #else
  61. //{TV_IDS_String_SCART, APP_SOURCE_SCART, SUPPORT_SOURCE_TYPE_SCART, INPUTSRC_SCART1, {{INPUT_PIN_AV_Y2, INPUT_PIN_COMP_R1, INPUT_PIN_COMP_G1, INPUT_PIN_COMP_B1, INPUT_PIN_COMP_SOG1}}, APP_AUDIO_IN_LINE_2}, //SCART_RGB
  62. //{TV_IDS_String_Source_SCART1, APP_SOURCE_SCART1, SUPPORT_SOURCE_TYPE_SCART2, INPUTSRC_SCART2, {{INPUT_PIN_NO_USE, INPUT_PIN_NO_USE, INPUT_PIN_NO_USE, INPUT_PIN_NO_USE, INPUT_PIN_NO_USE}}, APP_AUDIO_IN_LINE_2}, //SCART_RGB
  63. {TV_IDS_String_YPbPr, APP_SOURCE_YPBPR, SUPPORT_SOURCE_TYPE_YPBPR, INPUTSRC_COMP1, {{INPUT_PIN_COMP_G1, INPUT_PIN_COMP_B1, INPUT_PIN_COMP_R1, INPUT_PIN_COMP_SOG1}}, APP_AUDIO_IN_LINE_2}, //Component
  64. #endif
  65. //{TV_IDS_String_YPbPr1, APP_SOURCE_YPBPR1, SUPPORT_SOURCE_TYPE_YPBPR2, INPUTSRC_COMP2, {{INPUT_PIN_COMP_G2, INPUT_PIN_COMP_B2, INPUT_PIN_COMP_R2, INPUT_PIN_COMP_SOG2}}, APP_AUDIO_IN_LINE_2}, //Component
  66. //{TV_IDS_String_DVD, APP_SOURCE_DVD, SUPPORT_SOURCE_TYPE_DVD, INPUTSRC_COMP3, {{INPUT_PIN_COMP_G3, INPUT_PIN_COMP_B3, INPUT_PIN_COMP_R3, INPUT_PIN_COMP_SOG3}}, APP_AUDIO_IN_LINE_4}, //Component DVD
  67. //{TV_IDS_String_Android, APP_SOURCE_ANDRO, SUPPORT_SOURCE_TYPE_ANDRO, INPUTSRC_ANDROID, {{INPUT_PIN_NO_USE, INPUT_PIN_NO_USE, INPUT_PIN_NO_USE, INPUT_PIN_NO_USE}}, APP_AUDIO_IN_LINE_NONE}, //Component Android
  68. {TV_IDS_String_PC, APP_SOURCE_PC, SUPPORT_SOURCE_TYPE_PC_RGB, INPUTSRC_PC, {{INPUT_PIN_NO_USE, INPUT_PIN_NO_USE, INPUT_PIN_NO_USE}}, APP_AUDIO_IN_LINE_1}, //PC
  69. #if defined(CONFIG_SUPPORT_NES_GAME) || defined(CONFIG_OSD_GAME_SUPPORT)
  70. {TV_IDS_String_Game, APP_SOURCE_GAME, SUPPORT_SOURCE_TYPE_GAME, INPUTSRC_GAME,{{INPUT_PIN_NO_USE}}, APP_AUDIO_IN_LINE_NONE}, //GAME
  71. #endif
  72. #ifdef CONFIG_BLUETOOTH_SUPPORT
  73. {TV_IDS_String_Bluetooth, APP_SOURCE_BLUETOOTH, SUPPORT_SOURCE_TYPE_BLUETOOTH, INPUTSRC_BLUETOOTH,{{INPUT_PIN_NO_USE}}, APP_AUDIO_IN_LINE_2}, //BLUETOOTH
  74. #endif
  75. };
  76. #define g_u16SourceConfigTable_RDA_8506_Size (sizeof(g_stSourceConfigTable_RDA_8506) / sizeof(APP_SourceConfig_t))
  77. APP_SourceConfigTable_t g_APPSourceConfigTable[APP_CUSTOMER_BOARD_DEFINE_MAX] =
  78. {
  79. {g_u16SourceConfigTable_RDA_8506_Size,g_stSourceConfigTable_RDA_8506},
  80. };
  81. char *CV_CustomrBoardString[] =
  82. {
  83. "UTS-6710",
  84. "Not Define board!",
  85. };
  86. APP_SourceVolOffset_t g_arAudioVolumeOffset[] =
  87. {
  88. {APP_SOURCE_ATV, 50/*70*/ ,-192/*Headphone*/},
  89. {APP_SOURCE_DTV, 50 ,-192/*Headphone*/},
  90. {APP_SOURCE_RADIO, 50 ,-192/*Headphone*/},
  91. {APP_SOURCE_SCART, 50/*65*/ ,-192/*Headphone*/},
  92. {APP_SOURCE_SCART1, 50/*65*/ ,-192/*Headphone*/},
  93. {APP_SOURCE_AV, 50/*65*/ ,-192/*Headphone*/},
  94. {APP_SOURCE_AV1, 50/*65*/ ,-192/*Headphone*/},
  95. {APP_SOURCE_AV2, 50/*65*/ ,-192/*Headphone*/},
  96. {APP_SOURCE_SVIDEO, 50/*65*/ ,-192/*Headphone*/},
  97. {APP_SOURCE_SVIDEO1, 50/*65*/ ,-192/*Headphone*/},
  98. {APP_SOURCE_SVIDEO2, 50/*65*/ ,-192/*Headphone*/},
  99. {APP_SOURCE_YPBPR, 50/*65*/ ,-192/*Headphone*/},
  100. {APP_SOURCE_YPBPR1, 50/*65*/ ,-192/*Headphone*/},
  101. {APP_SOURCE_DVD, 50/*65*/ ,-192/*Headphone*/},
  102. {APP_SOURCE_HDMI, 50/*45*/ ,-192/*Headphone*/},
  103. {APP_SOURCE_HDMI1, 50/*45*/ ,-192/*Headphone*/},
  104. {APP_SOURCE_HDMI2, 50/*45*/ ,-192/*Headphone*/},
  105. {APP_SOURCE_PC, 50/*65*/ ,-192/*Headphone*/},
  106. {APP_SOURCE_MEDIA, 50 ,-192/*Headphone*/},
  107. #ifdef NET_SUPPORT
  108. {APP_SOURCE_NET, 50 ,-192/*Headphone*/},
  109. #endif
  110. {APP_SOURCE_ANDRO, 50 ,-192/*Headphone*/},
  111. #ifdef CONFIG_OSD_GAME_SUPPORT
  112. {APP_SOURCE_GAME, 50 ,-192/*Headphone*/},
  113. #endif
  114. #ifdef CONFIG_BLUETOOTH_SUPPORT
  115. {APP_SOURCE_BLUETOOTH, 50 ,-192/*Headphone*/},
  116. #endif
  117. };
  118. const UINT16 g_u16SourceVolOffset_Size = sizeof(g_arAudioVolumeOffset) / sizeof(APP_SourceVolOffset_t);
  119. APP_SourceAudioAuxiliaryVolOffset_t g_arAudioAuxiliaryVolumeOffset[] =
  120. {
  121. {APP_SOURCE_ATV, 63},
  122. {APP_SOURCE_DTV, 63},
  123. {APP_SOURCE_RADIO, 63},
  124. {APP_SOURCE_SCART, 63},
  125. {APP_SOURCE_SCART1, 63},
  126. {APP_SOURCE_AV, 63},
  127. {APP_SOURCE_AV1, 63},
  128. {APP_SOURCE_AV2, 63},
  129. {APP_SOURCE_SVIDEO, 63},
  130. {APP_SOURCE_SVIDEO1,63},
  131. {APP_SOURCE_SVIDEO2,63},
  132. {APP_SOURCE_YPBPR, 63},
  133. {APP_SOURCE_YPBPR1, 63},
  134. {APP_SOURCE_DVD, 63},
  135. {APP_SOURCE_HDMI, 63},
  136. {APP_SOURCE_HDMI1, 63},
  137. {APP_SOURCE_HDMI2, 63},
  138. {APP_SOURCE_PC, 63},
  139. {APP_SOURCE_MEDIA, 63},
  140. #ifdef CONFIG_MULTIMEDIA1_SUPPORT
  141. {APP_SOURCE_MEDIA1, 63},
  142. #endif
  143. #ifdef NET_SUPPORT
  144. {APP_SOURCE_NET, 63},
  145. #endif
  146. {APP_SOURCE_ANDRO, 63},
  147. #ifdef CONFIG_BLUETOOTH_SUPPORT
  148. {APP_SOURCE_BLUETOOTH, 63},
  149. #endif
  150. };
  151. const UINT16 g_arAudioAuxiliaryVolumeOffset_Size = sizeof(g_arAudioAuxiliaryVolumeOffset) / sizeof(APP_SourceAudioAuxiliaryVolOffset_t);
  152. #ifdef CONFIG_SUPPORT_PWM_DUTY_IN_DECIMAL
  153. UINT16 g_400mARange[SUPPORT_ADJUST_PWM_STAGE] =
  154. {
  155. 30,
  156. 33,39,46,52,57,64,71,77,85,90,
  157. 33,39,46,52,57,64,71,77,85,90,
  158. 97,104,111,118,124,131,138,145,152,157,
  159. 97,104,111,118,124,131,138,145,152,157,
  160. 164,172,179,184,191,198,205,212,218,225,
  161. 164,172,179,184,191,198,205,212,218,225,
  162. 232,239,246,252,259,266,273,280,285,293,
  163. 232,239,246,252,259,266,273,280,285,293,
  164. 299,306,313,319,326,334,341,347,353,361,
  165. 299,306,313,319,326,334,341,347,353,361,
  166. 368,375,380,387,395,401,409,415,421,428,
  167. 368,375,380,387,395,401,409,415,421,428,
  168. 436,442,448,455,462,469,475,482,490,496,
  169. 436,442,448,455,462,469,475,482,490,496,
  170. 503,509,516,524,530,537,543,550,557,564,
  171. 503,509,516,524,530,537,543,550,557,564,
  172. 570,577,584,591,598,604,610,618,624,632,
  173. 570,577,584,591,598,604,610,618,624,632,
  174. 638,645,652,659,666,672,679,686,695,695,
  175. 638,645,652,659,666,672,679,686,695,695
  176. };
  177. UINT16 g_700mARange[SUPPORT_ADJUST_PWM_STAGE] =
  178. {
  179. 30,
  180. 33,39,46,52,57,64,71,77,85,90,
  181. 33,39,46,52,57,64,71,77,85,90,
  182. 97,104,111,118,124,131,138,145,152,157,
  183. 97,104,111,118,124,131,138,145,152,157,
  184. 164,172,179,184,191,198,205,212,218,225,
  185. 164,172,179,184,191,198,205,212,218,225,
  186. 232,239,246,252,259,266,273,280,285,293,
  187. 232,239,246,252,259,266,273,280,285,293,
  188. 299,306,313,319,326,334,341,347,353,361,
  189. 299,306,313,319,326,334,341,347,353,361,
  190. 368,375,380,387,395,401,409,415,421,428,
  191. 368,375,380,387,395,401,409,415,421,428,
  192. 436,442,448,455,462,469,475,482,490,496,
  193. 436,442,448,455,462,469,475,482,490,496,
  194. 503,509,516,524,530,537,543,550,557,564,
  195. 503,509,516,524,530,537,543,550,557,564,
  196. 570,577,584,591,598,604,610,618,624,632,
  197. 570,577,584,591,598,604,610,618,624,632,
  198. 638,645,652,659,666,672,679,686,695,695,
  199. 638,645,652,659,666,672,679,686,695,695
  200. };
  201. UINT16 g_900mARange[SUPPORT_ADJUST_PWM_STAGE] =
  202. {
  203. 30,
  204. 33,39,46,52,57,64,71,77,85,90,
  205. 33,39,46,52,57,64,71,77,85,90,
  206. 97,104,111,118,124,131,138,145,152,157,
  207. 97,104,111,118,124,131,138,145,152,157,
  208. 164,172,179,184,191,198,205,212,218,225,
  209. 164,172,179,184,191,198,205,212,218,225,
  210. 232,239,246,252,259,266,273,280,285,293,
  211. 232,239,246,252,259,266,273,280,285,293,
  212. 299,306,313,319,326,334,341,347,353,361,
  213. 299,306,313,319,326,334,341,347,353,361,
  214. 368,375,380,387,395,401,409,415,421,428,
  215. 368,375,380,387,395,401,409,415,421,428,
  216. 436,442,448,455,462,469,475,482,490,496,
  217. 436,442,448,455,462,469,475,482,490,496,
  218. 503,509,516,524,530,537,543,550,557,564,
  219. 503,509,516,524,530,537,543,550,557,564,
  220. 570,577,584,591,598,604,610,618,624,632,
  221. 570,577,584,591,598,604,610,618,624,632,
  222. 638,645,652,659,666,672,679,686,695,695,
  223. 638,645,652,659,666,672,679,686,695,695
  224. };
  225. #else
  226. UINT16 g_400mARange[SUPPORT_ADJUST_PWM_STAGE] =
  227. {
  228. 30,
  229. 33,39,46,52,57,64,71,77,85,90,
  230. 97,104,111,118,124,131,138,145,152,157,
  231. 164,172,179,184,191,198,205,212,218,225,
  232. 232,239,246,252,259,266,273,280,285,293,
  233. 299,306,313,319,326,334,341,347,353,361,
  234. 368,375,380,387,395,401,409,415,421,428,
  235. 436,442,448,455,462,469,475,482,490,496,
  236. 503,509,516,524,530,537,543,550,557,564,
  237. 570,577,584,591,598,604,610,618,624,632,
  238. 638,645,652,659,666,672,679,686,695,695
  239. };
  240. UINT16 g_700mARange[SUPPORT_ADJUST_PWM_STAGE] =
  241. {
  242. 30,
  243. 33,39,46,52,57,64,71,77,85,90,
  244. 97,104,111,118,124,131,138,145,152,157,
  245. 164,172,179,184,191,198,205,212,218,225,
  246. 232,239,246,252,259,266,273,280,285,293,
  247. 299,306,313,319,326,334,341,347,353,361,
  248. 368,375,380,387,395,401,409,415,421,428,
  249. 436,442,448,455,462,469,475,482,490,496,
  250. 503,509,516,524,530,537,543,550,557,564,
  251. 570,577,584,591,598,604,610,618,624,632,
  252. 638,645,652,659,666,672,679,686,695,695
  253. };
  254. UINT16 g_900mARange[SUPPORT_ADJUST_PWM_STAGE] =
  255. {
  256. 30,
  257. 33,39,46,52,57,64,71,77,85,90,
  258. 97,104,111,118,124,131,138,145,152,157,
  259. 164,172,179,184,191,198,205,212,218,225,
  260. 232,239,246,252,259,266,273,280,285,293,
  261. 299,306,313,319,326,334,341,347,353,361,
  262. 368,375,380,387,395,401,409,415,421,428,
  263. 436,442,448,455,462,469,475,482,490,496,
  264. 503,509,516,524,530,537,543,550,557,564,
  265. 570,577,584,591,598,604,610,618,624,632,
  266. 638,645,652,659,666,672,679,686,695,695
  267. };
  268. APP_Board_USB_Port_Maping_t g_arBoardUsbPortMaping[] =
  269. { {'1', '2'},
  270. {'2', '1'},
  271. };
  272. const UINT16 g_arBoardUsbPortMaping_Size = sizeof(g_arBoardUsbPortMaping) / sizeof(APP_Board_USB_Port_Maping_t);
  273. #endif