diff options
author | Michael Krufky <devnull@localhost> | 2005-08-07 09:24:08 +0000 |
---|---|---|
committer | Michael Krufky <devnull@localhost> | 2005-08-07 09:24:08 +0000 |
commit | 152e8a05cd1c10a664e5b9ced2f26463ff0b8e6a (patch) | |
tree | 17ab792f94c77f270d68ed8d38294173d955fa41 /linux/drivers | |
parent | 38c9039c7a5cc1909c841f420b52135509166a76 (diff) | |
download | mediapointer-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.c | 4 | ||||
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-dvb.c | 22 | ||||
-rw-r--r-- | linux/drivers/media/video/tuner-core.c | 10 |
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; |