From: Eduardo Valentin Date: Tue, 10 Jun 2008 17:42:11 +0000 (-0400) Subject: tea5761 tuner: fix registers utilization X-Git-Tag: v2.6.26-omap1~118 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=9a539ee9d5c6726625b62b152f15dee920cc45f8;p=linux-2.6-omap-h63xx.git tea5761 tuner: fix registers utilization Fix registers utilization. tnctrl register was supposed to be used but it was right shifted. frqset also was being configured using incorrect equation. Signed-off-by: Eduardo Valentin Signed-off-by: Tony Lindgren --- diff --git a/drivers/media/common/tuners/tea5761.c b/drivers/media/common/tuners/tea5761.c index e644f7fb15b..a9e1414cb8a 100644 --- a/drivers/media/common/tuners/tea5761.c +++ b/drivers/media/common/tuners/tea5761.c @@ -101,6 +101,8 @@ struct tea5761_priv { /* All zero = no test mode */ +#define TEA5761_TESTREG_TRIGFR 0x08 + /* MANID - Read: bytes 12 and 13 */ /* First byte - should be 0x10 */ @@ -147,20 +149,21 @@ static int set_radio_freq(struct dvb_frontend *fe, if (params->mode == T_STANDBY) { tuner_dbg("TEA5761 set to standby mode\n"); - buffer[5] |= TEA5761_TNCTRL_MU; + buffer[4] |= TEA5761_TNCTRL_MU; } else { - buffer[4] |= TEA5761_TNCTRL_PUPD_0; + buffer[3] |= TEA5761_TNCTRL_PUPD_0; } + buffer[5] = TEA5761_TESTREG_TRIGFR; if (params->audmode == V4L2_TUNER_MODE_MONO) { tuner_dbg("TEA5761 set to mono\n"); - buffer[5] |= TEA5761_TNCTRL_MST; + buffer[4] |= TEA5761_TNCTRL_MST; } else { tuner_dbg("TEA5761 set to stereo\n"); } - div = (1000 * (frq * 4 / 16 + 700 + 225) ) >> 15; + div = (frq * 125 / 2 - 225000) >> 13; buffer[1] = (div >> 8) & 0x3f; buffer[2] = div & 0xff;