summaryrefslogtreecommitdiff
path: root/drivers/media/dvb/frontends/tda1004x.h
diff options
context:
space:
mode:
authorHartmut Hackmann <hartmut.hackmann@t-online.de>2005-07-07 17:57:40 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2005-07-07 18:23:54 -0700
commitecb60deb9d5bbcbab6c87ee5fde6f8368197fcac (patch)
treee8de9fd8fefbcc89e56821d58e39fe64729f43ee /drivers/media/dvb/frontends/tda1004x.h
parentbbf24cec93b5966bdbd4f25be7a8a2d8716570db (diff)
[PATCH] dvb: frontend: tda1004x update
o added config options for IF frequency and AGC o support DSP boot from on board eeprom o added pll sleep call Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de> Signed-off-by: Johannes Stezenbach <js@linuxtv.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/media/dvb/frontends/tda1004x.h')
-rw-r--r--drivers/media/dvb/frontends/tda1004x.h27
1 files changed, 25 insertions, 2 deletions
diff --git a/drivers/media/dvb/frontends/tda1004x.h b/drivers/media/dvb/frontends/tda1004x.h
index c8e1d54ff262..103d08ff7b5d 100644
--- a/drivers/media/dvb/frontends/tda1004x.h
+++ b/drivers/media/dvb/frontends/tda1004x.h
@@ -26,6 +26,21 @@
#include <linux/dvb/frontend.h>
#include <linux/firmware.h>
+enum tda10046_xtal {
+ TDA10046_XTAL_4M,
+ TDA10046_XTAL_16M,
+};
+
+enum tda10046_agc {
+ TDA10046_AGC_DEFAULT, /* original configuration */
+ TDA10046_AGC_IFO_AUTO_NEG, /* IF AGC only, automatic, negtive */
+};
+
+enum tda10046_if {
+ TDA10046_FREQ_3617, /* original config, 36,166 MHZ */
+ TDA10046_FREQ_3613, /* 36,13 MHZ */
+};
+
struct tda1004x_config
{
/* the demodulator's i2c address */
@@ -37,14 +52,22 @@ struct tda1004x_config
/* Does the OCLK signal need inverted? */
u8 invert_oclk;
- /* value of N_I2C of the CONF_PLL3 register */
- u8 n_i2c;
+ /* Xtal frequency, 4 or 16MHz*/
+ enum tda10046_xtal xtal_freq;
+
+ /* IF frequency */
+ enum tda10046_if if_freq;
+
+ /* AGC configuration */
+ enum tda10046_agc agc_config;
/* PLL maintenance */
int (*pll_init)(struct dvb_frontend* fe);
+ void (*pll_sleep)(struct dvb_frontend* fe);
int (*pll_set)(struct dvb_frontend* fe, struct dvb_frontend_parameters* params);
/* request firmware for device */
+ /* set this to NULL if the card has a firmware EEPROM */
int (*request_firmware)(struct dvb_frontend* fe, const struct firmware **fw, char* name);
};