summaryrefslogtreecommitdiff
path: root/linux/drivers
diff options
context:
space:
mode:
authorManu Abraham <manu@linuxtv.org>2007-10-05 16:04:32 +0400
committerManu Abraham <manu@linuxtv.org>2007-10-05 16:04:32 +0400
commit2eb656e25d91845553a215568bd53a36d4ad6064 (patch)
tree3cfdb665d91792c582bbb641c9fff81c2768b422 /linux/drivers
parent163167f0d988fb0795bffa259909c13892b0cb1a (diff)
downloadmediapointer-dvb-s2-2eb656e25d91845553a215568bd53a36d4ad6064.tar.gz
mediapointer-dvb-s2-2eb656e25d91845553a215568bd53a36d4ad6064.tar.bz2
Bug: Set Auxilliary Clock Register correctly
From: Manu Abraham <abraham.manu@gmail.com> Signed-off-by: Manu Abraham <manu@linuxtv.org>
Diffstat (limited to 'linux/drivers')
-rw-r--r--linux/drivers/media/dvb/frontends/stb0899_drv.c6
-rw-r--r--linux/drivers/media/dvb/frontends/stb0899_reg.h9
2 files changed, 13 insertions, 2 deletions
diff --git a/linux/drivers/media/dvb/frontends/stb0899_drv.c b/linux/drivers/media/dvb/frontends/stb0899_drv.c
index c39131741..7f575b5fc 100644
--- a/linux/drivers/media/dvb/frontends/stb0899_drv.c
+++ b/linux/drivers/media/dvb/frontends/stb0899_drv.c
@@ -1221,7 +1221,7 @@ static int stb0899_set_tone(struct dvb_frontend *fe, fe_sec_tone_mode_t tone)
struct stb0899_state *state = fe->demodulator_priv;
struct stb0899_internal *internal = &state->internal;
- u8 div;
+ u8 div, reg;
/* wait for diseqc idle */
if (stb0899_wait_diseqc_txidle(state, 100) < 0)
@@ -1232,7 +1232,9 @@ static int stb0899_set_tone(struct dvb_frontend *fe, fe_sec_tone_mode_t tone)
div = (internal->master_clk / 100) / 5632;
div = (div + 5) / 10;
stb0899_write_reg(state, STB0899_DISEQCOCFG, 0x66);
- stb0899_write_reg(state, STB0899_ACRPRESC, 0x31);
+ reg = stb0899_read_reg(state, STB0899_ACRPRESC);
+ STB0899_SETFIELD_VAL(ACRPRESC, reg, 0x03);
+ stb0899_write_reg(state, STB0899_ACRPRESC, reg);
stb0899_write_reg(state, STB0899_ACRDIV1, div);
break;
case SEC_TONE_OFF:
diff --git a/linux/drivers/media/dvb/frontends/stb0899_reg.h b/linux/drivers/media/dvb/frontends/stb0899_reg.h
index cc65e08f9..d2e9217c7 100644
--- a/linux/drivers/media/dvb/frontends/stb0899_reg.h
+++ b/linux/drivers/media/dvb/frontends/stb0899_reg.h
@@ -1805,6 +1805,15 @@
/* General Purpose */
#define STB0899_SYSREG 0xf101
#define STB0899_ACRPRESC 0xf110
+#define STB0899_OFFST_RSVD2 7
+#define STB0899_WIDTH_RSVD2 1
+#define STB0899_OFFST_ACRPRESC 4
+#define STB0899_WIDTH_ACRPRESC 3
+#define STB0899_OFFST_RSVD1 3
+#define STB0899_WIDTH_RSVD1 1
+#define STB0899_OFFST_ACRPRESC2 0
+#define STB0899_WIDTH_ACRPRESC2 3
+
#define STB0899_ACRDIV1 0xf111
#define STB0899_ACRDIV2 0xf112
#define STB0899_DACR1 0xf113