summaryrefslogtreecommitdiff
path: root/drivers/staging/media/msi3101
diff options
context:
space:
mode:
authorAntti Palosaari <crope@iki.fi>2013-08-06 00:33:31 (GMT)
committerMauro Carvalho Chehab <m.chehab@samsung.com>2013-08-20 19:06:56 (GMT)
commitc5a431d02cdcafaf12edff770c294c5fbadcdf54 (patch)
tree555e59f1c9bcf96fbe14bc4f6a13b37e096a97fd /drivers/staging/media/msi3101
parent554cbfbe3b99d25caa3ab794a8619ccdea2b2935 (diff)
downloadlinux-c5a431d02cdcafaf12edff770c294c5fbadcdf54.tar.xz
[media] msi3101: init bits 23:20 on PLL register
It is not sure what is meaning of that number, but it is better to try do as Windows driver. It seems to have small effect for signal when looking FM FFT. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Diffstat (limited to 'drivers/staging/media/msi3101')
-rw-r--r--drivers/staging/media/msi3101/sdr-msi3101.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/staging/media/msi3101/sdr-msi3101.c b/drivers/staging/media/msi3101/sdr-msi3101.c
index a937d00..93168db 100644
--- a/drivers/staging/media/msi3101/sdr-msi3101.c
+++ b/drivers/staging/media/msi3101/sdr-msi3101.c
@@ -1129,9 +1129,19 @@ static int msi3101_set_usb_adc(struct msi3101_state *s)
*
* VCO 202000000 - 720000000++
*/
- reg3 = 0x01c00303;
+ reg3 = 0x01000303;
reg4 = 0x00000004;
+ /* XXX: Filters? AGC? */
+ if (f_sr < 6000000)
+ reg3 |= 0x1 << 20;
+ else if (f_sr < 7000000)
+ reg3 |= 0x5 << 20;
+ else if (f_sr < 8500000)
+ reg3 |= 0x9 << 20;
+ else
+ reg3 |= 0xd << 20;
+
for (div_r_out = 4; div_r_out < 16; div_r_out += 2) {
f_vco = f_sr * div_r_out * 12;
dev_dbg(&s->udev->dev, "%s: div_r_out=%d f_vco=%d\n",