summaryrefslogtreecommitdiff
path: root/linux/drivers
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
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')
-rw-r--r--linux/drivers/media/video/cx88/cx88-cards.c4
-rw-r--r--linux/drivers/media/video/cx88/cx88-dvb.c22
-rw-r--r--linux/drivers/media/video/tuner-core.c10
3 files changed, 23 insertions, 13 deletions
diff --git a/linux/drivers/media/video/cx88/cx88-cards.c b/linux/drivers/media/video/cx88/cx88-cards.c
index 3e4cc62e5..8dc020ecf 100644
--- a/linux/drivers/media/video/cx88/cx88-cards.c
+++ b/linux/drivers/media/video/cx88/cx88-cards.c
@@ -1,5 +1,5 @@
/*
- * $Id: cx88-cards.c,v 1.92 2005/08/05 20:30:59 mkrufky Exp $
+ * $Id: cx88-cards.c,v 1.93 2005/08/07 09:24:08 mkrufky Exp $
*
* device driver for Conexant 2388x based TV cards
* card-specific stuff.
@@ -776,9 +776,7 @@ struct cx88_board cx88_boards[] = {
.vmux = 2,
.gpio0 = 0x87f9,
}},
-#if 0
.dvb = 1,
-#endif
},
};
const unsigned int cx88_bcount = ARRAY_SIZE(cx88_boards);
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,
diff --git a/linux/drivers/media/video/tuner-core.c b/linux/drivers/media/video/tuner-core.c
index dffed3237..cc24d246c 100644
--- a/linux/drivers/media/video/tuner-core.c
+++ b/linux/drivers/media/video/tuner-core.c
@@ -1,5 +1,5 @@
/*
- * $Id: tuner-core.c,v 1.65 2005/07/30 19:47:02 mkrufky Exp $
+ * $Id: tuner-core.c,v 1.66 2005/08/07 09:24:08 mkrufky Exp $
*
* i2c tv tuner chip device driver
* core core, i.e. kernel interfaces, registering and so on
@@ -192,6 +192,14 @@ static void set_type(struct i2c_client *c, unsigned int type,
i2c_master_send(c, buffer, 4);
default_tuner_init(c);
break;
+ case TUNER_LG_TDVS_H062F:
+ /* Set the Auxiliary Byte. */
+ buffer[2] &= ~0x20;
+ buffer[2] |= 0x18;
+ buffer[3] = 0x20;
+ i2c_master_send(c, buffer, 4);
+ default_tuner_init(c);
+ break;
default:
default_tuner_init(c);
break;