[linux-dvb] fmd1216 integration

Hartmut Hackmann hartmut.hackmann at t-online.de
Fri Mar 16 00:21:48 CET 2007


Hi,

Trent Piepho schrieb:
> On Wed, 14 Mar 2007, Hartmut Hackmann wrote:
>>>>> How does that happen?  I figured P4 just changed the SAW filters, but it
>>>>> enables/disables the tda9887 too?
>>>>>
>>>> I have no idea why and how this is done, i just observed that...
>>> I wonder if this is a problem for the v4l tuner module.  If one doesn't
>>> start and then stop the dvb frontend before using analog, how does the
>>> tda9887 get turned on?
>>>
>> It is a BIG problem. The tuner initialization code turns the tda9886 on,
>> but now things depend on the module initialization order whether the tda
>> is found or not. I haven't used my board in analog mode after the tda9887
>> merge but things look like it doesn't work any more :-(
>> Unfortunately i know about at least one board that needs the opposite
>> load order.
> 
> In the datasheet for the Philips TUV1236D tuner, it describes how the
> TDA9885 is turned on and off by one of the GPIO pins of the NXT2004
> demodulator.  The same pin also powers off and on the "digital IF section",
> whatever that is exactly (obviously the NXT2004 isn't powering itself down
> with its own GPIO pin).
> 
> I imagine this is a big problem for v4l, needing to talk to the ATSC
> demodulator to turn the analog demodulator on.
> 
> Anyway, the FMD1216ME datasheet doesn't say anything about turning the
> TDA9887 on or off.  Still, it stands to reason that Philips would have
> added the ability to do this for the same reason they added it to the
> TUV1236D.
> 
> Do you have a datasheet or design guide that explains about needing to turn
> the tda9887 on?  Is it one of the TUA6034 ports that controls it?
> 
I only have the datasheet. Things look like P4 needs to be one to make the
tda9887 accessible. The problem is that according to the TUA datasheet, this
bit is 0 after power on. The initialization code turns it on but if probing
for the tda is already done, this chip will not be found. Unloading and
reloading the tuner module will help but this is not a nice workaround.

> If analog doesn't work the fmd1216, then I don't think a dvb-pll
> integration patch should be obligated to fix it.  But, I don't want to
> break anything that does work now.
>
ACK. changing the dvb tuning code will not affect this. The only important
issue is to set the tuner to analog mode when dvb goes to sleep. Otherwise
the first analog tuning attempt will fail because the tda9887 will not listen.

> I wonder how the other users of the fmd1216, in the cx88 and cxusb driver,
> work in analog mode?  Maybe they don't?
> 
I think so. The problem lies in the tuner module. But please let me test this
again. This will take some time since i modified my card for better DVB
reception. The impact is that i always need to patch the driver for analog mode.

>>> My plan was to come up with a patch that converted all the users of fmd1216
>>> at once.
>>>
>> Ok, less work for me.
> 
> If you want, I can make a simple patch that fixes the bug in
> fmd1216me_sleep quickly to apply first.
> 
I already did so. I just removed the static declaration. I will ask Mauro to
pull soon.

Best regards
   Hartmut



More information about the linux-dvb mailing list