summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/frontends/tda1004x.c
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2007-03-21 13:59:53 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-03-21 13:59:53 -0300
commitea674e4e05a7a9792dc868d9e255f54728465d3d (patch)
treee7af5e47f392878b33ed6e0da81e5580f01dad79 /linux/drivers/media/dvb/frontends/tda1004x.c
parent76dd6bfa370d65fb7cab2484b6bc32c4422a0757 (diff)
parentb82ae2277db08335bb360bc8330800c10cd32dae (diff)
downloadmediapointer-dvb-s2-ea674e4e05a7a9792dc868d9e255f54728465d3d.tar.gz
mediapointer-dvb-s2-ea674e4e05a7a9792dc868d9e255f54728465d3d.tar.bz2
merge: http://linuxtv.org/hg/~mkrufky/m920x
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'linux/drivers/media/dvb/frontends/tda1004x.c')
-rw-r--r--linux/drivers/media/dvb/frontends/tda1004x.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/linux/drivers/media/dvb/frontends/tda1004x.c b/linux/drivers/media/dvb/frontends/tda1004x.c
index f4882457d..33a84372c 100644
--- a/linux/drivers/media/dvb/frontends/tda1004x.c
+++ b/linux/drivers/media/dvb/frontends/tda1004x.c
@@ -657,8 +657,16 @@ static int tda10046_init(struct dvb_frontend* fe)
tda1004x_write_mask(state, TDA10046H_CONF_POLARITY, 0xf0, 0x60); // set AGC polarities
break;
}
+ if (state->config->ts_mode == 0) {
+ tda1004x_write_mask(state, TDA10046H_CONF_TRISTATE1, 0xc0, 0x40);
+ tda1004x_write_mask(state, 0x3a, 0x80, state->config->invert_oclk << 7);
+ } else {
+ tda1004x_write_mask(state, TDA10046H_CONF_TRISTATE1, 0xc0, 0x80);
+ tda1004x_write_mask(state, TDA10046H_CONF_POLARITY, 0x10,
+ state->config->invert_oclk << 4);
+ }
tda1004x_write_byteI(state, TDA1004X_CONFADC2, 0x38);
- tda1004x_write_byteI(state, TDA10046H_CONF_TRISTATE1, 0x79); // Turn IF AGC output on
+ tda1004x_write_mask (state, TDA10046H_CONF_TRISTATE1, 0x3e, 0x38); // Turn IF AGC output on
tda1004x_write_byteI(state, TDA10046H_AGC_TUN_MIN, 0); // }
tda1004x_write_byteI(state, TDA10046H_AGC_TUN_MAX, 0xff); // } AGC min/max values
tda1004x_write_byteI(state, TDA10046H_AGC_IF_MIN, 0); // }
@@ -668,7 +676,6 @@ static int tda10046_init(struct dvb_frontend* fe)
tda1004x_write_byteI(state, TDA1004X_CONF_TS1, 7); // MPEG2 interface config
tda1004x_write_byteI(state, TDA1004X_CONF_TS2, 0xc0); // MPEG2 interface config
// tda1004x_write_mask(state, 0x50, 0x80, 0x80); // handle out of guard echoes
- tda1004x_write_mask(state, 0x3a, 0x80, state->config->invert_oclk << 7);
return 0;
}