On Wed, 24 Aug 2005, c.corax wrote:

>Hmm, sorry but I can't see why you would... the register "swap" will
>only be done for TUNER_PHILIPS_SECAM and TUNER_PHILIPS_FM1216ME_MK3,
>note the "FM". You are looking in the FQ datasheet...

Confusion reigns!
$ grep TUNER_PHILIPS_FM1216ME_MK3 tveeprom.c
        { TUNER_PHILIPS_FM1216ME_MK3, "Philips FQ1216ME MK3"},
        { TUNER_PHILIPS_FM1216ME_MK3, "Philips FM1216 ME MK3"},
        { TUNER_PHILIPS_FM1216ME_MK3, "LG S001D MK3"},
        { TUNER_PHILIPS_FM1216ME_MK3, "TCL MFPE05 2"},

All those hauppauge_tuner[] tuners are handled as
TUNER_PHILIPS_FM1216ME_MK3. I assert that the byteswap code above is
called for my tuner (I added some debugging printk lines).

The weirdest effect of that code, to my mind, is the non-idempotent
tuning control. If I tune to the same frequency twice sequentially, I
can get different code paths, different i2c bytes sent, but it still
works. What's going on? Why is variable byte order a useful feature?

>BUT, if we assume that FQ1216ME MK3 is almost true for FQ1216AME MK4
>(except for P-bits) then it would actually explain a lot the result
>from my I2C-logs... ie my assumption about frequence pre-setting was
>wrong and the two tuner writes are: first set AB, then set DB1, DB2,
>CB, BB. Whats then is missing (and the one I think you are looking for)
>is the write to register AB, AL=6 - External AGC (AL2=1, AL1=1, AL0=0).

I don't think I want external (to the tuner) AGC in. What fixed my sound
was to get the tda988x to output its AGC on OP2 (bit B7). Right now I
don't want to touch the AB register, as I've no idea what a Takeover
Point is or does.

>The tuner has 5 registers:
>DB1
>DB2
>CB
>BB
>AB
>
>- If bit-7 is "0" then this is register DB1,
>- - Next byte is DB2.
>- If bit-7 is "1" then this is register CB.
>- - If CB bits T2=0, T1=1, T0=1.
>- - - Next byte is AC.
>- - If CB bits T2=0, T1=0, T0=1.
>- - - Next byte is BC.

Agreed. So we only ever see 4 bytes written, and AB/BB are optionally
placed in buffer[1] or buffer[3] depending on buffer[0].msb?? Jeez...

Also, the way tuner.c is written, you'll never write to AB, as CB is
hard-coded in the tuners[] array.

>Start with control registers if new frequence is lower or same as
>current (ie not only when less).

I don't see why this would be either necessary or desirable. I, however,
do not design signal processing circuitry :)

>(Notice the swapped byte-pair, in the second write, between the first
>and the second section when new frequence is same as current.)
[snip i2c dumps]

Are those sequential or just cut-n-paste examples? What's the observed
behaviour when going (up, same) and (down, same)?


Cheers,
Phil


-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
ivtv-devel mailing list
ivtv-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ivtv-devel

Reply via email to