Commit 78f3b0b6 authored by Chris Pascoe's avatar Chris Pascoe Committed by Mauro Carvalho Chehab

V4L/DVB (6629): zl10353: fix default adc_clock and TRL nominal rate calculation

The default adc_clock for the zl10353 is different from what was originally
thought to be the case and the TRL nominal rate formula was incorrect as a
result.  Use a better (and hopefully now correct) formula.
Signed-off-by: default avatarChris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 820eacd8
...@@ -122,7 +122,7 @@ static void zl10353_calc_nominal_rate(struct dvb_frontend *fe, ...@@ -122,7 +122,7 @@ static void zl10353_calc_nominal_rate(struct dvb_frontend *fe,
enum fe_bandwidth bandwidth, enum fe_bandwidth bandwidth,
u16 *nominal_rate) u16 *nominal_rate)
{ {
u32 adc_clock = 22528; /* 20.480 MHz on the board(!?) */ u32 adc_clock = 45056; /* 45.056 MHz */
u8 bw; u8 bw;
struct zl10353_state *state = fe->demodulator_priv; struct zl10353_state *state = fe->demodulator_priv;
...@@ -142,7 +142,7 @@ static void zl10353_calc_nominal_rate(struct dvb_frontend *fe, ...@@ -142,7 +142,7 @@ static void zl10353_calc_nominal_rate(struct dvb_frontend *fe,
break; break;
} }
*nominal_rate = (64 * bw * (1<<16) / (7 * 8) * 4000 / adc_clock + 2) / 4; *nominal_rate = (bw * (1 << 23) / 7 * 125 + adc_clock / 2) / adc_clock;
dprintk("%s: bw %d, adc_clock %d => 0x%x\n", dprintk("%s: bw %d, adc_clock %d => 0x%x\n",
__FUNCTION__, bw, adc_clock, *nominal_rate); __FUNCTION__, bw, adc_clock, *nominal_rate);
......
...@@ -30,7 +30,7 @@ struct zl10353_config ...@@ -30,7 +30,7 @@ struct zl10353_config
u8 demod_address; u8 demod_address;
/* frequencies in kHz */ /* frequencies in kHz */
int adc_clock; // default: 22528 int adc_clock; /* default: 45056 */
/* set if no pll is connected to the secondary i2c bus */ /* set if no pll is connected to the secondary i2c bus */
int no_tuner; int no_tuner;
......
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