mt8193table.h 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. #ifndef __mt8193table_h__
  2. #define __mt8193table_h__
  3. #ifdef HDMI_MT8193_SUPPORT
  4. enum HDMI_VIDEO_RESOLUTION {
  5. HDMI_VIDEO_720x480p_60Hz = 0, /* 0 */
  6. HDMI_VIDEO_720x576p_50Hz, /* 1 */
  7. HDMI_VIDEO_1280x720p_60Hz, /* 2 */
  8. HDMI_VIDEO_1280x720p_50Hz, /* 3 */
  9. HDMI_VIDEO_1920x1080i_60Hz, /* 4 */
  10. HDMI_VIDEO_1920x1080i_50Hz, /* 5 */
  11. HDMI_VIDEO_1920x1080p_30Hz, /* 6 */
  12. HDMI_VIDEO_1920x1080p_25Hz, /* 7 */
  13. HDMI_VIDEO_1920x1080p_24Hz, /* 8 */
  14. HDMI_VIDEO_1920x1080p_23Hz, /* 9 */
  15. HDMI_VIDEO_1920x1080p_29Hz, /* a */
  16. HDMI_VIDEO_1920x1080p_60Hz, /* b */
  17. HDMI_VIDEO_1920x1080p_50Hz, /* c */
  18. HDMI_VIDEO_RESOLUTION_NUM
  19. };
  20. enum _HDMI_DEEP_COLOR_T {
  21. HDMI_DEEP_COLOR_AUTO = 0,
  22. HDMI_NO_DEEP_COLOR,
  23. HDMI_DEEP_COLOR_10_BIT,
  24. HDMI_DEEP_COLOR_12_BIT,
  25. HDMI_DEEP_COLOR_16_BIT
  26. };
  27. #define HDMI_DEEP_COLOR_T enum _HDMI_DEEP_COLOR_T
  28. enum _HDMI_AUDIO_INPUT_TYPE_T {
  29. SV_I2S = 0,
  30. SV_SPDIF
  31. };
  32. #define HDMI_AUDIO_INPUT_TYPE_T enum _HDMI_AUDIO_INPUT_TYPE_T
  33. enum _AUDIO_SAMPLING_T {
  34. /* new add 2007/9/12 */
  35. FS_16K = 0x00,
  36. FS_22K,
  37. FS_24K,
  38. FS_32K,
  39. FS_44K,
  40. FS_48K,
  41. FS_64K,
  42. FS_88K,
  43. FS_96K,
  44. FS_176K,
  45. FS_192K,
  46. FS512_44K, /* for DSD */
  47. FS_768K,
  48. FS128_44k,
  49. FS_128K,
  50. FS_UNKNOWN,
  51. FS_48K_MAX_CH
  52. };
  53. #define AUDIO_SAMPLING_T enum _AUDIO_SAMPLING_T
  54. enum _HDMI_AUDIO_SAMPLING_T {
  55. HDMI_FS_32K = 0,
  56. HDMI_FS_44K,
  57. HDMI_FS_48K,
  58. HDMI_FS_88K,
  59. HDMI_FS_96K,
  60. HDMI_FS_176K,
  61. HDMI_FS_192K
  62. };
  63. #define HDMI_AUDIO_SAMPLING_T enum _HDMI_AUDIO_SAMPLING_T
  64. enum _PCM_BIT_SIZE_T {
  65. PCM_16BIT = 0,
  66. PCM_20BIT,
  67. PCM_24BIT
  68. };
  69. #define PCM_BIT_SIZE_T enum _PCM_BIT_SIZE_T
  70. enum _HDMI_OUT_COLOR_SPACE_T {
  71. HDMI_RGB = 0,
  72. HDMI_RGB_FULL,
  73. HDMI_YCBCR_444,
  74. HDMI_YCBCR_422,
  75. HDMI_XV_YCC,
  76. HDMI_YCBCR_444_FULL,
  77. HDMI_YCBCR_422_FULL
  78. };
  79. #define HDMI_OUT_COLOR_SPACE_T enum _HDMI_OUT_COLOR_SPACE_T
  80. static const unsigned int HVSYNC_TOTAL_WIDTH_ACTIVE[HDMI_VIDEO_RESOLUTION_NUM][6] = {
  81. {0x020d035a, 0x0006003E, 0x00250204, 0x00250204, 0x007c034b, 0x3}, /* 480p@27M */
  82. {0x02710360, 0x00050040, 0x002d026c, 0x002d026c, 0x00860355, 0x3}, /* 576p@27M */
  83. {0x02ee0672, 0x00050028, 0x001a02e9, 0x001a02e9, 0x01060605, 0x0}, /* 720p@60Hz */
  84. {0x02ee07bc, 0x00050028, 0x001a02e9, 0x001a02e9, 0x01060605, 0x0}, /* 720p@50Hz */
  85. {0x04650898, 0x0005002C, 0x02480463, 0x00150230, 0x01180897, 0x0}, /* 1080i@60Hz */
  86. {0x04650a50, 0x0005002C, 0x02480463, 0x00150230, 0x018008ff, 0x0}, /* 1080i@50Hz */
  87. {0x04650898, 0x0005002C, 0x002a0461, 0x002a0461, 0x00c20841, 0x0}, /* 1080p@30Hz */
  88. {0x04650a50, 0x0005002C, 0x002a0461, 0x002a0461, 0x00c20841, 0x0}, /* 1080p@25Hz */
  89. {0x04650abe, 0x0005002C, 0x002a0461, 0x002a0461, 0x00c20841, 0x0}, /* 1080p@24Hz */
  90. {0x04650abe, 0x0005002C, 0x002a0461, 0x002a0461, 0x00c20841, 0x0}, /* 1080p@23.976Hz */
  91. {0x04650898, 0x0005002C, 0x002a0461, 0x002a0461, 0x00c20841, 0x0}, /* 1080p@29.97Hz */
  92. {0x04650898, 0x0005002C, 0x002a0461, 0x002a0461, 0x00c20841, 0x0}, /* 1080p@60Hz */
  93. {0x04650a50, 0x0005002C, 0x002a0461, 0x002a0461, 0x00c20841, 0x0}, /* 1080p@50Hz */
  94. };
  95. static const unsigned int HVSYNC_DELAY[HDMI_VIDEO_RESOLUTION_NUM] = {
  96. 0x00130007, /* 480p@27M */
  97. 0x000b0003, /* 576p@27M */
  98. 0x000b0065, /* 720p@60Hz */
  99. 0x000b01af, /* 720p@50Hz */
  100. 0x000b01b0, /* 1080i@60Hz */
  101. 0x000b01b0, /* 1080i@50Hz */
  102. 0x0009004f, /* 1080p@30Hz */
  103. 0x00090207, /* 1080p@25Hz */
  104. 0x00090275, /* 1080p@24Hz */
  105. 0x00090276, /* 1080p@23.976Hz */
  106. 0x0009004f, /* 1080p@29.97Hz */
  107. 0x000b01b0, /* 1080p@60Hz */
  108. 0x000b01b0 /* 1080p@50Hz */
  109. };
  110. static const unsigned int CBCR_PRELOAD[HDMI_VIDEO_RESOLUTION_NUM] = {
  111. 0x0, /* 480p@27M */
  112. 0x0, /* 576p@27M */
  113. 0x0, /* 720p@60Hz */
  114. 0x0, /* 720p@50Hz */
  115. 0x0, /* 1080i@60Hz */
  116. 0x0, /* 1080i@50Hz */
  117. 0x0, /* 1080p@30Hz */
  118. 0x0, /* 1080p@25Hz */
  119. 0x0, /* 1080p@24Hz */
  120. 0x0, /* 1080p@23.976Hz */
  121. 0x0, /* 1080p@29.97Hz */
  122. 0x0, /* 1080p@60Hz */
  123. 0x0 /* 1080p@50Hz */
  124. };
  125. static const unsigned char HDMI_VIDEO_ID_CODE[HDMI_VIDEO_RESOLUTION_NUM] = {
  126. 2, 17, 4, 19, 5, 20, 34, 33, 32, 32, 34, 16, 31 };
  127. /* 480P,576P,720P60,720P50,1080I60,1080I50,,,1080P30,1080P25,1080P24,1080P23.97,1080P29.97,1080p60,1080p50*/
  128. static const unsigned int HDMI_ANL_INIT[8] = {
  129. 0x0000BBBB, 0x00000000, 0x1F001F00, 0x00300094, 0xF4c81400, 0x46331717, 0x00004100,
  130. 0x00004140
  131. };
  132. static const unsigned int HDMI_ANL_INIT_1080P_36BIT[8] = {
  133. 0x0000CCCC, 0x00000000, 0x1F001F04, 0x00300094, 0x8F888F00, 0x46331717, 0x00004100,
  134. 0x00004140
  135. };
  136. /* PLL setting */
  137. /* Band, N1 ,N2, F2, N3 ,N4 */
  138. static const unsigned char HDMI_PLL_SETTING[3][5] = {
  139. {0x94, 0x00, 0x14, 0xC8, 0xF4}, /* 27Mhz */
  140. {0x8F, 0x00, 0x8F, 0xA8, 0xD4}, /* 74Mhz */
  141. {0x8F, 0x00, 0x8F, 0x88, 0xB4} /* 148 Mhz */
  142. };
  143. static const unsigned char HDMI_PLL_SETTING_X_1_25[3][5] = {
  144. {0x94, 0x00, 0x14, 0xC8, 0xF9}, /* 27 Mhz */
  145. {0x8F, 0x10, 0x8F, 0xA8, 0xB9}, /* 74Mhz */
  146. {0x8F, 0x10, 0x8F, 0x88, 0x99} /* 148Mhz */
  147. };
  148. static const unsigned char HDMI_PLL_SETTING_X_1_5[3][5] = {
  149. {0x94, 0x00, 0x14, 0xC8, 0xCF}, /* 27Mhz */
  150. {0x8F, 0x00, 0x8F, 0xA8, 0xAF}, /* 74Mhz */
  151. {0x8F, 0x00, 0x8F, 0x88, 0x8F} /* 148Mhz */
  152. };
  153. #define NCTS_BYTES 0x07
  154. static const unsigned char HDMI_NCTS[7][7][NCTS_BYTES] = {
  155. {{0x00, 0x00, 0x69, 0x78, 0x00, 0x10, 0x00}, /* 32K, 480i/576i/480p@27MHz/576p@27MHz */
  156. {0x00, 0x00, 0xd2, 0xf0, 0x00, 0x10, 0x00}, /* 32K, 480p@54MHz/576p@54MHz */
  157. {0x00, 0x03, 0x37, 0xf9, 0x00, 0x2d, 0x80}, /* 32K, 720p@60/1080i@60 */
  158. {0x00, 0x01, 0x22, 0x0a, 0x00, 0x10, 0x00}, /* 32K, 720p@50/1080i@50 */
  159. {0x00, 0x06, 0x6f, 0xf3, 0x00, 0x2d, 0x80}, /* 32K, 1080p@60 */
  160. {0x00, 0x02, 0x44, 0x14, 0x00, 0x10, 0x00}, /* 32K, 1080p@50 */
  161. {0x00, 0x01, 0xA5, 0xe0, 0x00, 0x10, 0x00} /* 32K, 480p@108MHz/576p@108MHz */
  162. },
  163. {{0x00, 0x00, 0x75, 0x30, 0x00, 0x18, 0x80}, /* 44K, 480i/576i/480p@27MHz/576p@27MHz */
  164. {0x00, 0x00, 0xea, 0x60, 0x00, 0x18, 0x80}, /* 44K, 480p@54MHz/576p@54MHz */
  165. {0x00, 0x03, 0x93, 0x87, 0x00, 0x45, 0xac}, /* 44K, 720p@60/1080i@60 */
  166. {0x00, 0x01, 0x42, 0x44, 0x00, 0x18, 0x80}, /* 44K, 720p@50/1080i@50 */
  167. {0x00, 0x03, 0x93, 0x87, 0x00, 0x22, 0xd6}, /* 44K, 1080p@60 */
  168. {0x00, 0x02, 0x84, 0x88, 0x00, 0x18, 0x80}, /* 44K, 1080p@50 */
  169. {0x00, 0x01, 0xd4, 0xc0, 0x00, 0x18, 0x80} /* 44K, 480p@108MHz/576p@108MHz */
  170. },
  171. {{0x00, 0x00, 0x69, 0x78, 0x00, 0x18, 0x00}, /* 48K, 480i/576i/480p@27MHz/576p@27MHz */
  172. {0x00, 0x00, 0xd2, 0xf0, 0x00, 0x18, 0x00}, /* 48K, 480p@54MHz/576p@54MHz */
  173. {0x00, 0x02, 0x25, 0x51, 0x00, 0x2d, 0x80}, /* 48K, 720p@60/1080i@60 */
  174. {0x00, 0x01, 0x22, 0x0a, 0x00, 0x18, 0x00}, /* 48K, 720p@50/1080i@50 */
  175. {0x00, 0x02, 0x25, 0x51, 0x00, 0x16, 0xc0}, /* 48K, 1080p@60 */
  176. {0x00, 0x02, 0x44, 0x14, 0x00, 0x18, 0x00}, /* 48K, 1080p@50 */
  177. {0x00, 0x01, 0xA5, 0xe0, 0x00, 0x18, 0x00} /* 48K, 108p@54MHz/576p@108MHz */
  178. },
  179. {{0x00, 0x00, 0x75, 0x30, 0x00, 0x31, 0x00}, /* 88K 480i/576i/480p@27MHz/576p@27MHz */
  180. {0x00, 0x00, 0xea, 0x60, 0x00, 0x31, 0x00}, /* 88K 480p@54MHz/576p@54MHz */
  181. {0x00, 0x03, 0x93, 0x87, 0x00, 0x8b, 0x58}, /* 88K, 720p@60/1080i@60 */
  182. {0x00, 0x01, 0x42, 0x44, 0x00, 0x31, 0x00}, /* 88K, 720p@50/1080i@50 */
  183. {0x00, 0x03, 0x93, 0x87, 0x00, 0x45, 0xac}, /* 88K, 1080p@60 */
  184. {0x00, 0x02, 0x84, 0x88, 0x00, 0x31, 0x00}, /* 88K, 1080p@50 */
  185. {0x00, 0x01, 0xd4, 0xc0, 0x00, 0x31, 0x00} /* 88K 480p@108MHz/576p@108MHz */
  186. },
  187. {{0x00, 0x00, 0x69, 0x78, 0x00, 0x30, 0x00}, /* 96K, 480i/576i/480p@27MHz/576p@27MHz */
  188. {0x00, 0x00, 0xd2, 0xf0, 0x00, 0x30, 0x00}, /* 96K, 480p@54MHz/576p@54MHz */
  189. {0x00, 0x02, 0x25, 0x51, 0x00, 0x5b, 0x00}, /* 96K, 720p@60/1080i@60 */
  190. {0x00, 0x01, 0x22, 0x0a, 0x00, 0x30, 0x00}, /* 96K, 720p@50/1080i@50 */
  191. {0x00, 0x02, 0x25, 0x51, 0x00, 0x2d, 0x80}, /* 96K, 1080p@60 */
  192. {0x00, 0x02, 0x44, 0x14, 0x00, 0x30, 0x00}, /* 96K, 1080p@50 */
  193. {0x00, 0x01, 0xA5, 0xe0, 0x00, 0x30, 0x00} /* 96K, 480p@108MHz/576p@108MHz */
  194. },
  195. {{0x00, 0x00, 0x75, 0x30, 0x00, 0x62, 0x00}, /* 176K, 480i/576i/480p@27MHz/576p@27MHz */
  196. {0x00, 0x00, 0xea, 0x60, 0x00, 0x62, 0x00}, /* 176K, 480p@54MHz/576p@54MHz */
  197. {0x00, 0x03, 0x93, 0x87, 0x01, 0x16, 0xb0}, /* 176K, 720p@60/1080i@60 */
  198. {0x00, 0x01, 0x42, 0x44, 0x00, 0x62, 0x00}, /* 176K, 720p@50/1080i@50 */
  199. {0x00, 0x03, 0x93, 0x87, 0x00, 0x8b, 0x58}, /* 176K, 1080p@60 */
  200. {0x00, 0x02, 0x84, 0x88, 0x00, 0x62, 0x00}, /* 176K, 1080p@50 */
  201. {0x00, 0x01, 0xd4, 0xc0, 0x00, 0x62, 0x00} /* 176K, 480p@54MHz/576p@54MHz */
  202. },
  203. {{0x00, 0x00, 0x69, 0x78, 0x00, 0x60, 0x00}, /* 192K, 480i/576i/480p@27MHz/576p@27MHz */
  204. {0x00, 0x00, 0xd2, 0xf0, 0x00, 0x60, 0x00}, /* 192K, 480p@54MHz/576p@54MHz */
  205. {0x00, 0x02, 0x25, 0x51, 0x00, 0xb6, 0x00}, /* 192K, 720p@60/1080i@60 */
  206. {0x00, 0x01, 0x22, 0x0a, 0x00, 0x60, 0x00}, /* 192K, 720p@50/1080i@50 */
  207. {0x00, 0x02, 0x25, 0x51, 0x00, 0x5b, 0x00}, /* 192K, 1080p@60 */
  208. {0x00, 0x02, 0x44, 0x14, 0x00, 0x60, 0x00}, /* 192K, 1080p@50 */
  209. {0x00, 0x01, 0xA5, 0xe0, 0x00, 0x60, 0x00} /* 192K, 480p@108MHz/576p@108MHz */
  210. }
  211. };
  212. #endif
  213. #endif