summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/cx88/cx88-dvb.c
diff options
context:
space:
mode:
authorMichael Krufky <devnull@localhost>2005-08-07 09:24:08 +0000
committerMichael Krufky <devnull@localhost>2005-08-07 09:24:08 +0000
commit152e8a05cd1c10a664e5b9ced2f26463ff0b8e6a (patch)
tree17ab792f94c77f270d68ed8d38294173d955fa41 /linux/drivers/media/video/cx88/cx88-dvb.c
parent38c9039c7a5cc1909c841f420b52135509166a76 (diff)
downloadmediapointer-dvb-s2-152e8a05cd1c10a664e5b9ced2f26463ff0b8e6a.tar.gz
mediapointer-dvb-s2-152e8a05cd1c10a664e5b9ced2f26463ff0b8e6a.tar.bz2
- Enable ATSC support for DViCO FusionHDTV5 Gold.
From: Mac Michaels <wmichaels1@earthlink.net> Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Diffstat (limited to 'linux/drivers/media/video/cx88/cx88-dvb.c')
-rw-r--r--linux/drivers/media/video/cx88/cx88-dvb.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/linux/drivers/media/video/cx88/cx88-dvb.c b/linux/drivers/media/video/cx88/cx88-dvb.c
index 7d7c82622..9228e90ac 100644
--- a/linux/drivers/media/video/cx88/cx88-dvb.c
+++ b/linux/drivers/media/video/cx88/cx88-dvb.c
@@ -1,5 +1,5 @@
/*
- * $Id: cx88-dvb.c,v 1.57 2005/07/30 16:21:58 mkrufky Exp $
+ * $Id: cx88-dvb.c,v 1.58 2005/08/07 09:24:08 mkrufky Exp $
*
* device driver for Conexant 2388x based TV cards
* MPEG Transport Stream (DVB) routines
@@ -233,9 +233,7 @@ static int lgdt330x_pll_set(struct dvb_frontend* fe,
dvb_pll_configure(dev->core->pll_desc, buf, params->frequency, 0);
dprintk(1, "%s: tuner at 0x%02x bytes: 0x%02x 0x%02x 0x%02x 0x%02x\n",
__FUNCTION__, msg.addr, buf[0],buf[1],buf[2],buf[3]);
- if ((err = i2c_transfer
-(&dev->core->i2c_adap,
-&msg, 1)) != 1) {
+ if ((err = i2c_transfer(&dev->core->i2c_adap, &msg, 1)) != 1) {
printk(KERN_WARNING "cx88-dvb: %s error "
"(addr %02x <- %02x, err = %i)\n",
__FUNCTION__, buf[0], buf[1], err);
@@ -244,6 +242,13 @@ static int lgdt330x_pll_set(struct dvb_frontend* fe,
else
return -EREMOTEIO;
}
+ if (dev->core->tuner_type == TUNER_LG_TDVS_H062F) {
+ /* Set the Auxiliary Byte. */
+ buf[2] &= ~0x20;
+ buf[2] |= 0x18;
+ buf[3] = 0x50;
+ i2c_transfer(&dev->core->i2c_adap, &msg, 1);
+ }
return 0;
}
#else
@@ -285,17 +290,16 @@ static int lgdt330x_set_ts_param(struct dvb_frontend* fe, int is_punctured)
static struct lgdt330x_config fusionhdtv_3_gold = {
.demod_address = 0x0e,
#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,13)
- .chip = LGDT3302,
- .serial_mpeg = 1,
+ .demod_chip = LGDT3302,
+ .serial_mpeg = 0x04, /* TPSERIAL for 3302 in TOP_CONTROL */
.pll_set = lgdt330x_pll_set,
.set_ts_params = lgdt330x_set_ts_param,
};
-
static struct lgdt330x_config fusionhdtv_5_gold = {
.demod_address = 0x0e,
- .chip = LGDT3303,
- .serial_mpeg = 1,
+ .demod_chip = LGDT3303,
+ .serial_mpeg = 0x40, /* TPSERIAL for 3303 in TOP_CONTROL */
#endif
.pll_set = lgdt330x_pll_set,
.set_ts_params = lgdt330x_set_ts_param,