vendorcmds.h 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. #ifndef VENDOR_CMD_H_
  2. #define VENDOR_CMD_H_
  3. #define BULK_ALTERNATE_IFACE (2)
  4. #define ISO_3K_BULK_ALTERNATE_IFACE (1)
  5. #define REQ_SET_CMD (0X00)
  6. #define REQ_GET_CMD (0X80)
  7. enum tlg__analog_audio_standard {
  8. TLG_TUNE_ASTD_NONE = 0x00000000,
  9. TLG_TUNE_ASTD_A2 = 0x00000001,
  10. TLG_TUNE_ASTD_NICAM = 0x00000002,
  11. TLG_TUNE_ASTD_EIAJ = 0x00000004,
  12. TLG_TUNE_ASTD_BTSC = 0x00000008,
  13. TLG_TUNE_ASTD_FM_US = 0x00000010,
  14. TLG_TUNE_ASTD_FM_EUR = 0x00000020,
  15. TLG_TUNE_ASTD_ALL = 0x0000003f
  16. };
  17. /*
  18. * identifiers for Custom Parameter messages.
  19. * @typedef cmd_custom_param_id_t
  20. */
  21. enum cmd_custom_param_id {
  22. CUST_PARM_ID_NONE = 0x00,
  23. CUST_PARM_ID_BRIGHTNESS_CTRL = 0x01,
  24. CUST_PARM_ID_CONTRAST_CTRL = 0x02,
  25. CUST_PARM_ID_HUE_CTRL = 0x03,
  26. CUST_PARM_ID_SATURATION_CTRL = 0x04,
  27. CUST_PARM_ID_AUDIO_SNR_THRESHOLD = 0x10,
  28. CUST_PARM_ID_AUDIO_AGC_THRESHOLD = 0x11,
  29. CUST_PARM_ID_MAX
  30. };
  31. struct tuner_custom_parameter_s {
  32. uint16_t param_id; /* Parameter identifier */
  33. uint16_t param_value; /* Parameter value */
  34. };
  35. struct tuner_ber_rate_s {
  36. uint32_t ber_rate; /* BER sample rate in seconds */
  37. };
  38. struct tuner_atv_sig_stat_s {
  39. uint32_t sig_present;
  40. uint32_t sig_locked;
  41. uint32_t sig_lock_busy;
  42. uint32_t sig_strength; /* milliDb */
  43. uint32_t tv_audio_chan; /* mono/stereo/sap*/
  44. uint32_t mvision_stat; /* macrovision status */
  45. };
  46. struct tuner_dtv_sig_stat_s {
  47. uint32_t sig_present; /* Boolean*/
  48. uint32_t sig_locked; /* Boolean */
  49. uint32_t sig_lock_busy; /* Boolean (Can this time-out?) */
  50. uint32_t sig_strength; /* milliDb*/
  51. };
  52. struct tuner_fm_sig_stat_s {
  53. uint32_t sig_present; /* Boolean*/
  54. uint32_t sig_locked; /* Boolean */
  55. uint32_t sig_lock_busy; /* Boolean */
  56. uint32_t sig_stereo_mono;/* TBD*/
  57. uint32_t sig_strength; /* milliDb*/
  58. };
  59. enum _tag_tlg_tune_srv_cmd {
  60. TLG_TUNE_PLAY_SVC_START = 1,
  61. TLG_TUNE_PLAY_SVC_STOP
  62. };
  63. enum _tag_tune_atv_audio_mode_caps {
  64. TLG_TUNE_TVAUDIO_MODE_MONO = 0x00000001,
  65. TLG_TUNE_TVAUDIO_MODE_STEREO = 0x00000002,
  66. TLG_TUNE_TVAUDIO_MODE_LANG_A = 0x00000010,/* Primary language*/
  67. TLG_TUNE_TVAUDIO_MODE_LANG_B = 0x00000020,/* 2nd avail language*/
  68. TLG_TUNE_TVAUDIO_MODE_LANG_C = 0x00000040
  69. };
  70. enum _tag_tuner_atv_audio_rates {
  71. ATV_AUDIO_RATE_NONE = 0x00,/* Audio not supported*/
  72. ATV_AUDIO_RATE_32K = 0x01,/* Audio rate = 32 KHz*/
  73. ATV_AUDIO_RATE_48K = 0x02, /* Audio rate = 48 KHz*/
  74. ATV_AUDIO_RATE_31_25K = 0x04 /* Audio rate = 31.25KHz */
  75. };
  76. enum _tag_tune_atv_vid_res_caps {
  77. TLG_TUNE_VID_RES_NONE = 0x00000000,
  78. TLG_TUNE_VID_RES_720 = 0x00000001,
  79. TLG_TUNE_VID_RES_704 = 0x00000002,
  80. TLG_TUNE_VID_RES_360 = 0x00000004
  81. };
  82. enum _tag_tuner_analog_video_format {
  83. TLG_TUNER_VID_FORMAT_YUV = 0x00000001,
  84. TLG_TUNER_VID_FORMAT_YCRCB = 0x00000002,
  85. TLG_TUNER_VID_FORMAT_RGB_565 = 0x00000004,
  86. };
  87. enum tlg_ext_audio_support {
  88. TLG_EXT_AUDIO_NONE = 0x00,/* No external audio input supported */
  89. TLG_EXT_AUDIO_LR = 0x01/* LR external audio inputs supported*/
  90. };
  91. enum {
  92. TLG_MODE_NONE = 0x00, /* No Mode specified*/
  93. TLG_MODE_ANALOG_TV = 0x01, /* Analog Television mode*/
  94. TLG_MODE_ANALOG_TV_UNCOMP = 0x01, /* Analog Television mode*/
  95. TLG_MODE_ANALOG_TV_COMP = 0x02, /* Analog TV mode (compressed)*/
  96. TLG_MODE_FM_RADIO = 0x04, /* FM Radio mode*/
  97. TLG_MODE_DVB_T = 0x08, /* Digital TV (DVB-T)*/
  98. };
  99. enum tlg_signal_sources_t {
  100. TLG_SIG_SRC_NONE = 0x00,/* Signal source not specified */
  101. TLG_SIG_SRC_ANTENNA = 0x01,/* Signal src is: Antenna */
  102. TLG_SIG_SRC_CABLE = 0x02,/* Signal src is: Coax Cable*/
  103. TLG_SIG_SRC_SVIDEO = 0x04,/* Signal src is: S_VIDEO */
  104. TLG_SIG_SRC_COMPOSITE = 0x08 /* Signal src is: Composite Video */
  105. };
  106. enum tuner_analog_video_standard {
  107. TLG_TUNE_VSTD_NONE = 0x00000000,
  108. TLG_TUNE_VSTD_NTSC_M = 0x00000001,
  109. TLG_TUNE_VSTD_NTSC_M_J = 0x00000002,/* Japan */
  110. TLG_TUNE_VSTD_PAL_B = 0x00000010,
  111. TLG_TUNE_VSTD_PAL_D = 0x00000020,
  112. TLG_TUNE_VSTD_PAL_G = 0x00000040,
  113. TLG_TUNE_VSTD_PAL_H = 0x00000080,
  114. TLG_TUNE_VSTD_PAL_I = 0x00000100,
  115. TLG_TUNE_VSTD_PAL_M = 0x00000200,
  116. TLG_TUNE_VSTD_PAL_N = 0x00000400,
  117. TLG_TUNE_VSTD_SECAM_B = 0x00001000,
  118. TLG_TUNE_VSTD_SECAM_D = 0x00002000,
  119. TLG_TUNE_VSTD_SECAM_G = 0x00004000,
  120. TLG_TUNE_VSTD_SECAM_H = 0x00008000,
  121. TLG_TUNE_VSTD_SECAM_K = 0x00010000,
  122. TLG_TUNE_VSTD_SECAM_K1 = 0x00020000,
  123. TLG_TUNE_VSTD_SECAM_L = 0x00040000,
  124. TLG_TUNE_VSTD_SECAM_L1 = 0x00080000,
  125. TLG_TUNE_VSTD_PAL_N_COMBO = 0x00100000
  126. };
  127. enum tlg_mode_caps {
  128. TLG_MODE_CAPS_NONE = 0x00, /* No Mode specified */
  129. TLG_MODE_CAPS_ANALOG_TV_UNCOMP = 0x01, /* Analog TV mode */
  130. TLG_MODE_CAPS_ANALOG_TV_COMP = 0x02, /* Analog TV (compressed)*/
  131. TLG_MODE_CAPS_FM_RADIO = 0x04, /* FM Radio mode */
  132. TLG_MODE_CAPS_DVB_T = 0x08, /* Digital TV (DVB-T) */
  133. };
  134. enum poseidon_vendor_cmds {
  135. LAST_CMD_STAT = 0x00,
  136. GET_CHIP_ID = 0x01,
  137. GET_FW_ID = 0x02,
  138. PRODUCT_CAPS = 0x03,
  139. TUNE_MODE_CAP_ATV = 0x10,
  140. TUNE_MODE_CAP_ATVCOMP = 0X10,
  141. TUNE_MODE_CAP_DVBT = 0x10,
  142. TUNE_MODE_CAP_FM = 0x10,
  143. TUNE_MODE_SELECT = 0x11,
  144. TUNE_FREQ_SELECT = 0x12,
  145. SGNL_SRC_SEL = 0x13,
  146. VIDEO_STD_SEL = 0x14,
  147. VIDEO_STREAM_FMT_SEL = 0x15,
  148. VIDEO_ROSOLU_AVAIL = 0x16,
  149. VIDEO_ROSOLU_SEL = 0x17,
  150. VIDEO_CONT_PROTECT = 0x20,
  151. VCR_TIMING_MODSEL = 0x21,
  152. EXT_AUDIO_CAP = 0x22,
  153. EXT_AUDIO_SEL = 0x23,
  154. TEST_PATTERN_SEL = 0x24,
  155. VBI_DATA_SEL = 0x25,
  156. AUDIO_SAMPLE_RATE_CAP = 0x28,
  157. AUDIO_SAMPLE_RATE_SEL = 0x29,
  158. TUNER_AUD_MODE = 0x2a,
  159. TUNER_AUD_MODE_AVAIL = 0x2b,
  160. TUNER_AUD_ANA_STD = 0x2c,
  161. TUNER_CUSTOM_PARAMETER = 0x2f,
  162. DVBT_TUNE_MODE_SEL = 0x30,
  163. DVBT_BANDW_CAP = 0x31,
  164. DVBT_BANDW_SEL = 0x32,
  165. DVBT_GUARD_INTERV_CAP = 0x33,
  166. DVBT_GUARD_INTERV_SEL = 0x34,
  167. DVBT_MODULATION_CAP = 0x35,
  168. DVBT_MODULATION_SEL = 0x36,
  169. DVBT_INNER_FEC_RATE_CAP = 0x37,
  170. DVBT_INNER_FEC_RATE_SEL = 0x38,
  171. DVBT_TRANS_MODE_CAP = 0x39,
  172. DVBT_TRANS_MODE_SEL = 0x3a,
  173. DVBT_SEARCH_RANG = 0x3c,
  174. TUNER_SETUP_ANALOG = 0x40,
  175. TUNER_SETUP_DIGITAL = 0x41,
  176. TUNER_SETUP_FM_RADIO = 0x42,
  177. TAKE_REQUEST = 0x43, /* Take effect of the command */
  178. PLAY_SERVICE = 0x44, /* Play start or Play stop */
  179. TUNER_STATUS = 0x45,
  180. TUNE_PROP_DVBT = 0x46,
  181. ERR_RATE_STATS = 0x47,
  182. TUNER_BER_RATE = 0x48,
  183. SCAN_CAPS = 0x50,
  184. SCAN_SETUP = 0x51,
  185. SCAN_SERVICE = 0x52,
  186. SCAN_STATS = 0x53,
  187. PID_SET = 0x58,
  188. PID_UNSET = 0x59,
  189. PID_LIST = 0x5a,
  190. IRD_CAP = 0x60,
  191. IRD_MODE_SEL = 0x61,
  192. IRD_SETUP = 0x62,
  193. PTM_MODE_CAP = 0x70,
  194. PTM_MODE_SEL = 0x71,
  195. PTM_SERVICE = 0x72,
  196. TUNER_REG_SCRIPT = 0x73,
  197. CMD_CHIP_RST = 0x74,
  198. };
  199. enum tlg_bw {
  200. TLG_BW_5 = 5,
  201. TLG_BW_6 = 6,
  202. TLG_BW_7 = 7,
  203. TLG_BW_8 = 8,
  204. TLG_BW_12 = 12,
  205. TLG_BW_15 = 15
  206. };
  207. struct cmd_firmware_vers_s {
  208. uint8_t fw_rev_major;
  209. uint8_t fw_rev_minor;
  210. uint16_t fw_patch;
  211. };
  212. #endif /* VENDOR_CMD_H_ */