On 03/30/2018 04:21 PM, Akihiro TSUKADA wrote:
I simply cannot see why it cannot work. Just add i2c adapter and
suitable logic there. Transaction on your example is simply and there is
no problem to implement that kind of logic to demod i2c adapter.
I might be totally wrong, but...
i2c transactions to a tuner must use:
1. usb_control_msg(request:3) for the first half (write) of reads
2. usb_control_msg(request:1) for the other writes
3. usb_control_msg(request:2) for (all) reads
How can the demod driver control the 'request' argument of USB messages
that are sent to its parent (not to the demod itself),
when the bridge of tc90522 cannot be limited to gl861 (or even to USB) ?
I don't understand those control message parts and it is bit too hard to
read i2c adapter implementation to get understanding. Could you offer
simple 2 sniff examples, register write to demod and register write to
tuner.
Anyhow, demod i2c adapter gets request from tuner and then does some
demod specific i2c algo stuff and then pass proper request to usb-bridge
i2c adapter.
IIR it was somehing like
write_tuner_reg(0xaa, 0xbb);
==> demod i2c algo:
* write_demod_reg(0xfe, 0x60) // set tuner i2c addr + start i2c write
* write_demod_reg(0xaa, 0xbb)
so those command now goes to i2c-bridge i2c algo which uses gl861 i2c algo
regards
Antti
--
http://palosaari.fi/