tuner-types.h revision 7b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96
17b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky/*
27b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky * descriptions for simple tuners.
37b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky */
47b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky
57b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky#ifndef __TUNER_TYPES_H__
67b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky#define __TUNER_TYPES_H__
77b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky
87b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufkyenum param_type {
97b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky	TUNER_PARAM_TYPE_RADIO, \
107b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky	TUNER_PARAM_TYPE_PAL, \
117b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky	TUNER_PARAM_TYPE_SECAM, \
127b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky	TUNER_PARAM_TYPE_NTSC, \
137b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky	TUNER_PARAM_TYPE_ATSC, \
147b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky	TUNER_PARAM_TYPE_DVBT, \
157b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky	TUNER_PARAM_TYPE_DVBS, \
167b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky	TUNER_PARAM_TYPE_DVBC
177b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky};
187b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky
197b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufkystruct tuner_range {
207b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky	unsigned short limit;
217b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky	unsigned char cb;
227b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky};
237b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky
247b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufkystruct tuner_params {
257b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky	enum param_type type;
267b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky	unsigned char config; /* to be moved into struct tuner_range for dvb-pll merge */
277b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky
287b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky	unsigned int count;
297b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky	struct tuner_range *ranges;
307b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky};
317b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky
327b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufkystruct tunertype {
337b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky	char *name;
347b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky	unsigned int has_tda988x:1;
357b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky	struct tuner_params *params;
367b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky};
377b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky
387b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufkyextern struct tunertype tuners[];
397b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufkyextern unsigned const int tuner_count;
407b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky
417b0ac9cdd42b254ae2ec0f6c1cc6389655e4ba96Michael Krufky#endif
42