summaryrefslogtreecommitdiff
path: root/linux/include
diff options
context:
space:
mode:
Diffstat (limited to 'linux/include')
-rw-r--r--linux/include/media/tuner-types.h18
-rw-r--r--linux/include/media/tuner.h10
-rw-r--r--linux/include/media/v4l2-common.h7
3 files changed, 31 insertions, 4 deletions
diff --git a/linux/include/media/tuner-types.h b/linux/include/media/tuner-types.h
index 73410a62c..f7b4d1c3d 100644
--- a/linux/include/media/tuner-types.h
+++ b/linux/include/media/tuner-types.h
@@ -30,6 +30,24 @@ struct tuner_range {
struct tuner_params {
enum param_type type;
unsigned int tda988x;
+ /* 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 this flag to 1 if this tuner needs this check.
+ *
+ * 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;
#if 0 /* to be used when we merge dvb-pll */
u32 min;
u32 max;
diff --git a/linux/include/media/tuner.h b/linux/include/media/tuner.h
index a6a5786dc..50e3bd601 100644
--- a/linux/include/media/tuner.h
+++ b/linux/include/media/tuner.h
@@ -1,5 +1,5 @@
/*
- $Id: tuner.h,v 1.75 2006/01/12 20:08:42 hverkuil Exp $
+ $Id: tuner.h,v 1.76 2006/01/15 17:04:52 hverkuil Exp $
tuner.h - definition for different tuners
Copyright (C) 1997 Markus Schroeder (schroedm@uni-duesseldorf.de)
@@ -180,7 +180,9 @@ struct tuner {
unsigned int mode;
unsigned int mode_mask; /* Combination of allowable modes */
- unsigned int freq; /* keep track of the current settings */
+ unsigned int tv_freq; /* keep track of the current settings */
+ unsigned int radio_freq;
+ u16 last_div;
unsigned int audmode;
v4l2_std_id std;
@@ -198,8 +200,8 @@ struct tuner {
unsigned int sgIF;
/* function ptrs */
- void (*tv_freq)(struct i2c_client *c, unsigned int freq);
- void (*radio_freq)(struct i2c_client *c, unsigned int freq);
+ void (*set_tv_freq)(struct i2c_client *c, unsigned int freq);
+ void (*set_radio_freq)(struct i2c_client *c, unsigned int freq);
int (*has_signal)(struct i2c_client *c);
int (*is_stereo)(struct i2c_client *c);
void (*standby)(struct i2c_client *c);
diff --git a/linux/include/media/v4l2-common.h b/linux/include/media/v4l2-common.h
index cff20491c..f6efa076a 100644
--- a/linux/include/media/v4l2-common.h
+++ b/linux/include/media/v4l2-common.h
@@ -126,6 +126,13 @@ enum v4l2_chip_ident {
/* select from TV,radio,extern,MUTE */
#define AUDC_SET_INPUT _IOW('d',89,int)
+/* msp3400 ioctl: will be removed in the near future */
+struct msp_matrix {
+ int input;
+ int output;
+};
+#define MSP_SET_MATRIX _IOW('m',17,struct msp_matrix)
+
/* tuner ioctls */
/* Sets tuner type and its I2C addr */
#define TUNER_SET_TYPE_ADDR _IOW('d',90,int)