diff options
author | Christopher Pascoe <devnull@localhost> | 2006-01-08 10:42:39 +0000 |
---|---|---|
committer | Christopher Pascoe <devnull@localhost> | 2006-01-08 10:42:39 +0000 |
commit | 1dcaf3c6fe06fdbc838908e5b109d9c9aa510835 (patch) | |
tree | 801d0d2fc02940ae10b93eb860313405b4edaa13 /linux/drivers/media/video/cx88/cx88-dvb.c | |
parent | 37fa4281cf601206ec824c10f47265aa0daf67f3 (diff) | |
download | mediapointer-dvb-s2-1dcaf3c6fe06fdbc838908e5b109d9c9aa510835.tar.gz mediapointer-dvb-s2-1dcaf3c6fe06fdbc838908e5b109d9c9aa510835.tar.bz2 |
Use correct AGC settings for DNTV Live! DVB-T Pro
My original settings for this board were incorrect and resulted in
an increased number of signal dropouts. Replace this with the settings
from the Windows driver.
Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Diffstat (limited to 'linux/drivers/media/video/cx88/cx88-dvb.c')
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-dvb.c | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/linux/drivers/media/video/cx88/cx88-dvb.c b/linux/drivers/media/video/cx88/cx88-dvb.c index 4a67ebfaf..a1cac4075 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.81 2006/01/08 03:39:03 pascoe Exp $ + * $Id: cx88-dvb.c,v 1.82 2006/01/08 10:42:39 pascoe Exp $ * * device driver for Conexant 2388x based TV cards * MPEG Transport Stream (DVB) routines @@ -114,7 +114,7 @@ static struct videobuf_queue_ops dvb_qops = { /* ------------------------------------------------------------------ */ #ifdef HAVE_MT352 -static int generic_mt352_demod_init(struct dvb_frontend* fe) +static int dvico_fusionhdtv_demod_init(struct dvb_frontend* fe) { static u8 clock_config [] = { CLOCK_CTL, 0x38, 0x39 }; static u8 reset [] = { RESET, 0x80 }; @@ -193,7 +193,7 @@ static int mt352_pll_set(struct dvb_frontend* fe, static struct mt352_config dvico_fusionhdtv = { .demod_address = 0x0F, - .demod_init = generic_mt352_demod_init, + .demod_init = dvico_fusionhdtv_demod_init, .pll_set = mt352_pll_set, }; @@ -210,6 +210,29 @@ static struct mt352_config dvico_fusionhdtv_dual = { }; #ifdef HAVE_VP3054_I2C +static int dntv_live_dvbt_pro_demod_init(struct dvb_frontend* fe) +{ + static u8 clock_config [] = { 0x89, 0x38, 0x38 }; + static u8 reset [] = { 0x50, 0x80 }; + static u8 adc_ctl_1_cfg [] = { 0x8E, 0x40 }; + static u8 agc_cfg [] = { 0x67, 0x10, 0x20, 0x00, 0xFF, 0xFF, + 0x00, 0xFF, 0x00, 0x40, 0x40 }; + static u8 dntv_extra[] = { 0xB5, 0x7A }; + static u8 capt_range_cfg[] = { 0x75, 0x32 }; + + mt352_write(fe, clock_config, sizeof(clock_config)); + udelay(2000); + mt352_write(fe, reset, sizeof(reset)); + mt352_write(fe, adc_ctl_1_cfg, sizeof(adc_ctl_1_cfg)); + + mt352_write(fe, agc_cfg, sizeof(agc_cfg)); + udelay(2000); + mt352_write(fe, dntv_extra, sizeof(dntv_extra)); + mt352_write(fe, capt_range_cfg, sizeof(capt_range_cfg)); + + return 0; +} + static int philips_fmd1216_pll_init(struct dvb_frontend *fe) { struct cx8802_dev *dev= fe->dvb->priv; @@ -267,7 +290,7 @@ static int dntv_live_dvbt_pro_pll_set(struct dvb_frontend* fe, static struct mt352_config dntv_live_dvbt_pro_config = { .demod_address = 0x0f, .no_tuner = 1, - .demod_init = generic_mt352_demod_init, + .demod_init = dntv_live_dvbt_pro_demod_init, .pll_set = dntv_live_dvbt_pro_pll_set, }; #endif |