On 07.02.2014 22:54, Manu Abraham wrote:
On Sat, Feb 8, 2014 at 1:19 AM, David Jedelsky <david.jedelsky@xxxxxxxxx> wrote:
That changes I2C functionality from STOP + START to repeated START.
Current functionality looks also very weird, as there is 5 messages sent,
all with STOP condition. I am not surprised if actually bug is still in
adapter... Somehow it should be first resolved how those messages are send,
with repeated START or STOP. And fix I2C client or adapter or both.
regards
Antti
Manu, Antti,
Thank you for your response. I agree that the code is somewhat peculiar and
it could be worthy to review it using documentation before I leave it as bug
in my hw. Unfortunately I don't own appropriate documentation. If you can
supply it I can look at it.
I can assure you that the STB0899 driver works well for S2 with most
USB bridges and PCI bridges, which brings me to the fact that the issue
does not exist with the STB0899 driver.
Regarding the documentation, I don't have any wrt to the USB bridge, but
only for the demodulator, tuner. But my hands are tied on that front, due to
NDA's and agreements.
Looking further in my hardware museum, I did find a
Technisat Skystar USB2 HD CI REV 2.0
The information on a white sticker on the PCB states:
Model AD-SB301, Project ID: 6027
DVB-S2, CI, USB Box (on-line update)
H/W Ver: A1, PID/VID: 14F7 / 0002
manufactured and sent to me by Azurewave.
It has a broken ferrite cored inductor on it, which appears to be on the
power line to the demodulator/tuner.
The PID/VID looks exactly the same as yours. If you have a firmware bug,
maybe it helps to update the firmware online ? (I guess the windows driver
uses some stock Cypress driver, from what I can imagine ?)
I had similar problems as you state, when I worked with a prototype version
of the Mantis PCI chipset where it had some issues regarding repeated
starts. I can't really remember the exact issue back then, but I do remember
the issue being tuner related as well, since the write to the tuner would reach
the very first tuner register alone. The communications to the tuner are
through a repeater on the demodulator.
This issue was addressed with an ECO Metal fix for the PCI bridge, but that
did eventually result in a newer chip though.
The problem could likely be similar with your USB bridge. Maybe it is a
driver bug too .. I haven't looked deeply at the az6027 driver.
It is almost 100% sure I2C adapter or client bug. az6027 driver i2c
adapter seems to have some weird looking things, it behaves differently
according I2C slave address used. If I didn't read code wrong, in that
case it does to branch "if (msg[i].addr == 0xd0)". And looking that
logic reveals it supports only 2 I2C transfers:
for reg read: START + write + REPEATED START + read + STOP
for reg write: START + write + STOP
So that read operation (START + read + STOP) used by STB0899 is not
implemented at all.
regards
Antti
--
http://palosaari.fi/
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html