V4L/DVB (3453a): Alters MAINTAINERS file to point to newer v4l-dvb email
[deliverable/linux.git] / include / media / tuner-types.h
CommitLineData
7b0ac9cd
MK
1/*
2 * descriptions for simple tuners.
3 */
4
5#ifndef __TUNER_TYPES_H__
6#define __TUNER_TYPES_H__
7
8enum param_type {
9 TUNER_PARAM_TYPE_RADIO, \
10 TUNER_PARAM_TYPE_PAL, \
11 TUNER_PARAM_TYPE_SECAM, \
c943aa85 12 TUNER_PARAM_TYPE_NTSC
7b0ac9cd
MK
13};
14
15struct tuner_range {
16 unsigned short limit;
3fc46d35 17 unsigned char config;
7b0ac9cd
MK
18 unsigned char cb;
19};
20
21struct tuner_params {
22 enum param_type type;
27487d44
HV
23 /* Many Philips based tuners have a comment like this in their
24 * datasheet:
25 *
26 * For channel selection involving band switching, and to ensure
27 * smooth tuning to the desired channel without causing
28 * unnecessary charge pump action, it is recommended to consider
29 * the difference between wanted channel frequency and the
30 * current channel frequency. Unnecessary charge pump action
31 * will result in very low tuning voltage which may drive the
32 * oscillator to extreme conditions.
33 *
de03d21b 34 * Set cb_first_if_lower_freq to 1, if this check is
01872c5d 35 * required for this tuner.
27487d44
HV
36 *
37 * I tested this for PAL by first setting the TV frequency to
38 * 203 MHz and then switching to 96.6 MHz FM radio. The result was
39 * static unless the control byte was sent first.
40 */
41 unsigned int cb_first_if_lower_freq:1;
7b0ac9cd
MK
42
43 unsigned int count;
44 struct tuner_range *ranges;
45};
46
47struct tunertype {
48 char *name;
7b0ac9cd
MK
49 struct tuner_params *params;
50};
51
52extern struct tunertype tuners[];
53extern unsigned const int tuner_count;
54
55#endif
This page took 0.031066 seconds and 5 git commands to generate.