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