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