[go: nahoru, domu]

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