Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Re: AirStar2 and VHF
On Thursday 11 Nov 2004 16:23, Peter Siering wrote:
> On Thu, 2004-11-11 at 16:46, Andrew de Quincey wrote:
> > You say you have an avermedia 771 - can you tell me what is printed on
> > the tin box? Currently I don't know for sure.
>
> graved: Samsung JDB0202
> sticker on tin box (as far as I can read it, it's not the only one ;-))
> Samsung
> tdtc925 tdh01c
> 040428 jbt.
Oho, cool, thats the same tuner as in the skystar2 card. Theoretically if I
nab the code from the 771 and paste it into the skystar2 stuff, VHS should
start working.. patch attached. Lemme know if it works
Index: skystar2.c
===================================================================
RCS file: /cvs/linuxtv/dvb-kernel/linux/drivers/media/dvb/b2c2/skystar2.c,v
retrieving revision 1.48
diff -a -u -r1.48 skystar2.c
--- skystar2.c 9 Nov 2004 08:20:34 -0000 1.48
+++ skystar2.c 11 Nov 2004 17:41:00 -0000
@@ -2348,18 +2348,35 @@
{
u32 div;
unsigned char bs = 0;
+ unsigned char cp = 0;
#define IF_FREQUENCYx6 217 /* 6 * 36.16666666667MHz */
div = (((params->frequency + 83333) * 3) / 500000) + IF_FREQUENCYx6;
- if (params->frequency >= 48000000 && params->frequency <= 154000000) bs = 0x09;
- if (params->frequency >= 161000000 && params->frequency <= 439000000) bs = 0x0a;
- if (params->frequency >= 447000000 && params->frequency <= 863000000) bs = 0x08;
+ if (params->frequency < 150000000) cp = 0xB4;
+ else if (params->frequency < 173000000) cp = 0xBC;
+ else if (params->frequency < 250000000) cp = 0xB4;
+ else if (params->frequency < 400000000) cp = 0xBC;
+ else if (params->frequency < 420000000) cp = 0xF4;
+ else if (params->frequency < 470000000) cp = 0xFC;
+ else if (params->frequency < 600000000) cp = 0xBC;
+ else if (params->frequency < 730000000) cp = 0xF4;
+ else cp = 0xFC;
+
+ if (params->frequency < 150000000) bs = 0x01;
+ else if (params->frequency < 173000000) bs = 0x01;
+ else if (params->frequency < 250000000) bs = 0x02;
+ else if (params->frequency < 400000000) bs = 0x02;
+ else if (params->frequency < 420000000) bs = 0x02;
+ else if (params->frequency < 470000000) bs = 0x02;
+ else if (params->frequency < 600000000) bs = 0x08;
+ else if (params->frequency < 730000000) bs = 0x08;
+ else bs = 0x08;
pllbuf[0] = 0xc2; // Note: non-linux standard PLL i2c address
pllbuf[1] = div >> 8;
pllbuf[2] = div & 0xff;
- pllbuf[3] = 0xcc;
+ pllbuf[3] = cp;
pllbuf[4] = bs;
return 0;
Home |
Main Index |
Thread Index