]> err.no Git - linux-2.6/blobdiff - include/media/tuner-types.h
Merge branch 'upstream'
[linux-2.6] / include / media / tuner-types.h
index 9f6e4a98c40a6fb5131294a7d06e6d6d47d32d20..ad9c171bfa07177e0716e34a6d0c8be4e84b547d 100644 (file)
@@ -9,21 +9,36 @@ enum param_type {
        TUNER_PARAM_TYPE_RADIO, \
        TUNER_PARAM_TYPE_PAL, \
        TUNER_PARAM_TYPE_SECAM, \
-       TUNER_PARAM_TYPE_NTSC, \
-       TUNER_PARAM_TYPE_ATSC, \
-       TUNER_PARAM_TYPE_DVBT, \
-       TUNER_PARAM_TYPE_DVBS, \
-       TUNER_PARAM_TYPE_DVBC
+       TUNER_PARAM_TYPE_NTSC
 };
 
 struct tuner_range {
        unsigned short limit;
+       unsigned char config;
        unsigned char cb;
 };
 
 struct tuner_params {
        enum param_type type;
-       unsigned char config; /* to be moved into struct tuner_range for dvb-pll merge */
+       /* Many Philips based tuners have a comment like this in their
+        * datasheet:
+        *
+        *   For channel selection involving band switching, and to ensure
+        *   smooth tuning to the desired channel without causing
+        *   unnecessary charge pump action, it is recommended to consider
+        *   the difference between wanted channel frequency and the
+        *   current channel frequency.  Unnecessary charge pump action
+        *   will result in very low tuning voltage which may drive the
+        *   oscillator to extreme conditions.
+        *
+        * Set cb_first_if_lower_freq to 1, if this check is
+        * required for this tuner.
+        *
+        * I tested this for PAL by first setting the TV frequency to
+        * 203 MHz and then switching to 96.6 MHz FM radio. The result was
+        * static unless the control byte was sent first.
+        */
+       unsigned int cb_first_if_lower_freq:1;
 
        unsigned int count;
        struct tuner_range *ranges;
@@ -31,7 +46,7 @@ struct tuner_params {
 
 struct tunertype {
        char *name;
-       unsigned int has_tda988x:1;
+       unsigned int count;
        struct tuner_params *params;
 };