[linux-dvb] Re: [Patch] Adding support for the Hauppage HVR1100
Ralph Metzler
rjkm at metzlerbros.de
Tue Nov 29 18:04:27 CET 2005
Patrick Boettcher writes:
> Maybe a future device :)
Not so future ...
>
> Tuner Tuner
> || ||
> || ||
> Demod Demod
> | |
> +----+------+
> |
> |
> main_I2C
>
> (just the i2c-bus - no IF-connection) - || is the virtual gated-i2c-bus
>
> main_I2C is the i2c-master for the main i2c bus and is also in charge for
> submitting messages to the device behind the gate. When data is
> transferred from or to the device behind the gate, main_I2C has to take
> care that there is only one gate open at a time and that it is the correct
> one - for some tuners it is even necessary to close the gate before
> writing something else on the i2c-bus or when accessing the other tuner
> behind the second demod, which can have the same i2c-address.
Yes, sounds familiar. That's why a "keep gate open"-approach
(additional to the unwanted interference) will not work in all cases.
> gated_i2c = get_virtual_i2c_bus_controlled_by_the_demod(demod);
> tuner = init_tuner(gated_i2c);
>
> ==== i2c-transfer function
>
> === end of pseudo code
>
> I did it like this for our local drivers inspired by i2c-structures of the
> kernel. When I will have the time, I will create such a thing at least for
> the devices I have access to for v4l-dvb, but I'm not sure when this will
> be. (Maybe during the next 2 weeks).
Also looks familiar. I had to do similar things for a two tuner card,
but I did not do it in such a general way.
It would be good if something like that would be available.
There are also cases like this:
Tuner Tuner
|| ||
|| ||
Demod Demod
| |
| |
| |
| |
Switch
|
|
I2C
but these can usually be treated easily inside the card driver.
Ralph
More information about the linux-dvb
mailing list