Commit baa40e48 authored by Manu Abraham's avatar Manu Abraham Committed by Mauro Carvalho Chehab

V4L/DVB (9413): Bug: Set Auxilliary Clock Register correctly

Signed-off-by: default avatarManu Abraham <manu@linuxtv.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent b11eb463
...@@ -1145,7 +1145,7 @@ static int stb0899_set_tone(struct dvb_frontend *fe, fe_sec_tone_mode_t tone) ...@@ -1145,7 +1145,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_state *state = fe->demodulator_priv;
struct stb0899_internal *internal = &state->internal; struct stb0899_internal *internal = &state->internal;
u8 div; u8 div, reg;
/* wait for diseqc idle */ /* wait for diseqc idle */
if (stb0899_wait_diseqc_txidle(state, 100) < 0) if (stb0899_wait_diseqc_txidle(state, 100) < 0)
...@@ -1156,7 +1156,9 @@ static int stb0899_set_tone(struct dvb_frontend *fe, fe_sec_tone_mode_t tone) ...@@ -1156,7 +1156,9 @@ static int stb0899_set_tone(struct dvb_frontend *fe, fe_sec_tone_mode_t tone)
div = (internal->master_clk / 100) / 5632; div = (internal->master_clk / 100) / 5632;
div = (div + 5) / 10; div = (div + 5) / 10;
stb0899_write_reg(state, STB0899_DISEQCOCFG, 0x66); 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); stb0899_write_reg(state, STB0899_ACRDIV1, div);
break; break;
case SEC_TONE_OFF: case SEC_TONE_OFF:
......
...@@ -1805,6 +1805,15 @@ ...@@ -1805,6 +1805,15 @@
/* General Purpose */ /* General Purpose */
#define STB0899_SYSREG 0xf101 #define STB0899_SYSREG 0xf101
#define STB0899_ACRPRESC 0xf110 #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_ACRDIV1 0xf111
#define STB0899_ACRDIV2 0xf112 #define STB0899_ACRDIV2 0xf112
#define STB0899_DACR1 0xf113 #define STB0899_DACR1 0xf113
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment