diff options
author | Trent Piepho <xyzzy@speakeasy.org> | 2007-08-03 18:32:38 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-10-09 22:04:34 -0300 |
commit | 5e082f1521598a91c9194b2356b157cade9b6e87 (patch) | |
tree | d23454e16f03f1777aca03d981f89890ce022aea /include/media | |
parent | a75d204860b5051ebd5635278c097bafb4ea53f9 (diff) |
V4L/DVB (5978): tuner: Better tuner radio support
Add radio support for the Thomson DTT7612 tuner.
This tuner uses a different 1st intermediate frequency than the other radio
tuners supported (a lot of NTSC radio tuners probably need this change too).
Add a new tuner-simple parameter, radio_if. It selects the 1st IF used for
radio reception. The radio frequency setting code in tuner-simple now uses
this field, instead of a special case select() block for each tuner with radio
support.
The tuner parameters for tuners that used a 33.3 MHz RIF now set radio_if to 1
in tuner-types.c.
The Thomson DTT7612 gets radio_if = 2, also add has_tda9887 = 1 and
fm_gain_normal = 1.
Add some defines for tda9887 bits that control IF setting in radio mode.
Add a new tda9887 config option, TDA9887_RIF_41_3, that selects a 41.3 MHz
radio IF.
Fix the way tda9887 radio options work. The driver was modifying the default
radio mode config templates based on the TDA9887_XXXX flags. This means that
_all_ tuners would get the same settings. If you had a one tuner than used
TDA9887_GAIN_NORMAL and one that didn't, both would get the setting. Now the
tda9987 driver just checks if tuner mode is radio and then applies the config
settings directly to the data being sent, just like how all the TV mode
settings already work.
The PLL setting math is made a little more accurate.
And a grammar error in a printk is fixed.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'include/media')
-rw-r--r-- | include/media/tuner-types.h | 4 | ||||
-rw-r--r-- | include/media/tuner.h | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/include/media/tuner-types.h b/include/media/tuner-types.h index e5ad3fcfe984..b201371416a0 100644 --- a/include/media/tuner-types.h +++ b/include/media/tuner-types.h @@ -79,6 +79,10 @@ struct tuner_params { /* Select 18% (or according to datasheet 0%) L standard PLL gating, vs the driver default of 36%. */ unsigned int default_pll_gating_18:1; + /* IF to use in radio mode. Tuners with a separate radio IF filter + seem to use 10.7, while those without use 33.3 for PAL/SECAM tuners + and 41.3 for NTSC tuners. 0 = 10.7, 1 = 33.3, 2 = 41.3 */ + unsigned int radio_if:2; /* Default tda9887 TOP value in dB for the low band. Default is 0. Range: -16:+15 */ signed int default_top_low:5; diff --git a/include/media/tuner.h b/include/media/tuner.h index 160381c72e4b..c03dceb92605 100644 --- a/include/media/tuner.h +++ b/include/media/tuner.h @@ -146,6 +146,7 @@ extern int tuner_debug; #define TDA9887_AUTOMUTE (1<<18) #define TDA9887_GATING_18 (1<<19) #define TDA9887_GAIN_NORMAL (1<<20) +#define TDA9887_RIF_41_3 (1<<21) /* radio IF1 41.3 vs 33.3 */ #ifdef __KERNEL__ |